CSL858, Winter 2011: Advanced Computer Networks
Introduction
We will go beyond what we studied in CSL 374 to explore in detail some fundamental aspects of computer networks and current research areas. Computer networks is one of the most interesting fields of computer science because it has heavy components of both theory and practice. There are certain topics where theory has preceded its application, but lots others where economics or pragmatic urgency or Moore's Law has set the direction for technology development, leaving the science to catch up much later. Throughout the course, we will examine current research and its impact in this broader context. Students will learn in detail some fundamental concepts of networks, basic theoretical tools, get a peep into current research topics, and broadly understand how research problems are identified, addressed, and sometimes are able to find their way to deployment. Our emphasis on wireless networks will be low because another course is being offered in parallel.
Readings and outline
[L] indicates a lecture, [P] indicates a student presentation, [O] indicates optional (depending on time)
Paper review website
Topics | Readings |
Physical layer |
The various acronyms! [L] Digital modulation: BPSK, QPSK, QAM. Encoding: NRZ, AMI, 2B1Q, 4B/5B. Analog modulation. Analog sampling
|
Error control |
Error checking, correcting, estimation [L] Block coding: Hamming distance, parity check, Hamming codes, interleaving. Convolution coding. [L] Chen: Error estimating codes, Sigcomm 2010. [L] Huitema: Packet level FEC, IFIP TC6, 1996. Network coding, tornado codes
|
MAC |
Winners and losers [L] Saltzer: Why a ring, Sigcomm 1981 [P] Leland: Self similarity of Ethernet traffic, Sigcomm 1993 Trends in wireless MAC [P] Sen: CSMA/CN, MobiCom 2010
Case-study [L] Das: Async data traffic over Bluetooth, Infocom 2001
|
Switching |
Basics [L] Switch internals: Fabrics, banyan network, CAM
Keeping up... [P] Keshav: Trends in router design, IEEE Communications Magazine, May 1998 [P] Varghese: L4 switching, Sigcomm 1998 [P] Moon: GPUs in switches, Sigcomm 2010
Packet switching Vs circuit switching: The tussle continues [P] Katz: Tag based switching, Proceedings of IEEE, Dec 1997 [L] Molinero: Circuit switching in the core
|
Scheduling and QoS |
Basics [L] Queueing theory introduction [L] Max-min, proportional fairness, fairness index, scheduling Vs E2E flow control
Techniques [P] Keshav: WFQ, ACM 1989. Varghese: DRR, Sigcomm 1995
QoS [P] Zhang: RSVP, IEEE Network Magazine, 1993 [P] Clark: IntServ, Sigcomm 1992
|
Flow and congestion control |
Basics [L] Open and closed loop flow control, rate based, window based [L] Basics of control theory [L] Jacobson: Congestion control, Sigcomm 1988. Jain: AIMD analysis
Case studies [P] Floyd: RED, IEEE/ACM Transactions on Networking, Aug 1993. Floyd: ECN, ACM Sigcomm Computer Communication Review, Oct 1994. Jacobson: RED in a different light, Sep 1999 [O] Floyd: TCP variants and comparison, Computer Communication Review, July 1996 [P] Floyd: DCCP, Sigcomm 2006. Fall: E2E congestion control, IEEE/ACM Transactions on Networking (TON), Aug. 1999
Sanity check [P] Smith: AQM performance for web traffic, Sigcomm 2000
Other techniques and fixes [P] McKeown: Buffer sizing, Infocom 2006
Transport layer error control and performance [P] NetBlt, Sigcomm 1987
|
Routing |
Classics [P] Perlman: Ethernet spanning tree, Sigcomm 1985
Need better solutions! [P] Paxson: Routing behaviour, ACM SIGCOMM Computer Communication Review, Oct 2006 [P] Mahajan: BGP stability, Sigcomm 2002. Labovitz: Internet routing convergence,Sigcomm 2000 [O] Varghese: Routing table sizes, Sigcomm 2003
You can't build it right unless you can measure it [P] Doyle: Routing topology, Sigcomm 2004. Spring: Rocketfuel, Sigcomm 2002 Traffic management according to preferences [L] Bayesian inference, expectation maximization, principal component analysis [P] Diot: Traffic matrices, Sigcomm 2002 [P] Zhang: Traffic engineering, IMC 2003
Fault management [P] Diot: Network wide anomalies, Sigcomm 2004 [P] Bahl: Fault diagnosis, Sigcomm 2007
Tools [O] Estan: Internet measurements, ACM Transactions on Computer Systems (TOCS), Aug 2003
|
Internet architecture and clean slate design |
Evolution [L] Schroeder: Grapevine, ACM Transactions on Computer Systems (TOCS), Feb 1984. Clark: DARPA protocols, Sigcomm 1988. Shiv: Evolving Internet. Kelly: Self managed Internet, Philosophical Transactions of the Royal Society A358 (2000)
Thoughts from clean slate designs [P] Stoica: I3, Sigcomm 2002 [P] Balakrishnan: Layered naming architecture, Sigcomm 2004 [P] Jacobson: Networking named content, ACM CoNEXT 2009 [O] Jokela: Line-speed publish subscribe, Sigcomm 2009
Measurements leading to models for re-design [P] Paxson: E2E Internet packet dynamics, IEEE/ACM Transactions on Networking 7(3), Bolot: E2E packet delay and loss behaviour, Sigcomm 1993. Wang: Internet bottlenecks, Infocom 2005. Gummadi: Residential broadband, IMC’07 [P] Floyd: Wide area traffic self similarity, IEEE/ACM Transactions on Networking, June '95 [P] Bestavros: Web traffic self similarity, IEEE/ACM Transactions on Networking, Dec '97
Protocols [L] Towsley: Soft state protocols, Sigcomm 2003 [L] Sirer: Trickles, Proceedings of Networked System Design and Implementation, May 2005
|
Actual architectural responses |
Topology responses [P] Mahanti: Flattening Internet, PAM'08. Labovitz: Internet inter-domain traffic, Sigcomm 2010
Tools [P] Morris: Vivaldi [P] Stoica: Chord, Infocom 2004
Architectural responses: Overlay, P2P, CDNs, caching [P] Morris: RON, Proc. 18th ACM SOSP, Oct 2001 [O] Zhang: End system multicast, Sigmetrics 2000 [P] Shenker: Scalable Gnutella, Sigcomm 2003 [O] Gummadi: P2P workloads, SIgcomm 2003 [O] Huang: P2P VoD, Sigcomm 2008 [P] Luby: Digital fountain approach to bulk data transfers, Sigcomm 1998 [P] Saroiu: Measurement of CDNs, ACM SIGOPS Operating Systems Review - OSDI '02 [P] Broder: Wide area cache sharing, IEEE/ACM Transactions on Networking, Jun 2000 [O] Su: Akamai drafting, Sigcomm 2006 [O] Rodriguez: Bulk data transfers, Sigmetrics/Performance 2009
|
New types of networks |
DTNs, data centers, OSNs, mobile networks [P] Fall: DTN, Sigcomm 2003 [O] Jain: DTN routing, Sigcomm 2004 [P] Vahdat: Commodity data center, Sigcomm 2008 [O] Padhye: Data centre TCP, Sigcomm 2010 [P] Rodriguez: SPAR, Sigcomm 2010 [P] Hui: Haggle routing, Philosophical Transactions of the Royal Society A, June 2008 |
Project ideas
- Core networks
- Write a passive monitoring tool for bandwidth and link analysis. The tool can monitor incoming and outgoing packets, attach flags such as record route options in IP packets, send pings, etc, but should consume minimal bandwidth itself
- Write a link profiler which infers properties of the access link, and accordingly sets parameters on some open-source link emulation tool
- Write an extremely easy-to-use tool for photo and video upload over a flaky Internet connection in rural areas. Think about using layered codecs so that a poor-resolution upload can be done immediately over MMS for example, while higher-resolution uploads follows later over GPRS or DSL or VSAT links. As a second step, publish the content on Facebook and build an application which allows users to leave voice-based comments on the content.
- Collect logs from the IIT proxy and analyze its caching effectiveness. Improve the effectiveness by caching streaming content.
- Set up a CDN or a P2P VoD service on campus. Write a Firefox or Chrome plugin to use the infrastructure through the browser, especially for streaming video such as through YouTube. Study its performance under different link emulation and content distribution scenarios
- Write a Facebook application for an iPhone or Android or Symbian client, which does not upload photos and videos all the way to Facebook, but uses a local CDN for video delivery. Study the performance with different mobility scenarios.
- On a network of PlanetLab nodes, use DNS to find out the closest Akamai servers. Then study if you can find a pattern to which YouTube or Facebook videos are cached on these servers by fetching a list of recent videos, popular videos, etc from YouTube.
- Application of networks concepts
- Model the paper trail in the IIT adminstration as a network and analyze its properties
- Kleinberg XXX
- Applications
- Write a social network crawler for Twitter, Facebook, etc, which can crawl based on different sampling criteria, and store the network in a distributed database
- Design a campaign system on Facebook: Content is pushed automatically to a subset of volunteers seeded in different parts of the social network, and then routed to groups to which the volunteers are subscribed. Keep track in real time of content accesses, and learn the efficacy of the volunteers to popularize issues.
- Survey papers
- Do a history study of the development and popularization of the Ethernet, scheduling and flow control in computer networks, P2P, and other topics. How research built upon other prior work, how extraneous factors influenced the development, which works made it to the real world, etc.
- Do a survey on intrusion detection systems, prevention of DDoS attacks, bot-nets, etc.
- Do a survey on the state of the art in data center networking.