IERG 3310 Computer Networks

Semester: Fall 2015

 

Lecture Notes         Tutorial Notes       Assignment/Quiz      Project      References       Additional Reference Pointers

 

Announcement

Date

 

 

Account to access course materials

Login: ierg3310

Password: 3310fall

 

Description 

 

This is a first course on computer networks. Students are assumed to have experience using Internet applications such as web browser, email, chat, etc. By taking this course, students will gain an appreciation of the underlying concepts and networking technologies that make possible such applications. In addition, this course paves the way for students to take more advanced networking courses (e.g., IERG4090, IERG4180, IERG4020). Various layers of the TCP/IP architecture are discussed, including the application, transport, network, medium access, and data-link layers. Students are also assumed to have exposure to elementary probability theory that will be needed for performance analysis of computer networks in this course.

 

 

Content, highlighting fundamental concepts

Topic

Contents/fundamental concepts

Overview of the Internet Architecture; Packet Switching Vs. Circuit Switching

Provide an overview of Internet architecture and protocols. Discuss the design philosophy and principles of the Internet architecture and the corresponding trade-offs.

Network Performance Basics ; Protocol Layering ;

The idea of Protocol layering and the Internet protocol stacks ;

The need and limitations of layering.

Introduce basic network performance metrics including different components of the end-to-end delay, throughput, packet loss and the bandwidth-delay product of a network.

Internet Application protocol internals: HTTP, FTP, SMTP, DNS ; Socket interface for network service

Cover some widely used application paradigms and protocols. Introduce the ideas of: connection persistency, message pipelining, state-keeping via cookies, in-band Vs. out-of-band control, recursive/iterated query, etc. Introduce socket as the API for the operating system to provide network services to the applications.

Transport Layer Services ; UDP and TCP internals ; flow/congestion control ;

Compare the two transport layer protocols: TCP and UDP. Introduce the mechanisms of TCP to support (1) reliable data delivery and flow/congestion control. Discuss the trade-offs of using different transport layer protocols and the limitations of TCP under different networking environment.

IP Network Layer service models ; IP addressing scheme ; Classless Inter-domain Routing (CIDR) ;

Introduce the IP addressing scheme and the concept of classful, classless IP addressing and subnetting. The need and pitfalls of prefix aggregation.

Routing algorithm basics: Distance Vector Vs. Link-state ;

Discuss and compare two basic routing algorithms: DV and LS based on their algorithmic complexity, stability/ convergence, and scalability.

Internet Inter-domain Routing ;

Introduce the concept of AS and the use of the path-vector-based BGP for inter-domain routing in the Internet. Compare and contrast the differences of in the design of inter-domain and intra-domain routing protocols.

MAC protocols ; LAN technologies and Interactions with IP network layer: ARP ; Operating principles and comparisons between Hubs, Bridges, Switches and Routers ;

Cover some standard MAC protocols: CSMA, token ring. Discuss the operating principles of ARP and DHCP in LANs. Discuss the operating principles of hubs, bridge/switch and routers and compare strengths and limitations

 

Learning outcomes:

 

At the completion of this course, the student should be able to:

 

  1. Demonstrate knowledge and understanding of the basic principles of computer networks, including local-area networks, wide-area networks, and Internet.
  2. Analyze and compare the performance of simple computer network configurations.
  3. Write simple socket programs.

 

 

 

Learning activities

Lecture

Interactive tutorial

Projects

Expected self study and homework

(hr)
in /out class

(hr)
in /out class

(hr)
in /out class

(hr)
in /out class

 

3

 

 

1

 

 

 

 

1

 

 

 

7

M

NA

M

NA

NA

M

NA

O

M:  Mandatory activity in the course

O:   Optional activity

NA:  Not applicable

 

Assessment scheme

Task nature

Description

Weight

Zero-weight written Assignments

There will be multiple assignments to help the students to develop and assess their understanding of the materials taught in class (learning outcome 1 and 2).  Students are encouraged to submit the assignments for grading. Solution will be posted on the course webpage.

0%

4-5 In-class Quizzes during lectures

Content of the Quizzes will be based on the zero-weight assignments. The objective is help students to assess their understanding of the materials taught up to the moment (learning outcome 1 and 2).

 

20%

Hands-on Networking Assignment

Use standard desktop tools to monitor network configuration and traffic analysis

10%

Multi-phase Programming Assignment

An individual programming assignment provides the exposure to basic network programming using sockets.

20%

Final exam

 

