Client-Server, Sockets, DNS, TCP/IP, Web Server, Ping, Traceroute, Web Server, Routing, Top-Down Layered Model.
Implementation of network applications, tools, services, and algorithms in Python.
I took this class in Fall 2018. Each folder is its own project with the implementation some Computer Networks concept/technique/algorithm. The projects are all in Python and can be walked through easily and each project has its own readme file with description. Projects include:
-
Simple Client and Server
- Can be thought of as a basic socket example in Python.
-
A Bit Complicated Client and Server - Data Retrieval
- Data retrieval using sockets.
-
DNS Resolver
- Domain Name System Resolving.
-
DNS Server
- Custom Domain Name System Server.
-
Web Server
- Simple Web Server Implementation.
-
Ping Tool
- Implementation of the infamous
ping
!
- Implementation of the infamous
-
Traceroute Tool
- Implementation of the infamous
traceroute
!
- Implementation of the infamous
-
Distance Vector Routing Protocol
- Implementation of a routing protocol using Distance Vector algorithm.
-
Review Questions
- Homework review questions and their answers
You can find projects and homework review questions and their answers in their corresponding branches, too.
Feel free to clone this repository and to explore the projects.