This course is a prerequisite for Security (Part II), Advanced Systems Topics (Part II).
Aims
This course aims to provide a detailed understanding of how computer
networks operate, through the examples of the Internet, and presents
ways to build such systems. It also covers a selection of topics
which relate to recent trends in digital communications systems.
The material falls roughly into two halves: Protocols, and Technologies.
Lectures
Introduction.
Course overview. Abstraction, layering. The OSI reference model.
The structure of real networks.
[JAC]
The Internet: IP.
IP overview/review. Networking in Unix: structures, buffering,
sockets, network interfaces. IP addresses and (simple) routing.
Subnetting. IP checksum. Fragmentation. [JAC]
The Internet: routing and addressing.
Terminology: AS, IGP, EGP. Routing protocols: distance
vector versus link state. Examples: RIP, OSPF. AS routing:
I-BGP/E-BGP, metrics. [JAC, 2 lectures]
The Internet: network resource management.
Differentiated and integrated services. Signalling (RSVP) and
admission control, forwarding and scheduling, policing and shaping.
The future. [JAC, 2 lectures]
The Internet: multicast and QoS routing.
Other TCP details. Internet multicast model.
Applications. Basic implementation. Refinements. [JAC, 2 lectures]
The Internet: UDP, TCP.
TCP operation, state transitions. Handling loss: acks and retransmissions.
Estimating RTT. Basic congestion control. Improving things: TCP
vegas, SACKs, ECN. [JAC, 2 lectures]
The Internet: applications, multimedia, & HTTP.
RTP operation, playout adaption; RPC & network file systems;
HTTP, HTTP 1.1 - making it all work [JAC, 2 lectures]
The Internet: IPv6.
Concepts. Internet multicast model. Applications. Basic implementation.
Refinements. Congestion control. [Guest 1]
Wireless networks.
GSM, GPRS, UMTS and WiFi and WiMAX. [Guest 2]
Switching.
Ethernet, ATM, MPLS. [Guest 3]
Congestion pricing.
Model and motivation. Practical considerations. The future. [JAC]
Objectives
At the end of the course students should be able to
enumerate and explain the layers of the OSI reference model
compare and contrast connectionless and connection-oriented
networks
explain how IP routing works
describe the components of the Internet resource management system
describe how and why TCP attempts to handle congestion in the
network
Recommended reading
Keshav, S. (1997). An engineering approach to computer networking. Addison-Wesley (1st ed.). ISBN 0201634422
Alternative to Keshav:
Davie, B.S., Peterson, L.L. & Clark, D. (1999). Computer networks: a systems approach. Morgan Kaufmann (2nd ed.). ISBN 1558605142
Stevens, W.R. (1994). TCP/IP illustrated, volume 1: the protocols. Addison-Wesley (1st ed.). ISBN 0201633469
Alternative to Stevens:
Comer, D. (2000). Internetworking with TCP/IP vol. I: principles, protocols, and architecture. Prentice Hall (4th ed.). ISBN 0130183806
Background:
Krishnamurthy, B. & Rexford, J. (2001). Web Protocols and practice: HTTP/1.1, networking protocols, caching, and traffic measurement. Addison-Wesley (1st ed.). ISBN 0201710889