Data Communications and Networks
Syllabus and Reading Assignments
Revision Date: January 15, 2014
The following sections provide the lecture topics for each class under the Description heading.
The material listed under
The session will cover administrative details for the course and will provide an overview of the topics and related assignments that will be covered during the semester. This first session will introduce some of the key elements of communications and networking, and will provide an overview of the Internet from a structural and service perspective. Some of the key concepts covered in this course are as follows:
· Network delay and loss
· Layered protocol model
· Packet switched and circuit switched networks
The overview provided in this first session is very broad and will span both the first and second lectures.
· Completion of course overview.
· Data encoding and transmission concepts.
Reading Chapter 1
· Data Link Control
Reading Chapter 5
· Data Link Control
· Ethereal (network packet sniffer)
Reading Chapter 5 (complete readings from the previous week)
· Wireless communications
o Cellular Architecture
Reading Chapter 6
· Reliable Data Transfer (RDT) between communicating entities is one of the most important topics in communications. RDT will be defined in this session and three fundamental protocols will be examined: Stop and Wait, Go Back n, and Selective Repeat. FSMs will be used to represent protocols throughout the discussion of this topic.
Reading Chapter 3
· Networks, Part 1
o Packet switch and VC Networks
o The Internet
o The Internet Protocol (IP)
Reading Chapter 4
· Networks, Part 2
o Routing Algorithms
o Routing Protocols
Reading Chapter 4
Spring Recess - no class
· Completion of routing algorithms and protocols
· Fundamental data structures used in communications protocols: Finite State Machines, Queues, Ring Buffers
· TCP in detail: This session will conduct a thorough examination of the TCP connection management, flow control, and error detection/correction protocols, and in particular, use TCP as a practical implementation of a sliding window protocol. The material covered in this topics will make it possible for students to examine a TCP session trace and understand exactly what is happening.
Reading Chapter 3, section 3.5 ; RFC 793 (intro, sections 1 and 2)
· Completion of TCP
· Congestion Control: Congestion control is a top issue in network design. This session will examine the causes, effects, and approaches to congestion control. This session will discuss TCP congestion control presently in use (AIMD) and will try to determine if this "self-policing" approach leads to fair use of the Internet.
Java Socket programming
· synchronous model
· asynchronous model
· IP multicast
IP multicast allows a sender to broadcast a message to a group of interested parties anywhere on the Internet, but like IP unicast, it is unreliable. The problems one faces when designing a reliable multicast protocol are very different than for a point-to-point protocol. This session will look at IP Multicast, including a Java example, it will then look at two approaches to reliable IP multicast: PGM (Pragmatic General Multicast,) and if time permits, a very neat approach based on token passing.
Chapter 4, section 4.7 - multicast routing
RFC 1022 (IP Multicast Extensions) (optional)
RFC 3208 (PGM) (optional)
· A Little Queuing Theory, Final Project Q&A
Performance of client server systems is typically a function of load (frequency of requests). This session will take a look at how queuing theory can be helpful in understanding client/server behavior under load.
This session will also allow time for questions about the final project.