[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: old GSE idea



On woensdag, apr 16, 2003, at 22:45 Europe/Amsterdam, Tony Li wrote:

|    It would be great if it could be part of a bigger picture,
|    where we can upgrade from what we have today, to something a bit
|    better, to GSE++, to a clean architecture where we really get to
|    drop in new protocols
|    for each layer like the OSI guys always promised we could.

Interesting.  I'm afraid that I don't really understand tho.
If you're suggesting that we won't be able to support a new
network layer protocol, then I'm confused.
Look at what had to be done to support a new version of IP: changes to transport protocols and the API. That's not good.

We only had IPv4 for around 15 years before work started on IPv6. So I'm guessing most of us will see IPv7 well before we retire.

If you're talking
about new transports, I don't think those are even challenging.
Want to change from TCP to SCTP? Again, new API.

<rant>
Ok, all of this was unavoidable. But these new APIs address only the problem at hand, and don't provide a real improvement. If you want to support both IPv4 and IPv6 in an application, you need to support IPv4 using the IPv4 socket API, IPv6 using the IPv6 socket API and then use your own logic to decide which to use when. And if IPv7 changes the address length and/or we want to support CLNS, that's another round of changes.
<rant>
And the really pathetic part is that the original socket API is kept
general in order to support different protocols, which makes it
incredibly inconvenient to program but not general enough to
actually support anything else (usable) other than IPv4.
</rant>
</rant>

So how does this apply to GSE++?

We now have TCP that groks pseudo headers with IPv4 addresses in them and IPv6 addresses in them. We extend this to 83 bits out of an IPv6 address. This can go on for a while. It seems to me that we should either not care at all about the IP addresses in TCP and other transport protocols, or offload this aspect to IP.

This is the kind of stuff that doesn't cost us a lot now, but saves us a great deal in the future.