Check out the new USENIX Web site. next up previous
Next: Implementation Details Up: Solution Overview Previous: Choosing the Best Provider


Directing Traffic Over Selected Providers

Once the best-performing provider for a transfer is identified, the traffic from the destination must be directed over the chosen link. This is the main inbound route control mechanism. Inbound control refers to selecting the right ISP or incoming interface on which to receive data. For an enterprise network, the primary mechanisms available are route advertisements and use of different addresses for different connections. Here, we discuss how these controls can be implemented.

If an enterprise has its own IP address block, it can advertise different address ranges to its upstream providers. Consider a site multihomed to two ISPs which owns a $/19$ address block. The site announces part of its address block on each provider link (e.g., a $/20$ sub-block on each link). Then, depending on which of the two provider links is considered superior for incoming traffic from a particular destination, the site would use a source address from the appropriate $/20$ address block. This ensures that all incoming packets for the connection would traverse the appropriate provider link. In cases where the enterprise is simply assigned an address block by its upstream provider, it may be necessary to also send outbound packets via the desired provider to ensure that the ISP forwards the packets.1

The process of ensuring that a connection uses a particular address must be handled differently for connections that are initiated from the enterprise than for those that are accepted into the site from external clients, as discussed below.

Initiated Connections: Handling connections initiated from an enterprise site amounts to ensuring that the remote content provider transmits data such that the enterprise ultimately receives it over the chosen provider. Inbound control can be achieved by having the edge router translate the source addresses on the connections initiated from its network to those belonging to the chosen provider's address block (i.e., the appropriate $/20$ block in the example above) via simple NAT-like mechanisms. This ensures that the replies from the destination will arrive over the appropriate provider.

Accepted Connections: Inbound route control over connections accepted into a site is necessary when the enterprise also hosts Internet servers which are accessed from outside. In this case, inbound control amounts to controlling the path (or the provider link) on which a given client is forced to send request and acknowledgment packets to the Web server. This is not easy since predicting client arrivals and forcing them to use the appropriate server address is generally not possible.

However, techniques based on DNS or deploying multiple versions of Web pages can help to achieve inbound control for externally initiated connection. For example, the enterprise can use a different version of a base Web page for each provider link. The hyperlinks for embedded objects in the page could be written with IP addresses corresponding to a given provider. Then, arriving clients would be given the appropriate base HTML page such that subsequent requests for the embedded objects arrive via the selected provider. On the other hand, the essential function of the DNS-based technique is to provide the address of the ``appropriate'' interface for each arriving client. A preliminary study of its effectiveness is discussed in Section 5. In this paper, we focus primarily on the case of enterprise-initiated connections.


next up previous
Next: Implementation Details Up: Solution Overview Previous: Choosing the Best Provider
Anees Shaikh 2004-05-05