Is Best Effort IP Really Economic?

Dr. Lawrence G. Roberts

IPv6 Newsletter, June 2004

Shortly after I started the ARPANET in 1969 a religion somehow was created that “best effort” packet routing is the most economic way to forward data in the Internet. This was based on the concept that keeping any state information in the routers would somehow make them more expensive or un-scaleable. In 1969 this was true, memory was so expensive that it would have been foolish to keep any state information about a flow (a flow is the sequence of packets that forms a call or individual connection, all going between the same two processes). In 1969 the memory to keep state information for all the flows in the highest speed port would have increased the cost of the port by a factor of ten. Today, in 2004, although the port speed has increased from 50 Kb to 10 Gbps and the number of flows on a port has increased from 100 to 2M, the memory cost has decreased sufficiently faster than the port cost that the memory to keep all the flow state information is now only 0.6% of the port cost. Thus, it now is worthwhile to examine what benefit keeping this state information would achieve. The graph below shows that the cost of flow state memory became economic in the late 1990’s.


 


Flow state allows one to track and control the rate of a flow. Router control of TCP flows has been based on the assumption that rate information was not available in the router and therefore random discards based on queue length (RED or WRED) have been the best technique available. This typically permits at most 40% port utilization to insure low packet delays. However, given rate information on each flow and measurement of the total port utilization, TCP flows can be rate controlled by the router to just fill each port to 80% and not ever build up queuing delay. This can be done by discarding packets, as is the practice with slow-start today, or it could be achieved with rate feedback to the TCP process so that no packets would need to be discarded. Once a series of routers in the flow path can negotiate and return the rate they can support a TCP flow, slow-start can be bypassed and the sender could jump to the full maximum rate the network can support without congestion. Whenever congestion in the network changes, the rate can be adjusted, thereby allowing the network to rapidly adjust to varying load without having to confuse the sender with discards due to congestion and discards due to transmission errors.

 

This rate feedback concept has been introduced into IPv6 in an in-band QoS option field that negotiates the TCP rate across the network and returns it to the sender. Each router can adjust the rate to whatever rate it can support without congestion. When the sender’s TCP process receives the rate feedback, it can immediately jump to the agreed rate. From time to time the network may return a different rate, but the sender never needs to slow down due to lost packets and only needs to retransmit those packets truly lost due to transmission failures. Thus, in one round trip time (.1 to .5 seconds) TCP can start sending at very high rates and thus send a 1 MB web page in less than one second rather than the ten seconds typically required today for pages 1/10 the size. The 10:1 improvement in WWW access time could dramatically improve productivity. Also, this technique works well even when the round trip delay is long as in overseas access or satellite use.

 


The reason this in-band option is possible with IPv6 and not with IPv4, is that IPv6 protocol has a flow label that identifies the flow even when the packet is encrypted and also IPv6 requires each router to act on hop-by-hop options like the QoS option. Thus, as the QoS request progresses across the network, each router can adjust the TCP rate to whatever rate it can support. This option processing is normally feasible in IPv4 and given the important addition of encryption security, even the flow cannot be identified without the flow label. The benefit of controlling the flow rates not only allows ten times faster TCP operation, but it also permits the routers to achieve 80% utilization of the routers and the trunks. This is because the combined rate of all flows is known and the port utilization measured, thereby allowing much greater control of the accepted load. This 100% increase in utilization results from the addition of the additional 0.6% cost for the flow state memory, thereby clearly exploding the old religion that flow state would increase cost or not scale. On the contrary, it reduces cost by 60% and permits full in-band QoS specification including guaranteed rate flows, precedence, delay priority and TCP rate feedback.

 


The end result is that IPv6 with this new QoS option reduces the cost of IP by at least 2:1, decreases the time for WWW page access by 10:1, allows no-loss video and voice guaranteed rate flows at any speed, supports emergency services like 911 through precedence, and virtually eliminates packet loss in the network even for TCP. All this is achieved without the routers needing to (or being able to due to encryption) peer into levels 4-7 to make a poor guess about the QoS desired.  Thus the actual processing and cost required for good QoS is actually less with IPv6 then IPv4 and the result is far superior.