On 14 feb 2008, at 22:24, Jonathan Rosenberg wrote:
But it seems to me that a much better approach to this is first of
all to make it optional, like you suggest, and secondly, make it a
generic mechanism that can be used for ALL protocols rather that
define it separately for one protocol at a time.
Protocol options are bad. Especially ones like this which are quite
hard to negotiate. What the draft is saying, is just design the darn
thing to work only over UDP, rather than natively over IP. It'll
work on the v4 Internet and in the v6 Internet too. Odds are good
your protocol needed ports and a checksum anyway. So what exactly is
If the protocol needs this stuff anyway, no problem. But for the
current non-TCP, non-UDP protocols, that doesn't help. Remember the
computer science adage: put all your eggs in one basket, but make it a
very good basket. A genereric mechanism to negotiate UDP encapsulation
for all protocols where desired would find wide deployment and thus
work well while revisiting every protocol just means having the same
headache many times over.
The problem that I have with your draft is that you seem to want to
forbid new non-TCP, non-UDP protocols. If a protocol doesn't need port
numbers or a UDP-like checksum (i.e., either no checksum or a better
one) then it's a bad thing to just add a UDP header for the hell of
it. Especially as overhead keeps growing but MTUs stay the same.
I can envision many cases where UDP encapsulation is useful in IPv4 to
get around NAT but it's not necessary in IPv6.
Ietf mailing list