/network-programming-lab

🛜This GitHub repository is a comprehensive collection of Python scripts and related files for our Network Programming Lab. From implementing network protocols like ARP and RARP to building chat servers, file transfer systems, and exploring various networking concepts.

Primary LanguagePython

Network Programming Lab Exercises

Welcome to the Network Programming Lab Exercises repository! This repository is a collection of Python scripts and related files for a variety of network programming exercises. Whether you are a student learning the fundamentals of network programming or a developer looking to explore and practice networking concepts, you'll find these exercises valuable in enhancing your skills.

Table of Contents

About

In this repository, you will find a diverse set of network programming exercises, including:

  • ARP and RARP Protocol Implementations
  • TCP and UDP Socket Programming
  • File Transfer Protocols
  • Chat Servers
  • Sliding Window Protocols
  • SNMP (Simple Network Management Protocol) Client and Server
  • And more!

Each exercise is designed to provide practical experience in various aspects of network communication and data exchange.

List of Exercises

  • arp-protocol.py and arp-rarp.py: ARP and RARP protocol implementations.
  • tcp_chat_client.py and tcp_chat_server.py: TCP-based chat client and server.
  • udp_chat_client.py and udp_chat_server.py: UDP-based chat client and server.
  • tcp_echo_client.py and tcp_echo_server.py: TCP-based echo client and server.
  • udp_echo_client.py and udp_echo_server.py: UDP-based echo client and server.
  • tcp_filetransfer_client.py and tcp_filetransfer_server.py: TCP-based file transfer client and server.
  • And many more!

Explore each exercise to improve your networking skills.

Usage

You can clone this repository to your local machine to access the exercises. Each exercise is self-contained, and you can run the Python scripts to experiment with different aspects of network programming.

git clone https://github.com/selcia25/network-programming-lab.git cd network-programming-lab python file_you_want_to_execute.py

Make sure to read the instructions provided within each exercise file for specific details on usage.

Contributing

If you'd like to contribute to this repository by adding new exercises, improving existing ones, or providing better documentation, please feel free to open a pull request. Your contributions are welcome and appreciated!

License

This repository is open-source and available under the MIT License. Feel free to use, modify, and distribute the contents in accordance with the license terms.

Happy network programming!