Computer NetworksThe past few years have seen a remarkable growth in the global network infrastructure. The Internet has grown from a research curiosity to something we all take for granted, and is becoming as essential as the ubiquitous telephone and utility networks. It has been able to withstand rapid growth fairly well and its core protocols have been robust enough to accommodate applications that were unforeseen by the original Internet designers, such as the World Wide Web.
How does this global network infrastructure work and what are the design principles on which it is based? In what ways are these design principles compromised in practice? How do we make it work better in today's world? How do we ensure that it will work well in the future in the face of rapidly growing scale and heterogeneity? And how should Internet applications be written, so they can obtain the best possible performance both for themselves and for others using the infrastructure? These are some issues that we will grapple with in this course. The course will focus on the design, implementation, analysis, and evaluation of large-scale networked systems.
Topics include 1) introduction 2) the physical layer 3) the data link layer 4) the medium access control layer 5) the network layer 6) the transport layer 7) the application layer 8) network security.
TextbookAndrew S. Tanenbaum, and David J. Wetherall, Computer Networks, 5th Edition, China Machine Press, 2011.
Reference booksJames F. Kurose, and Keith W. Ross, Computer Networking: A Top-Down Approach, 6th Edition, Higher Education Press.
- Use of Network Software. [report]
- Analysis of Network Protocols. [report]
- Build an internetworking network by using simulator. [report]
- Implement a self-defined protocol by using socket API. [report]
- Implement a simple and safety web server. [report]