Computer Networks
How the internet works and performs, from links to applications: delay, loss, throughput and the bandwidth–delay product, layering and encapsulation, HTTP/1.1, HTTP/2 and HTTP/3 over QUIC, DNS, email, adaptive streaming, CDNs and peer-to-peer distribution, socket programming, UDP and reliable data transfer, TCP with Reno, CUBIC and BBR congestion control, IPv4 and IPv6 forwarding, NAT and longest-prefix matching, Dijkstra, distance-vector, OSPF and BGP routing and SDN, CRCs, multiple access, Ethernet switching and VLANs, Wi-Fi, cellular networks and mobility, ending with a capstone that traces a web request, measures performance and examines net neutrality after the FCC's 2024 order and the BEAD broadband program.
CMPUT-313 Year 3 3 credits 12 lessons · 6 h 46 min
Offered by HSM University · Computing Science
This is the American version of this course. See the Canadian version.
What you'll learn
- Describe the internet as a network of networks, compare packet and circuit switching, and calculate processing, queueing, transmission and propagation delay, throughput and the bandwidth–delay product.
- Explain protocol layering and encapsulation in the five-layer model, and build and parse real Ethernet, IPv4 and TCP headers in network byte order.
- Analyze HTTP/1.1, HTTP/2 and HTTP/3 over QUIC, including persistent connections, multiplexing, head-of-line blocking, caching, cookies and their effect on page load time.
- Explain how DNS, email, adaptive video streaming, content delivery networks and peer-to-peer distribution work, and encode and decode DNS messages.
- Write correct UDP and TCP client and server programs with sockets, including message framing, timeouts and concurrent servers using threads, event loops or asyncio.
- Apply the principles of reliable data transfer, compute stop-and-wait and pipelined utilization, compare Go-Back-N and Selective Repeat, and compute the internet checksum.
- Describe TCP connection management, reliability, RTT estimation and flow control, and analyze congestion control with Reno, CUBIC and BBR, including fairness and the Mathis throughput formula.
- Explain router architecture, IPv4 and IPv6 datagrams, fragmentation, CIDR addressing, longest-prefix matching, DHCP, NAT, ICMP and generalized forwarding.
- Compute least-cost routes with Dijkstra's and Bellman–Ford algorithms, explain count to infinity, OSPF and BGP route selection and policy, and describe software-defined networking.
- Explain link-layer error detection with parity and CRCs, multiple access protocols including ALOHA and CSMA/CD, MAC addresses and ARP, Ethernet switching and VLANs.
- Describe wireless link characteristics, Wi-Fi's CSMA/CA and RTS/CTS, cellular network architecture from 4G to 5G, spectrum regulation and mobility management.
- Trace a web request through every layer, build time budgets, measure network performance with appropriate statistics, and explain network neutrality and broadband access policy in the United States, including the FCC and the BEAD program.
Course content
12 lessons · 6 h 46 min total · final exam
- 1 The internet: structure, delay, loss and throughput 40 min · quiz
- 2 Protocol layering and encapsulation 31 min · quiz
- 3 The application layer I: the web and HTTP 33 min · quiz
- 4 The application layer II: DNS, email, streaming and content delivery 35 min · quiz
- 5 Socket programming 34 min · quiz
- 6 The transport layer I: UDP and reliable data transfer 30 min · quiz
- 7 The transport layer II: TCP 35 min · quiz
- 8 The network layer I: the data plane 32 min · quiz
- 9 The network layer II: the control plane 33 min · quiz
- 10 The link layer, LANs and Ethernet 35 min · quiz
- 11 Wireless and mobile networks 34 min · quiz
- 12 Capstone: tracing a web request and measuring network performance 34 min · quiz
- E Final exam 20 questions
Requirements
Recommended background. You can start any course at any time.
Description
How the internet works and performs, from links to applications: delay, loss, throughput and the bandwidth–delay product, layering and encapsulation, HTTP/1.1, HTTP/2 and HTTP/3 over QUIC, DNS, email, adaptive streaming, CDNs and peer-to-peer distribution, socket programming, UDP and reliable data transfer, TCP with Reno, CUBIC and BBR congestion control, IPv4 and IPv6 forwarding, NAT and longest-prefix matching, Dijkstra, distance-vector, OSPF and BGP routing and SDN, CRCs, multiple access, Ethernet switching and VLANs, Wi-Fi, cellular networks and mobility, ending with a capstone that traces a web request, measures performance and examines net neutrality after the FCC's 2024 order and the BEAD broadband program.
Part of the Science stream, typically taken in year 3.