CPE 491/691 Topics in Computer Engineering (Internet Protocols)

Department of Computer Science & Engineering
UNR, Spring 2007


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

Course Information

  • Credits: 3.0
  • Class hours: Tuesday & Thursday, 11:00am - 12:15pm, WRB 1019
  • Call numbers:
    • CPE 491: #28006 (max. enrollment 5)
    • CPE 691: #29691 (max. enrollment 10)

 

  • Instructor: Dr. Murat Yuksel
  • E-mail: yuksem@cse.unr.edu 
  • Phone: (775) 327-2246 / (775) 784-6974
  • Web page: http://www.cse.unr.edu/~yuksem
  • Office: SEM 230 (Scrugham Engineering-Mines)
  • Office hours:
    • Tuesday, 5:30pm – 7pm
    • Thursday, 9:30am – 11am
    • or by appointment

 

Description

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.

 

Prerequisites

Required:

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

Desirable:

o       Operating Systems (CS 446/646 or equivalent)

 

Textbooks

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

 

Organization

  • 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.
  • In-Class Quizzes   There will be weekly in-class quizzes, which will consist of true/false answers emphasizing important concepts. There will not be grading of the quizzes, but your submissions will be logged as part of your grade. Each submission has an equal weight, and 1 (one) missed submission is ok. The quizzes will be open book/notes, and no make up or late submissions will be allowed.
  • Research Case Study You will be required to perform a case study and researching of a new 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. The case study report should be a document no longer than 10 pages. 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 RFC readings: 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. Failure in either the assignments or the tests (exams + final) will result in failure in the course.

Grading Policy

Midterm Exam

20%

Comprehensive Exam

30%

Lab Assignments

20%

In-Class Quizzes

10%

Research Case Study

20%

Late Lab Assignment Policy

less than 1 day late

25% deducted

between 1 and 2 days late

40% deducted

between 2 and 3 days late

60% deducted

between 3 and 4 days late

80% deducted

over 4 days late

100% deducted

Grading Scale (Tentative)

90% - 100%

A-, A

80% - 89%

B-, B, B+

65% - 79%

C-, C, C+

55% - 64%

D

0% - 54%

F

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 two 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.

Date

Lectures & Notes

Assignments

Tue, Jan 23

Lecture #1: Introduction

 

Thu, Jan 25

Lecture #2: Review of Networking Concepts (1)

 

Tue, Jan 30

Lecture #3: Review of Networking Concepts (2)

 

Thu, Feb 1

Lecture #4: Review of Networking Concepts (3)

 

Tue, Feb 6

Lecture #5: Review of Networking Design Principles (1)

 

Thu, Feb 8

Lecture #6: Review of Networking Design Principles (2)

 

Tue, Feb 13

Lecture #7: Internetworking (1)

 

Thu, Feb 15

Lecture #8: Internetworking (2)

• Lab Assignment 1 out

Tue, Feb 20

Lecture #9: Routing Basics (1)

 

Thu, Feb 22

Lecture #10: Routing Basics (2)

 

Tue, Feb 27

Lecture #11: Intra-domain Routing (1)

 

Thu, Mar 1

Lecture #12: Intra-domain Routing (2)

 

Tue, Mar 6

Lecture #13: Inter-domain Routing (1)

 

Thu, Mar 8

Lecture #14: Inter-domain Routing (2)

 

Tue, Mar 13

Review

• Research Case Study topics due

Thu, Mar 15

Midterm Exam (in-class)

 

Tue, Mar 20

Spring Break – NO CLASS

 

Thu, Mar 22

Spring Break – NO CLASS

 

Tue, Mar 27

Lecture #15: Transport Protocol Design (1)

 

Thu, Mar 29

Lecture #16: Transport Protocol Design (2)

• Lab Assignment 1 due

• Lab Assignment 2 out

Tue, Apr 3

Lecture #17: Congestion Control (1)

 

Thu, Apr 5

Lecture #18: Congestion Control (2)

 

Tue, Apr 10

Lecture #19: Multicast (1)

 

Thu, Apr 12

Lecture #20: Multicast (2)

 

Tue, Apr 17

Lecture #21: Multicast (3)

 

Thu, Apr 19

Lecture #22: Network Management

 

Tue, Apr 24

Lecture #23: IP Next Generation

 

Thu, Apr 26

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

• Lab Assignment 2 due

Tue, May 1

Lecture #25: Quality-of-Service (1)

 

Thu, May 3

Lecture #26: Quality-of-Service (2)

• Research Case Study reports due

Tue, May 8

Comprehensive Exam (in-class)

 

 

Acknowledgment

The slides and other materials for CPE 491/691 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.

 

ABET Criteria

To be announced.

 

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

Last update: 1/20/2007