Mirco Musolesi


Main

Short Bio
Research
Publications
Software
Scholarly Service
Teaching
  NDS12-13
Everything Else




Networks and Distributed Systems 2012-2013

Internet
                          Map
                                      



Instructor: Dr Mirco Musolesi
(m.musolesi [AT] cs.bham.ac.uk)

Teaching Assistant: Ian Batten (igb986 [AT] cs.bham.ac.uk)

Teaching Assistant: Antonio Lima (a.lima [AT] cs.bham.ac.uk)


Offered to Undergraduate final year students and Master students in Spring Term


Timetable


Link to syllabus pages containing information about the assessment of the module:
06-24644 Networks and Distributed Systems - for Undergraduate students
06 -23640 Networks and Distributed Systems (Extended) - for Master students

Description of the Module

This module will explore the basic concepts, technologies and standards in the areas of Computer Networks and Distributed Systems. It will cover topics related to the Internet architecture and protocols, networking technologies, distributed systems and algorithms. It will also introduce the students to the recent trends in network technologies and systems, such as wireless networks, mobile computing, cloud computing and online social networks, by discussing real-world case studies, research papers and standardisation documents. Finally, another key part of the module will be about the practical design and implementation of distributed systems and applications.


Office Hours

Office hours: Tuesdays 3-4pm and 5-6pm  (room 1.38)

If you want to arrange a meeting outside the office hours please email me (m.musolesi [AT] cs.bham.ac.uk).



Lab Classes

Tuesdays, Wednesdays and Fridays 4-6pm in UG04.


Programming Project


You can download the assignment here.

Deadline: 21st March 2013 at 12 noon.

Submission instructions will be available soon here.

Resources for the Project:

J. Dean and S. Ghemawat.  Map-reduce: simplified data processing on large clusters. Communications of the ACM 51:1. Pages 107-113. 2008.

Link to the paper
OSDI'04 version

 

A detailed description of Map-Reduce can be found in the Chapter 2 of the book:

 

Anand Rajaraman and Jeffrey David Ullman

Mining Massive Datasets

Cambridge University Press, October 2011.


The book is available for free here.


An introduction to Page Rank can be found in the original paper by Brin and Page:


