IP Fragmentation Exercises
The following exercises are to familiarize you with the IP protocol
and its functionality as discussed in class, as well as with IP fragmentation.
The following commands will be necessary in completing the following steps:
netstat, ping, ifconfig, ethereal
and/or tcpdump. If any of these commands are unfamiliar, refer to the man page
for that command.
Note: the ethereal sniffer sits on top of tcpdump and
provides a nice window based UI for you to examine network packets. Since it sits
on top of tcpdump, several of the command inputs are the same, such as the packet
filters. This will require you to be familiar with tcpdump (or at least have access
to the tcpdump man pages. You have been warned!)
- Log on to your machine (using the correct partition) and start an X window session.
Start at least 1 terminal window (you may find use for more).
- Determine exactly what is the MTU for the physical layer interface present
in your machine.
- Start ethereal in one window as follows: filter: ip host my_host_name (no, you do NOT type
my_host_name). Then use the ping command as follows: ping -c1 -s4096 dest_host in another window
and ping a classmate. What does the -s option on ping do? What are these two commands going to do?
For each of the resulting packets, ANSWER and UNDERSTAND
the following (Note the packets sniffed may be out of order...pay attention to this!):
- How much data is being transmitted on the wire for each frame? Explain in detail?
- What is each IP packet total length (TL)? Explain?
- Examine the ID fields for the packets.
- Examine the various protocols.
- Examine the fragmentation flags & explain their meanings for each packet.
- Examine the Fragment Offset & explain
- Examine the highest layer protocol info. Explain the data length here.
NOTE: If you choose to print, ALWAYS USE PRINT PACKET, NOT PRINT!