CS2911
Network Protocols

This is an old version of this course, from Fall 2016. A newer version is available here.

Videos

Titles

Introduction

The videos on this page are videos that don't fit with the class as we are currently teaching it. The low-level videos about transmitting data over physical channels and circuit multiplexing was removed to make more room for material about designing algorithms to parse data and encoding Unicode characters that can't fit in a single byte. The Java video dates back to when the course was taught in Java instead of Python. As time goes by, we may move other videos here as well.

The videos are included here in case you are curious about these topics.

The Archived Videos

Introduction to data transmission (Click here to view video)

Revised: 25 August 2013

Time code Topic
00:00 Introduction
00:30 Transmitting data on a mountain hike
01:58 Bandwidth, units (Hz), voice channel characteristics
03:00 Frequency and musical notes
03:40 Digital data: bits and bytes, data rate units and abbreviations
05:10 Data rate units: powers of 10 or powers of 2?

Baseband signals, modulation, and circuit switching (Click here to view video)

Revised: 29 August 2013

Time code Topic
00:00 Introduction
00:30 Modulating baseband analog and digital signals on a carrier
01:35 Amplitude modulation (AM)
01:53 Why is a carrier used?
02:20 Sharing communication channels: circuit switching to reduce the number of channels needed
05:20 Circuit-switching advantage: guarantee of access for a full "conversation"

Circuit multiplexing (Click here to view video)

Revised: 31 August 2013

Time code Topic
00:00 Introduction
00:30 More than one circuit on a single channel: circuit multiplexing
01:55 Frequency-division multiplexing (FDM) and time-division multiplexing (TDM)
02:55 FDM: allocate a band of frequencies to each "conversation"
03:40 TDM: allocate entire channel to each "conversation" for a period of time
05:05 FDM example: Morse code signals on separate frequencies - simultaneous channel access
07:30 TDM example: symbols from different "conversations" on a time-shared channel

Problems with circuit switching (Click here to view video)

Revised: 09 September 2013

Time code Topic
00:00 Introduction
00:30 Circuit switching in distributed networks
02:35 "Wasted" bandwidth in allocated circuits ("silent periods") when allocated for duration of a "conversation"
04:30 Advantage of TDM for digital signals
05:24 Circuit switching advantages and disadvantages
06:00 Big disadvantage: wasted channel capacity during "silent periods" and blocking of waiting conversations

Introduction to Java network programming (UDP, TCP) (Click here to view video)

Revised: 13 September 2013

The audio quality for this video is not up to desired standards; sorry about that.

Time code Topic
00:00 Introduction
00:30 Network programming at the transport layer
01:20 Differences between UDP and TCP
01:40 UDP: one-way datagram transmission, no delivery guarantee
02:20 TCP: established connection, bidirectional data flow
02:40 UDP Java programming, library classes
03:15 Internet addressing in Java: IP address, host name
04:45 Port number used to identify application
05:00 Source and destination host addresses and port numbers
06:00 DatagramPacket class
07:00 Transmit data source (byte data) and transmitting the data
07:50 Receiving datagram data
09:30 TCP Java programming
10:00 Socket and ServerSocket classes, "known (listening) port" at destination
11:10 Using TCP socket streams, managing multiple connections on one destination

Acknowledgement

Nearly all of the this page and the videos it links to were created by Dr. Mark Sebern.