Hi Joe,

> -----Original Message-----
> From: Joe Touch [mailto:[email protected]]
> Sent: Thursday, May 26, 2016 9:57 AM
> To: Templin, Fred L <[email protected]>; Tom Herbert 
> <[email protected]>
> Cc: [email protected]
> Subject: Re: [Int-area] Call for adoption of draft-xu-intarea-ip-in-udp-03
> 
> 
> 
> On 5/26/2016 9:40 AM, Templin, Fred L wrote:
> > Hi Joe,
> >
> >> -----Original Message-----
> >> From: Joe Touch [mailto:[email protected]]
> >> Sent: Thursday, May 26, 2016 9:34 AM
> >> To: Templin, Fred L <[email protected]>; Tom Herbert 
> >> <[email protected]>
> >> Cc: [email protected]
> >> Subject: Re: [Int-area] Call for adoption of draft-xu-intarea-ip-in-udp-03
> >>
> >>
> >>
> >> On 5/26/2016 9:16 AM, Templin, Fred L wrote:
> >>>>>> There is an existing solution to the same problem. GUE allows
> >>>>>> encapsulation of IPv4 and IPv6, as well as other IP protocols (the GUE
> >>>>>> header indicates encapsulated protocol by IP number). The only
> >>>>>> material between GUE encapsulation of IP and IP in UDP is additional
> >>>>>> four byte header and associated processing of that. I don't think
> >>>>>> we've seen a use case where avoiding that overhead is critical
> >>>>>> motivation.
> >>>>> I thought at one time we had come up with an idea for omitting the GUE
> >>>>> header when the payload is a plain IPv4/IPv6 packet. There was a check
> >>>>> of the first four bits following the UDP header to see if they encoded 
> >>>>> the
> >>>>> value '4' or '6'. Did that not make it into the draft?
> >>>>>
> >>>> Yes, we had come up with the idea and I have implemented the
> >>>> prototype. It is not in the draft. I believe the only discernible
> >>>> benefit we could identify was that it saves 4 bytes of overhead. The
> >>>> major drawback is that this only works specifically for IPv4 and IPv6.
> >>> I don't see the drawback; I think those two IP protocol versions could
> >>> carry us forward into the forseeable future. Are you thinking there
> >>> could be another IP version on the near term horizon?
> >> IMO, this is a bad idea unless the protocol is specifically limited to
> >> having IP as a payload. Otherwise, there's no way to ensure that some
> >> other protocol won't start off with those values.
> > Tom's proposal unambiguously differentiates raw IPv4 and IPv6 from
> > all other encapsulations. If it is raw IPv4 or IPv6, the GUE 4-byte header
> > is not present. Otherwise, the GUE 4-byte header is present.
> >
> The only way the proposal "unambiguously" knows the difference is when
> the first 4 bits are 4 or 6, but those are valid configurations of the
> first 4 bits of other protocols (notably ICMPv4).

There is more to it than that - Tom's proposal can unambiguously distinguish
raw IPv4/IPv6 from all others.

> So if you see 4 or 6, you can't just assume that the GUE header is not
> present.

You don't look for 4 or 6; you look for the 2nd-most significant bit being
set to 1. If it is set to 1, then you examine the 3rd and 4th MSBs and
act only of the combined 4 MSBs are either 4 or 6.

Tom can state this more eloquently and accurately than I just did...

Thanks - Fred
 
> Joe
 

_______________________________________________
Int-area mailing list
[email protected]
https://www.ietf.org/mailman/listinfo/int-area

Reply via email to