CPE 701 Internet Protocol Design

Department of Computer Science & Engineering
UNR, Spring 2008

Course Information - Description - Prerequisites - Textbooks - Syllabus
Organization - Grading - Schedule, Notes & Assignments - Acknowledgment

Course Information

  • Credits: 3.0
  • Class hours: Tuesday, 5:30pm - 8:15pm, PE 208
  • Call numbers:
    • CPE 701: #32799 (max. enrollment 10)




The Internet has revolutionized communications. This course will equip you with a deep knowledge of protocols that make it work, help you develop critical insight into their design, and obtain a first hand feel for implementation through lab exercises. Another key goal is to prepare you for doing research in the field of networking. Protocols from the OSI and telecommunications/ATM world will also be featured to provide in-depth comparative studies. Specifically, we will start with a review of basic networking ideas and then study topics such as:

-         Network layer addressing and forwarding (IP, IPv6, ATM, IPX, CLNP, Appletalk),

-         Intra-domain routing (RIP, OSPF, EIGRP, PNNI, IS-IS),

-         Inter-domain routing (BGP, EGP, Nimrod),

-         Transport layer (TCP, UDP),

-         Congestion control techniques  (TCP, Frame-relay, ATM networks)

-         IP multicast (IGMP, MBONE, Multicast Routing/Transport/Congestion Control),

-         Network management, Auto-configuration (SNMP, DHCP, ICMP, ICMPv6),

-         IPv6 design, comparative critique, deployment issues, NAT

-         QoS mechanisms, protocols and architectures (scheduling, shaping, RTP, Int-serv, Diff-serv, RTP, RSVP),

-         Naming (DNS), Overlay & Peer-to-Peer Networks.




o       CPE 401/601 Computer Network Systems or CPE 400/600 Computer Communication Networks or equivalent or consent of instructor


o       Operating Systems (CS 446/646 or equivalent)



Douglas Comer, (2006) Internetworking with TCP/IP Vol. I: Principles, Protocols, and Architecture; 5th edition, Prentice Hall, ISBN #: 0131876716.

Note: Since this is an advanced level class, the textbook is only the starting point for the majority of topics that we will cover. The slides used will cover ideas from a broad range of sources including other books, papers, RFCs etc. The WebCT page will have online links to resources.


Syllabus (Tentative)

This is a tentative list of topics, subject to modification and reorganization.

  1. Review of Networking Concepts
    • Connectivity
    • Multiplexing
    • Circuit-switching vs. packet-switching
    • Multiple-access
    • Routing, addressing
    • Congestion control


  1. Review of Networking Design Principles
    • End-to-end principle
    • Protocols
    • Layering, encapsulation, and indirection
    • System design: Amdahl’s law
    • Overlays
    • Cross-layer design


  1. Internetworking
    • Heterogeneity and scale
    • IP approach
    • Address resolution
    • Hierarchical addressing and subnets
    • Fragmentation and re-assembly
    • Packet format design


  1. Routing Basics
    • Routing and forwarding tables
    • Routers vs. bridges
    • Addressing and routing scalability
    • Link-state vs. distance-vector routing
    • Source-based routing


  1. Intra-domain Routing
    • RIP
    • EIGRP
    • OSPF
    • PNNI
    • IS-IS
    • QoS routing
    • Traffic engineering and routing


  1. Inter-domain Routing
    • Autonomous systems
    • Policy routing
    • EGP
    • BGP
    • CIDR


  1. Transport Protocol Design
    • Connectionless vs. connection-oriented service
    • Connection management: establishment, termination
    • UDP
    • TCP


  1. Congestion Control
    • Congestion indications/feedbacks: explicit vs. implicit
    • Queuing disciplines: scheduling and buffer management
      • RED, ARED, FRED, REM
    • TCP congestion control variants
      • Reno, Vegas
    • TCP modeling


  1. Multicast
    • Groups, scopes, trees
    • Multicast addresses
    • Group management: IGMP
    • Multicast routing and forwarding, MBONE, PIM
    • Multicast transport protocols: reliability, congestion
    • Application-layer multicast


  1. Network Management
    • Auto-configuration
    • SNMP
    • DHCP
    • ICMP


  1. IP Next Generation (IPv6)
    • Motivation
    • IPv6 addressing
    • IPv6 header format
    • IPv6 features: routing flexibility, multicast support



  • Lab Assignments   There will be two lab assignments which will require C programming knowledge. Each lab assignment comes in the form of a package with files and handouts. The labs essentially consist of Unix OS code placed inside a simulator to simplify your programming, but yet giving you a flavor of real protocol coding. A graphical user interface is provided to help you visualize the protocol concepts, and debug the code you write. Your coded protocol should match the performance of a demo (which is provided in the package) and you need to produce a short report for each lab.
  • Exams   There will be one midterm exam and one comprehensive exam (see Schedule for tentative dates). Exams will be open book/notes.
  • Homework   There will be homework assignments approximately every week. The homework assignments will consist of true/false answers emphasizing important concepts. There will not be grading of these homework assignments, but your submissions will be logged as part of your grade. Each submission has an equal weight, and one missed submission is okay. Make up or late submissions of homework assignments will be not allowed.
  • Research Case Study   You will be required to perform a case study and researching of an area in networking. You will choose from a menu of research topics. Each topic will have a list of mandatory paper readings, followed by a set of other references. Your task is to critique the material, organize it in a framework of your own, and make sound judgments about the past and future directions of work in the topic area. You will be required to (i) submit a case study report (which will be no longer than 10 pages in 10pt fonts) and (ii) make a 20min in-class presentation of the case study. We will expect the case study to be of high quality, reflecting deep understanding, and be written like a professional technical paper.
  • Books, Papers, and RFCs   The class will involve a fair bit of reading. The reading is meant in part to supplement lectures, help you catch up, and allow lectures to be more focused and interactive.
  • WebCT   Except this web page, all course materials will be posted at the WebCT.
  • Late Policy   Late lab assignments will be penalized according to the sliding scale below. Note that late policy applies to the lab assignments only.
  • Academic Integrity   There will be no team projects or reports in this class, therefore all assignments and exams must be prepared strictly individually. Any form of cheating such as plagiarism or ghostwriting will incur a severe penalty, usually failure in the course. Please refer to the UNR policy on Academic Standards.
  • Disability Statement   If you have a disability for which you will need to request accommodations, please contact the instructor or someone at the Disability Resource Center (Thompson Student Services - 107) as soon as possible.


