[oclug] ping

rjordan at CR1004964-A.slnt1.on.wave.home.com rjordan at CR1004964-A.slnt1.on.wave.home.com
Thu Jan 18 23:27:44 EST 2001


> 
> IP Header
> 
> 0                                                                   31
> |-------------------------------------------------------------------|  ---
> |version | hdr len|Type of Service |  Total length of datagram      |   |  
> | 4 bit  | 4 bit  |    8 bit       |           16 bit               |   |
> |----------------------------------|--------------------------------|   |
> |    identification                |flags |   fragment offse        |   |
> |         16 bit                   | 3 bit|     13 bit              |   |
> |----------------------------------|--------------------------------|   |
> |  time to live   |  protocol      |     checksum                   |   |
> |   8 bit         |    8 bit       |   16-bit                       | 20 bytes
> |-------------------------------------------------------------------|   |
> |                      Source IP Address                            |   |
> |                            32 bit                                 |   |
> |-------------------------------------------------------------------|   |
> |                     Destination IP Address                        |   |
> |                            32 bit                                 |   |
> |-------------------------------------------------------------------|  --- 
> |	                  Options (Optional)                        |
> \                          [variable size]                          \
> ---------------------------------------------------------------------
> |                             Data                                  |
> \                                                                   \
> ---------------------------------------------------------------------
> 
> The limiting factor is the length field of the header which is 16bits.
> Therefore, 2^16=65536 is the maximum size of an IP datagram, and this 
> includes the header. That being said, an IP datagram of this size
> will usually be fragmented along the way. The MTU (Maximum 
> Transmission Unit) for Ethernet is 1500bytes, so an IP datagram
> of 2^16bytes would need to be fragmented to fit in an Ethernet frame.
> If ping is implemented using ICMP (as opposed to UDP), the IP datagram 
> will have an additional ICMP message field, which for ping is 8bytes.
> so 2^16 - 20*8 - 8*8 = 65312 will be the maximum size of data that
Err, for some dumb reason, I partially converted to bits.
That should read:
2^16 -20 -8 = 65508

-Ross




More information about the OCLUG mailing list