Bandwidth Aggregation, Bonding and Teaming
The increased use of Internet sharing combined with graphically rich web sites and multimedia applications have created a virtually insatiable demand for Internet access bandwidth. Broadband technologies such as DSL and cable modem are being deployed rapidly in metropolitan areas but many Internet users will not have access to such technologies for years to come. These users are actively seeking ways to increase their bandwidth today. Even users that do have broadband access often need more bandwidth than is available with a single connection. One solution open to such users is bandwidth aggregation. By combining more than one single Internet connection, users can accumulate enough bandwidth to meet their exact needs. There are different ways to aggregate bandwidth, each with its advantages and disadvantages. This document was written to help you understand the differences and choose the technology best suited to your needs.
We are presenting this information in a Q&A (Questions and Answers) format that we hope will be useful. Our knowledge of this subject relates to Internet connectivity in general, and stems from our own TCP/IP routing technology.
We are providing the best information available to us as of the date of this writing and intend to update it at frequent intervals as things change and/or more information becomes available. However we intend this Q&A as a guide only and recommend that users obtain specific information to determine applicability to their specific requirements. (This is another way of saying that we can't be held liable or responsible for the content.)
Download the Bandwidth Aggregation, Bonding and Teaming PDFIntroduction
Vicomsoft develops and provides Network Address Translation and TCP/IP routing technology, including bandwidth aggregation features. Our software allows users to connect whole LANs to the Internet, using single or multiple Internet connections. Click here to download free trial software.
Vicomsoft have gained significant experience in the area of bandwidth aggregation and would like to make this information available to those interested in this subject. For those who would like to study this subject in more detail useful links are listed at the end of this document.
Questions
- What is bandwidth aggregation?
- What is bonding?
- What is PPP Multilink?
- How does PPP Multilink work?
- What are the limitations of PPP Multilink?
- What are the advantages of PPP Multilink?
- What is Connection Teaming?
- How does Connection Teaming work?
- What are the limitations of Connection Teaming?
- What are the advantages of Connection Teaming?
- Is Connection teaming worthwhile for a single Internet user?
- What is the bottom line? What does Vicomsoft recommend?
1. What is bandwidth aggregation?
Figure 1: User connected via 256K DSL connection.
For many users broadband connections are either too expensive or simply unavailable.
Figure 2: Multiple 56K connections between User and ISP.
The use of multiple modems to achieve aggregate bandwidth equivalent to broadband solutions is both available and affordable to most users today.
The amount of time it takes to download web pages or other information from the Internet depends on a number of factors including Internet access bandwidth limitations, ISP performance restrictions, general Internet congestion and remote host response time. Often, the weakest link in this chain is the bandwidth between your computer and the Internet, also known as Internet access bandwidth. To many Internet users, increasing this bandwidth involves getting a broader bandwidth connection, sometimes at considerable expense. If no low cost broadband alternative is available in your area, the only way forward from a 56Kbps modem is ISDN or leased line. Both of these alternatives can be very costly.
It is possible however to have more than one connection between your computer and the Internet, and to combine them to accumulate bandwidth. Techniques that accomplish this task are collectively referred to in this document as "bandwidth aggregation". Although bandwidth aggregation may occur in many different contexts, the scope of this document is limited to the aggregation of Internet access bandwidth. Two techniques will be examined in detail, Multilink and Connection Teaming.
2. What is bonding?
Figure 3: Data Packets.
Data is broken up into manageable packets for Internet delivery.
Multiple bonded connections behave like a single connection. Suppose for example that a web server sends an image to a web browser. This image would be broken up into several packets by the server operating system because a single packet would be much too large for routers and network components to handle.
Figure 4: Component links are bonded.
The use of multiple modems to achieve aggregate bandwidth equivalent to broadband solutions is both available and affordable to most users today.
- Web server sends image to web browser.
- TCP stack on web server computer breaks data into packets for delivery.
- Packets are delivered to web browser over bonded link.
- TCP stack on web browser computer reassembles packets into image.
- Web browser displays image.
If part of the route between the server and the browser were composed of bonded multiple links, the packets that made up the image could alternately travel over one or the other of the component links. Neither the web server nor the web browser would be aware of this. From a functional point of view there is only one link. The component links are said to be bonded.
3. What is PPP Multilink?
Figure 5: PPP Multilink.
PPP Multilink can give you aggregate bandwidth equal to the sum of the individual physical connections.
The PPP Multilink Protocol (MP) is an extended version of PPP (Point to Point Protocol). It has the ability to bond two or more simultaneous parallel connections. The resulting virtual connection has bandwidth equal to the sum of the separate connections.
Figure 6: Recombination of PPP Packets.
PPP Packets contain information used to recombine and sequence them.
MP may fragment the packets if needed to meet the MTU (Maximum Transmit Unit) value, or alternatively send whole packets over the available links. MP transmits each individual packet or fragment along the first available link, along with extra information to enable the receiving end to recombine the fragments into a single packet for onward routing.
MP is a form of bandwidth aggregation that involves bonding. It is a non-proprietary TCP/IP standard defined in RFC 1990.
4. How does PPP Multilink work?
PPP Multilink splits a single PPP connection into two separate physical links, then recombines them in the correct sequence. To accomplish this it is necessary to have an MP compliant hardware device or software program at either end of the link. The functions performed by MP are as follows:
- Originating MP receives packets
- Optionally fragments them
- Determines which is the next available link
- Adds a PPP Multilink header containing sequencing and other information
- Forwards packet or packet fragments over available links
- Receiving MP receives packets or packet fragment
- Removes MP header
- Reconstitutes fragments into whole packets
- Forwards packets to IP address
5. What are the limitations of PPP Multilink?
Because PPP Multilink uses bonding, all the bonded links must originate and terminate on the same pair of endpoints so that they can split and recombine the data streams. Both the endpoints must use PPP Multilink.
In plain terms, this means that to use Mulitilink PPP, your ISP must have hardware or software that supports Multilink for the type of connection you are using and must offer this service to their subscribers. Not all connection types are supported. You may be using MP over a particular type of modem but your ISP may not have the corresponding hardware. Most ISDN enabled ISPs offer MP to bond the two B channels. Many offer bonding of V.90 modems as well. If you wish to bond any other connection type such as DSL, this can be done with very expensive hardware routing solutions, but these are not within the reach of most end users, and few ISPs support them.
To the best of our knowledge at the time of this writing, the majority of ISPs do not have any support for PPP Multilink with any type of connection other than ISDN.
6. What are the advantages of PPP Multilink?
Figure 7: Protocols with a single connection will benefit from Multilink Transparency.
The major advantage of PPP Multilink is that it is a public standard, and therefore offers interoperability among vendors, in theory at least. It also has the benefit that even a single TCP/IP connection, for example an FTP download, can take advantage of multiple links. If you download a file over a PPP Multilink connection with two identical bonded links, the file will download twice as fast. Neither the FTP client nor the server will be aware that there is a Multilink connection in the middle. Similarly, any protocol that requires a single connection between host and client, such as terminal emulation, will benefit from bandwidth aggregation offered by Multilink because of this transparency.
7. What is Connection Teaming?
Figure 8: PPP Multilink and Connection Teaming.
Unlike PPP Multilink, Connection Teaming links are not terminated on pairs of end points.
Connection Teaming is a form of bandwidth aggregation that does not bond links. It sets up and maintains individual TCP/IP sessions along multiple links using standard protocols. A Connection Teaming server between the LAN and the Internet receives requests from LAN clients and forwards them along the next available connection. LAN browsers and other clients do not need to know which connection is used to forward their requests to the Internet. Unlike bonded links, however, individual requests are not split across multiple links then recombined again. Each request must follow one of the available data paths.
8. How does Connection Teaming work?
Figure 9: Connection Teaming creates a significant increase in effective throughput.
A Connection Teaming server is situated on the user's LAN, as part of the routing software between the user and the Internet. When a TCP session is opened, the server uses the link with the lowest amount of traffic. The many HTTP, FTP or other TCP sessions that are opened by LAN computers are distributed to all of the available connections this way. The result is a relatively even distribution of Internet traffic across the available links, and a significant increase in effective throughput.
9. What are the limitations of Connection Teaming?
The primary limitation of Connection Teaming comes from the fact that it does not split up individual requests. A single user downloading a large file will not experience any improvement with Connection Teaming. Some teaming solutions do allow FTP delivery over multiple links. This would not apply however, to a single large graphic delivered via HTTP.
10. What are the advantages of Connection Teaming?
Figure 10: Connection Teaming allows a combination of cable modems, DSL and older modems.
Connection Teaming can use different connection technologies. It is possible combine older modems with your current ones, and to combine analog modems with DSL, or cable modems.
Figure 11: Connection Teaming can share the load when there are multiple concurrent TCP/IP connections.
Connection Teaming is an effective way to share load whenever there are multiple concurrent TCP/IP connections. For example, if one user sets up an FTP download connection it can only use one of the links, but this leaves the other links available for other user connections.
Figure 12: Connection Teaming can open additional connections on demand.
Connection Teaming can open additional connections on demand, for example when saturation of existing open bandwidth reaches 80%, or when a specific route is solicited.
Figure 13: Each link behaves like a separate Internet Connection.
Connection teaming allows the teamed links to connect to separate Internet access points, or to separate ISPs. It is therefore not necessary to find a compliant ISP. Each link behaves like a separate, independent Internet connection, so the upstream service providers do not need to know that your system is using teaming, nor do they require any special protocol or subscription options.
11. Is Connection Teaming worthwhile for a single Internet user?
Figure 14: Delivering individual page elements over Teamed Connections.
Possibly.
Web pages are composed of dozens of individual graphical items. Each of these items involves a separate HTTP request. Each request can be delivered over a separate link. Therefore, it is possible a single user browsing the Web will experience performance gains through the use of Connection Teaming, but this depends on the sites you visit, the types of connections to the Internet you are using and your ISP.
Please be aware that a product such as the Vicomsoft InterGate is designed for a network of machines, i.e. multiple people accessing the Internet at the same time rather than just one machine.
12. What is the bottom line? What does Vicomsoft recommend?
PPP Multilink is transparent and seamless, and breaks up individual packets into fragments for maximum granularity. If you are planning to use analog modems or ISDN only, for a single user, and you download large files regularly, PPP Multilink will give you superior results. As such, it is to be preferred, all other factors being equal, if it is available from an ISP near you. In practice, this is the exception rather than the rule.
If, on the other hand you would like to mix and match connection types or if you have have multiple LAN users and would like to confine FTP to a single channel, it is very likely that Connection Teaming is to be preferred. In any event, it may well be the only alternative available.
References:
- http://www.rfc.net/get2.php3/rfc1661.html
- http://www.rfc.net/get2.php3/rfc1717.html
- http://www.rfc.net/get2.php3/rfc1990.html
- http://linux-mp.terz.de/
- http://infodeli.3com.com/infodeli/tools/isdn/mlppp/mlppp.htm
If you have any queries about internet security then please contact us.