[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