A Network-Layer Proxy for Bandwidth Aggregation and Reduction of IP Packet Reordering Kristian Evensen *† Dominik Kaspar *† Paal Engelstad ‡*† Audun F. Hansen * Carsten Griwodz *† Pål Halvorsen *† * Simula Research Laboratory, Norway, University of Oslo, Norway, Telenor R&I, Norway email:{kristrev, kaspar, paalee, audunh, griff, paalh}@simula.no Abstract—With today’s widespread deployment of wireless technologies, it is often the case that a single communication device can select from a variety of access networks. At the same time, there is an ongoing trend towards integration of multiple network interfaces into end-hosts, such as cell phones with HSDPA, Bluetooth and WLAN. By using multiple Internet connections concurrently, network applications can benefit from aggregated bandwidth and increased fault tolerance. However, the heterogeneity of wireless environments introduce challenges with respect to implementation, deployment, and protocol com- patibility. Variable link characteristics cause reordering when sending IP packets of the same flow over multiple paths. This paper introduces a multilink proxy that is able to trans- parently stripe traffic destined for multihomed clients. Operating on the network layer, the proxy uses path monitoring statistics to adapt to changes in throughput and latency. Experimental results obtained from a proof-of-concept implementation verify that our approach is able to fully aggregate the throughput of heterogeneous downlink streams, even if the path characteristics change over time. In addition, our novel method of equalizing delays by buffering packets on the proxy significantly reduces IP packet reordering and the buffer requirements of clients. Index Terms—Wireless networks, heterogeneous systems, traf- fic analysis, network protocols, scheduling, measurements. I. I NTRODUCTION The growing deployment of wireless infrastructure and tech- nologies, 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 ongo- ing trend towards integration of heterogeneous radio interfaces into single end devices. An example scenario of a laptop that communicates over both a WLAN and an HSDPA access network is shown in Figure 1. Despite the rise of wireless connectivity, from a user’s point of view, Internet access is usually provided using a single link at each point in time. Although multiple networks may be accessible simultaneously, users are today still unable to freely combine available connections and are required to choose a default link over which all traffic will flow. Using multiple concurrent network connections has several potential benefits. Increased throughput by aggregation of bandwidth is the most intuitive advantage. For applications that open many transport sessions at once, this can be achieved on most operating systems by proper configuration of routing tables. Other benefits include increased service reliability, latency reduction, fault tolerance by sending redundant data over different paths, and enhanced mobility when combining coverage areas of independent access networks. The final target of our work is a multilink solution that al- lows easy deployment and installation. The main requirement is that any third-party server application, operating system, and infrastructure should remain unchanged. Additionally, the client-side operating systems should not have to be modified. For enabling the concurrent use of multiple access networks at the multihomed clients, a quick and user-friendly configuration of network interfaces, routing tables, traffic rules, etc., would be desirable. A solution is needed that is robust in severely heterogeneous environments, compatible with all end-to-end applications and transparent to any transport protocols. For meeting the requirements and reaching the goal of transparently striping packets to multiple addresses at a single receiver, many challenges exist. The major difficulties are caused by the heterogeneity of wireless links. As shown in [1], when IP packets that belong to the same flow are sent over highly variable wireless links, it is possible to achieve increased throughput, but at the cost of high packet reordering at the receiver. Packet reordering is crucial for the buffer requirements at the clients, and it has negative effects on the performance of transport protocols that make certain assumptions (such as interpreting reordered packets as lost). Fig. 1. A multilink proxy is used to schedule traffic from a server to all available interfaces on a client, which is simultaneously connected to a WLAN and an HSDPA access network. Previously, contributions to multilink transfer (more gener- ally referred to as inverse multiplexing [2]) have been proposed on many layers of the protocol stack (see Section II). However, there has not yet been a breakthrough in allowing a user- friendly and simultaneous utilization of multiple available interfaces. Although there is increased interest in this topic, in practice, it is usually the operating system that selects a default network interface to be used for communication, while any other interface remains idle. The reasons for the lack of a