Unformatted text preview: s OK. The first fragment (line 5) contains
544 bytes of UDP data, the 8-byte UDP header, and the 20-byte IP header, for a total IP
datagram size of 572 bytes. The second fragment (line 6) contains the remaining 106 bytes of
UDP data and a 20-byte IP header.
Unfortunately the next datagram, line 7, has its DF bit set, so it's discarded by bsdi and the
ICMP error returned. What has happened here is that an IP timer has expired telling IP to see if
the path MTU has increased by setting the DF bit again. We see this happen again on lines 19
and 20. Comparing the times on lines 7 and 19 it appears that IP turns on the DF bit, to see if
the path MTU has increased, every 30 seconds.
This 30-second timer value is way too small. RFC 1191 recommends a value of 10 minutes. It
can be changed by modifying the parameter ip_ire_pathmtu_interval (Section E.4).
Also there is no way in Solaris 2.2 to turn off this path MTU discovery for a single UDP
application or for all UDP applications. It can only be enabled or disabled on a systemwide
basis by changing the parameter ip_path_mtu_discovery. As we can see from this
example, enabling path MTU discovery when UDP applications write datagrams that will
probably be fragmented can cause datagrams to be discarded.
The maximum datagram size assumed by the IP layer on solaris (576 bytes) is not right. In
Figure 11.13 we see that the real MTU is 296 bytes. This means the fragments generated by
solaris will be fragmented again by bsdi. Figure 11.15 shows the tcpdump output
collected on the destination host (slip) for the first datagram that arrives (lines 5 and 6 from
Figure 11.14). file:///D|/Documents%20and%20Settings/bigini/Doc...omenet2run/tcpip/tcp-ip-illustrated/udp_user.htm (15 of 29) [12/09/2001 14.46.58] Chapter 11. UDP: User Datagram Protocol 1
4 solaris.38196 > slip.discard: udp 650 (frag
47942:[email protected]+) 0.0
(0.1320) solaris > slip: (frag 47942:[email protected]+)
solaris > slip: (frag 47942:[email protected]+)
View Full Document
This test prep was uploaded on 04/04/2014 for the course ECE EL5373 taught by Professor Guoyang during the Spring '12 term at NYU Poly.
- Spring '12