Instructor: Romit Roy Choudhury
Timing: M/W 3:30 - 4:45pm
Location: Zoom link   |   passcode: 438
Instructor office hour (OH): After class
Piazza: Link here
Textbook: Computer Networks (A Top Down Approach)
TA: Ishani Janveja, OH: Wed, 8-9pm
TA: Kaiwen Cao, OH: Tue 3-4pm
TA: Yu-lin Wei, OH: Fri 1-2pm
CA: Hyungjoo Seo
All TA office hours: Same zoom link
Grading: 0.15hw + 0.25mp + 0.25midterm + 0.35final
Grading: 4-credit students complete mini-project

Homework and Assignments:

HW1 (Foundations) Due: Sep. 12, 11.59PM
MP0 (Socket basics) Due: never
MP1 (Client server) Due: Sep 28, 11:59pm
HW2 (Applications) Due: Oct 5, 11:59pm
MP2 (TCP) Due: Oct 31, 11:59pm
HW3 (Transport) Due: Oct 26, noon
MP3 (Routing algorithms) Due: Nov 22, 11:59pm
MP4 (MAC protocols) Due: Dec. 6, 11:59pm
HW4 (Networking and Link) Due: Dec. 12, 11:59pm
Mini-Project Due: Dec. 17, 11:59pm

Logistical information:

- Possible to attend this course remotely.
- Video lectures will be posted on webpage.
- You can attend live on zoom, or watch offline.

ECE/CS 438: Communication Networks: Fall 2021


Module 1: Big picture     logistics.ppt   intro.ppt   overview.ppt

L1: Aug 23

video lec1.pdf

Course logistics, course introduction, overview
- Expectations, syllabus, course load, topics, etc. - History and fathers of the Internet    |    Packet switching vision    |    Network visualization
L2: Aug 25

video lec2.pdf

History, big picture, layering
- Tier 1, 2, 3 ISPs    |    Transcontinental cable layout    |    Gateway between cellular and Internet - Layering (end to end horizontal communication) and inspiration from airline system - Arguments in favor and against "Net Neutrality": video1 video2

MP0 released (no deadline)    |    HW1 on "Network Foundations" released on Gradescope (deadline Sep 12)

L3: Aug 30

video lec3.pdf

Internet terminology, nuts and bolts
- Devices, end-hosts, routers, switches, links, applications, protocols, connection less/oriented services - Network edge and network core, Client server, P2P, hybrid, edge-fog-cloud - Network access and media: Notion of FFT and bandwidth, dial-up, ADSL, cable ... - Watch video lectures #5 and (first half of) #6 on Fourier Transform and bandwidth: here
L4: Sep 1

video lec4.pdf

Foundations: SNR, Bit rate, Bit error, Shannon's equation, Congestion
- Circuit switching [FDM, TDM], Packet switching [Datagram, Virtual vircuit], statistical multiplexing
L5: Sep 8

video lec5.pdf

Internet protocol stack, layering, encapsulation
- Foundations: Throughput, goodput, latency (queueing, processing, transmit time, propagation delay) - Traffic arrival and service rate, properties of queueing delay, end-to-end delay, Traceeroute

Midterm on Wed, Oct 27, tentatively in person (those not in campus can request online test) ... details TBA

Module 2: Application Layer   application.ppt

L6: Sep 13

video lec6.pdf

Application Layer: Introduction and basics
- Client server, pure P2P, and hybrid architectures; Overlay networks, social networks. - Leader election, flooding, broadcast storm, (adaptive) gossip, index servers, hash tables - Process, sockets, service requirements (data loss, bandwidth, latency)

MP1 on socket programming released. Due Sep 28, 11:59pm. Get started on it soon ...

L7: Sep 15

video lec7.pdf

Application Layer 2
- Web and HTTP: protocol, request response messages, persistent and non persistent, cookies - Cookies, Web caching and dbenefits, conditional GET, Email (SMTP, MAP), POP, IMAP
L8: Sep 20

video lec8.pdf


Application Layer 3
- DNS, root, TLD, authoritative servers, recursive and iterative, P2P networks [napster, Gnutella, Kaaza]

Socket programming tutorial by TA (Ishani Janveja) ... [starts from 1:22:00 of lecture video recording]

Module 3: Transport Layer   transport.ppt

L9: Sep 22

video lec9.pdf

Transport Layer 1: Introduction and definitions
- End to end transport, definition of reliability, bottleneck bandwidth, connection orientation service - Packet-pair based bottleneck estimation
L10: Sep 27

video lec10.pdf

Transport Layer 2: Principles of reliable protocol design
- Reliable service over an unreliable channel, Error detection and correction - impossibility of distributed concensus (2 generals), state machines - Building basic reliablity protocol with channel models [bit error, packet loss, packet delay]

HW2 on application layer released and due on Oct 5th. Get started.

L11: Sep 29

video lec11.pdf

Transport Layer 3: From correctness to Performance
- Channel error model: packet delay --> larger sequence number space - Pipelined protocols: Go back N
L12: Oct 4

video lec12.pdf

Transport Layer 4: Pipelined protocols
- Continue on Go Back N (GBN) - Selective ACK (SACK) or Selective Repeat, True/False conditions on Tx and Rx window
L13: Oct 6

