Data Communications and Networks
Fall 2006
Syllabus and Reading Assignments
Revision Date: September 19, 2006
In the sections that follow, the topics for the lecture on
the given date are provided under the heading Description
The material listed for
September
7
Description
I will go over administrative details for the course and try to give you some idea of what you should expect, and what I expect from you. I will introduce you to some of the key elements of communications and networking, and provide an overview of Internet from a structural and service perspective. Some of the key concepts we'll cover are:
· Network delay and loss
· Layered protocol model
· Packet switched and circuit switched networks
· Multiplexing
This overview is very broad and will span both the first and second lectures.
September
14
Description
· Completion of overview.
· Data encoding and transmission concepts.
Reading Chapter
1
[1.1]
[1.2]
[1.3]
[1.6]
[1.7]
September
21
Description
· Data Link Control
Reading Chapter
5
[5.1]
[5.2]
[5.3]
[5.4]
[5.5]
September
28
Description
· Data Link Control
· Ethereal (network packet sniffer)
Reading Chapter 5 (any reading from last week that you did not complete)
October
5
Description
· Wireless communications
o CDMA
o 802.11
o Cellular Architecture
Reading Chapter
6
[6.1]
[6.2]
[6.3]
[6.4]
October 12
Description
· Reliable Data Transfer (RDT) between communicating entities is one of the most important topics in communications. Once we define what RDT is, we will examine three fundamental protocols: Stop and Wait, Go Back n, and Selective Repeat. During the discussion of this topic we will use FSMs to represent our protocols.
Reading Chapter
3
[3.1]
[3.2]
[3.3]
[3.4]
October
19
Description
· Networks, Part 1
o Packet switch and VC Networks
o The Internet
o The Internet Protocol (IP)
Reading Chapter
4
[4.1]
[4.2]
[4.4]
October
26
Description
· Networks, Part 2
o Routing Algorithms
o Routing Protocols
Reading Chapter
4
[4.5]
[4.6]
[4.7]
November
2
Description
· Completion of routing algorithms and protocols
· Fundamental data structures used in communications protocols: Finite State Machines, Queues, Ring Buffers
November
9
· TCP in detail: We make 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. When we are finished with this topic, you should be able 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)
November
16
Description
· Completion of TCP
· UDP
· Congestion
Control: Congestion control is a
top issue in network design. We
examine the causes, effects, and approaches to congestion control. We will discuss TCP congestion control
presently in use (AIMD) and try to determine if this "self-policing"
approach leads to fair use of the Internet.
November
23
Thanksgiving - no class
November
30
Description
·
· synchronous model
· asynchronous
model
December
7
Description
·
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. We look at IP Multicast, including a Java example, then we
look at two approaches to reliable IP multicast: PGM (Pragmatic General
Multicast,) and if time permits, a very neat approach based on token passing.
Reading IP Multicast Backgrounder (PDF File)
Chapter 4, section 4.7 -
multicast routing
RFC 1022 (IP Multicast
Extensions) (optional)
RFC 3208 (PGM) (optional)
December
12 (TUESDAY!)
Description
· A Little Queuing Theory, Final Project Q&A
Performance of client server systems is typically a function of load (frequency of requests). Tonight, we will take a look at how queuing theory can help us to understand client - server behavior under load.
I will also provide time for questions about the final project.
Reading None