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

Re: GSE IDs [Re: IETF multihoming powder: just add IPv6 and stir]



On dinsdag, mei 13, 2003, at 10:11 Europe/Amsterdam, Kurt Erik Lindqvist wrote:

What worries me as ex-operator is that state in a network comes at a cost. Normally state is actually among the most costly components of network design. So, I agree that I would like to avoid any stateful mapping. Now, that said I agree that a stateless mechanism is going to harder to design and implement.
I think we should more carefully define the word "state". A BGP routing table is state. An IPsec security association is state. An ARP table entry is state. A TCP control block is state. A socket bound to a UDP port is state. We use all of this (maybe with the exception of IPsec) every day, so apparently keeping all this state is worth it.

Assume we have A and B that want to communicate, and they have C and D sitting between them passing along the packets. There are also E - Z who are connected to A, B, C and D but they aren't involved in this particular communication. My position is:

State in A and B: perfectly acceptable. Applications and transport layer protocols keep state anyway.

State in C and D: not good, but not entirely inconceivable.

State in E - Z: unacceptable.

Which part were you talking about?

And in another message you said:

Also, we can't assume that users will universally prefer a stateless solution with per-packet overhead over a stateful one that doesn't have extra overhead.

I would like to argue that per-packet overhead is cheaper than stateful mappning.
I'm sure this is true for you. However, I regularly connect to the net with my laptop over GSM at 960 bytes per second costing me 11 cents per minute, and when I do that every byte counts. If you're sitting behind gigabit ethernet where you can do 100000 packets per second regardless of how big they are, you'd rather throw away 10% of the usable data in each packet than add extra processing that halves the number of packets per second you can do. What I'm saying is that it is impossible to determine that globally, EVERYONE will always prefer either state or overhead.

Another important point is that the additional information can't be trusted so it must be authenticated. This means crypto, which is harder to do fast than state. Obviously some people will implement very fast crypto but for others even a moderate amount of crypto is extremely undesireable because either they simply don't have the CPU power or they don't want to use it (CPU costs energy, not nice when running on the battery).

But I think we should revisit this when there is an actual proposal that adds extra headers to packets because only then we'll be able to see how this helps us and how it hurts us.

Finally, I want to warn everyone that there is a very dangerous "who cares about the overhead" attitude in some circles. (Not just IETF, but also IEEE and others.) I did some calculations on VoIP over IPsec and it turns out that even with a factor 4 compression of the data, the total number of bits used by this is larger than regular TDM for voice. Don't forget we have more than 5 layers, if every one of those adds 3% overhead, that's 16% total. If they all do 5% it's 28% and if they all do 10% it's no less than 61%. It adds up very quickly. A good example of what can happen hee is 802.11g that has a 54 Mbps bitrate but delivers little more than 20 Mbps. (But that's partially because of some radio stuff obviously.)