Grading (Tentative)

Both grading policy and scale are subject to change.

Grading Policy

Midterm Exam


Comprehensive Exam


Lab Assignments




Research Case Study


Late Lab Assignment Policy

less than 1 day late

25% deducted

between 1 and 2 days late

50% deducted

between 2 and 3 days late

75% deducted

over 3 days late

100% deducted

Grading Scale (Tentative)

90% - 100%

A-, A

80% - 89%

B-, B, B+

65% - 79%

C-, C, C+

55% - 64%


0% - 54%


Note: Saturdays and Sundays do not count toward missed days. For example, there is 1 "day" between Friday, 2pm and Monday, 2pm. Similarly, there is 1 day between Monday, 2pm and Tuesday, 2pm.

Important Note: Re-grading requests can only be made within the first week after the graded assignments/tests are returned to the students.


Schedule (Tentative), Notes & Assignments

This is a tentative schedule including the exam dates. It is subject to readjustment depending on the time we actually spend in class covering the topics. Slides presented in class and assignments will be posted at the WebCT. Permanent reading assignment: it is assumed that you are familiar with the contents of the slides of all past meetings.


Lectures & Notes


Tue, Jan 22

Lecture #1: Introduction & Review of Networking Concepts (1)


Tue, Jan 29

Lecture #2: Review of Networking Concepts (2)


Tue, Feb 5

Lecture #3: Review of Networking Design Principles


Tue, Feb 12

Lecture #4: Internetworking

• Lab Assignment 1 out

Tue, Feb 19

Lecture #5: Routing Basics


Tue, Feb 26

Lecture #6: Intra-domain Routing


Tue, Mar 4

Lecture #7: Inter-domain Routing


Tue, Mar 11

Review & Midterm Exam (in-class)

• Research Case Study topics due

Tue, Mar 18

Lecture #8: Transport Protocol Design

• Lab Assignment 1 due

• Lab Assignment 2 out

Tue, Mar 25

Spring Break – NO CLASS


Tue, Apr 1

Lecture #9: Congestion Control


Tue, Apr 8

Lecture #10: Multicast


Tue, Apr 15

Lecture #11: Network Management & IP Next Generation


Tue, Apr 22

Lecture #12: Naming, Overlays, and Peer-to-Peer

• Lab Assignment 2 due

Tue, Apr 29

Research Case Study Presentations

• Research Case Study reports due

Tue, May 6

Comprehensive Exam (in-class)




The slides and other materials for CPE 701 have been mainly based upon the set of slides/notes of Shivkumar Kalyanaraman from RPI http://www.ecse.rpi.edu/Homepages/shivkuma/main.html#teaching.


Course Information - Description - Prerequisites - Textbooks - Syllabus
Organization - Grading - Schedule, Notes & Assignments - Acknowledgment

Last update on January 17, 2008