Teaching Networking

ECE 4436 undergraduate and ECE 9303 graduate

Networking: Principles, Protocols and Architecture

How the Internet works, from the applications you use down to the links beneath them, taught through interactive figures, real traffic in Wireshark and networks you build yourself in Mininet.

See the chapters

Tracing from London, Ontario.

About the course

The course follows the Internet from the top down: the applications people use, the transport that carries their data reliably, the routing that finds a path across the world, the links that move bits between neighbours, and the data centres and wireless networks at the edges.

Each chapter is organized around a single question. A topic title does not reveal whether you have mastered the material; a question does, because you can always test whether you can answer it.

Offered as
ECE 4436, undergraduate
ECE 9303, graduate
Instructor
Fadi AlMahamid, Ph.D.
Content
3 chapters, 20 learning outcomes
Textbook
Kurose and Ross, Computer Networking: A Top-Down Approach
Lecture slides
Enrolled students, with a username and password

Course content

The three chapters start with what the Internet is made of, then follow a packet down the protocol stack from the application layer to the transport layer.

  1. Chapter 1

    Computer Networks and the Internet

    What is the Internet made of, and where does the time go?

    Hosts, links, packet switching, the four delays, and layering.

    Learning outcomes

    • Describe what the Internet is made of, and what it does for the programs running on it.
    • Identify hosts, access networks, and the physical media that connect them.
    • Explain packet switching, store-and-forward, and how a queue forms.
    • Explain why the Internet is a hierarchy of separately owned, interconnected networks.
    • Compute the four delays, traffic intensity, and end-to-end throughput.
    • Explain layering and encapsulation as the way a huge system stays manageable.
    Slides for chapter 1
  2. Chapter 2

    The Application Layer

    How does your program talk to a program on another machine?

    The Web, naming, mail, sockets, and getting content to millions of people.

    Learning outcomes

    • Explain how a network application is built from processes, sockets, and a transport service.
    • Read a real HTTP request and response, and say what every line of it does.
    • Trace a name through the Domain Name System hierarchy to an address.
    • Compare the push protocol that sends mail with the pull protocols that fetch it.
    • Compute response times, link utilization, and how long a file takes to reach many people.
    • Write a client and a server over both transport protocols, and serve a web page from your own code.
    Slides for chapter 2
  3. Chapter 3

    The Transport Layer

    How do bytes arrive intact over a network that loses them?

    Multiplexing, reliable transfer, connection setup, and congestion control.

    Learning outcomes

    • Explain what a transport protocol adds to a network that only carries packets between hosts.
    • Trace an arriving segment to the one socket it belongs to, under both transport protocols.
    • Explain why an application chooses UDP, and compute the checksum that detects a damaged segment.
    • Build a protocol that is correct over a channel that corrupts and loses packets, one repair at a time.
    • Compute what stop-and-wait wastes, and trace how Go-Back-N and Selective Repeat recover a loss.
    • Interpret the TCP segment: sequence numbers that count bytes, and a timeout from measured round trips.
    • Dissect a connection: how it recovers a lost segment, spares a slow receiver, and opens and closes.
    • Judge whether congestion control shares a bottleneck fairly, and what happens when it does not.
    Slides for chapter 3

Lecture slides

The lectures are interactive decks with animated protocol figures that you can play, pause and step through, explorable diagrams and runnable code. They are available to enrolled students, who sign in with the username and password provided by the instructor.

Reading

Required textbook

Computer Networking: A Top-Down Approach

James F. Kurose and Keith W. Ross, 8th edition, Pearson, 2020

Every chapter of this course is a chapter of this book, in this order. The lectures follow it closely enough that you can read ahead.

Further reading

  • Computer Networks

    Tanenbaum and Wetherall, 5th edition, 2010

    A second voice on the same material. Reach for it when a Kurose explanation does not land.

  • TCP/IP Illustrated, Volume 1

    Fall and Stevens, 2011

    What the protocols actually put on the wire, byte by byte. The reference for the lab work.

  • Data and Computer Communications

    Stallings, 2002

    Stronger on the physical and link layers than either of the others.