FAST-NUCES · BS Computer Science · Computer Networks

Computer Networks

My Computer Networks course work – lectures, labs with C socket programming, Packet Tracer routing (static, OSPF, EIGRP, BGP), subnetting and VLSM, DHCP and NAT, VLAN and ACL, Wireshark, assignments and notes.

Course: Computer Networks FAST-NUCES BS CS Labs: C Sockets, Packet Tracer Topics: Subnetting, OSPF, BGP
14Lecture decks
15Labs
14C programs
8Packet Tracer files
27PDF documents
14Study notes
128Files in total

Overview

Computer Networks at FAST-NUCES Islamabad. The repository has 16 weeks of lecture slides, 15 labs with my C socket programs and Packet Tracer files, three assignments, the CNET project, sessional exams, quizzes, the Kurose and Ross textbook and my study notes.

Unit 1

Application layer

Network edge and core, delay and throughput, HTTP, DNS, email, P2P and sockets.

Unit 2

Transport layer

UDP, checksums, reliable data transfer, Go-Back-N, Selective Repeat, TCP and congestion control.

Unit 3

Network layer

IP addressing, subnetting and VLSM, DHCP, NAT, IPv6, routing algorithms, OSPF and BGP.

Unit 4

Link layer and labs

Ethernet, ARP, VLANs and 15 labs: C socket programming, Packet Tracer routing, Wireshark.

Lectures & Labs

16 weeks of lectures from the network edge to the link layer, then 15 labs. Every file opens on GitHub.

01IntroductionWhat the Internet is, network edge, access networks and physical media · 1 files
02Network core and performancePacket vs circuit switching, Internet structure, delay, loss, throughput, security and layering · 1 files
03Application layer and HTTPClient-server and P2P, sockets, HTTP, cookies and web caching · 1 files
04FTP, email and DNSFTP, SMTP, POP3 and IMAP, and the Domain Name System · 1 files
05P2P, video streaming and CDNsPeer-to-peer file distribution, BitTorrent, DASH streaming and content networks · 1 files
06Transport layer and UDPMultiplexing, demultiplexing, UDP and the Internet checksum · 1 files
07Reliable data transferrdt 1.0 to 3.0, stop-and-wait, pipelining, Go-Back-N and Selective Repeat · 1 files
08TCPTCP segment structure, RTT and timeout, reliable transfer, flow control and connection management · 1 files
09-10Congestion controlCauses of congestion, AIMD, slow start, CUBIC, ECN, fairness and QUIC · 1 files
11Network layer: data planeRouter architecture, longest prefix matching, switching fabrics and scheduling · 1 files
12-13IP, DHCP, NAT and IPv6IP datagrams, subnets and CIDR, DHCP, NAT, IPv6 and generalised forwarding · 1 files
14Routing algorithmsLink-state (Dijkstra) and distance-vector (Bellman-Ford) routing · 1 files
15OSPF, BGP and SDNIntra- and inter-AS routing, OSPF, BGP, SDN, OpenFlow and ICMP · 1 files
16Link layerError detection, multiple access, ARP, Ethernet, switches and VLANs · 1 files

Labs

L01Introduction to networking and Packet TracerLab manual · 1 files
L02Protocol layers, wireless, ping and tracerouteManual, my report, Packet Tracer files and screenshots · 14 files
L03Capturing HTTP and HTTPS with WiresharkManual, my report and HTML test pages · 4 files
L04DNS and email server in Packet TracerLab manual · 1 files
L05TCP socket programming in CManual, task and my client/server code · 6 files
L06UDP socket programming in CManual, task and my largest-number and palindrome programs · 6 files
L07Concurrent serversfork and thread servers and my client/server code · 9 files
L08Static routing in Packet TracerManual, task and my .pkt file · 4 files
L09Digital transmission and subnettingWireshark manual, subnetting and VLSM practice and my solution · 5 files
L10Routing configurationManual, task, my report and .pkt file · 4 files
L11OSPF and EIGRPManual, task, my report and .pkt file · 4 files
L12VLSMVLSM manual, my report and .pkt file · 3 files
L13DHCP and NATManual, my report and .pkt file · 3 files
L14VLAN and ACLManual, task, my report and .pkt file · 4 files
L15BGP simulationManual and my report · 2 files

Large Files (Release Downloads)

One file is over GitHub's 100 MB limit, so it is attached to the v1.0 release: Lab3_Solution_3.pcapng (502.7 MB, the Lab 3 Wireshark capture, also used in Assignment 1).

Folder Structure

Folder structure
Computer_Networks/
├── Computer Networks Course/
│   ├── Assignments/                      (12 files)
│   ├── Books/                            (1 file)
│   ├── CNET_PROJECT/                     (4 files)
│   ├── Lecture #01/                      (1 file)
│   ├── Lecture #02/                      (1 file)
│   ├── Lecture #03/                      (1 file)
│   ├── Lecture #04/                      (1 file)
│   ├── Lecture #05/                      (1 file)
│   ├── Lecture #06/                      (1 file)
│   ├── Lecture #07/                      (1 file)
│   ├── Lecture #08/                      (1 file)
│   ├── Lecture #09-10/                   (1 file)
│   ├── Lecture #11/                      (1 file)
│   ├── Lecture #12-13/                   (1 file)
│   ├── Lecture #14/                      (1 file)
│   ├── Lecture #15/                      (1 file)
│   ├── Lecture #16/                      (1 file)
│   ├── Mids/                             (4 files)
│   ├── Notes/                            (18 files)
│   └── Quizes/                           (5 files)
├── Computer Networks Lab/
│   ├── Lab #01/                          (1 file)
│   ├── Lab #02/                          (14 files)
│   ├── Lab #03/                          (4 files)
│   ├── Lab #04/                          (1 file)
│   ├── Lab #05/                          (6 files)
│   ├── Lab #06/                          (6 files)
│   ├── Lab #07/                          (9 files)
│   ├── Lab #08/                          (4 files)
│   ├── Lab #09/                          (5 files)
│   ├── Lab #10/                          (4 files)
│   ├── Lab #11/                          (4 files)
│   ├── Lab #12/                          (3 files)
│   ├── Lab #13/                          (3 files)
│   ├── Lab #14/                          (4 files)
│   └── Lab #15/                          (2 files)
├── assets/
│   ├── screenshots/   30 images
│   ├── thumbs/        gallery previews
│   └── css/  js/      website
├── index.html
├── .gitattributes
├── .gitignore
├── .nojekyll
├── LICENSE
└── README.md

Get the Files

Clone everything with Git, or download the ZIP from the Live Links.

Clone the repository

Command
git clone https://github.com/rohaan2802/Computer_Networks.git

Lectures are PowerPoint files, lab manuals and reports are PDF and Word files, lab code is C (compile with gcc on Linux), topologies are Cisco Packet Tracer .pkt files and the notes are Markdown.

License

Lecture slides, exam papers, assignment statements and textbooks belong to their instructors at FAST-NUCES and to their authors and publishers. They are shared here only for learning and revision – see LICENSE. My own notes, code and the organisation of this repository are free to use for study.