ECE/CS 438: Communication Networks (Fall 2015)


: This course will introduce students to the key concepts underlying wired and wireless networking. The layered architecture of the network protocol stack will be the focus of discussion. Alongside, a variety of case studies will be drawn from the Internet, combined with practical
programming exercises. At the end of the semester, students will well understand several concepts, including the Internet architecture, HTTP, DNS, P2P, Sockets, TCP/IP, BGP, Routing protocols,
wireless and sensor networking, WiFi, cellular and satellite networks, security, etc.

Time and Location:   M/W 3:00 to 4:20pm @ 1015 ECE Building
Instructor:                  Romit Roy Choudhury (
Office hours:              M/W 4:20 to 5:20pm @ 263 CSL

Course TA:               Frederick Douglas < >
Office Hours:            Friday 11-12 noon Siebel 0207

Course TA:              Mahanth Gowda <>
Office Hours:           Monday 12-1pm CSL 261

Course TA:              Yumen Cao <>
 Office Hours:          Tuesday 1-2pm CSL basement cafeteria


Textbook:                  Computer Networking (A Top-Down Approach Featuring the Internet)
                                  J. F. Kurose and D. W. Ross, 3rd or later edition, Addison-Wesley.
                                  (Other editions are fine).

Grading Information:
Homework:                              15%
Programming assignments:      25%
1 mid-term exam:                     25%
Final Exam:                              35%

4 Credit Students: Need to complete a mini-project and submit a report at the end of the semester. Topics for mini-projects will be suggested, but students are free to choose their own topics so long as the instructor approves. Mini-project = 10%.

Course Calendar
The schedule may change over time due to unforeseen events, intructor travel, evolving student interests, etc.

Topics of Discussion
Homeworks, Prog. Assignments, etc.
Aug 24

Course overview, Logistics, etc.

Aug 26

Internet Terminology, Introduction to Basic Terms and Concepts:
Network edge, core, circuit and packet switching, delay, etc.
Prog. Assignment 0 -- Beej's guide
No due date -- will not be graded
Aug 31 Application Layer, client-server, peer-peer, services, introduction to HTTP

Sep 2
Application layer: HTTP, FTP, Email, DNS, P2P
Sep 7

Socket programming, intro to transport-layer services,
Prog. Assignment 1 -- Socket programming

Sep 9

Application layer: HTTP, FTP, Email, DNS, P2P

Transport layer: reliable data transfer, pipelined data transfer protocols, TCP case study

Transport layer: flow control, connection management,
congestion control, ATM, TCP case study
Homework 1 -- Application

Transport layer: TCP congestion case study, Network layer: service model, what is inside a router?

Continued TCP

TCP Wrap Up -- Clarifications Prog. Assignment 2 -- TCP   Due Date: Oct 16, 7pm

Internet Protocol (IP), introductions, router architecture, virtual circuits

Internet Protocol (IP), addressing, NAT, ICMP, IPv6, tunneling

Routing algorithms: link state 

Routing algorithms: link state, distance vector

Routing algorithms: distance vector, Internet routing
Mid term review
Homework 2   Due Date: Oct 26, 3pm-- Transport and TCP
mid-term-thoughts.ppt Routing algorithms: BGP, broadcast using centre-based
trees, RPF

5-link.ppt Link Layer: introduction and service model.

MIDTERM Prog. Assignment 3 -- Routing   Due Date: Nov 13, 5pm

Link Layer: service model, error correction and FDMA, Aloha

Link Layer: CSMA/CD, LAN addressing ARP, etc., Ethernet
6-basic-wireless.ppt Wireless Networks (channel characteristics, MAC) ...

Wireless WiFi 802.11 protocol
Some Slides on MAC and 802.11 -- see 1-12 & 46-54
Wireless WiFi 802.11 protocol Homework 3 -- Link layer

Wireless Mobility principles, cellular networks
Prog. Assignment 4 -- Link layer


7pm, Thu, Dec 17

ECE/CS 438 Final Exam

Micro-projects for 4-credits:
Below are topics for micro-projects -- if you have already signed up for 4 credits for this course, you need to pick one of these topics (or propose one of your own and get instructor approval), and submit a written report on it. Your report should include answers to questions posed below, as well as your own observations or opinions on the subject.

Submission deadline: 5pm CST, Dec 18, 2015 (email report to TAs and instructor).
Report length: Around 3/4 pages.

Topic1: Understanding NFC Performance
Near Field Communication (NFC) is a relatively new technology that is creating the waves in the market, especially with Apple recently launching NFC in all its phones and watches. This micro-project will require you to understand NFC well, experiment with the NFC technology, and write a short survey paper. Your paper should describe how the protocol works, and then present performance measurements across various scenarios. Questions of interest include:

(a) What is the communication range with NFC?
(b) When communicating between devices, does the orientation of the devices matter?
(c) If you insert different materials between two NFC devices, is the communication still successful?
(d) How power hungry is NFC?
(e) Are there security problems with NFC? Has NFC been hacked?
(f) How does mobile payments work with NFC -- what is the end to end protocol?

This project is not about paraphrasing NFC-related documents from the Internet -- rather the report should be your own views and insights about NFC, as well as graphs from measurements.

Topic2: Measuring Cellular Link Quality in Campus
The goal of this project is to measure and analyze the link quality of cellular network connections within the UIUC campus. You will need to program a smartphone (Android or iOS) and capture the signal strength measurements for 3G/4G networks at different GPS locations. You can perhaps target the engineering quad (between CSL, Beckman, and ECEB) as the area for measurement. We are happy to provide you with phones but you may need to use your own SIM card. Of particular interest is how cellular link quality changes around the corners of buildings. For instance, light creates shadows when you turn the corner of a building. Similar phenomenon occurs with wireless signals as well. This project encourages you to measure how "wireless shadowing" affects performance across the campus. You can use standard cellular network measurement tools for this project, such as SpeedTest.

Your report should minimally include graphs and discussions on the following questions:
(a) How does signal quality vary over the campus -- perhaps show a 2D thermal map of a part of the campus, where the colors of the thermal map indicate the signal quality.
(b) Discuss the amount of variations in signal quality over space. Are certain locations much worse than others?
(c) Are the bad-signal spots large and few or small and many? Do you see any patterns in the spots that experience such weak signal quality?
(d) How prominent is "wireless shadowing"? How much signal quality degradation do you see with shadowing?
(e) Can you identify which cell tower you are connecting to? What is the location of this tower? (This could be complicated and hence is an optional question. You will not be penalized for not answering this question).

The answers to the above questions offer insights into cellular network signal quality. Share additional interesting graphs and insights that you observe when performing these experiments.

Topic3: Packet Sniffing and Traffic Analysis
Using WireShark for a detailed analysis of what's going on in the WiFi networks around us. You will need to install wireshark on your laptop and use it to sniff WiFi packets in the air. You will perform such sniffing in different locations of the campus (e.g., in CSL, Illini Union, Siebel center, etc.), and analyze the collected data.

Your report should minimally include graphs and discussions on the following questions:
(a) What fraction of packets sniffed is TCP and what fraction is UDP? Show a graph that captures these fractions for various locations on campus.
(b) What is the distribution of packet sizes? What can you say about this distribution?
(c) How many collisions do you observe? WiFi packet headers also include retransmission counts (i.e., a packet with retransmission count of 3 implies that the packet collided twice in the past). What is the distribution of retransmissions you observe? Does it vary with different locations in the campus?
(d) What fraction of packets are encrypted?
(e) What websites are people visiting often? Can you draw a frequency distribution of the visited websites?
What can you say about this frequency distribution?
(f) What fraction of time is the channel idle?
The answers to the above questions offer insights into various aspects of the traffic that is going over the WiFi campus network. Share additional interesting graphs and insights that you observe when performing these experiments.

More topics may be added to this list ...