bob@ultra.UUCP (Bob Beach) (04/21/88)
In looking through the IP RFC, I noticed that IP allows up to a 64K byte datagram. I was wondering how many implementations of TCP/IP are actually capable of handling such a large datagram. Such a datagram would have to fragmented since no subnets that I know of support packet sizes that big, so I guess the real question is: what implementations can reassemble a 64K IP datagram that has been previously fragmented. A second question is: if the 64K datagram size is, in the words of the RFC "impractical", what is "practical"? 4K, 8K? I have heard rumors that many implementation don't support reassembly at all. Is this true? A third question is: given some implementation can reassemble 128 (or so) 576 byte packets into one big 64K datagram, how likely is it that all 128 would arrive at the destination node. The destination could be either a host on the Internet or on a local Ethernet. -Bob Beach Ultra Network Technologies
CLYNN@G.BBN.COM (04/21/88)
Bob, I have sent and reassembled datagrams up to about 28K bytes on the TOPS-20; I never tried the 64K experiment. The size of the datagram makes the probability of at least one lost fragment approach 1.0. In such cases, the reuse of IP ID by the transport layer (e.g., TCP, UDP) is very important, and the way the network driver sends the group should be considered carefully (e.g., leaving a little time between successive fragments (both to prevent back-to- back packets and to give others a chance to use the resources)); the relationship between IP TTL and transport retransmission timeouts and exactly how IP reassembly timeout is handled makes a big difference. What is practical depends on the environment, and the implementation(s). There is "no problem" across the ARPANET or MILNET as they have high end- to-end reliability; there is a problem across the ARPANET and the MILNET (the gateway queues between them). There should not be significant problems across a (segmented) lan. If monstergrans are IMPORTANT, we can write the software to get them through, but there is a high penalty in wasted bandwidth and cpu cycles if retransmissions are required. Charlie