1. Capturing packets from an execution of traceroute
In order to generate a trace of IP datagrams for this lab, we’ll use the traceroute
program to send datagrams of different sizes towards some destination, X. Recall that
traceroute operates by first sending one or more datagrams with the time-to-live
(TTL) field in the IP header set to 1; it then sends a series of one or more datagrams
towards the same destination with a TTL value of 2; it then sends a series of datagrams
towards the same destination with a TTL value of 3; and so on. Recall that a router must
decrement the TTL in each received datagram by 1 (actually, RFC 791 says that the
router must decrement the TTL by at least one). If the TTL reaches 0, the router returns
an ICMP message (type 11 – TTL-exceeded) to the sending host. As a result of this
behavior, a datagram with a TTL of 1 (sent by the host executing traceroute) will
cause the router one hop away from the sender to send an ICMP TTL-exceeded message
back to the sender; the datagram sent with a TTL of 2 will cause the router two hops