Subject: RE: Link-local TTL

From: "Peter Ford" <[email-masked]>
Date: Wed, 27 Nov 2002 08:33:47 -0800

Ran,

It is not clear to me setting link local TTL to 1 is a good or necessary
idea.

<point 1>

<layerViolationWarning>
Sure, layer 2 bridges are perfect active devices wrt taking packets off
one wire and putting them onto another.  But wouldn't it be better for
all active devices lifting a packet from one wire and putting it onto
another wire to actually use the IP TTL as an IP router does?
Unfortunately, it is a little late to change 802, it is not too late for
IP to help the guys who build 802 devices for IP networks.
</layerViolationWarning>

</point 1>

<point 2>
The IP TTL is a simple, almost elegant, safety net to help prevent the
network from getting into a sustained failure mode. (I already hear:
"exception - multicast!")  It is not clear changing the use of TTL based
on what kind of IP subnet you are on improves the safety characteristics
of the network.

The goal for preventing packets from traversing out of or into a link
local subnet to anywhere else is a router's responsibility based on data
already in the packet, not on the TTL.  Does the router really need to
do more here?
</point 2> 

Now, point 1 reflects the bias of someone who believes zero conf
networks will most likely end up in homes where a bridged network across
several media types with no routers except an Internet access router is
the common case. (e.g. no subnets in the home, AT ALL).  It would be a
sad result of an effort to get to zero configurations for consumer
networks to end up with IP subnetting within a consumer's network as
part of the solution.  It would prove that when confronted with driving
in a nail, the IETF would use an IP Router to do the job.  I won't even
delve into screwing.

Experience on the Internet has tended to show that it was a mistake to
set the TTL low in the first place.   

Regards, peterf

-----Original Message-----
From: RJ Atkinson [mailto:[email-masked]] 
Sent: Wednesday, November 27, 2002 4:33 AM
To: [email-masked]
Subject: Link-local TTL

1) This TTL check thing is an operational consideration, NOT a security 
consideration.
2) The best technical approach is probably actually this one, which I 
typo'd
	earlier this week, but maybe got right this morning:

	A)	Receivers MUST drop incoming link-local packets where
(TTL != 1).
	B)	Senders MUST set (TTL = 1) on all outbound link-local
packets.

Rationale:
	- This is fully backwards-compatible with the deployed systems.
	- This prevents a link-local from being forwarded off-link,
		even if the router is misconfigured or unaware of
link-local 
addressing.
	- This prevents a receiver from accepting (most) bogus
link-local 
packets.

Ran
[email-masked]

---

From: Keith Moore <[email-masked]>
Date: Wed, 27 Nov 2002 12:08:24 -0500

> another wire to actually use the IP TTL as an IP router does?

Why?  It seems far better to have a clean separation between what 
happens at layer 2 and what happens at layer 3, than to legislate an
architecture that expects layer 2 devices to know about layer 3 protocols
and constraints the layer 3 protocols that layer 2 devices can support.

> IP to help the guys who build 802 devices for IP networks.

IIRC, the LL draft specifically states that bridges should propagate LLs.
so the fact that bridges don't decrement TTL is a feature even if hosts
use TTL=1 when generating LL packets.

> on what kind of IP subnet you are on improves the safety characteristics

Well, that's not what is being proposed.  Use of LL vs routable is 
not a property of the subnet, it's a property of the destination address.

And having already used TTL=1 for this purpose in multicast, I don't see
why using it for this purpose in LL is a significant deviation from 
existing practice.

> already in the packet, not on the TTL.  

Are you really saying that the router's job is to decide whether to 
forward a packet based on its payload, but NOT on its TTL?  That 
seems exactly opposite from the way that IP was designed to work.

> Does the router really need to
> do more here?

Setting TTL=1 is not asking the router to do more than it already does
(and always has).  That's the beauty of it - it does exactly the right thing.

> the common case. 

Again, there's no distinction between a zero conf network, and a managed
newtork.  LL as proposed will be imposed on nearly every host on the 
Internet by virtue of being included in macos and windows*, and because
of the lack of any provision to allow a network to disable it.  So it 
will be enabled on every network that supports such hosts (which is to 
say essentially every IPv4 network in the world).

So we can't analyze the effect of this just based on what happens when it's 
used in a small, relatively isolated network.  We also need to consider the
effect of LL on large bridged/l2-switched networks with thousands of hosts, 
and several points in between these extremes.

Keith