[ih] UDP Length Field?

Brian E Carpenter brian.e.carpenter at gmail.com
Sat Nov 28 19:00:53 PST 2020


David Reed might be able to answer.
https://www.deepplum.com/blog-dpr/?page_id=6

Regards
   Brian Carpenter

On 29-Nov-20 15:16, Jack Haverty via Internet-history wrote:
> It's been a long time (40 years), but I remember the meetings circa 1980
> where we split the original TCP header into the separate TCP and IP
> headers.   I can't recall most of the discussion, but I remember the
> motivation for defining UDP was driven by the desire to experiment with
> things like voice, using quick but unguaranteed delivery, as well as
> actions that could be carried out with a single command/response
> interaction.   That also motivated inclusion of functionality such as
> TOS, so that different kinds of use of IP could get different types of
> service most suitable for reliable-stream versus voice.
> 
> The definition of UDP was done in a few hours, and intended for
> experimental use.  On the ARPANET, there was a "datagram mode" which
> provided similar unsequenced, non-guaranteed service as did UDP.  But
> ARPANET management rarely permitted datagram mode to be used, fearing
> that it might bring down the network.  So a backlog of desired
> experimentation with datagrams had built up, and UDP was the vehicle for
> exploring such ideas in the Internet context.
> 
> I don't recall exactly which experimental usage scenarios drove the
> specifics of UDP, in particular why there is a length field.   That was
> very much a time of "rough consensus and running code", so as a header
> format appeared on the board at the front of the room, and there were no
> strong objections, it became UDP.   We were expecting that it would
> change as experimental results made the needs more clear, and didn't
> really expect that the suite of protocols would set in concrete so
> quickly and last so long.
> 
> I do recall that one plausible usage scenario was to send multiple UDP
> payloads within one IP datagram.   The Length field made that possible. 
> I don't remember the exact details, but it may have been an early idea
> associated with doing multi-casting.   Perhaps the MBONE used it -- I
> don't remember...?
> 
> /Jack Haverty
> 
> 
> On 11/28/20 3:42 PM, Timothy J. Salo via Internet-history wrote:
>> Hi,
>>
>> Can anyone provide some [historical] insight into why the UDP header
>> contains a length field?  TCP manages to ascertain the length of data in
>> a packet just fine without a length field, so why couldn't UDP?
>>
>> Several people have noted that the UDP length field is redundant,
>> including for example, the current Internet Draft "Transport Options for
>> UDP",
>> <https://www.ietf.org/archive/id/draft-ietf-tsvwg-udp-options-09.txt>.
>>
>> There are some other opinions, some of which sound to me like
>> after-the-fact reasoning:
>>
>> - So that UDP can run over network protocols other than IP (although
>>   presumably TCP could do this just fine without a length field).  But,
>>   the UDP spec says that an IP-like pseudo header needs to be created,
>>   in any case.
>>
>> - Layering and encapsulation reasons, (although, again, TCP seems like
>>   a counter example).
>>
>> - Word alignment, (there were 16-bits left over, so why not use it for
>>   the length?).  Personally, this sounds the most likely to me.
>>
>> Thanks,
>>
>> -tjs
> 




More information about the Internet-history mailing list