[ih] order of source and destination address in IP header
Pieter-Tjerk de Boer
ptdeboer at cs.utwente.nl
Tue Mar 22 07:38:10 PST 2005
Dear Internet Historians,
I have been pondering and researching the following question:
Why is the source address located *before* the destination address
in the IPv4 header?
In many link-layer protocol header formats (e.g., HDLC and ethernet),
the destination address comes first, and one advantage of this is that
it enables a receiving device to know very quickly whether the packet
is destined for it or not. In principle, the same argument could be used
at the IP layer, but apparently that was not done.
One possible explanation is that the designers of the IPv4 header simply
didn't care; possibly the IP header was not expected to be processed
until the entire packet had already been received.
However, studying some historical documents shows that the order of
source and destination address was changed twice between 1973 and 1979,
suggesting that there may actually have been a reason for this.
To be precise, this is what I have been able to find so far:
* 1973, a note entitled "A Partial Specification of an International
Transmission Protocol", by Vint Cerf: SOURCE address first.
* May 1974, "A Protocol for Packet Network Intercommunication" by
Cerf and Kahn, in IEEE Trans. on Communications: SOURCE address first.
* December 1974, RFC675: DESTINATION address first
* March 1977, IEN5, TCP version 2: DESTINATION address first.
* 26 October 1976, IEN18, "yielding protocol version 3": DESTINATION first.
(Note: this date may well be wrong, since version 3 presumably would
appear after version 2, and the date of version 2 is confirmed by IEN151.)
* January 1978, IEN21, TCP version 3: DESTINATION address first.
* August 1979, IEN111, IP version 4: SOURCE address first.
(Henceforth all documents claim to specify version 4.)
* December 1979, IEN123: SOURCE address first.
* January 1980, RFC760: SOURCE address first.
A list of IENs apparently obsoleted by IEN-111 is:
(IEN-26) Cerf 14-Feb-78 A Proposed New Internet Header Format
(IEN-28) Postel Feb-78 Draft Internetwork Protocol Specification
(IEN-41) Postel Jun-78 Internetwork Protocol Specification - Version 4
(IEN-44) Postel Jun-78 Latest Header Formats
(IEN-54) Postel Sep-78 Internetwork Protocol Specification Version 4
(IEN-80) Postel Feb-79 Internet Datagram Protocol
Unfortunately, I have not been able to find any of these.
It seems the final decision to put the source address first, must have been
made between January 1978 and August 1979, with the transition from version 3
to version 4; if anywhere, the reason may be documented in one of the above
six IENs, with IEN-26 seeming the most likely candidate.
So: is there anyone on this mailing list who has access to these old IENs,
or who actually knows the reason (if any) for this order of the address
fields?
Best regards,
Pieter-Tjerk de Boer
(ptdeboer at cs.utwente.nl)
More information about the Internet-history
mailing list