Assess students’ overall understanding of the course materials (learning outcome 1 and 2).

 

50%

Note: The above assessment scheme serves to set the framework only. The detailed procedures, instructions, guidelines, and marking schemes will be finalized by the instructor.

 

Learning resources for students

 

This is an entry-level course for computer network. There are many standard textbooks available, and different instructors may use different books. However, the fundamentals learned are the same. The following are some of the books:

Required Textbook

[Kuro] Computer Networking: A Top-down approach featuring the Internet, 6th Edition by James F. Kurose and Keith W. Ross. Publisher: Addison Wesley, 2012.

 

Highly Recommended References

[Kesh] An Engineering Approach to Computer Networking :ATM Networks, the Internet and the Telephone Network by S. Keshav. Publisher: Addison Wesley, 1997.

[Perl] Interconnections: Bridges, Routers, Switches and Internetworking Protocols, 2nd Edition, by Radia Perlman. Publisher: Addison Wesley, 1999.

 

Additional references for specific topics

[Abe] Residential Broadband Networks 2nd Edition, by George Abe, Publisher: Cisco Press, 2000.

[Ball] Managing IP Networks with Cisco Routers, by Scott M. Ballew, Publisher: O'Reilly, 1997.

[Boll] Inside Cisco IOS Software Architecture, by V. Bollapragada, et al, Publisher: Cisco Press, 2000. Includes not only the details of Cisco IOS software architecture but also the high-level architecture of various lines of Cisco routers.

[Card] V. Cardellini, M. Colojamni and P.S. Yu, "Load Balancing on Web-server systems", IEEE Internet Computing Magazine, May/June Issue, 1999.

[Clar1] IP SANS: An Introduction to iSCSI, iFCP, and FCP Protocols for Storage Area Networks by Tom Clark, Publisher: Addison Wesley, 2001. It provides an excellent, comprehensive overview on IP-based Storage Area Network technologies.

[Clar2] Designing Storage Area Networks: A Practical Reference for Implementing Fiber Channel and IP SANs, Second Edition, by Tom Clark. Publisher: Addison Wesley, 2003. Yet another excellent tutorial by Tom Clark on the standards, products and deployments of Storage Area Network technologies.

[Cock] Capacity Planning for Internet Services, by Adrian Cockcroft, Bill Walker (Contributor), Publisher: Prentice Hall, 2001.

[Dill]  J. Dilley, et. al., "Globally Distributed Content Delivery", IEEE Internet Computing Magazine, Vol. 6, No. 5, Sept./Oct. 2002 issue,  p.g. 50-58. The article gives an overview of the technologies behind Akamai, one of the forerunners in providing global content delivery services.

[Gins] Implementing IP Services at the Network Edge, by D. Ginsburg and M. Hattar, Publisher: Addison Wesley, 2001. This includes real-life examples and business cases for IP-services deployment. Useful for Service-provider types.

[Hala] Internet Routing Architectures 2nd Edition, by Halabi, Publisher: Cisco Press, 2000.

[Huit] Routing in the Internet, 2nd Edition by Christian Huitema. Publisher: Prentice Hall, 1999.

[Hull] Content Delivery Networks -- Web Switching for Security, Availability and Speed, by Scot Hull, Publisher: McGraw Hill Osborne, 2002, provides good coverage on implementation of server load-balancing in real-world products.

[Iven] A. Ivengar, J. Challenger, D. Dias and P. Dantzig, "High Performance Website Design Techniques", IEEE Internet Computing Magazine, Mar/Apr Issue, 2000.

[Kaufman 02] Charlie Kaufman, Radia Perlman, Mike Spenciner, Network Security, 2nd Edition, Prentice Hall, 2002. (The authors are all well-known designers/architects of key security protocols/ systems widely deployed in practice. The book provides excellent insights on the technical details and rationale behind the design of the protocols/algorithms. The technical depth may overwhelm casual, non-technical readers though.)

[Kopp]  Load Balancing Servers, Firewalls, and Caches, by Chandra Kopparapu, Publisher: Wiley, 2002, provides some implementation details of server load-balancing in real-world products.

[Krish] Web Protocols and Practice, by Balachander Krishnamurthy and Jennifer Rexford, Publisher: Addison Wesley, 2001.

[Liska 03] Allan Liska, The Practice of Network Security, Prentice Hall, 2003. (A down-to-earth, good collection of practical networking/ protocol security pitfalls and configuration strategies.)

