The following is a list of topics intended to be covered in this course. Minor adjustments may be made as needed. Exam syllabi will be based on topics discussed in class. The mentioned chapters are from the book Computer Networks: A Systems Approach, version 6.2-dev. The referenced chapters serve as guidelines only; many concepts covered in each topic may extend beyond these chapters and will be considered as a part of the course syllabus.

Note: Topics are organized by the two midterm exams. The final exam syllabus includes the entire list of topics covered.

A. Syllabus for the midterm exam #1


1. Networks Overview

  1. Basic components of a computer network (Section 1.2)
  2. Interconnection, internet, the Internet (Section 1.2)
  3. Importance and challenges of computer networks (Refer to class slides and notes)
  4. Network architecture, abstractions, and protocol stacks/layers (Section 1.3)
  5. Resource sharing, circuit switching and packet switching (Section 1.2.3)
  6. Network edge and network core (Refer to class slides and notes)
  7. Access networks (Refer to class slides and notes)
  8. Failures, delay, throughput, bandwidth, delay × bandwidth (Sections 1.2.4, 1.5)

2. Routing Protocols

  1. Network as a graph (Section 3.4.1)
  2. Distance Vector Routing (Section 3.4.2)
  3. Link State Routing (Section 3.4.3)

3. Internet Protocol (IP)

  1. Data plane and control plane (Refer to class slides and notes)
  2. IP datagram format (Section 3.3.2)
  3. Fragmentation and reassembly (Section 3.3.2)
  4. IPv4 address (Section 3.3.3)
  5. IP datagram forwarding (Section 3.3.4)
  6. Subnetting (Section 3.3.5)
  7. Classless addressing and CIDR (Section 3.3.5)
  8. DHCP protocol (Section 3.3.7)

Problem solving discussions

  • Network delay, throughput, bandwidth
  • IP addresses and subnetting
  • IP fragmentation and reassembly
  • IP addresses, subnetting, CIDR
  • DHCP protocol

B. Syllabus for the midterm exam #2


1. Internet Protocol (IP) (Continued)

  1. ARP protocol (Section 3.3.6)
  2. Private address spaces and NAT protocol (Refer to class slides and notes)
  3. ICMP protocol (Section 3.3.8; for Ping and Traceroute refer to class slides)
  4. Virtual networks and tunnels (Section 3.3.9)
  5. IPv6 basics (Section 4.2)

2. Transport layer multiplexing and demultiplexing

(Class slides)

3. UDP protocol

(Section 5.1)

4. TCP protocol

  1. Reliable byte stream (Section 5.2)
  2. Packet format, flags, sequence number (Sections 5.2.2, 5.2.3)
  3. ARQ protocols: Stop-&-Wait, Sliding window (Class slides; see also Section 5.2.4)
  4. Cumulative ACK (Class slides; Sections 6.3.2, 6.3.3)
  5. TCP flow control (Section 5.2.4)
  6. Silly-window syndrome, Nagle’s algorithm (Section 5.2.5)
  7. Karn–Partridge algorithm (Section 5.2.6)
  8. Congestion control (Chapter 6)
    1. AIMD protocol (Section 6.3.1)
    2. Drop-tail FIFO queue (Section 6.2.1)
    3. Slow start (Section 6.3.2)
    4. Fast retransmit (Section 6.3.3)

Problem solving discussions

  • CIDR, NAT
  • Throughput calculation for ARQ protocols
  • Calculating advertised window
  • Observing congestion-window behavior

C. Topics covered after the midterm exam #2


1. TCP variants and router-assisted congestion control

(Chapters 5.2 & 6)

2. TCP congestion control vulnerabilities with a misbehaving receiver

(Class slides)

3. Link layer protocols

  1. Types of links (Class slides)
  2. Link layer address, address resolution protocol (Class slides)
  3. Medium access protocols, CSMA (Class slides)
  4. Ethernet: architecture, medium access (CSMA/CD) (Section 2.6)
  5. Repeater, hub, switch, bridge, router (Class slides)
  6. Wireless LANs, WiFi protocol (Section 2.7)
  7. Mobility in wireless networks (Section 4.5)

4. Intra-AS and Inter-AS routing, BGP protocols

(Section 4.1.2 and class slides)

5. Security issues in BGP networks

(Class slides)

6. Application layer protocols

  1. Architecture (Class slides)
  2. Web and HTTP (Section 9.1.2), QUIC (Section 5.2.10 and class slides)
  3. Email (Section 9.1.1)
  4. DNS (Section 9.3.1)

Problem solving discussions

  • Ethernet, CSMA/CD
  • Wireless channel sharing
  • Repeater, hub, switch, bridge, router
  • Traffic isolation using learning bridges
  • BGP protocol and attacks
  • DNS