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 address block. The site
announces part of its address block on each provider link (e.g., a
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
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 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.