Skip to content

AmitMaity123-bit/Computer-Networking-Practical-Programs

Repository files navigation

🌐 Computer Networks Lab Programs

📚 Overview

This repository contains a collection of Computer Networks laboratory programs implemented in C.

The programs demonstrate important networking concepts including:

  • Client-Server Communication
  • Error Detection using CRC
  • Routing Algorithms
  • Flow Control Protocols
  • Sliding Window Techniques
  • Network Layer Algorithms

These programs are designed for Computer Science and Information Technology students to understand networking concepts through practical implementation.


🚀 Programs Included

1. Client-Server Communication

Unidirectional Communication

  • One-way communication
  • Client sends message to server
  • Implemented using TCP sockets

Bidirectional Communication

  • Two-way communication
  • Client and server exchange messages
  • Interactive communication model

2. Cyclic Redundancy Check (CRC)

CRC Without Noise

  • CRC generation
  • Error detection at receiver side
  • Binary division using XOR

CRC With Noise

  • Simulates transmission errors
  • Random bit corruption
  • Error detection demonstration

3. Routing Algorithms

Dijkstra Algorithm

  • Shortest path calculation
  • Link State Routing
  • Network Layer routing

Distance Vector Routing

  • Bellman-Ford based routing
  • Routing table generation
  • Next-hop calculation

4. Flow Control Protocols

Stop and Wait Protocol

  • Frame transmission
  • ACK handling
  • Timeout and retransmission

Go-Back-N Protocol

  • Sliding window mechanism
  • Multiple frame transmission
  • Retransmission from lost frame

Selective Repeat Protocol

  • Independent frame acknowledgment
  • Selective retransmission
  • Efficient error recovery

🛠 Technologies Used

  • C Programming
  • TCP/IP Networking
  • Winsock API
  • Socket Programming
  • Routing Algorithms
  • Error Detection Techniques

🎯 Learning Outcomes

After studying these programs, students will understand:

  • Socket Programming
  • TCP Communication
  • Error Detection Mechanisms
  • Routing Algorithms
  • Flow Control Protocols
  • Sliding Window Protocols
  • Network Layer Concepts
  • Data Link Layer Concepts

📖 How to Run

Using GCC

gcc filename.c -o output
./output

Using CodeBlocks

  1. Open source file
  2. Build and Run

Using Turbo C++

  1. Open source file
  2. Compile
  3. Run

🎓 Academic Use

This repository is developed for:

  • BCA
  • B.Sc Computer Science
  • B.Tech CSE
  • Diploma in Computer Engineering
  • Computer Networks Laboratory

👨‍💻 Author

Amit Kumar Maity

Computer Science Student


⭐ If you found this repository useful, consider giving it a star.

About

A comprehensive collection of Computer Networks laboratory programs implemented in C, including Client-Server Communication, CRC Error Detection, Routing Algorithms, and Data Link Layer Protocol Simulations.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors