This course considers the mathematics necessary to study networks, with special reference to the internet. It covers basic queuing theory, markov chains and basic graph theory. It was taught from 2003 to 2007 and was a followup to Mike Smith's course Networks I which taught the basics of Road Traffic Networks.

Lecture Notes

- Lecture One (Microsoft Powerpoint) -- Networking Basics
- Lecture Two (Microsoft Powerpoint) -- Networking Basics
- Lecture Three (PDF) -- Extra lecture on basic probability
- Lecture Four (PDF) -- Little's Theorem
- Lecture Five (Microsoft Powerpoint) -- Intro to Markov chains
- Lecture Six (Microsoft Powerpoint) -- More Markov chains
- Lecture Six point five (PDF) -- Continuous time Markov chains.
- Lecture Seven (PDF) -- Birth-Death processes and the M/M/1 queue solved.
- Lecture Eight (PDF) -- Multiplexing and the M/M/m queue solved.
- Lecture Nine (PDF) -- The M/G/1 queue and P-K theorem.
- Lecture Ten (PDF) -- Burke's Theorem and Jackson's Theorem
- Lecture Eleven (PDF) -- basic graph theory
- Lecture Twelve (PDF) -- Spanning trees
- Lecture Thirteen (PDF) -- Shortest Path algorithms
- Unnumbered Lecture (PDF) --- Power Laws, Broccoli, Wikipedia, Sex (not much sex)

Other resources

- Worksheet One (PDF)
- Answers One (PDF)
- Worksheet Two (PDF)
- Answers Two (PDF)

This talk describes FLICK a system for the application-specific middlebox. It consists of three parts:

1) A domain specific language for the middlebox that allows easy development of typical middlebox functions.

2) An abstraction, the task graph, that allows the breaking of middlebox functions into easily parallelisable work units.

3) The system -- this implements the compiled language, handles TCP connections and memory management.

The whole system is comparable in speed to a specialist implementation.