Computer networks (G5115) -- Spring term 2015


Course outline: This course provides an introduction to the basics of packet switching technologies as used in the Internet. Emphasis is placed on core Internet protocols such as IP and TCP. Subjects covered include: network access technologies; design of network protocols using layering, local area networks, TCP/IP routing and switching, congestion control. We will also look at network security. This course introduces the Internet with a top-down view: the accent is on layer abstractions and the associated protocols (and how to program with them). The emphasis of the course is on the higher protocol layers of the TCP/IP stack.


Learning Outcomes: Following this course enables the participating student to: design and implement simple communication protocols based on the Internet model of communication; to analyse the efficiency of networked systems; to describe the workings of IP and TCP; to understand and use sockets in programming.


Assessment: There will be two programming based assessment for the networking part of the course, in addition to the exam. The assessed coursework will be made available later. The exam will be the usual two questions out of three format. I will hand out lab exercises. They are voluntary and not graded. Solving these exercises will help you greatly in understanding the course. If you find the exercises too easy or want more, please contact me. Old exam papers can be found here (the course used to be known as G6016 and G6059, so you might have to search for these course codes).


Online Material and Books:

  • Official links for this class: University Course Directory, Study Direct.
  • The recommended textbook for the course is Computer Networking: A Top-Down Approach Featuring the Internet, by J. Kurose and K. Ross. The latest edition is the 6th, but earlier editions are also fine -- nothing basic has changed in the foundtations of the Internet in recent years. The book has a nice companion website with much additional learning material. Large parts of the course follow the book quite closely. There are many other good computer networking textbooks. An alternative text is Computer Networks by Andrew Tanenbaum and D. Wetherall, 5th edition, Prentice Hall, 2010.
  • The IETF (Internet Engineering Taskforce) webpage with all RFCs (Requests for Comments).
  • The end-to-end principle is a core architectural guideline of the Internet. It is also widely used in other protocols and distributed systems in general. It might be interesting for you to understand better the end-to-end principle. The Wikipedia entry, the original article on the end-to-end principle and RFC 3724 all discuss it in detail.
  • Want to know what kind of packets travel across your network connection? The free Wireshark program captures and analyses packets, has lots of tools that "understand" the structure of different networking protocols, and displays packets and packet streams in human-friendly form. It might be fun to play with Wireshark a bit on your computer.
  • An example routing table (IPv4) from one of the UoS campus core routers is here.

Tutor: Martin Berger, contact details can be found here. Office hours are Tuesdays and Fridays after the lectures, but it's best to email me if you want an appointment.


Dates & Places: Lectures are Tuesdays 1300 to 1400 (in C133) and Fridays 1400 to 1500 (in PEV1-1A7). Tutorials are Thurdays 1500 to 1600 and 1700 to 1800, as well as Fridays from 1500 to 1700, all in CHI1- 204/205. The TAs is Michael Schartner, email M.Schartner@sussex.ac.uk. The teaching timetable entry for the course is here.


Academic conduct and plagiarism. You are encouraged to collaborate with others, and to use external material (e.g. libraries) in your project, as long as you document your use of external material, and don't pass off other people's work as yours (see the university's plagiarism policies).