Syllabus
CEG-4188 - Higher Layer Network Protocols
School of Information Technology and Engineering (SITE) at the University of Ottawa
Official course description: Communications services, protocols and software. Internet Protocols and IP addressing. Transport protocols: TCP, UDP, Quality of Service, connection management, flow and congestion control. Session, presentation and application protocols, such as DNS, Security, SNMP, HTTP. Performance issues. Fundamental concepts of computer network design. Prerequisite: CEG3185 (previously CEG3180).
Professor: Gregor v. Bochmann , telephone: 562-5800 ext.: 6205, e-mail : bochmann@site.uottawa.ca , office: SITE (room 5082), office hours: to be determined
Teaching assistant: Nasser Dardas, e-mail : ndardas@discover.uottawa.ca
Time Table: Lectures : Monday 11:30-13:00 and Thursday 13:00-14:30 in SMD 423; Tutorial : Friday 16:00 - 17:30 in STE J0106; LAB : Thursday 17:30 - 20:30 in DEP DEPT
Text books
- W. Stallings, “Data and Computer Communications”, edition 8 or 9 (you can find edition 9 in the Bookstore under the course CSI-4188), Pearson Prentice Hall, 2007, ISBN: 0-13-243310-9 - required text book
- A.S. Tanenbaum, “Computer Networks”, 4th edition, Prentice Hall PTR, 2003, ISBN: 0-13-066102-3 - an alternate good text book
- D. Comer, “Internetworking with TCP/IP, Vol. I: Principles, Protocols and Architecture”, Pearson Prentice Hall - another text book, not so much recommended
Student activities
- Assignments: There will be 2 assignments. Please submit the assignments in the CEG 4188 drop box on time since late assignments will receive a mark of zero. Solutions will be given by the TA in the tutorial session. Each student must do his/her own assignment. Please settle any dispute on the assignment grades with the TA first.
- Laboratory: There will be 4 labs. Students will form groups of 2 people. Each group must demo their lab to the TA before the end of the lab session. Each group also submits one lab report in the CEG 4188 drop box. Note that without the lab demo, the lab mark will be zero no matter what mark is given for the lab report. The demo must be shown before the end of a lab session. If a group cannot finish a lab before the end of a session, they must receive permission from one of the TAs to demo it later; in such a case, the demo must be shown before the next lab is given (or before the end of classes in the case of Lab 4).
- Project: There will be one project per group. Each group must select a topic for their project and inform the TA (copy to the instructor), by e-mail. Each group is required to do a demonstration of their project to the TA, during the normal lab hours, by the given deadlines. Finally, each group must submit a project report. A list of possible project topics and guidelines/details will be given in the near future.
Evaluation
- Marking scheme: The final mark is calculated as follows: 20% mid-term + 45% final exam + 10% labs + 15% project + 10% assignments. Following a standard rule at SITE, it is understood that the marks for the labs, project and assignments do not count if the weighted average of the mid-term and final exam is below 50/100.
- Note: The mid-term exam will be closed book and will be based on all material covered, including assignments and labs. The final exam will be closed book and based on everything covered during the course.
Course content (draft version)
- Introduction
- Protocol hierarchies
- Protocol architecture: communication service, protocol, interfaces
- Protocol engineering: specification, verification, implementation, conformance testing
- Protocol standards
- Network and end-to-end protocols
- Historical perspective
- Review of network issues (not really "higher layer protocols")
- IP addressing (IPv4 and IPv6)
- Network QoS: definitions, flows
- Mechanisms for providing QoS at the network level: "IntServ", "DiffServ", MPLS
- Transport layer
- Reliable transport service
- The socket interface
- TCP : reliable connection establishment, data transfer, flow control, mechanisms for avoiding network congestion
- Port numbers - flow identification, reserved port numbers
- UDP
- Names and addressing
- Naming and addressing schemes
- The Domain Name Service (DNS)
- Identification of files, applications, name spaces, URI, object identifiers
- Performance considerations
- Quality of service at the application level
- Review of queuing models - assumptions
- Traffic statistics (Poisson distribution or self-similar traffic)
- Service architectures: server pools, multi-tier architectures, the Cloud
- Identification of partners, server selection
- The WEB
- Historical perspective
- HTTP
- HTML
- Client-side programming, e.g. Java Script, AJAX
- XML and structure definitions (DTD and XML Schema)
- Other presentation layer protocols: e.g. MIME codes
- Service-Oriented Architecture (Remote procedure calls - RPC)
- The RCP concept (Java RMI as an example)
- Protocols: RMI, CORBA, Web Services (SOAP)
- Notations for defining service interfaces: Java, IDL, WSDL
- BPEL - anotation for defining process behavior
- Directories: how to find remote server objects
- Multimedia communication
- Digital encodings of sound, images and video
- Multimedia streaming, RTP
- IP telephony: SIP, SDP and other protocols, such as H.323
- Security
- Review of basic notions of security (see course on Security)
- Security requirements
- Encryption methods
- Authentification and signatures
- Basic security protocols: IPsec, SSL
- Other issues: steganography, watermarks, access protection for multimedia, electronic money
- Distributed systems management
- Models of distributed systems: the concept of a MIB
- Administration paradigm (get/set methods) and protocols (RPC, SNMP)
- The Internet MIB
- Transaction management: ACID properties, two-phase commit protocol
- Multi-casting and group management
- Broadcasting at the subnetwork level
- IP layer multi-casting (allocation of multicast addresses, limited implementation (MBONE), alternative proposals)
- Application-level multi-casting
Last update: June 6, 2010