School of Computing

CS3103 - Computer Networks and Protocols  : : : : : : : : : : : : : [ About... ] [Text Book][ Instructors ] [ Schedule ] [ Lectures ] [ Tutorials ] [ Assignment ] : : : : : : : :
A : n : n : o : u : n : c : e : m : e : n : t : s : : : : : : : :

Please refer to IVLE for Lecture Notes, Tutorials and Assignments

Last updated : 14-08-2007

17 July  2007
Students who are taking CS3103 must make it a habit to check IVLE regularly for Lecture notes, tutorials, assignments and announcements.  This website does not have any of the materials that are distributed via IVLE, and has only announcements and information about the module for the benefit of all those students who do not have access to IVLE prior to registering this module. 
The module CS3103 is now revamped and students must note the following important information.
  1. CS3103L (Computer Networks Laboratory) is co-requiiste for CS3103.
  2. CS3103 carries a weightage of 4 MC and CS3103L carries a weightage of 2 MC.
  3. Please note that for CS3103L,  there is no need to register separately. If your bid for CS3103 is successful, you would be  automatically registered for CS3103L.
  4. CS3103 is now comprised of  lectures, tutorials and maximum of 3 programming assignments.
  5. Since prerequisite for CS3103 is CS2105, it is assumed that students have all basic knowledge of networking. You may refer to materials in Week 0 to refresh your basic knowledge in Ethernet and TCP/IP.
  6. If you are an exchange student, you must have basic knowledge of computer networks like Local Area Networks, Ethernet, IP addressing, basic principles of IP forwarding and TCP.


Please note that the first lecture is on 16 August 2007 (Thursday) at 12 noon. Venue: C1/206

About the Module:

Academic Year: 

AY 2007/08, Semester 1

Module Description:

This module focuses mainly on TCP/IP protocol stack and discusses the design of various protocols in the stack, their semantics and interoperability issues including concepts behind in designing such protocols. The Internet technology protocols like ARP, ICMP, IP, DHCP, DNS, TCP, UDP, Routing protocols like RIP and OSPF, and new IP protocol version IPv6 are discussed in detail. The dynamics of the TCP protocol is discussed in detail including congestion control and its behaviour in the wireless and mobile network environment.  The client server communication paradigm is introduced and students are given the opportunity to develop distributed application using sockets and/or RPC-XML.

Module Objective:

  1. To enable students to understand network protocols and design principles, and  hold an intelligent and meaningful conversation on a variety of networking topics.
  2. To enable students to analyze networking requirements, ask proper networking questions, and know where to seek answers to those questions.
  3. To enable students to acquire sufficient knowledge and self-confidence to undertake such tasks as design, administration, and troubleshooting of networks after a couple of years of working experience.
Our Objective:
Our objective in this practical oriented course is to maximize the educational experience of those students who bring a sincere effort and serious interest in the subject matter to the classroom

Work Load:

2 hours lecture per week

1 hour tutorial per week

3 hours for projects, assignments, field work etc per week

4 hours for preparatory work by a student per week

Modular Credit: 4

Teaching Modes:

Weekly Lectures of 2 hours, 1 hour tutorial, and programming assignments on client/server application development. 

Pre/Co requisites:

Prerequisites: CS2105
Co-requisite: CS3103L
Preclusions: EE3204/E, EE4210; EEE and CPE students are not allowed to read this module
Cross-listing(s): NIL

Since prerequisite for CS3103 is CS2105, it is assumed that you have basic knowledge of networking.  If you are an exchange student, you must have knowledge of computer networks like Local Area Networks, Ethernet, IP addressing, basic principles of IP routing and TCP.

Weightage (subject to change):


Final Exam 50%
Mid Term 25%
Assignments 20%
Tutorial Participation 5%


Recommended Text Books:

  1. TCP/IP Illustrated Volume 1 - by Richard Stevens, Addison Wesley.  - 70% of  module

(This is also the recommended text for  CS3103L)

  1. Internetworking with TCP/IP, Principles, Protocols and Architecture VOLUME 1, 5th Edition - by Douglas E. Comer, Pearson Education, 2006 -   15% of module.

(Note: Asian edition may have a different cover picture)

  1. Computer Networking  A TopDown Approach Featuring the Internet- by James Kurose and Keith Ross, Addison Wesley, 3rd Edition - 15% of module.

book cover

Other References:
  1. Computer Networks: A systems Approach - by Larry   L.Peterson & Bruce S. Davie, Morgan Kaufmann Pub, Inc., 3nd Ed,2003.  
  2. DNS and BIND - by Paul Albitz and Cricket Liu, O'Reilly & Associates, Inc.
  3. An Engineering Approach to Computer Networking, S. Keshav, Addison Wesley Logman, Inc., 1997.
  4. OSPF Anatomy of an Internet Routing Protocol - by John T. Moy, Addison Wesley.
  5. RFCs: Relevant RFCs or sections of the RFCs
  6. URLs given as part of Lecture schedule.



