[e2e] ICMP & TCP segments with IP ID = 0?
braden at ISI.EDU
Wed May 16 10:21:57 PDT 2001
*> But RFC 791 is quite clear:
*> The originating protocol module of
*> an internet datagram sets the identification field to a value that
*> must be unique for that source-destination pair and protocol for the
*> time the datagram will be active in the internet system.
*> So while 0 is a valid value, you can't repeat it for the lifetime of
*> a datagram or so (RFC 1122 permits reuse in the narrow case of retransmitting
*> exactly the same data).
Not meaning to be difficult, but it seems to me that there is some
danger of monkishly over-interpreting the scriptures here.
I don't think that we took DF very seriously in the early days. MTU
Discovery had not been invented, and setting the DF bit seemed like a
pretty dumb thing to do. Why on earth would you want to defeat a
mechanism that is there to save you from the natural variation of
MTUs? DF went against robustness. Like IP source routing, it seen
more as an escape for debugging and diagnosis than an operational
capability. [I wait to see whether Dave Mills contradicts me here].
Nor did we consider the impact of DF when writing RFC 1122, as far as I
can recall. (A quick grep on DF in 2 years of HR mail files finds
exactly one reference to DF, no discussion).
If you asked Jon, I suspect he would look vague, and say something
like, "How would you know?" You would go away from Mount Olympus
and figure out that he meant: "Routers don't look at the ID field, and
a correctly programmed receiver is going to dispose of each received
packet buffer before it gets a chance to discover that the next
packet has the same ID."
Now, the Linux guys (like their ideological predecessors the BSD folks
at Berkeley) could just as easily have avoided breaking the letter of
the protocol law as written in the scriptures. However, I would say
that what they did was not really wrong in principle. [AHA!
Moral relativism! Stone him!]
More information about the end2end-interest