Set the IPv4 TTL to 1?
Stuart Cheshire <[email protected]> Wed, 9 Feb 2005 10:41:09 -0800
| Newsgroups | gmane.ietf.zeroconf |
|---|---|
| Message-ID | <[email protected]> |
>Put the text back. Deleting this was a decision the working >group could have made when the document was under discussion, but >there is no longer a working group to approve any change like this >(and I kind of doubt it would have been approved anyway). The working group did consider whether "Link-local sources should specify TTL=1", and the proposal was rejected <http://www.drizzle.com/~aboba/ZEROCONF/ll29.html>. I'm not sure how it found its way into the document. If this is the only area of disagreement, then I'll compromise so we can move forward and publish the RFC, but reluctantly, because it's terrible terrible advice to have in the document. For the record, I should state why I think this: * I already see far too many consumer devices that don't work beyond the local link, by design or by accident, and this advice risks encouraging more such devices. * Is this "advice" actually part of the formal specification or not? It doesn't say, "MUST", "SHOULD" or "MAY". Is an implementer required or expected to follow it, or not? * One of the goals of IPv4LL was that it should be as much like normal IP as possible, so as to minimize any additional burden on application writers. This "advice" looks like it places an additional burden on application writers. * You say that application code should only set the TTL when "sending from an IPv4 Link-Local address"? If you've ever tried it, you'll know that on a multi-homed host, determining in advance what address you're going to be sending from is very difficult from user-level code. Most application code that opens connections or sends UDP packets simply specifies the DNS name or destination address, and lets the kernel pick the interface and source address. Most application code that accepts connections simply binds to INADDR_ANY and lets the kernel handle the job of making sure the right source address is used when sending back the TCP ACKs. * This "advice" creates gratuitous incompatibility with existing deployed devices that followed the instructions in earlier drafts to check that the TTL on received packets is 255. With all that said, if this is the only point of disagreement, then I will accept it and we should publish the RFC. Stuart Cheshire <[email protected]> * Wizard Without Portfolio, Apple Computer, Inc. * www.stuartcheshire.org