video lec13.pdf

TCP 1: From principles to the real world
- Bottleneck and available bandwidth, adapting congestion window (CW) - Connection set up, slow start (double CW every RTT), congestion avoidance (CW + 1 every RTT)
L14: Oct 11

video lec14.pdf

TCP 2: The core TCP protocol
- Packet drops and timeout, benefit of cumulative ACK, DupACKs and implications on congestion - Fast Recovery (3 DupACKs): need for CW to increase despite in congestion avoidance

MP2 on TCP: get started on this MP ASAP. This is a challenging MP.

L15: Oct 13

video lec15.pdf

TCP 3: The protocol state diagram
- Fast recovery continued, TCP state diagram (full protocol) - Saw tooth behavior, single timer, RTO estimation
L16: Oct 18

video lec16.pdf

TCP 4: Wrapping up TCP
- RTO estimation, packets to bytes, TCP Flow control - TCP fairness, TCP RED (random early drop) and cross layer ideas, TCP over wireless (split TCP and SNOOP)

HW3 on TCP released: Due on Oct 26 ... great preparation material for the mid-term.

Module 4: Network Layer   network.ppt

L17: Oct 20


midterm video

midterm slides

Network Layer 1: Introduction
- Introduction, routing and forwarding, connection set up, network service models - Virtual circuit and datagram networks, forwarding table
L18: Oct 25

video lec18.pdf

Network Layer 2: Routers and IP
- Longest prefix matching algorithm, Router architecture, Switching fabric, input/output interfaces - IP network protocol, datagram format, fragmentation, Subnet masks, Classless address

Click here for correction on longest prefix match (at around 20 minute into the lecture).

L19: Nov 1

video lec19.pdf

Network Layer 3: Modules in IP
- Classless addressing (CIDR), route aggregation, NAT, ICMP - Traceroute as ICMP, Hourglass model, IPv6 and tunneling, Routing algorithms (graphs)
L20:Nov 3

video lec20.pdf

Network Layer 4: Routing algorithms
- Link state routing: Dijkstra's algorithm, convergence, oscillation, complexity - Distance vector routing: Bellman-Ford's algorithm, convergence, poisson reverse
L21: Nov 8

video lec21.pdf

Network Layer 5: Internet routing protocols
- Hierarchical routing protocols, autonomous system (AS) - Intra and inter-AS routing protocols, RIP, OSPF, hierarchical OSPF

MP3 on "routing algorithms" released. First hand experience on building network simulators.

L22a: Nov 10

video lec22a.pdf

Network Layer 6: Inter-AS routing protocol
- Border gateway protocol (BGP) - Hot potato routing and socio-political aspects of routing

Module 5: Link Layer   link.pptx   wireless.pptx   wireless-basics.pptx

L22b: Nov 10

video lec22b.pdf

Link Layer 1: Introduction
- Introduction to link layer; local reliability as optimization (not correctness)
L23: Nov 15

video lec23.pdf

Link Layer 2: Foundation
- End to end reliability versus link-layer reliability, error detection and correction codes (parity) - Noise (additive Gaussian), SNR and SINR, packet collision - Medium access control (MAC), point-to-point and shared link, centralized versus distributed protocol

MP4 on link layer simulation released. Due Dec 6. Get started.

L24: Nov 17

video lec24.pdf

Link Layer 3: Medium Access Control
- Channel partitioning (TDMA, FDMA), Random Access (ALOHA and unslotted ALOHA) - Carrier sense multiple access (CSMA), collision detection, exponential backoff, contention window - Taking turns (polling, token passing)

HW4 on networking and link layer released. Due Dec 12, 11:59pm. Get started.

Enjoy Thanksgiving Break. Make some progress on MP4.

L25: Nov 29

video lec25.pdf

Link Layer 4: Addressing and Interconnects
- Review of CSMA/CD, flowchart, important properties of protocol, Ethernet case study - MAC adddresses, Address Resolution Protocol (ARP) - Hubs and Switches, collision domains, plug and play, cut-through switching, comparison with routers
L26: Dec 1

video lec26.pdf

Link Layer 5: Wireless
- Wireless channels: dispersive, collision detection breaks, SINR is key - Hidden and exposed terminal problem, 2 conditions to satisfy for collision avoidance (CSMA/CA) - WiFi protocol (RTS/CTS/Data/ACK), problems with channel reservation, error contrast in wired and wireless

Module 6: Security   security.pptx

L27: Dec 6

video lec27.pdf

Security 1: Basics
- Security foundations: Confidentiality, authentication, integrity, availability - Ciphers, cryptography (symmetric and public-key), RSA algorithm, properties of public and private keys - Authentication, nonce, replay attack, man in the middle attack, spoofing - Message integrity, digital signature, hashing, SHA-1 and MD5
L28: Dec 8

video lec28.pdf

Security 2 and Wrap Up
- Key distribution center (KDC), Certification authority (CA) - Secure email as an application offers confidentiality, integrity, authentication, efficiency - Course wrap up: final exam logistics, quick Internet bird's eye view, follow-up courses, feedback.

Useful Links   "How to invent anything - the Internet as an example"