Skip to content

Ronit049/Network-Programming

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

12 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

Network-Programming

🌐 Network Programming Lab (RTU 4th Semester)

This repository contains all practical experiments and programs for Network Programming Lab as per the Rajasthan Technical University (RTU) 4th Semester syllabus.

It covers fundamental networking concepts, configurations, and implementation of protocols using C programming and simulation tools.


πŸ“Œ Objectives

  • Understand basic networking concepts and architectures
  • Learn different network topologies and configurations
  • Implement client-server communication using TCP & UDP
  • Explore error detection and correction techniques
  • Simulate routing algorithms

πŸ§ͺ List of Experiments

πŸ”Ή 1. Study of LAN & Network Equipments

  • Overview of LAN technologies
  • Devices: Router, Switch, Hub, Bridge, Modem
  • Understanding their roles in networking

πŸ”Ή 2. Network Topologies Verification

  • Star Topology
  • Bus Topology
  • Ring Topology
  • Mesh & Hybrid Topologies

πŸ”Ή 3. LAN Installation & Configuration

  • Setting up LAN connection
  • IP configuration
  • Network troubleshooting basics

πŸ”Ή 4. Error Detection & Correction Techniques

  • Implementation of:
    • Parity Check
    • Checksum
    • Hamming Code
    • CRC (Cyclic Redundancy Check)

πŸ”Ή 5. Framing Methods Implementation

  • Character Count Method
  • Byte Stuffing
  • Bit Stuffing

πŸ”Ή 6. TCP Client-Server Program (C)

πŸ“₯ Server (hello_server)

  • Listens for incoming TCP connection
  • Accepts one client
  • Reads data and prints to console
  • Closes connection

πŸ“€ Client (hello_client)

  • Connects to server
  • Sends message: "Hello, world!"
  • Closes connection

πŸ”Ή 7. TCP Echo Client-Server (RTT Calculation)

  • Server handles multiple clients
  • Echoes back received messages
  • Client calculates Round Trip Time (RTT)

πŸ”Ή 8. UDP Client-Server Programs

  • Repeat:
    • Hello Client-Server
    • Echo Client-Server
  • Using UDP protocol (connectionless communication)

πŸ”Ή 9. Multiplexed I/O (Advanced TCP)

  • Handling multiple clients simultaneously
  • Using:
    • select() system call
  • Efficient server design

πŸ”Ή 10. Bellman-Ford Routing Algorithm (NS2)

  • Simulation using NS2 (Network Simulator 2)
  • Shortest path calculation
  • Distance vector routing

πŸ› οΈ Technologies Used

  • C Programming
  • Socket Programming (TCP & UDP)
  • NS2 Simulator
  • Linux / Unix Environment

πŸ“‚ Project Structure

Network-Programming-Lab/
β”‚
β”œβ”€β”€ Experiment-1_LAN_Study/
β”œβ”€β”€ Experiment-2_Topologies/
β”œβ”€β”€ Experiment-3_LAN_Config/
β”œβ”€β”€ Experiment-4_Error_Control/
β”œβ”€β”€ Experiment-5_Framing/
β”œβ”€β”€ Experiment-6_TCP_Hello/
β”œβ”€β”€ Experiment-7_TCP_Echo/
β”œβ”€β”€ Experiment-8_UDP/
β”œβ”€β”€ Experiment-9_Multiplexing/
β”œβ”€β”€ Experiment-10_BellmanFord_NS2/
β”‚
└── README.md


πŸš€ How to Run (Example for C Programs)

gcc server.c -o server
gcc client.c -o client

./server
./client

πŸ“š Learning Outcomes Practical understanding of networking concepts Hands-on experience with socket programming Knowledge of TCP/UDP communication Ability to simulate routing algorithms

🀝 Contributing

Contributions are welcome!

If you'd like to improve this repository:

Fork the repository Create a new branch Make your changes Submit a Pull Request

πŸ“œ License

This project is for educational purposes only.

πŸ‘¨β€πŸ’» Author

Ronit Raj B.Tech CSE Student | RTU Passionate about Programming & Development πŸš€

About

This repository is a complete collection of practical experiments for the **Network Programming Lab** of **Rajasthan Technical University (RTU), 4th Semester**.

Topics

Resources

License

Code of conduct

Contributing

Security policy

Stars

2 stars

Watchers

0 watching

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages