- KnowledgeShare - White Papers
- Bandwidth Aggregation, Teaming and Bonding
-
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.)
- Introduction
-
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.
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?
Download this article as a .PDF
- Answers
- 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.
- 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
The result is a smooth distribution of traffic over available
links even when they vary considerably in capacity or when available bandwidth
fluctuates greatly.
- 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.