CS 434L/534L Laboratory Manual
The following is a list of topics covered in CS434L. Lab sessions are
nominally two hours. The objective is for the students to confirm by their own
observations the statements that they had heard earlier in the lectures.
- Lab 1: Ethernet
Networks: ARP and PING
Working in pairs, students connect their computers into an Ethernet, using
"ifconfig" to assign private ("darknet") IP addresses
to the interfaces. The protocol analyzer "Ethereal" is used to
investigate the content of the sequence of frames that occurs when one of
the computers "pings" the other (ICMP echo request and echo
reply). The Address Resolution Protocol (ARP) messages and the resulting
entries in the ARP caches are also investigated.
- Lab 2: Client-Server:
UDP and TFTP
This lab session provides an introduction to client-server systems. Again
students work in pairs, with one of their computers configured as a
Trivial File Transfer Protocol (TFTP) client and the other as a TFTP
server. TFTP runs on top of the User Datagram Protocol, which is
connectionless and therefore relatively simple. Students use Ethereal to
investigate the content of the frames that are exchanged during transfer
of a file to/from server from/to client. The time taken for transfer of a
large file is measured.
- Lab 3: Client-Server:
TCP and FTP
This lab session is again a client-server investigation, this time the
File Transfer Protocol (FTP), which runs on top of the Transmission
Control Protocol (TCP). TCP provides virtual connection transport service,
so this is a more complex situation in which the students observe the
establishment, use, and destruction of the virtual connections. FTP, using
sliding-window flow control, is a more sophisticated protocol than TFTP;
this shows up in the reduced file-transfer times, which are measured and
compared to those obtained in lab session #2. An FTP server also requires
client identification; students observe this using Ethereal, noting that
the password is clearly visible on the Ethereal trace during transit from
client to server.
- Lab 4: Static
Routing
In this lab session a router is introduced for the first time. Students
work in groups of four, enabling them to use four computers build a
two-network internet. All interfaces must be configured, and appropriate
entries made in the routing tables of all computers. The file-transfer
time across the router is measured and compared to the time measured in
lab session #3 to see if transit through a router significantly slows the
file transfer. The Maximum Transfer Unit of one of the router interfaces
is reduced to force fragmentation of IP datagram, which is observed using
Ethereal.
- Lab 5: Packet-Filtering
Firewall
The router configuration used in lab session #4 is enhanced to provide
packet-filtering, which is the basis of firewalls. Students experiment
with the settings of the packet filter, and observe which types of access
are blocked and which are permitted. Passive-mode FTP is introduced during
these experiments. Finally, "Masquerading" is activated on the
packet filter, implementing Network Address Translation.
- Lab 6: Route
Tracing and Dynamic Routing
An internet of three networks is formed by connecting four computers in
the pattern workstation-router-router-workstation. The routers are first
configured manually, and "traceroute" and "ping -Rv"
are used to demonstrate route tracing (trivial in this case, but preparing
for lab session #7). The presence of two routers along the path gives the
opportunity for more measurements of the speed penalty imposed by routers
during file transfer. The Routing Information Protocol is then activated,
and students observe how the computers learn from each other by exchanging
routing information.
- Lab 7: Domain
Name Service and Wide-Area Networking
In this session the Instructional Network Lab is connected to the outside
world for the first time, through a firewall with Network Address
Translation. Students work individually to explore naming systems, first
using the "hosts" table in their workstation, then using the
Domain Name Service (DNS). There is a detailed investigation of the
functioning of DNS, including exploration of alternative DNS servers. The
students use "traceroute" to determine the path followed by IP
datagrams to a distant destination, such as Purdue
University.
- Lab 8: HyperText
Transfer Protocol and the World-Wide Web
Using a Netscape browser, students obtain Ethereal traces to see
establishment of multiple TCP connections to download the HTML page and
the embedded images of a World-Wide Web page. Access to an E-commerce site
exhibits Set-cookie response headers and Cookie request headers. Students
observe the switch from TCP port 80 to port 443 when SSL/secure HTTP
(https) is invoked, and see encrypted traffic on the Ethereal trace.