[Luot] Web Proxy Servers, by Ari Luotonen, Publisher: Prentice Hall, 1998. A bit out-of-date but still one of the most comprehensive tutorials on HTTP and proxy server technologies. Ari was the architect of the Netscape proxy server.

[Mauf] IP Fundamentals: What everyone needs to know about addressing and routing by Thomas Maufer. Publisher: Prentice Hall, 1999.

[McClure 05] Stuart McClure, Joel Scambray and George Kurtz, Hacking Exposed, 5th Edition, McGrawHill Osborne, 2005. (One of the books in the best-selling "Hacking Exposed" series. A must-read for those who want to understand the bolts and nuts of the latest vulnerabilities and exploits of real-world systems and networks. )

[Mena] Capacity Planning for Web Services -- Metrics, Models and Methods, by D. A. Menasce and V. A. Almeida, Publisher: Prentice Hall, 2002.

[Morr] Developing IP-Based Services -- Solutions for Service Providers and Vendors, by M. Morrow and K. Vijayananda, Publisher: Morgan Kaufmann, 2003. This includes real-life examples and business cases for IP-services deployment. Useful for Service-provider types.

[Northcutt 04] Stephen Northcutt et al, Inside Network Security Perimeter 2nd Edition, Sams, 2004. (Provides excellent intermediate/advanced treatments on technologies and network planning issues including VPNs, Firewalls, Intrusion detection; a must read for someone who wants to design/setup a secure network perimeter).

[Nade] MPLS Network Management, by Thomas D. Nadeau, Publisher: Morgan Kaufman, 2003.

[Rabi] Web caching and replication, by M. Rabinovich and O. Spatscheck, Published by Addison Wesley, 2002.

[Rama] Optical Networks -- A practical perspective, 2nd Edition, by R. Ramaswami and K. Sivarajan, Publisher: Morgan Kaufmann, 2001.

[Resc] SSL and TLS --- Designing and Building Secure Systems, by Eric Rescorla, published by Addison Wesley, 2000, an excellent text on SSL which provides detail coverage of design issues of SSL and TLS, and more importantly, the practical protocol issues of running SSL over HTTP and SMTP, interaction with proxy servers, and how to incorporate SSL into secured network applications.

[Seif] The Switch Book: The Complete Guide to LAN Switching Technology, by Rich Seifert, Publisher: Wiley 2000.

[Skoudis] Counter Hack by Ed Skoudis. Publisher: Prentice Hall, 2002.

[Stallings 03] William Stallings, Cryptography and Network Security, 3rd Edition, Prentice Hall, 2003. (Provides comprehensive, academic textbook-style writings on the subject including detail technical descriptions of the algorithms and protocols. A bit too terse as an overview; better serves as a technical reference.)

[Stee] Chad M. Steel, "Building a Multisite Web Architecture", IEEE Internet Computing Magazine, Vol. 6, No. 5, Sept/Oct 2002 issue, p.g. 59-66.

[Stev] TCP/IP Illustrated, Vol. 1, 2, 3 by W. Richard Stevens, Publisher: Addison Wesley, 1994: the "bible" with all the details of TCP protocol implementation.

[Thom] Juniper Networks Reference Guide -- JUNOS Routing, Configuration and Architecture, by Thomas M. Thomas II et al, published by Addison Wesley, 2003.

[Zini] Cisco IP Routing, by A. Zinin, Publisher: Addison Wesley, 2002. Include detail interworkings of Cisco routers especially in the area of packet forwarding schemes/ implementation.

 

In addition, supplementary lecture materials will be made available to students. A course web page will be provided for the dissemination of course-related announcements, documents (course outlines, project specifications, marking schemes), lecture notes, tutorial notes, and lists of recommended / supplementary readings and online learning resources. Some of the contents in the lectures will not appear in either the lecture notes or the textbooks. Therefore your regular attendancy is essential for the success of this course.

 

A course forum will be provided on the E-Learning system for students to discuss topics related to lectures and projects. Tutors will monitor the forum on a daily basis to response to questions from students.

 

 

Feedback for evaluation

 

Students are welcome to express their comments and suggestions via the following formal and informal feedback channels:

 

- Two course evaluations. First one to be conducted in the middle of the term and the second one at the end of the term. Students are encouraged to provide specific comments and/or suggestions in addition to the numeric ratings.

 

- Students are also encouraged to provide feedbacks using informal channels, such as email, course forum, or simply during lecture hours or after lectures.

 

 


Course schedule

Week

Topics

