| || |
The aim of this course is to introduce the principles of computer networking using a top down approach, that is, by beginning at the application layer and working down toward the physical layer. This top-down approach has many advantages pedagogically. Teaching networking applications near the beginning of the course is a powerful motivational tool. In the first few lectures students learn about how networking applications work—applications such as e-mail and the Web, which most students use on a daily basis. Once a student understands the applications, the student can then understand the network services needed to support these applications. The student can then, in turn, examine the various ways in which such services might be provided and implemented in the lower layers. The transport, network, link and physical layers are covered in similar detail; in each case the service models that are required from the layer above is used for motivation to understand the principles and protocols of the later below. The Internet’s architecture and protocols as used as primary vehicles for studying the fundamental computer networking concepts throughout the course from the top down, while concepts and protocols from other network architectures are also included. Much of the course is based on lab practicals using Wireshark, which help to reinforce the various aspects of the course as well as provide a form of continuous assessment.
1. Computer Networks & the Internet, packet switching, delay, loss, throughput (3 lectures)
2. Application Layer: Web, eMail, SMTP, DNS, P2P, CDNs, Socket Programming (5 lectures)
3. Transport Layer: Multiplexing, UDP, TCP, Congestion Control (4 lectures)
4. Network Layer: Virtual circuits, IP and Routing Algorithms, Routers, ICMP (5 lectures)
5. Link Layer: Error detection/correction, ALOHA, CSMA, Sliding window protocols, Multiple Access, Addressing, Switching (5 lectures)
6. Internet security/Wireless Networks and Security, Wifi 802.11, mobility management, mobile IP (2 lectures)