Data Communications and Networks

Spring 2012
 

Syllabus and Reading Assignments

 

Revision Date: January 18, 2012

 

 

The following sections provide the lecture topics for each class under the Description heading.

The material listed under Reading must be read PRIOR to the date of the lecture (except for the first lecture).

 


Session 1 

Description

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

        Multiplexing

The overview provided in this first session is very broad and will span both the first and second lectures.


Session 2

Description

        Completion of course overview.

        Data encoding and transmission concepts.

 

Reading Chapter 1

[1.1]

[1.2]

[1.3]

[1.6]

[1.7]

 


Session 3

Description

        Data Link Control

Reading Chapter 5

[5.1]

[5.2]

[5.3]

[5.4]

[5.5]

 


Session 4

Description

        Data Link Control

        Ethereal (network packet sniffer)

 

Reading Chapter 5 (complete readings from the previous week)

 


Session 5

Description

        Wireless communications

o       CDMA

o       802.11

o       Cellular Architecture

 

Reading Chapter 6

[6.1]

[6.2]

[6.3]

[6.4]

 


Session 6

Description

        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

[3.1]

[3.2]

[3.3]

[3.4]

 


Session 7

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]


Session 8

Description

        Networks, Part 2

o       Routing Algorithms

o       Routing Protocols

 

Reading Chapter 4

[4.5]

[4.6]

[4.7]


 

Session 9

  Spring Recess - no class


 

Session 10

Description

        Completion of routing algorithms and protocols

        Fundamental data structures used in communications protocols: Finite State Machines, Queues, Ring Buffers

 


 

Session 11

 

        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)

 


Session 12

Description

        Completion of TCP

        UDP

        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.

Reading Chapter 3, section 3.6 ; 3.7; RFC 2581


Session 13

Description

Java Socket programming

        synchronous model

        asynchronous model


Session 14

 

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

Reading IP Multicast Backgrounder (PDF File)

Chapter 4, section 4.7 - multicast routing

RFC 1022 (IP Multicast Extensions) (optional)

RFC 3208 (PGM) (optional)


Session 15

Description

        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.

Reading None