Sergey Brin and Lawrence Page. The Anatomy of a Large-Scale Hypertextual Web Search Engine. In Proceedings of the 7th International Conference on World Wide Web (WWW'98). 1998.
Link to the paper
 

Textbooks

James F. Kurose and Keith W. Ross. Computer Networking. A Top-Down Approach. 6th Edition. Pearson, 2012
Amazon link
Book Website with additional resources (5th Edition)

The 5th Edition of this book is also fine.

[Indicated as Kurose&Ross below]

George Coulouris, Jean Dollimore, Tim Kindberg and Gordon Blair. Distributed Systems. Concepts and Design. 5th Edition
. Addison Wesley, 2011
Amazon link
Book Website with additional resources

[Indicated as CoulourisEtAl below]


Additional Resources

Larry L. Peterson and Bruce S. Davie. Computer Networks. 5th Edition.
Morgan and Kaufmann, 2011.
Amazon link

John Day. Patterns in Network Architecture. Prentice-Hall, 2008
Amazon link

Srinivasan Keshav. An Engineering Approach to Computer Networking. Prentice-Hall, 2008.

Amazon link

George Varghese. Network Algorithmics. Morgan Kaufmann, 2004.
Amazon link

Andrew S. Tanenbaum and Marteen Van Steen. Distributed Systems: Principle and Paradigms. 2nd Edition.
Prentice Hall, 2006.
Amazon link

Sape Mullender. Distributed Systems. 2nd Edition.
Addison-Wesley, 1993
Amazon link


Class Calendar

Note
In the following the references to the textbooks are abbreviated as follows:

Kurose&Ross James F. Kurose and Keith W. Ross. Computer Networking. A Top-Down Approach. 6th Edition. Pearson, 2012
CoulourisEtAl  George Coulouris, Jean Dollimore, Tim Kindberg and Gordon Blair. Distributed Systems. Concepts and Design. 5th Edition. Addison Wesley, 2011



8 January 2013

Introduction to the Module

Link to Slides

Slide Set 1 - Introduction to the Module [1 slide per page] [handouts - 2 slides per page]

Required Reading

None

Further Reading

Barry M. Leiner, Vinton G. Cerf, David D. Clark, Robert E. Kahn, Leonard Kleinrock, Daniel C. Lynch, Jon Postel, Larry G. Roberts, Stephen Wolff. A Brief History of the Internet. Internet Society.
Link to the article

Chris Anderson and Michael Wolff. The Web is Dead. Long Live to the Internet. Wired. August 2010.
Link to the article


9 January 2013

Basic Networking Concepts

Link to Slides


Slide Set 2 - Basic Networking Concepts (First Part) [1 slide per page] [handouts - 2 slides per page]

Required Reading

Kurose&Ross
Section 1.1 What's the Internet?
Section 1.3 The Network Core


10 January 2013

Basic Networking Concepts

Link to Slides

Slide Set 2 - Basic Networking Concepts (First Part) [1 slide per page] [handouts - 2 slides per page]

Required Reading

Kurose&Ross
Section 1.2.1 Access Networks


15 January 2013

Access Networks


Link to Slides

Slide Set 2 - Basic Networking Concepts (First Part) [1 slide per page] [handouts - 2 slides per page]

Required Reading

Kurose&Ross
Section 1.2.1 Access Networks

Further Reading

Cisco Systems. Digital Subscriber Line.
 2000.
Link to the article


16 January 2013

Access Networks

Internet Topology



Link to Slides


Slide Set 2 - Basic Networking Concepts (First Part) [1 slide per page] [handouts - 2 slides per page]

Required Reading

Kurose&Ross
Section 1.2.2 Physical Media
Section 1.3.3 A Network of Networks

Further Reading

Kurose&Ross
Section 6.1 Introduction
Section 6.2 Wireless Links and Networks Characteristics
Section 6.3 WiFi: 802.11 Wireless LANs
Section 6.4 Cellular Internet Access

ColourisEtAl
Section 3.2
Section 3.5

Note: I suggest Coulouris et al.'s introduction if you are interested in an overview. More technical details can be found in Kurose&Ross' book.


Links on Wireless Technologies

IEEE 802.11 Standards

3GPP Specifications

Motorola. Long Term Evolution (LTE): A Technical Overview. 2010

Wireless Networking in the Developing World [a free book about wireless technologies for developing regions - it contains interesting information about "practical" computer networking]

Michalis Faloutsos, Petros Faloutsos, Christos Faoutsos. On Power-law Relationships of the Internet Topology. Proceedings of SIGCOMM '99. ACM. 1999.

Link to the paper


Links on Internet Topology

George Siganos, Petros Faloutsos, Christos Faoutsos. Power Laws and the AS-Level Internet Topology. IEEE/ACM Transactions on Networking. Vol 11. No 4. 2003.
Link to the paper

Hamed Haddadi, Miguel Rio, Gianluca Iannaccone, Andrew. W. Moore, Richard Mortier. Network Topologies: Inference, Modeling and Generation. IEEE Communications Surveys and Tutorials. Vol 10 (1-4): 49-69. 2008.
Link to the paper



Links on the History of the Internet

Paul Baran. Reliable Digital Communications Systems Using Unreliable Network Repeater Nodes. RAND Corporation papers. Document P-1995. 1960.
Link to the article

Paul Baran. On Distributed Communications Networks. RAND Corporation papers. Document P-2626. 1962.
Link to the article



17 January 2013

Delay and Loss in Packet-Switched Networks


Link to Slides

Slide Set 3 - Basic Networking Concepts (Second Part) [1 slide per page] [handouts - 2 slides per page]

Required Reading

Kurose&Ross
Section 1.4.1 Overview of Delay in Packet-Switched Networks
Section 1.4.2 Queuing Dealy and Packet Loss
Section 1.4.3 End-to-End Delay

Further Reading

For students interested in analytical treatment of these problems I would like to suggest the following book for further study:

Dimitri Bertsekas and Robert Gallager. Data Networks. Prentice Hall. 1995.
Amazon link

Also Keshav's book (listed above as additional textbook) contains a very good treatment of these topics.

Srinivasan Keshav. An Engineering Approach to Computer Networking. Prentice-Hall, 2008. 
Amazon link

Links to Websites of Interest

Transmission versus Propagation Delay applet


22 January 2013

Network Abstraction: Layering

Application Layer


Link to Slides

Slide Set 4 - Application Layer [1 slide per page] [handouts - 2 slides per page]

Required Reading

Kurose&Ross

Section 1.5.1  Layered Architecture
Section 1.5.2 Encapsulation
Section 2.1.1 Network Application Architectures
Section 2.1.2 Processes Communicating

Further Reading

International Telecommunication Union. Recommendations. Data Networks, Open System Communications and Security
Link to the documentation
[these are the standards defining the ISO/OSI model]


23 January 2013

Client-server Architecture




Link to Slides

Slide Set 4 - Application Layer [1 slide per page] [handouts - 2 slides per page]

Required Reading

Kurose&Ross
Section 2.1.3
Transport Services Available to Applications
Section 2.1.4 Transport Services Provided by the Internet
Section 2.1.5 Application-Layer Protocols

Further Reading

ColourisEtAl
Section 3.3.4

Video

Video of Google Datacenter
[Link to the video]


24 January 2013

Peer-to-Peer Systems



Links to Slides

Slide Set 5 - P2P Systems [1 slide per page] [handouts - 2 slides per page]

Required Reading

Kurose&Ross
Section 2.6.1 [excluding the part about the scalability of P2P architectures]

Further Reading

I suggest you to read this survey:

Eng Keong Lua, Jon Crowcroft, Marcelo Pias, Ravi Sharma, Steven Lim. A Survey and Comparison of Peer-to-Peer Overlay Network Schemes. IEEE Communications Surveys. Vol. 7, No. 2. 
Second Quarter 2005. 
Link to the article

And also these papers describing some examples of P2P systems in detail:

Sylvia Ratnasamy, Paul Francis, Mark Handely, Richard Karp, Scott Shenker. A Scalable Content-Addressable Network. Proceedings of ACM SIGCOMM'01. August 2001.
Link to the article


Ion Stoica, Robert Morris, David Liben-Nowell, David R. Karger, M. Frans Kaashoek, Frank Dabek and Hari Balakrishnan. Chord: A Scalable Peer-to-peer Lookup Protocol for Internet Applications. Proceedings of SIGCOMM'01.
Link to the article

Antony Rowstron and Peter Druschel. Pastry: Scalable, decentralized object location and routing for large-scale peer-to-peer systems. Proceedings of Middleware'01. November 2001.
Link to the article

Stefan Saroiu, P. Krishna Gummadi. Steven D. Gribble. A Measurement Study of Peer-to-Peer File Sharing Systems. Proceedings of the Multimedia Computing and Networking (MMCN'02). January 2002.
Link to the article

Daniel Stutzbach and Reza Rejaie. Understanding churn in peer-to-peer networks. Proceedings of IMC'06. 2006.
Link to the article



29 January 2013

Case Studies: BitTorrent and Skype




Links to Slides

Slide Set 5 - P2P Systems [1 slide per page] [handouts - 2 slides per page]

Required Reading

Kurose&Ross
Section 2.6.1 [excluding the part about the scalability of P2P architectures]
Section 7.3.4 Case Study: VoIP with Skype

Further Reading


CoulourisEtAl
Section 4.5.1
Section 4.5.2
Section 20.6.2

BitTorrent Protocol Specification v1.0
Link to the specification
[this document contains several pointers to documents, papers and software of interest]


Bram Cohen. Incentives Build Robustness in BitTorrent. Proceedings of 1st Workshop on Economics of Peer-to-Peer Systems. 2003.
Link to the article


R. Srikant and Dongyu Qiu. Modeling and performance of BitTorrent-like peer-to-peer networks. Proceedings of SIGCOMM'04. 2004.
Link to the article

Johan Pouwelse, Pawel Garbacki, Dick Epema and Henk Sips. The Bittorrent P2P File-Sharing System: Measurements and Anaysis. Proceedings of IPTPS 2005. LCNS 3640. 2005.
Link to the article

M.Izal, G. Urvoy-Keller, E.W. Biersack, P.A. Felber. Al Al Hamra and L. Garces Erice. Dissecting BitTorrent: Five Months in a Torrent's Lifetime. Proceedings of PAM'04. LCNS 3015. 2004.
Link to the article

R. Bindal, Pei Cao, W. Chan., J. Medved, G. Suwala, T. Bates and A. Zhang. Improving Traffic Locality in BitTorrent via Biased Neighbor Selection. Proceedings of IEEE ICDCS 2006.
Link to the article


Michael Piatek, Tomas Isdal, Thomas Anderson, Arvind Krishnamurthy and Arun Venkataramani. Do Incentives Build Robustness in BitTorrent? Proceedings of NSDI'07. 2007.
Link to the article

Salman A Baset and Henning Schulzrinne. An Analysis of the Skype Peer-to-Peer Internet Telephony Protocol. Proceedings of INFOCOM'04. 2004.
Link to the article

Saikat Guha, Neil Daswani, Ravi Jain. An Experimental Study of the Skype Peer-to-Peer VoIP System. Proceedings of IPTPS'06. 2006.
Link to the article


Dario Bonfiglio, Marco Mellia, Michela Meo and Dario Rossi. Detailed Analysis of Skype Traffic. IEEE Transactions on Multimedia. Vol 11. Issue 1. IEEE Press.
Link to the article


30 January 2013

HTTP



Links to Slides

Slide Set 6 - HTTP [1 slide per page] [handouts - 2 slides per page]

Required Reading

Kurose&Ross 
Section 2.2.1 Overview of HTTP
Section 2.2.2 Non Persistent and Persistent Connections
Section 2.2.3 HTTP Message Format [you do not have to remember all the fields of the HTTP messages]
Section 2.2.4 User-Server Interaction: Cookies
Section 2.2.5
Web Caching

CoulourisEtAl 
Section 5.2 (contains HTTP as case study)


Further Reading

RFC 2616. Hypertext Transfer Protocol - HTTP/1.1
Link to the document


31 January 2013

Electronic Mail




Link to Slides

Slide Set 7 - Electronic Mail [1 slide per page] [handouts - 2 slides per page]

Required Reading

Kurose&Ross

2.4 Electronic Mail in the Internet
2.4.1 SMTP
2.4.2 Comparison with HTTP
2.4.3 Mail Message Formats [you do not have to remember the format of the messages]
2.4.4 Mail Access Protocols

Further Reading

RFC 5321 Simple Mail Transfer Protocol (SMTP)
Link to the document

RFC 1939 Post Office Protocol - Version 3 (POP3)
Link to the document

RFC 3501 Internet Message Access Protocol - Version 4rev1
Link to the document



5 February 2013

DNS


Link to Slides

Slide Set 8 - DNS [1 slide per page] [handouts - 2 slides per page]

Required Reading

Kurose&Ross
2.5.1 Services Provided by DNS
2.5.2 Overview of How DNS Works
2.5.3 DNS Records and Messages [you do not have to remember all the fields of the DNS messages]

Further Reading


RFC 1034 Domain Names - Concepts and Facilities
Link to the document


RFC 1035 Domain Names - Implementation and Specification
Link to the document


6 February 2013

Introduction to Socket Programming


Links to Slides

Slide Set 9 - Socket Programming [1 slide per page] [handouts - 2 slides per page]

Further Reading and Resources

About Java Sockets:

Java Tutorial on Networking
Link to the tutorial

Elliotte Rusty Harold. Java Network Programming. O'Reilly Media. October 2004
Link to O'Reilly website

About Socket and Inter-Process Communication in Unix

Brian "Beej Korgensen" Hall. Beej's Guide to Unix IPC. December 2010
Link to the tutorial

W. Richard Stevens, Bill Fenner, Andrew M. Rudoff. Unix Network Programming, Volume 1: The Sockets Networking API (3rd Edition). Addison Wesley.2003.
Amazon link

W. Richard Stevens and Stephen A. Rago. Advanced Programming in the UNIX Environment. Addison-Wesley. 2005.
Amazon link


7 February 2013

TCP  and UDP Sockets in Java


Links to Slides

Slide Set 9 - Socket Programming [1 slide per page] [handouts - 2 slides per page]

Required Reading

CoulourisEtAl 
Section 4.2.2

Section 4.2.3
Section 4.2.4


All About Sockets Tutorial
Link to the tutorial

Further Reading

Elliotte Rusty Harold. Java Network Programming. O'Reilly Media. October 2004
Link to O'Reilly website



12 February 2013

Principles of Reliable Communication


Link to Slides

Slide Set 10 - Principles of Reliable Communication and TCP Design [1 slide per page] [handouts - 2 slides per page]

Required Reading

Kurose&Ross

3.4 Principles of Reliable Data Transfer
3.4.1 Building a Reliable Data Transfer Protocol [overview, only the material covered in the slides - no finite state machines and implementation using functions]
3.4.2 Pipelined Reliable Data Transfer Protocols [overview, only the material covered in the slides - no finite state machines and implementation using functions]

Further Resources

Go back-N protocol demo




13 February 2013

Principles of Reliable Communication



Link to Slides

Slide Set 10 - Principles of Reliable Communication and TCP Design [1 slide per page] [handouts - 2 slides per page]

Required Reading

Kurose&Ross
3.4.3 Go-Back-N (GBN) [overview, only the material covered in the slides - no finite state machines and implementation using functions]
3.4.4 Selective Repeat (SR) [overview, only the material covered in the slides - no finite state machines and implementation using functions]

Further Resources

Selective Repeat demo


14 February 2013

Design and implementation of TCP



Link to Slides

Slide Set 10 - Principles of Reliable Communication and TCP Design [1 slide per page] [handouts - 2 slides per page]

Required Reading

Kurose&Ross
3.5 Connection-oriented Transport: TCP
3.5.1 The TCP Connection
3.5.2 TCP Segment Structure
3.5.3 Round-Trip Time Estimation and Timeout
3.5.4 Reliable Data Transfer [only part covered in the lecture]
3.5.5 Flow Control [only part covered in the lecture]
3.5.6 TCP Connection Management [only part covered in the lecture]
 
Further Resources

Selective Repeat demo


19 February 2013

Multithreaded Servers in Java


Link to Slides

Slide Set 11 - Multithreaded Servers [1 slide per page] [handouts - 2 slides per page]

Further Reading and Resources

Java Tutorial - Example of implementation of multi-threaded server
Link to the article

David Brown. A Simple Multithreaded Web Server. August 1997.
Link to the article



20 February 2013

Network Layer


Link to Slides

Slide Set 12 - Network Layer [1 slide per page] [handouts - 2 slides per page]

Required Reading

Kurose&Ross
4.1.1 Forwarding and Routing
4.2.2 Datagram Networks
4.3 What's Inside a Router?

Further Reading


Kurose&Ross
4.3.1 Input Processing
4.3.2 Switching
4.3.3 Output Processing
4.3.4 Where Does Queuing Occur?


21 February 2013

Introduction to the Design of Distributed Systems



Link to Slides

Slide Set 13 - Introduction to Distributed Systems Design [1 slide per page] [handouts - 2 slides per page]

Required Reading

Coulouris&Al.
1.2.1
1.2.2
1.5.1
1.5.4
1.5.5
1.5.6
1.5.7
2.3.1
2.3.2 [No AJAX]
2.3.3
2.4.1

Further Reading and Resources

Even if some parts are a bit outdated, this book contains some very well-written chapters about the general issues in designing distributed systems:

Sape Mullender. Distributed Systems. 2nd Edition.
Addison-Wesley, 1993
Amazon link

Andrew D. Birrell and Bruce Jay Nelson. Implementing remote procedure calls. ACM Transactions on Computer Systems (TOCS). Vol. 2. Issue 1. February 1984.
Link to the paper

Jim Waldo. Remote procedure calls and Java Remote Method Invocation. IEEE Concurrency. Vol. 6. Issue 3. July-September 1998.
Link to the paper

Java RMI Home
Link to the website

Java Tutorial - RMI
Link to the website


26 February 2013


IP


Link to Slides

Slide Set 14 - IP [1 slide per page] [handouts - 2 slides per page]

Required Reading

Kurose&Ross
4.4 The Internet Protocol (IP): Forwarding and Addressing the Internet
4.4.1 Datagram Format
4.4.2 IPv4 Addressing

Further Reading

RFC 791 - Internet Protocol Version 4 (IPv4)
Link to the document

IP Fragmentation Demo


27 February 2013


Failures Models of Distributed Systems

Distributed Computing as a Utility


Link to Slides

Slide Set 13 - Introduction to Distributed Systems Design [1 slide per page] [handouts - 2 slides per page]

Required Reading

Coulouris&Al.

1.3.4
1.4
2.4.2
9.7.3

Further Reading


About failure models:


V. Hadzilacos and S. Toueg. A Modular Approach to Fault-tolerant Broadcasts and Related Problems. Technical Report. Dept. of Computer Science. University of Toronto 1994.

Link to the article


About distributed computing as a utility and cloud computing:


Michael Armbrust, Armando Fox, Rean Griffith, Anthony D. Joseph, Randy H. Katz, Andrew Konwinski, Gunho Lee, David A. Patterson, Ariel Rabkin, Ion Stoica and Matei Zahari. Above the Clouds: A Berkeley View of Cloud Computing. Technical Report No. UCB/EECS-2009-28. February 2009.
Link to the the technical report     Link to the Comms of ACM article


Daniel Nurmi, Rich Wolski, Chris Grzegorczyk, Graziano Obertelli, Sunil Soman, Lamia Youseff, and Dmitrii Zagorodnov. 2009. The Eucalyptus Open-Source Cloud-Computing System. In Proceedings of the 2009 9th IEEE/ACM International Symposium on Cluster Computing and the Grid (CCGRID '09). IEEE Computer Society, Washington, DC, USA.

Link to the article


Peter Mell and Timothy Grance. The NIST Definition of Cloud Computing. Special Publication 800-145. NIST.

Link to the article


N. Leavitt. Is Cloud Computing Really Ready Ready for Prime Time? IEEE Computer. January 2009.

Link to the article

Luis M. Vaquero, Luis Rodero-Merino, Juan Caceres, and Maik Lindner. A break in the clouds: towards a cloud definition. SIGCOMM Comput. Commun. Rev. 39, 1. December 2008.
Link to the article


About the implementation of Facebook and Twitter:

Facebook Architecture on stackoverflow

Link to the article


Facebook Architecture on High Scalability
Link to the article

Facebook Engineering Videos. The Architecture of Facebook

Link to the video

Scaling Twitter: Making Twitter 10000 Percent Faster

Link to the article

Alan Mislove, Massimiliano Marcon, Krishna P. Gummadi, Peter Druschel, and Bobby Bhattacharjee. Measurement and analysis of online social networks. In Proceedings of ACM IMC'07. 2007.

Link to the article


28 February 2013

IP




Link to Slides

Slide Set 14 - IP [1 slide per page] [handouts - 2 slides per page]

Required Reading

Kurose&Ross
4.4.2 IPv4 Addressing
4.4.4 IPv6

Further Reading and Resources

RFC 791 - Internet Protocol Version 4 (IPv4)
Link to the document


RFC 2460 - Internet Protocol Version (IPv6)
Link to the document


5 March 2013

Routing in the Internet




Link to Slides

Slide Set 15 - Internet Routing [1 slide per page] [handouts - 2 slides per page]

Required Reading

Kurose&Ross
4.5 Routing Algorithms
4.5.1 The Link-State (LS) Routing Algorithm
[no implementation of the Dijkstra's algorithm]
4.5.2 The Distance-Vector (DV) Routing Algorithm

Further Reading

A good coverage of graphs algorithms can be found in the following book:

T. H. Cormen, C. E. Leiserson, R. L. Riverst, C. Stein. Introduction to Algorithms. 3rd Edition. 2009. MIT Press.
Link to the book


6 March 2013

Bellman-Ford Equation and Distance Vector Algorithm


Link to Slides

Slide Set 15 - Internet Routing [1 slide per page] [handouts - 2 slides per page]

Required Reading

Kurose&Ross
4.5.2 The Distance-Vector (DV) Routing Algorithm
4.5.3 Hierarchical Routing

Further Reading

R. Bellman. On a routing problem. Quartely of Applied Mathematics. 16:87-90. 1958
Link to the article


D. Bertsekas and R. Gallager. Data Networks. Prentice Hall. 1995.
Amazon link


C. Huitema. Routing in the Internet. Prentice-Hall. 1999.

Amazon link


7 March 2013

RIP and OSPF


Link to Slides

Slide Set 15 - Internet Routing [1 slide per page] [handouts - 2 slides per page]

Required Reading

Kurose&Ross
4.6.1 Intra-AS Routing in the Internet: RIP
4.6.2 Intra-AS Routing in the Internet: OSPF

Further Reading

RFC 1058 - Routing Information Protocol Version 1
Link to the document

RFC 2453 - Routing Information Protocol Version 2
Link to the document

RFC 2328 - OSPF Version 2
Link to the document


12 March 2013

DHCP and NAT



Link to Slides

Slide Set 16 - DHCP and NAT [1 slide per page] [handouts - 2 slides per page]

Required Reading

Kurose&Ross

4.4.2 IPv4 Addressing


Further Reading

RFC 2131 - Dynamic Host Configuration Protocol
Link to the document


RFC 2663 - IP Network Address Translator (NAT) Terminology and Considerations
Link to the document

RFC 3022 - Traditional IP Network Address Translator
Link to the document



13 March 2013

BGP



Link to Slides

Slide Set 15 - Internet Routing [1 slide per page] [handouts - 2 slides per page]


Required Reading

Kurose&Ross

4.6.3 Inter-AS Routing: BGP [overview]

Further Reading

RFC 4271 - A Border Gateway Protocol (BGP-4)
Link to the document

RFC 4274 - BGP-4 Protocol Analysis
Link to the document

RFC 4276 - BGP-4 Implementation Report



14 March 2013

Data Link Layer



Link to Slides

Slide Set 17 - Data Link Layer [1 slide per page] [handouts - 2 slides per page]


Required Reading

Kurose&Ross
5.1 Introduction to the Link Layer [overview]
5.1.1 The Services Provided by the Link Layer [overview]
5.1.2 Where is the Link Layer Implemented? [overview]
5.3 Multiple Access Links and Protocols [overview]
5.4 Switched Local Area Networks [overview]
5.4.1 Link-Layer Addressing and ARP [overview]
5.4.2 Ethernet [overview]

Further Reading and Resources

CSMA/CD Demo


802.11 Standard Websites
Link to the website

Standard Group MAC Addresses: A Tutorial Guide
Link to the document

Robert M. Metcalfe and David R. Boggs. Ethernet: distributed packet switching for local computer networks. Communications of the ACM. Vol. 19. Issue 7. July 1976. ACM Press.
Link to the article


19 March 2013


Wireless Networks




Link to Slides

Slide Set 18 - Wireless Networks [1 slide per page] [handouts - 2 slides per page]

Required Reading

Kurose&Ross
Chapter 6 of the book covers wireless networks in great detail. An overview of the concepts described in this chapter are sufficient for this module (see also material covered in the slides). In particular focus on WiFi and cellular networks.

Further Reading


The IEEE 802.11 Standard Working group website
Link to the website


3GPP Initiative
Link to the website

Vocabulary for 3GPP specification
Link to the website


20 March 2013


Wireless Networks

Link to Slides

Slide Set 18 - Wireless Networks [1 slide per page] [handouts - 2 slides per page]

Required Reading

Kurose&Ross
Chapter 6 of the book covers wireless networks in great detail. An overview of the concepts described in this chapter are sufficient for this module (see also material covered in the slides). In particular focus on WiFi and cellular networks.

Further Reading


The IEEE 802.11 Standard Working group website
Link to the website


3GPP Initiative
Link to the website

Vocabulary for 3GPP specification
Link to the website





Additional Lectures on Network Programming in Python

Tutorials by
Antonio Lima


8 March 2013

Introduction to the Python Programming Language

Link to Slides

Slide Set A [1 slide per page]



15
March 2013

Network Programming in Python



Link to Slides

Slide Set B [1 slide per page]







St Andrews logo

Last updated: 3 April 2013