This preview shows page 1. Sign up to view the full content.
Unformatted text preview: P fragmentation to see this interaction between UDP and ARP. We
can also see this interaction if the sender quickly transmits multiple UDP datagrams. We chose
to use fragmentation because the packets get generated quickly by IP, faster than multiple
datagrams can be generated by a user process.
As unlikely as this example might seem, it occurs regularly. NFS sends UDP datagrams whose
length just exceeds 8192 bytes. On an Ethernet these are fragmented as we've indicated, and if
the appropriate ARP cache entry times out, you can see what we've shown here. NFS will time
out and retransmit, but the first IP datagram can still be discarded because of ARP's limited
queue. file:///D|/Documents%20and%20Settings/bigini/Doc...omenet2run/tcpip/tcp-ip-illustrated/udp_user.htm (18 of 29) [12/09/2001 14.46.58] Chapter 11. UDP: User Datagram Protocol 11.10 Maximum UDP Datagram Size
Theoretically, the maximum size of an IP datagram is 65535 bytes, imposed by the 16-bit total
length field in the IP header (Figure 3.1). With an IP header of 20 bytes and a UDP header of 8
bytes, this leaves a maximum of 65507 bytes of user data in a UDP datagram. Most
implementations, however, provide less than this maximum.
"There are two limits we can encounter. First the application program may be limited by its
programming interface. The sockets API (Section 1.15) provides a function that the application
can call to set the size of the receive buffer and the send buffer. For a UDP socket, this size is
directly related to the maximum size UDP datagram the application can read or write. Most
systems today provide a default of just over 8192 bytes for the maximum size of a UDP
datagram that can be read or written. (This default is because 8192 is the amount of user data
that NFS reads and writes by default.)
The next limitation comes from the kernel's implementation of TCP/IP. There may be
implementation features (or bugs) that limit the size of an IP datagram to less than 65535 bytes.
The author experimented with various UDP datagram sizes, u...
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