Subject: Re: Oppose: LL29 Link-local sources should specify TTL=1

From: Stuart Cheshire <[email-masked]>
Date: Tue, 4 Mar 2003 15:22:53 -0800

>How can you ensure that a packet with a TTL of one originated on the local
>link?

There are two different issues John:

TTL=1 stops outgoing packets escaping.

TTL=255 lets you *detect* incoming errant packets.

The question is (since we can't do both), which is more important?

Stuart Cheshire <[email-masked]>
 * Wizard Without Portfolio, Apple Computer, Inc.
 * www.stuartcheshire.org

---

From: "John C. Welch" <[email-masked]>
Date: Tue, 04 Mar 2003 18:48:04 -0500

> The question is (since we can't do both), which is more important?

Right. As a network admin, I'm *far* more interested that the data I'm
receiving that says "local packet" actually IS a local packet. Oddly enough,
I'm not worried about leakage *as much*. But I think TTL needs to be set on
send, and checked on receive, and if it's wrong, then dump the packet.

john

-- 
John C. Welch
Consultant III
Office Computing Practice (IS)
(617) 253 - 1368 work
(508) 579 - 7380 cell
bynkii2          AIM

---

From: John Schnizlein <[email-masked]>
Date: Tue, 04 Mar 2003 19:10:51 -0500

>The question is (since we can't do both), which is more important?

Well-framed question.

Since ordinary Internet-compliant routers enforce TTL=1, 
and only ZeroConf hosts could enforce TTL=255, the mechanism
most likely to be in place is TTL=1.

And if all hosts (unless they have a particular purpose, as
Christian proposed and I agreed) that intend link-local traffic
were to set TTL=1, there would be no such traffic "out there"
to leak in. With this choice, protecting yourself uses exactly
the same mechanism as protecting the rest of the Internet. 
A specification that puts the interests of protecting yourself
at odds with doing the right thing for the Internet would be bad.

John

---

From: Robert Elz <[email-masked]>
Date: Wed, 05 Mar 2003 17:45:17 +0700

Date:        Tue, 4 Mar 2003 15:22:53 -0800
    From:        Stuart Cheshire <[email-masked]>
    Message-ID:  <[email-masked]>

  | TTL=1 stops outgoing packets escaping.
  | TTL=255 lets you *detect* incoming errant packets.
  | The question is (since we can't do both), which is more important?

No, the question is, is either important.   My answer is no, neither one
achieves anything worth having.    That is, do neither.

While it certainly is possible for (from a conforming host) packets to
escape the lan, if the TTL starts greater than 1 (assuming routers that
know nothing of LL of course, a LL knowledgeable router should block it)
the scenarios where this can happen are quite rare, and the harm that
actually occurs is infinitesimal, so requiring TTL=1 achieves nothing
worth having.  I agree with your argument there (though you keep missing
the case of a packet sent from 169.254.56.78 to 10.1.2.3 with a router
set to proxy-arp for (only) 10/8 in your analysis of the proxy arp case).

The ability to detect errant packets is similarly useless in general.
You keep on citing that ability as a feature, but you have yet to give
a reason how it ever achieves anything (in general).   If protocols
like LLMR see a benefit in TTL=255, they're free to specify that.
That's how it should be, it should not be specified for LL in general.

kre