Computer Networks projects (Spring 2024): WAN setup with Cisco Packet Tracer & TCP/UDP socket programming
This project involves designing and configuring a Wide Area Network (WAN) for a mock bank branch. The setup includes:
- Three LANs (one with two VLANs)
- Cisco routers and switches
- IP addressing, VLANs, Inter-VLAN routing, static routing, and SSH security configuration
- Software: Cisco Packet Tracer 8.2.1 or later
- Skills Required: Networking concepts, Cisco IOS configuration, subnetting, VLANs, routing
- IP Addressing Scheme: Subnet the 172.16.10.0/16 network into seven subnets.
- VLANs & Trunking: Create VLANs (Management, Marketing, Accounting) and configure access/trunk ports.
- IP Address Assignment: Assign subnets and IPs to network devices.
- Inter-VLAN Routing: Configure router sub-interfaces for VLAN communication.
- Static Routing: Set up static routes and default routes.
- Security Settings: Secure routers and switches with user accounts, encrypted passwords, and SSH access.
- Testing & Troubleshooting: Verify configurations with
ping,showcommands, and troubleshooting steps.
- Packet Tracer File: Complete network topology with saved configurations.
- Documentation: Addressing table, configuration steps, and screenshots.
Develop a client-server application using sockets in Python, C/C++, or Java. The project consists of two implementations:
- TCP Socket Server: Receives strings from clients and returns the reversed string.
- UDP Socket Server: Same functionality but using UDP.
- The server should handle at least 5 simultaneous clients.
- Clients can send multiple strings, and the server should respond accordingly.
- Both client and server should display sent/received messages.
- The server must run on a separate machine from the clients.
- Source Code: Well-commented code for both TCP and UDP implementations.
- Design Document: Overview of program architecture, design decisions, and improvements.
- Testing Report: Description of test cases, execution traces, and known limitations.
- Build & Execution Guide: Instructions on compiling and running the program.
# Run the server
python tcp_server.py
# Run a client
python tcp_client.py# Run the server
python udp_server.py
# Run a client
python udp_client.pyFor multiple clients, open separate terminals and execute the client script multiple times.
- Instructor: Prof. Yahya Z. Mohasseb
- Assistant: Eng. Nourhan Tarek
- Course: CC431 - Computer Networks
- Team Members: Anton Ashraf, Abdelmalek Osama, Nouran Mostafa, Lina Wael
This project is for academic purposes and follows open-source principles. Feel free to modify and enhance it!