G54ACC - Advanced Computer Communications

I am teaching this course in conjunction with Prof. Derek McAuley – contact him with questions about his part of the course. If you have any questions or errata for my parts of the course, or for these web pages, please mail me.

Topics

Computer networking topics at L3/Network layer and above, including: naming and addressing; switching and routing; IP/TCP/UDP; presentation encoding, services, application protocols; security; network management.

Admin

Lectures

Lecture notes made available here for teaching purposes only.

IP and Down

Lectured by Prof. Derek McAuley, Fridays, 14.00–15.00 in JC-EXCHGE-B.LT1.

Lecture 1 Network—IP

  • Internetworking
  • IP to datalink mapping
  • ARP/connection setup
  • e.g., Ethernet, ADSL, Mobile, Wireless
  • MPLS (e.g., 21CN)

Lecture 2 & 3 Multiplexing

  • TDM variants
  • Statistcial multiplexing
  • Hello to Queuing theory
  • CDMA

Lecture 4 & 5 Physical

  • Modulation
  • Coding, blocks/scramblers
  • Error correction/detection

Lecture 6 Optical

  • Ethernet phyiscal
  • Optical transmission
  • Frequency response
  • WDM

Lecture 7 & 8 Ethernet

  • Coax, hubs, switches
  • Broadcast
  • Multicast
  • CGE, DCE

Lecture 9 ADSL

  • Coding
  • ATM
  • VPs / VCs
  • Aggregation
  • Segmentation
  • History and modern day

Lectures 10 Switching

  • Switch architectures
  • Buffering
  • Queuing
  • QoS
  • NPUs


IP and Up

Lectured by me, Mondays, 17.00–18.00 in JC-BSSOUTH-A25.

Lecture 1 Internetworking

  • Encapsulation
  • Addressing
  • Address aggregation
  • Routing vs. forwarding
  • Address management
  • ICMP
  • Alternatives

Impact of offload (cached), IPv6 transition (cached)

Lecture 2 Routing

  • Link-state
  • Distance-vector
  • Comparison
  • Interior vs. exterior routing
  • BGP
  • Peering, settlement
  • Alternatives

OpenFlow, OpenVSwitch, NoX, PyRT, BGP statistics, McQuillan et al, An overview of the new routing algorithm for the ARPANET (cached)

Lecture 3 Transport: Basics

  • Process multiplexing
  • UDP
  • TCP headers
  • TCP state machine
  • Priority and precedence
  • TCP flow control

Scalable Stream Transport (cached)

Lecture 4 Transport: Advanced

  • Achieving reliability
  • Congestion collapse
  • Congestion control
  • Multimedia and TCP fairness

TCP congestion control survey (cached) TCP visualization TCP/IP protocol sequence diagrams TCP Flow Control Tutorial (cached)

Lecture 5 Connecting

  • Address translation
  • Layer violation
  • Naming
  • DNS
  • QOS: IntServ, DiffServ

End-to-end argument (cached)

Lecture 6 Applications

  • Session, presentation layers
  • HTTP
  • Requests, responses
  • Cookies, pipelining
  • XMPP
  • BOSH
  • Peer-to-peer
  • Active networks

Sample HTTP trace

Lecture 7 Management

  • Network management
  • ISO FCAPS, TMN EMS
  • Building an IP network
  • Network design
  • Device configuration
  • ICMP, ping, traceroute
  • SNMP
  • An hypothetical network management system

NANOG UKNOF

Lecture 8 Network Programming

  • Berkeley sockets
  • Endianness
  • Multiplexing
  • XML-RPC, SOAP, RESTful
  • Cloud computing

Creating a REST protocol, REST and WS, A more complex REST example, RESTful JSON How Google Builds APIs (cached) Please drop the SOAP!

Lecture 9 Security

  • Common requirements
  • Network security
  • Security of the network
  • Generic techniques
  • OpenID
  • OAuth
  • TLS/SSL/HTTPS

Lecture 10 Abstractions & 3G Evolution

  • System design
  • Common techniques
  • 3G data network
  • Signal measurement
  • Idle mode
  • Tracking areas
  • Pooling

Lecture 11 Feedback, &c

  • SET/SEM Feedback feedback
  • Sample exam question
  • Revision topics


Lab Exercises

Note that these are not assessed, but are intended for your education only. As a result, I place no constraint on which programming language you select for any of the programming exercises. Go wild!

Books