CS4270: Internet Lab
College of Computing, Georgia Tech
Fall 2008
Course Objectives
The main objective of this course is to offer students
hands-on experience
with networking technologies (routers, switches, hubs), networking protocols
(RIP, OSPF, BGP, DHCP, NAT, DNS, TCP, UDP, SNMP, IP multicast),
and networking tools (tcpdump, netstat, ping, traceroute).
Additionally, the course covers the main Internet protocols in greater
technical depth than a basic networking course.
The only prerequisite is CS3251 or an equivalent first course in computer networks.
Instructor
Teaching Assistant
TBD
Office:
Office hours:
Email:
Table of Contents
- Lectures: Wedn and Frid 4:05 - 4:55
- Lab recitation: Mond 4:05 - 4:55
- Classroom: KACB 1447 (for lectures and lab recitations)
- Lab: KACB 1201
- Prerequisite: CS3251 or equivalent
- Swiki
- Midterm: TBD
- Final: TBD
- Even though this is a new course in terms of syllabus and
objectives, we have to use an older course title and number due to
administrative reasons.
The official (older) course title is "Data Communications Lab".
- The lab exercises will be done in groups of THREE students.
Please form groups by Friday, Aug 22.
We will use the following two textbooks. The first (referred to as the
"lab manual") describes the lab exercises. The second (referred to
as the "textbook") is a quite technical description of the key Internet
protocols and technologies that we will cover in the lectures.
Other good references:
- Week-1:
Course overview, review of key networking concepts
Lecture slides: Overview of labs
Lecture slides: TCP/IP networking: an example
Readings: Textbook (chapter-1), Manual (Introduction)
Lab assignment: Visit lab, become familiar with equipment
- Week-2:
IP addresses, data link protocols, and ARP
Lecture slides: IP addresses
Lecture slides: Data link protocols
Lecture slides: ARP
Readings: Textbook (2.1 to 2.4, 3.1, and 3.4), Manual (lab-1)
Lab assignment: Introduction to the Internet lab (lab-1)
Optional Reading: ``Exploring Visible Internet Hosts through Census and Survey'' by Heidemann et al.
- Week-3:
The IP and ICMP protocols, and IP forwarding
Lecture slides: IP
Lecture slides: ICMP
Lecture slides: IP forwarding
Readings: Textbook (3.1, 3.2), Manual (lab-2)
Lab assignment: Single segment IP networks (lab-2)
- Week-4:
The Internet and its routing architecture
Lecture slides: The Internet
Lecture slides: Router architectures
Readings: ``IP router architectures, an overview'' by Aweya, Manual (lab-3)
Lab assignment: Static routing (lab-3)
- Week-5:
Dynamic routing protocols: RIP and OSPF
Lecture slides: RIP
Lecture slides: OSPF
Readings: Textbook (5.1, 5.2, 5.3, 5.4, 5.6)
Lab assignment: Static routing (lab-3, cont')
- Week-6:
Interdomain routing: BGP
Lecture slides: BGP
Readings: Textbook (5.8, 5.9, 5.10, 5.11, 5.12), Manual (lab-4)
BGP route selection process at Cisco routers
BGP attributes
Optional reading: BGP Routing Policies in ISP Networks by Ceasar and Rexford (survey paper)
Lab assignment: Dynamic routing protocols (lab-4)
- Week-7:
Midterm week (tentative!)
- Week-8:
Transport protocols: UDP and TCP
Lecture slides: UDP review
Lecture slides: TCP review-1
Readings: Textbook (4.1, 4.2, 4.3), Manual (lab-5)
Lab assignment: Dynamic routing protocols (lab-4, cont')
- Week-9:
TCP flow, error and congestion control
Readings: Textbook 4.4
Lecture slides: TCP overview (part II)
Lecture slides: TCP performance troubleshooting and enhancement
Lab assignment: Transport protocols (lab-5)
- Week-10:
LAN switching, bridges and VLANs
Readings: Manual (lab-6)
Lecture slides: LAN switching
Lecture slides: Virtual LANs
Lab assignment: Transport protocols (lab-5, cont')
- Week-11:
DHCP and NATs
Readings: Chapter-3: 3.1.7 (NATs) and 3.7 (DHCP), Manual (lab-7)
Lecture slides: DHCP (basics)
Lecture slides: NATs (basics)
Lecture slides: NAT Traversal
Optional reading: Characterization and Measurement of TCP Traversal Through NATs and Firewalls by Saikat Guha and Paul Francis
Lab assignment: Bridges and STP (lab-6)
- Week-12:
The Domain Name System (DNS)
Readings: Chapter-12: 12.1, 12.2, 12.3, Manual (lab-8)
Lecture slides: DNS (basics)
Lab assignment: DHCP and NATs (lab-7)
- Week-13:
The Simple Network Management Protocol (SNMP)
Readings: Chapter-17, Manual (lab-9)
Lecture slides: SNMP (basics)
Lab assignment: DNS (lab-8)
- Week-14:
IP Multicast
Readings: Chapter-6
Lecture slides: IP Multicast
Lab assignment: SNMP (lab-9)
- Week-15:
Wireless LANs and IEEE 802.11
Readings: Chapter-10
Lecture slides: IP Multticast
Lab assignment: Multicast (lab-10)
The lab exercises are described in the Lab Manual. Each exercise
has a "prelab" section that you will need to study before doing
the lab.
Also, each exercise has a number a questions that you
will answer during the lab session.
A report (in electronic form)
that includes your answers is due one week after your group was assigned
to complete that lab exercise. Your report should focus on
qualitative facts and explanations; you do not need to submit
lengthy traces and raw data.
The lab exercises, and the lab reports, will be done by groups of
THREE students.
Each group will have access to the lab for a specific day
of the week, either in the "morning time slot" (until 2pm) or
in the "evening time slot" (after 3pm). The lab will be open
in the weekends in case you need some extra time.
Each group will pick a time slot on the class of Friday, August 22
(make sure that you attend that class).
The lab schedule will be posted at this web page in the second
week of classes.
It is very important that you clean up the lab after your time
slot. Additionally, you should unplug all network cables and
return them to the cable box, undo any changes you made in
host or router configuration files, and report any potential problems
with the equipment to the instructor (and to the next group).
You should NOT leave data files saved on the PCs.
You need to leave the machines in a ``clean state''.
The same goes for routers.
ROM-monitor mode recovery is not fun, so make sure that you do NOT
save the router configurations.
Shutting down PCs: Do NOT just switch off the power of the PCs.
It makes the routers unhappy and the PCs will sometimes fail to boot.
In the router case, the 'reset' command will get them started normally.
The PCs should work after a power cycle.
Unfortunately, the PCI eth1 cards often come out of their sockets in the PCs.
If a card all of a sudden stops showing up in the output of 'lspci',
it is likely that the card has come out of its socket.
In that case please notify the TA as soon as possible.
We need to unlock that PC and reposition the card.
- Lab reports: 50%
- Midterm: 20%
- Final: 20%
- Class participation: 10%
- All work for this class, except the lab exercises and reports,
is to be done individually.
You are strongly urged to familiarize yourselves with the
GT Student Honor Code
rules. Specifically, the following is not allowed:
- Copying, with or without modification, someone else's work when this work is
not meant to be publicly accessible (e.g., a classmate's program or solution).
- Submission of material that is wholly or substantially identical to that
created or published by another person or persons, without adequate credit
notations indicating authorship (plagiarism).
You are encouraged to discuss problems and papers with others as long as this
does not involve copying of code or solutions. Any public material that you
use (open-source software, help from a text, or substantial help from a
friend, etc...) should be acknowledged explicitly in anything you submit to us.
If you have any doubt about whether something is legal or not please do
check with the class Instructor or the TA.
- Absolutely no late homeworks, assignments, or projects will be accepted.
The deadline for each homework/assignment/project will be specified at the
corresponding handout.