Assigned Readings 
(Mandatory)

Supplementary In-depth Readings:  these are beyond the scope of the course but would be useful for someone who wants to learn more about specific topics  (Optional only)

1

·             Class Admin., Overview of the Internet

·             Packet switching Vs. Circuit switching

[Kuro] Ch.1, Ch. 4.1-4.2 

[Mena], [Cock] for Server, Performance, sizing, workload characterization etc.

2

·      Network Performance Basics                 

·            Protocol Layering

 

[Kuro] Ch 1

[Kesh] Ch.2-4 ;

3-4

·             Network Applications and Application protocols

·             Client-server model, Socket Programming basics

[Kuro] Ch 2

[Krish] Ch. 1, 2, 4, 6, 7 
[Kopp] Ch. 3.

5-6

·             Transport Services: TCP and UDP

·             Flow control and Congestion Control

[Kuro] Ch 3

[Stev] Ch.11, Ch. 18—24, [Krish] Ch.8 

7-8

·             IP network service model

·             IP addressing schemes

·             Basic IP Router Architectures

[Kuro] Ch 4.1, 4.3, 4.4 

[Ball] Ch1, 3. 
[Mauf] Ch 2, 3, 4 
[Hala] Ch 3 for IP addressing ; 
[Boll] details Cisco hardware and software (IOS) architecture 
[Zini] discusses Cisco packet forwarding and routing implementation details.
[Thom] provides overview on the software and hardware architecture of Juniper routers and their routing protocol configuration examples.

9-10

·             Routing protocols

·             Intra-domain vs. Inter-domain Routing


[Kuro] Ch 4.5, 4.6
 

[Perl] Ch 12 

[Huit] Ch 5.3-5.7, 6.4-6.9, 7, 9, 10, 11. 
[Hala] Ch 5, 6 give details about running BGP in practice 
[Gins,Morr] provide excellent overview of real world IP-based service deployment case studies.
[Nade] discusses practical network management for MPLS networks.

11-12

·             Multiple Access Protocols in Local Area Networks (LANs)

·             Interconnecting LANs: Bridging vs. Routing

 

[Kuro] Ch 5.1-5.4, 5.7 

[Perl] Ch.3.1-3.2 3.6, 3.7, 5, 17

[Stei] provides a comprehensive coverage of Ethernet technology details and deployment 
[Mauf]  Appendix C for DHCP details. 

13

·            Overflow ; Course Review

 



 

 

Teachers’ or TA’s contact details

Professor:

Name:

LAU Wing Cheong

Office Location:

SHB 818

Office Hours

Tue. 14:30-15:30 or by appointment via email

Telephone:

3943-8356

Email:

wclau at ie.cuhk.edu.hk

Teaching Venue:

The classroom where lectures take place

Website:

https://course.ie.cuhk.edu.hk/~ierg3310/

 

 

TAs:

Name:

DING Tian

Office Location:

SHB 826B

Office Hours:

Tue. 14:30-15:30

Email:

dt014@ie.cuhk.edu.hk


Name:

ZHAO Yongjun

Office Location:

SHB 801

Office Hours:

Mon. 13:30-14:30

Email:

zy113@ie.cuhk.edu.hk


Name:

ZHANG Qiaosheng

Office Location:

SHB 726

Office Hour:

Mon. 16:30-17:30

Email:

zq015@ie.cuhk.edu.h


Name:

LIU Yan

Office Location:

SHB 724

Office Hours:

Tue. 14:30-15:30

Email:

liuyan@ie.cuhk.edu.hk

 

Tutorial Schedule:

Time slot

Mon. 17:30-18:15

Wed. 10:30-11:15

Wed. 17:30-18:15

 

 

Location

        LSB_C5 

        LHC_G06 

        LSB_G34 

 

 

 

A facility for posting course announcements

 

Course announcements and materials will be posted on the course webpage and the course forum:

 

Course webpage: https://course.ie.cuhk.edu.hk/~ierg3310/

Course forum: Subscribe to the Discussion Forum in the Elearning page for IERG3310

 

 

 

Academic honesty and plagiarism

 

Attention is drawn to University policy and regulations on honesty in academic work, and to the disciplinary guidelines and procedures applicable to breaches of such policy and regulations.  Details may be found at http://www.cuhk.edu.hk/policy/academichonesty/ . 

With project and each assignment, students will be required to submit a statement that they are aware of these policies, regulations, guidelines and procedures.

 

 

 

Last Updated: Sep 11, 2015