On 2018-07-30 08:11, Tom Herbert wrote:

> On Sun, Jul 29, 2018 at 9:22 AM, Joe Touch <to...@strayalpha.com> wrote: 
> 
>> On Jul 29, 2018, at 9:11 AM, Tom Herbert <t...@herbertland.com> wrote:
>> 
>> ...
>> 
>> That said, there's no real problem with a NAT *IF* it acts as a host on the
>> Internet
>> (see ouch, J: Middlebox Models Compatible with the Internet. USC/ISI
>> (ISI-TR-711), 2016.)
>> 
>> Joe,
>> 
>> It's still a problem though. A NAT (or any stateful device in the
>> network) forces the requirement in network architecture that all
>> packets of a flow are routed through the same device.
>> 
>> I didn't make that requirement. The Internet does - it's what it *means* to
>> have an IP address.
> It's not a requirement of the Internet and certainly not a core IETF
> requirement that packets always follow the same path. It's an ad hoc
> requirement imposed by _some_ solutions that have been deployed.

1122 requires that devices shouldn't be sourcing IP addresses they don't
own. 

And any device behind a NAT would have a similar requirement - that the
private side is setup such that any translation appears as a single
device -- which means either that each host on the private side forwards
all its traffic to one egress (as a stub net) or that the multiple
egresses coordinate state to look like one egress on the private side
and one host on the public side. 

I.e., the Internet architecture imposes exactly the restrictions you
note - these aren't ad-hoc, they're derived from the Internet
requirements. 

>> A NAT *has* the address of the packets it sources; if it isn't the sink of
>> that address, then it's being used incorrectly. If it doesn't reassemble
>> those packets before translating them (i.e., by translating only
>> unfragmented packets and dropping fragmented ones), then it is broken and
>> ought to be returned for a refund.
> You are only considering the return path.

Only for that rule; for the private side, the rule is that the network
is a stub behind the translator (or emulates that). 

....

> This has killed
> our ability to use multi-homing and multi-path.

It didn't kill it. It never existed *for this sort of mechanism* -
exactly because of requirements of the Internet architecture. 

If there is only one device that represents a private node on the public
net, it can work (using the model I describe). If there isn't, then it's
the Internet architecture that makes the device inherently broken - we
shouldn't go around believing we can patch the protocols to "make it
work again".  

Joe
_______________________________________________
Int-area mailing list
Int-area@ietf.org
https://www.ietf.org/mailman/listinfo/int-area

Reply via email to