Instructors A/Prof A.L.Ananda 
Office: S14, #06-07
Tel: 6516 2733 
Email: ananda AT 
Consultation Hours: 
Tutors (Tutorial)







Lecture Meets Thursday
12.00noon to 2.00pm
Lecture at COM1/206 (SR1)
First Lecture 16 August 2007 (Thursday) 
Last Lecture 15 November 2007 (total 13 weeks)
Makeup Lectures TBA (in lieu of 8 November 2007)


Tutorial Meets One hour per session, 11 sessions.
DIY Tutorial None
First Tutorial Week on 27 August
Tutorial Sessions   GROUP-1 GROUP-2 GROUP-3 GROUP-4
Location\Time Tue 2-3pm

TR5 (COM1/241)

Tue 3-4pm

TR5 (COM1/241)

Tue 4-5pm

TR5 (COM1/241)

Wed 3-4pm

TR5 (COM1/241)


Mid term examination

Saturday, 6 October, 11am to 12noon; Venue: TBA

Final Examination

Friday, 30 November 2007 (Afternoon)

Style Closed Book (both mid term and final exam)



Week #

Lecture #


Web/Other Reference

Week 0


Revision of Concepts

Week 1

Lecture 1

Basic concepts of  Internetwork technology; TCP/IP Architectural Model; IP  addressing and Forwarding;

Address Resolution Protocol (ARP)

Week 2

Lecture 2


Proxy ARP;




Week 3

Lecture 3

Basics of IPv4;

Internet Protocol: Error and Control Messages (ICMP)
Ping  and Trace route


Week 4

Lecture 4

Client-Server Model Interaction

The Socket Interface, HTTP, RPC-xml, NFS example.


Week 5

Lecture 5

User Datagram Protocol (UDP)

Basics of Transmission Control Protocol (TCP)

TCP Connection Establishment

TCP Interactive Data Flow


Week 6

Lecture 6

TCP Bulk  Data Transfer

TCP Timeout & Retransmission

TCP Flow Control and Congestion Control


Week 7

Lecture 7

TCP throughput and latency calculation

Window scale option

Additional congestion control mechanisms- SACK, ECN, RED

TCP in wireless environment


Week 8

Lecture 8

DHCP, NAT, VPN, and Traffic Filters 

Week 9

Lecture 9



Week 10

Lecture 10

Dynamic IP Routing  Protocols - RIP & OSPF


Week 11

Lecture 11

Routing between Peers (BGP)

IP Switching and MPLS

Week 12

Lecture 12

Internet Multicasting Basics, IGMP, RPF, source based and core based trees, PIM and MOSPF


Week 13

Lecture 13

A next generation IP - IPv6

Mobile IP

Simple Network Management Protocol (SNMP) 




Week #Tutorial Topics Covered
  3 (starting  27 Aug)Tutorial 1  
  4 (starting    3 Sep)Tutorial 2  
  5 (starting  10 Sep)Tutorial 3  
  6 (starting  17 Sep)Tutorial 4

Mid term Break 

22(Sat) - 30 (Sun) 

  7 (starting    1 Oct)Tutorial 5  
  8 (starting    8 Oct)Tutorial 6  
  9 (starting  15 Oct)Tutorial 7  
10 (starting  22 Oct)Tutorial 8  
11 (starting  29 Oct)Tutorial 9  
12 (starting    5 Nov)Tutorial 10  
13 (starting  12 Nov) Tutorial 11  

General Information on Tutorials:

Tutorial Meets
One hour per session, 10 sessions.
Tutorial Handouts To be found at the course web site on the week before the respective tutorials commence.
Tutorial Class Registration All students are required to register for their desired tutorial class using the Online Tutorial Registration system.

Note that ALL tutorial registration must be done on the system within the given period. Once the registration period is over, no more changes will be entertained. 

Tutorial Class - Important Information

        All students must be prepared to participate in the discussion. Tutorial session will be interactive and it would depend on you to make it a livelier and a useful session.

        Please note that all questions in this tutorial need not be discussed in full in the class.  If you do not have a unix account on sunfire please get one from machine room.

         Please bring to the class your working  along with relevant computer print outs.  Some questions (as indicated in the tutorial hand outs) may not be addressed in the tutorial class unless you raise specific clarification.



Programming assignments to develop client/server applications based on RPC/XML programming.

  • First Assignment due date 1 October 2007
  • Second Assignment due date 2 November 2007












: : : : : : : : School of Computing, National University of Singapore : : : : : : : :
Last updated :14-08-2007