Bandwidth Aggregation over Heterogeneous Wireless Links - CiteSeerX

1 downloads 0 Views 150KB Size Report
Bandwidth Aggregation over Heterogeneous Wireless ... are unstable (in terms of bandwidth and delay) and hetero- .... removed the cap on the bandwidth.
Bandwidth Aggregation over Heterogeneous Wireless Links

1.

Kristian Evensen

Dominik Kaspar

Simula Research Laboratory, Norway University of Oslo, Norway

Simula Research Laboratory, Norway University of Oslo, Norway

[email protected]

[email protected]

INTRODUCTION

Today, most mobile devices come equipped with multiple network devices supporting different technologies. Laptops and cellphones can often connect to both WLAN and 3G networks. The growing deployment of wireless infrastructure and technologies, such as WLAN, HSDPA, Bluetooth and WiMAX, often places a single user device within coverage range of multiple access networks. At the same time, there is an ongoing trend towards integration of heterogeneous radio interfaces into single end devices. An example scenario is a laptop communicating over both a WLAN and an HSDPA access network. Despite the rise of wireless connectivity, from a user’s point of view, Internet access is usually provided using only a single link. For example, the OS might not allow the user to select freely. Using multiple network connections simultaneously has several potential benefits. Increased throughput by aggregation of bandwidth is the most intuitive advantage, while increased service reliability, latency reduction and fault tolerance are other potential gains. In our research project we have chosen to focus on bandwidth aggregation (both with regards to bulk data transfer and video streaming). Due to their nature, wireless links are unstable (in terms of bandwidth and delay) and heterogeneous, which causes reordering of IP packets. Reordering leads to larger buffer requirements and significantly reduces the performance of reliable transport protocols. Currently, our main goal is to reduce reordering and achieve close to ideal bandwidth aggregation. In Section 3 we present our first attempt - a solution that combines small changes at the client with a transparent proxy.

2.

RELATED WORK

Bandwidth aggregation, often called network striping, is an old research area, but only in the last couple of years people have looked into aggregation of wireless links. Different solutions have been suggested for every layer of the network stack.

However, we feel that the previously suggested solutions are either too intrusive or based on the wrong assumptions. For example, in [2], the researchers use an RTT of 30 ms for both WLAN and HSDPA, which contradicts with our field measurements [3, 4]. Another problem with the existing, suggested solutions is that they often require significant changes at either one or both ends of an end-to-end connection. For example, the work presented in [5, 7, 1, 6] either requires completely new protocols, large modifications to established ones or significant changes to client or server.

3.

Because of the drawbacks mentioned in the previous section, the first thing we decided upon was that our suggested solution should be as transparent to applications and transport connections as possible. Ideally, no changes will be required at either end of a connection. Inspired by the work done in [6], we decided to develop a transparent proxy. All traffic going to and from a client will pass through the proxy, which is responsible for balancing the traffic between the wireless links. To accommodate for shifts in bandwidth and avoid causing congestion and thereby packet loss, we continuously update a send vector which specifies which interface a packet should be sent on. To reduce reordering, we delay all packets except the ones that will be transferred by the link with the highest latency. We assume that the link between the proxy and the server has a much higher capacity than combined links between the proxy and the client. In other words, the wireless links are always the bottleneck. When balancing the traffic, the proxy rewrites the destination IP for every other IP than the primary one. At the client, a small kernel module changes the IP back. After the original IP address has been inserted, the packets are routed internally in the machine. This rewriting is done so that no changes are required at higher layers or in the applications. To them it will look like a direct connection.

4. Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. To copy otherwise, to republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Trilogy Future Internet Summer School ’09 Louvain-la-Neuve, Belgium Copyright 200X ACM X-XXXXX-XX-X/XX/XX ...$10.00.

TRANSPARENT PROXY

RESULTS

Figures 1 and 2 show our key results so far. Both experiments were performed in our closed test-network, using the tc tool to emulate different network conditions and UDP as the transport layer protocol. We decided not to use TCP this time, as TCP is more complex and has several mechanisms that would affect the results. For Figure 1, we limited the bandwidth of one link to 5 Mbit/s and the other to 1 Mbit/s. In other words, the ideal

