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.
- 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
- Overview of LAN technologies
- Devices: Router, Switch, Hub, Bridge, Modem
- Understanding their roles in networking
- Star Topology
- Bus Topology
- Ring Topology
- Mesh & Hybrid Topologies
- Setting up LAN connection
- IP configuration
- Network troubleshooting basics
- Implementation of:
- Parity Check
- Checksum
- Hamming Code
- CRC (Cyclic Redundancy Check)
- Character Count Method
- Byte Stuffing
- Bit Stuffing
- Listens for incoming TCP connection
- Accepts one client
- Reads data and prints to console
- Closes connection
- Connects to server
- Sends message:
"Hello, world!" - Closes connection
- Server handles multiple clients
- Echoes back received messages
- Client calculates Round Trip Time (RTT)
- Repeat:
- Hello Client-Server
- Echo Client-Server
- Using UDP protocol (connectionless communication)
- Handling multiple clients simultaneously
- Using:
select()system call
- Efficient server design
- Simulation using NS2 (Network Simulator 2)
- Shortest path calculation
- Distance vector routing
- C Programming
- Socket Programming (TCP & UDP)
- NS2 Simulator
- Linux / Unix Environment
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
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:
π License
π¨βπ» Author
Ronit Raj B.Tech CSE Student | RTU Passionate about Programming & Development π