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

Books