7

4

perfect world, the displacement in sequence order would be zero (in other words, all packets arrive in the correct order). We did not achieve that with our current solution, but we managed to improve the situation significantly. Compared to using plain round-robin (sending the packets immediately over every other link), our solution reduced the required buffer size (or occupancy) from 18 to 9 packets. In other words, a reduction of 50%.

3

5.

Throughput of Link 1 Throughput of Link 2 Aggregated Throughput 6

Throughput (Mbit/s)

5

2

1

0

0

100

200

300

400

500

600

Elapsed Time (seconds)

Figure 1: Adaptive bandwidth aggregation – a send vector based on path monitoring feedback is able to adapt to arbitrary bandwidth changes. 12 Delay Equalizer disabled Delay Equalizer enabled

Number of Packets (%)

10 8 6 4 2 0 −20

−10

0

10

20

30

Displacement in Sequence Order (packets)

Figure 2: Even with variable delays, the proxy is able to considerably reduce IP packet reordering. aggregated bandwidth was 6 Mbit/s. Our goal was to see how the proxy deals with bandwidth variations. If it was not able to deal with changes fast enough, we would experience congestion and packet loss. Also, if the proxy reacts too slow or is not accurate enough, we would not achieve close to the ideal aggregated bandwidth. As shown in the figure, the proxy is able to adjust to the new conditions sufficiently fast. The combined throughput is most of the time very close to the ideal aggregated bandwidth of 6 Mbit/s. In the tests conducted for Figure 2 we varied the delay and removed the cap on the bandwidth. Delay variations lead to IP packet reordering, the packets arrive in the wrong order at the client and bigger buffers are required. In order to reduce the number of out-of-order packets, the proxy continuously measures the delay on all links, and then delays all packets except those going out on the highest latency link. The graph in Figure 2 shows the required buffer size in our experiment if the application had to guarantee that 99% of the packets are received by the application in order. In a

CONCLUSION

We have developed a transparent proxy that is able to stripe IP packets to multiple network interfaces at a client. The proxy balances traffic between the links based on available bandwidth, and reduces reordering by delaying IP packets according to link monitoring measurements. In the near future, we are going to bring the proxy into a real-life scenario to see how it behaves. Also, we will look into optimizing it for specific application types and add support for other transport protocols, most importantly TCP.

6.

REFERENCES

[1] Allman, M., Kruse, H., and Ostermann, S. An application-level solution to TCP’s satellite inefficiencies. In Proceedings of the First International Workshop on Satellite-based Information Services (WOSBIS) (Rye, New York, USA, 1996). [2] Huang, C.-M., and Tsai, C.-H. WiMP-SCTP: Multi-path transmission using stream control transmission protocol (SCTP) in wireless networks. In AINA Workshops (2007), pp. 209–214. [3] Kaspar, D., Evensen, K., Hansen, A. F., Engelstad, P., Halvorsen, P., and Griwodz, C. An analysis of the heterogeneity and IP packet reordering over multiple wireless networks. In IEEE Symposium on Computers and Communications (ISCC) (2009). [4] Kaspar, D., Hansen, A. F., and Griwodz, C. Multilink transfer over heterogeneous networks. In IEEE International Conference on Network Protocols (ICNP), Student Poster Session (2008). [5] Mao, S., Bushmitch, D., Narayanan, S., and Panwar, S. MRTP: A multi-flow real-time transport protocol for ad hoc networks. IEEE Transactions on Multimedia (2006). [6] Phatak, D. S., Goff, T., and Plusquellic, J. IP-in-IP tunneling to enable the simultaneous use of multiple IP interfaces for network level connection striping. Computer Networks (2003). [7] Zhang, M., Lai, J., Krishnamurthy, A., Peterson, L., and Wang, R. A transport layer approach for improving end-to-end performance and robustness using redundant paths. In ATEC ’04 (2004).