This repository includes the exercises in the textbook TCP/IP Essentials: A Lab-Based Approach, adapted to use the GENI testbed rather than an in-house lab.
- 0.0 Prepare your workstation
- 0.1 Set up an account on GENI
- 0.2 Reserve a simple network on GENI
- 0.3 Inspect network interfaces
- 0.4 Working on remote hosts
- 0.5 Save data and delete resources on GENI
- 1.1 Learning the basics of the Bash shell
- 1.2 Navigating the filesystem
- 1.3 Working with files and directories
- 1.4 Manipulating output of a command
- 1.5 Using
tcpdump
and Wireshark - Optional extra experiment: TCP/IP protocol layers
- 2.6 Network interface exercises
- 2.7 ARP exercises
- 2.9 Exercises with IP address and subnet mask
- 2.8 Exercise with ICMP and Ping
- Operation of a basic Ethernet switch or bridge
- 3.5 A simple bridge experiment
- Spanning tree protocol
- 4.5 A simple router experiment
- 4.6 RIP expercises
- 4.7 Routing experiments with ICMP
- Optional extra experiment: Designing subnets
- Optional extra experiment: Dijkstra's shortest path algorithm
- 5.5 Using
iperf3
- 5.6 UDP Exercises with Datagram Sizes
- 5.8 Exercises with FTP and TFTP
- UDP as a connectionless transport protocol
- 6.7 Exercises on TCP connection control
- 6.8 Exercises on TCP interactive data flow
- 6.9 Exercises on TCP bulk data flow
- 6.10 Exercises on TCP timers and retransmission
- 6.11 Other TCP exercises
- Optional extra experiment: TCP congestion control basics
- 8.7 HTTP exercises
- 8.9 NTP exercises
- Optional extra experiment: Basic home gateway services: DHCP, DNS, NAT
- 9.9 SNMP exercises
- 9.10 Exercises on secure applications
- 9.12 Exercises on firewalls
- Optional extra experiment: DNS spoofing on a LAN