The present invention generally relates to increasing the efficiency in transporting Transmission Control Protocol (TCP) flows through a network segment between a first network node and a second network node, which both incorporate a TCP host. The TCP host can be a TCP client, a TCP server or a TCP proxy. A TCP proxy is a server that acts as an intermediary between a client and another server called the destination server. Typically, TCP clients establish connections or TCP flows to the TCP proxy server, which then establishes connections to another TCP proxy server or the destination server. A TCP proxy thus terminates the TCP connection on one end and initiates the connection on the other end. The first and second network nodes can be any type of network equipment, including but not limited to subscriber terminals such as a Digital Subscriber Line (DSL) modem, a Set-Top Box (STB), an optical network terminals (ONT), access nodes such as a Digital Subscriber Line Access Multiplexer (DSLAM), a Digital Loop Carriers (DLC), a Cable Modem Termination System (CMTS), an optical fibre aggregator, a Broadband Access Server (BAS), routing nodes such as an edge IP router, a core IP router, a switch/router, etc.
Internet traffic currently is dominated by TCP traffic. Some surveys show that TCP flows constitute 90% of the entire Internet traffic. Part of the TCP traffic concerns so called mice data traffic: TCP flows with a short duration that convey small amounts of data. Another part of the TCP traffic concerns the so-called elephant data traffic: TCP flows with a long duration that convey a large amount of data, such as multimedia downloads, etc. In current networks, mice data traffic typically suffers from unfair bandwidth share.
The widely used Reno variant of TCP is currently the dominant implementation in the Internet. The standard TCP or TCP Reno is defined in IETF RFC 1122. This RFC can be retrieved from the Internet via URL:
Although numerous more efficient TCP variants exist (like for instance TCP Fast, TCP Vegas, TCP Westwood, . . . ), TCP Reno is not generally replaced by any of these more efficient TCP implementations because TCP Reno tends to starve these other variants. A survey of alternate TCP protocols is given in “A Survey of Transport Protocols other than Standard TCP” from the authors M. Goutelle et al. This publication can be retrieved via URL:
The better performing TCP variants cannot coexist with TCP Reno because TCP Reno aggressively outperforms the other TCP variants in competing for bandwidth. This hinders the introduction of better performing TCP variants in public networks like the Internet where TCP Reno is already widely used. Use of the more efficient TCP variants currently is restricted to private networks where no TCP Reno is implemented. The article “Fairness Comparisons Between TCP Reno and TCP Vegas for Future Deployment of TCP Vegas” from the authors Kenji Kurata, Go Hasegawa and Masayuki Murata for instance concludes that it is unlikely that TCP Vegas will penetrate the Internet although it is one of the most promising TCP mechanisms because of its high performance resulting from an enhancement of the congestion avoidance algorithm of TCP Reno. The reason is that in a situation where a TCP Vegas connection and a TCP Reno connection have to co-exist in the network, the TCP Vegas connection may suffer from significant unfairness. The entire article comparing the congestion avoidance algorithms of TCP Reno and TCP Vegas and containing the results of the author's research on situations where TCP Reno and TCP Vegas connections share a link can be downloaded via the URL:
Another publication from 11 Mar. 2005, “Equilibrium and Fairness of Networks Shared by TCP Reno and Vegas/FAST” from the authors Ao Tang, Jiantao Wang, Sanjay Hegde and Steven H. Low, demonstrates that any target inter-protocol fairness between TCP Reno and TCP Fast can be achieved in principle by an appropriate choice of the TCP Fast parameters. The article however concludes that it is unclear how the parameter values have to be computed in practice, thus leaving fair co-existence of TCP Reno and TCP Fast on a shared link a theoretical possibility rather than a feasible practice. This publication from Tang et al. is available through the Internet via URL:
In conventional TCP implementations, a TCP source (or client) opens a socket for each TCP flow and establishes an end-to-end connection between the TCP source and a destination. The standard TCP protocol, i.e. TCP Reno, will then pass through the usual procedure: a three-way handshaking, slow start and congestion control (congestion avoidance, fast retransmit and fast recovery). As soon as all data are transmitted, the TCP closure procedure is initiated. The different phases of standard TCP (TCP Reno) are described in detail in IETF RFC 2001, which can be retrieved from the Internet via URL:
Since the number of peer-to-peer connections is rapidly increasing due to the success of peer-to-peer applications, also the number of TCP connections and consequently the amount of data that is transported on low transmission regime (because it has to pass through phases like slow start and congestion control) is increasing quickly. Indeed, the Internet has been undergoing some fundamental changes, from an upgrade of the access infrastructure to changes in the way the Internet is used. New applications like peer-to-peer communications, VoIP, and IPTV, and the increase in mice data traffic require changes on the data and transport structure of the overall network. However, mechanisms such as TCP Reno that have been the backbone of the Internet for many years, have been unable to evolve efficiently to take advantage of the changes in the Internet infrastructure and usage.
An object of the present invention is to disclose TCP sending and receiving hosts as well as a method for transceiving TCP flows that remove the inefficiencies of the current TCP implementation, in particular in handling the increased number of connections resulting from new applications like peer-to-peer communication, and in transporting mice data traffic which are treated unfairly by the current TCP protocol.
It is a further object of the current invention to enable the introduction of TCP variants that are better performing than TCP Reno in public networks where such new variants—at least temporarily—will have to coexists with TCP Reno without being bandwidth-starved.
The above objectives are achieved through the sending TCP host defined by claim 1, the receiving TCP host defined by claim 8, and the method for transceiving TCP flows defined by claim 9.
Indeed, by aggregating or multiplexing all TCP flows that pass through a network segment between the sending TCP host (a client or proxy) and receiving TCP host (a proxy or destination server), all TCP data packets are transported over a single TCP connection wherein the fairness between the aggregated flows can be controlled by the TCP convergence module. Thanks to the aggregation of the TCP flows in the network segment between the network elements incorporating the sending and receiving TCP hosts according to the present invention, there will be no bandwidth competition amongst the TCP flows. The aggregation gives a better chance to mice data traffic because the mice data will be transported on higher congestion windows in the network segment that operates according to the invention. An additional advantage of the current invention is that by segmenting the path, the data transported in this network segment terminated by the sending and receiving TCP hosts according to the current invention will be ruled by the traffic between the end points of that segment and not by the overall traffic conditions. Thus, even if congestion happens in another segment of the path, the TCP packets aggregated in the aggregate TCP connection on the network segment operating according to the current invention will not be affected and can still be transported in the most effective way. Further, the single TCP connection wherein all flows are aggregated might be using a better variant of TCP, such as TCP Vegas or TCP Fast, because no TCP Reno connection will coexist together with the aggregate TCP flow on the network segment and hence there is no risk for the aggregate TCP flow to be treated unfair or to become bandwidth starved. Thus, the present invention allows transparent use of a better TCP implementation, meaning that it will not disturb the conventional TCP traffic present in the network.
An additional, optional feature of the sending TCP host according to the current invention is defined by claim 2. When the aggregate TCP flow is of a TCP implementation different from TCP Reno, the network segment conveying the aggregate TCP flow will obviously benefit from the better performance of that TCP variant. The choice of the TCP implementation can for instance be made according to the physical characteristics of the network segment. Such introduction of better performing TCP implementations was unrealistic to happen without the current invention because all TCP Reno connections would have to be replaced with the better performing TCP variant at the same time, or a new, better performing TCP variant able to compete or coexists with TCP Reno would have to be developed.
Another additional, optional feature of the sending TCP host according to the current invention is defined by claim 3. Indeed, in case of a high speed, high capacity network segment, the TCP Fast implementation could be chosen for the aggregate TCP flow since this TCP implementation is optimized for such network characteristics.
Another additional, optional feature of the sending TCP host according to the current invention is defined by claim 4. Indeed, in case of a network segment where enhanced congestion anticipation from the source side is preferred, the TCP Vegas implementation could be chosen for the aggregate TCP flow since this TCP implementation was designed thereto. Instead of using packet loss as a measure for congestion, the TCP Vegas source will monitor the difference between the rate it is expecting to see and the rate it is actually realising. TCP Vegas' strategy is to adjust the source's sending rate in an attempt to keep a small number of packets buffered in the network elements along the path.
Another additional, optional feature of the sending TCP host according to the current invention is defined by claim 5. Indeed, in case of a wireless network segment, the TCP Westwood implementation could be chosen for the aggregate TCP flow since this TCP implementation is optimized for wireless links.
A further optional feature of the sending TCP host according to the current invention is that the aggregate TCP flow might be a TCP Reno flow, as defined by claim 6. This is so because even in case the aggregate TCP flow is a TCP Reno flow, certain advantages and objectives of the current invention will still be realised. For instance, it will be possible to control the bandwidth allocation to the different TCP flows from the TCP convergence module and as a result there will be no bandwidth competition amongst the TCP flows on the network segment. Also, the advantages related to the segmentation, i.e. the independence of congestion that occurs in other network segments, remain.
As indicated by claim 7, a further optional feature of the sending TCP host according to the current invention is that its TCP convergence module controls the bandwidth allocation for each TCP flow aggregated in the aggregate TCP flow. As a consequence, there will be less congestion implying that the TCP mechanism according to the present invention will operate less on the low transmission regime such as the slow start and congestion avoidance phases.
In the network drawn in
For the forwarding of TCP flows from DSLAM 106 to the next network element, i.e. the Ethernet switch 104 in
Yet another aggregate TCP tunnel shown in
A last aggregate TCP tunnel drawn in
Although the present invention has been illustrated by reference to specific embodiments, it will be apparent to those skilled in the art that various changes and modifications may be made within the spirit and scope of the invention. It is therefore contemplated to cover any and all modifications, variations or equivalents that fall within the spirit and scope of the basic underlying principles disclosed and claimed in this patent application. For example the context of ADSL and Ethernet were given only as an example. It will be clear to the person skilled in the art of designing telecom infrastructure that the current invention can be implemented on any network segment independent from the underlying physical layer and network layer technologies. Further, it is noted that also TCP Vegas, TCP Reno, TCP Westwood, etc. were only mentioned as example TCP variants that could be multiplexed into an aggregate TCP flow according to the current invention, or that could be used for the aggregate TCP flow itself. Numerous other TCP variants exist, some of which are described in the publications cited in the introductory part of this patent application. For all these variants, the current invention is applicable with same advantages.
Number | Date | Country | Kind |
---|---|---|---|
05292572.4 | Dec 2005 | EP | regional |