• Keine Ergebnisse gefunden

2.5 Path Selection

Thus, while the candidate path selection can afford a more expensive decision process scheduling has to be cheap, e.g., only based on local state. Examples of scheduling strategies include:

• Schedule all chunks on a single preferred path, as long as this path is available, otherwise, use a less-suitable backup path.

• Distribute chunks based on path capacity, whereby capacity can be pre-determined or information available from other mechanisms, e.g., derived from the con-gestion window of MPTCP.

A similar effect as using the two-step approach described above can be achieved by caching path selection results. Indeed, using a cached path selection results can also be considered a scheduling strategy.

2.5.2 Path Characteristics

The characteristics of paths are manyfold. Some of them are end-to-end properties, while others are shared by all paths using a local interface or a provisioning domain (see Section 2.5.3). The most obvious characteristics of a path are its bandwith, delay and packet loss probability. All three characteristics are, in principle, end-to-end properties. Determining them for multiple candidates before the actual communication is often infeasible because of the overhead involved. In most access networks, where these characteristics matter, we can assume that the bandwidth bottleneck and the governing delay contributor is the access networks itself [31], and therefore with a small loss of precision treat these characteristics as properties of the local interface representing the path.

Also, when looking at cellular networks, monetary costbecomes a relevant prop-erty. Without destination based billing or zero-rating3, cost is a property of the Provisioning Domain [30] (PvD) — usually billed as traffic budget, traffic volume or in the time domain.

Depending on the applications’ needs, a path selection mechanism can be used for different objectives, including minimizing delay, maximizing or aggregating bandwidth, maximizing availability, and minimizing cost. Also, to achieve these objectives, there are multiple ways how to use path selection, e.g., based on the application’s communication units, on streams of them or, based on chunks within a protocol.

2.5.3 Provisioning Domains

Different paths can belong to the same PvD. For example, a Laptop computer can be connected via WiFi and using an Ethernet cable to the same access network. While the two interfaces to this network are different paths from the OSes perspective, these paths share most properties and, thus, can be treated as being the same network for many purposes, e.g., name resolution (see Section 2.7.1).

3 Zero-rating is the practice to exclude certain endpoints from traffic budgets and has become a major regulatory concern in cellular networks.

2.5 Path Selection

Figure 2.3: Multiple L3 Access Networks on a Single L2 Link.

Also, the opposite case is possible. Figure 2.3 shows an example where a home network is using two access networks each with its own router (Router 1/2)4. In this scenario, each router announces at least one IPv6 prefix for its access network.

This enables all applications within the home network the choice of access network by choosing the appropriate IP address as source address. With “just” the appropriate routing setup, a single interface can provide multiple paths that are in different provisioning domains.

A comprehensive solution for this problem is provided by the Multiple Provision-ing Domain Architecture [30] of the concluded IETF MIF working group. To de-tect which paths are provided by a common provisioning domain, all paths are la-beled with their provisioning domain. These labels are announced with the address auto-configuration by protocols like IPv6 Stateless Address Autoconfiguration [32]

(SLAAC) or DHCP as discussed in [33].

2.5.4 On-Path Network Functions

Some paths traverse middle-boxes or proxies that provide network functions on certain protocols. Examples for such network functions include [34]:

Firewalls limit the possible associations or their parameters.

WAN optimizers change transport protocol options or terminate transport proto-col sessions and connect them end-to-end to improve performance on links with, from endpoint perspective, unusual properties, e.g., unexpected high latency.

Caching-Proxies cache application layer objects and thus allow to save roundtrip times and backbone bandwidth.

Multipath-Proxies split the chunks of a flow to perform transparent bandwidth aggregation over multiple paths.

Transcoders change the format or stream rate of media streams.

While network functions can benefit applications’ performance, they also can prevent certain protocols variants [35, 36]. Therefore, the existence of network functions can influence the path choice. If a provisioning domain provides optional network functions, like HTTP or SOCKS proxies, they can provide derivate-paths for some protocols.

4See “Multi-Homed on a Single Link: Using Multiple IPv6 Access Networks” [3] for a comprehen-sive discussion of this scenario.

2.5.5 Path Selection through Network Function

Middle-boxes can perform path selection on communication units passing through them. These network functions are usually found as part ofhybrid-accessrouters, WAN bonding devices or as virtual interfaces in cellular offloading solutions.

The term cellular offloading [37, 38] refers to moving some traffic from a cellular network to other access networks, e.g., WiFi hotspots. The use-case of hybrid-access is exactly the opposite — it refers to bundling cellular and residential broad-band networks [39], to boost the performance of old residential broadbroad-band access networks, e.g., old DSL infrastructure, by offloading some of the traffic to a high bandwidth cellular network. WAN-bonding devices bundle multiple commodity res-idential broadcast access lines to increase bandwidth or availability.

While all these use-cases are more-or-less identical in their functionality at transport-or netwtransport-ork layer, their actual implementations largely differ. WAN bonding devices and hybrid-access routers are usually deployed as part of a customer premise equip-ment (CPE) or as middle-box directly connected to multiple CPEs. Offloading solutions are often realized as virtual interfaces, e.g., as logical interface [40] for IFOM with Proxy Mobile IPv6 [41], or as configuration agent for the IP stack.

Integrating these middle-boxes into automatic transport option selection is a com-plex task. If the network function is explicitly requested by the client, e.g., in case of TCP converters [42], paths through the network functions can be modeled by as-suming multiple paths matching the network function requested. In case ofIP flow mobility [29] without virtual interface, the configuration provided by a 3GPP access network discovery and selection function (ANDSF) can be used as part of the local policy. If the strategy used by these devices or the communication unit granularity they operate on is not known, the objectives of the path selection performed by the middle-box may conflict with the objectives at the end host, e.g., a middle-box may optimize for bandwidth in a case that is latency sensitive. In some cases, using the functionality provided by the network function can only be avoided by choosing a different protocol stack composition or path.

2.5.6 Path Selection and Cellular Networks

The lower layers of 3G, 4G, and other wireless networks include support for path selection or multiple paths of different granularity and complexity:

• GSM and other 2G networks support endpoint mobility.

• 3G networks use soft handovers, where during the transition to a new base-station, a handset remains connected to the old base-station. A soft handover mixes path selection and forward error correction in a clever way that can provide more bandwidth and less packet loss than each of the cells involved could provide under the given circumstances.