draft-ietf-cdi-known-request-routing-01.txt   draft-ietf-cdi-known-request-routing-02.txt 
Network Working Group A. Barbir
Internet-Draft Nortel Networks Network Working Group B. Cain
Expires: November 8, 2002 B. Cain Internet-Draft Storigen Systems
Storigen Systems Expires: May 2, 2003 A. Barbir
F. Douglis Nortel Networks
IBM Research
M. Green
CacheFlow
M. Hofmann
Lucent
R. Nair R. Nair
D. Potter
Cisco Cisco
O. Spatscheck O. Spatscheck
AT&T Labs AT&T
November 2002
May 8, 2002
Known CN Request-Routing Mechanisms Known CN Request-Routing Mechanisms
draft-ietf-cdi-known-request-routing-01.txt draft-ietf-cdi-known-request-routing-02.txt
Status of this Memo Status of this Memo
This document is an Internet-Draft and is in full conformance with This document is an Internet-Draft and is in full conformance with
all provisions of Section 10 of RFC2026. all provisions of Section 10 of RFC2026.
Internet-Drafts are working documents of the Internet Engineering Internet-Drafts are working documents of the Internet Engineering
Task Force (IETF), its areas, and its working groups. Note that Task Force (IETF), its areas, and its working groups. Note that
other groups may also distribute working documents as other groups may also distribute working documents as Internet-
Internet-Drafts. Drafts.
Internet-Drafts are draft documents valid for a maximum of six Internet-Drafts are draft documents valid for a maximum of six months
months and may be updated, replaced, or obsoleted by other documents and may be updated, replaced, or obsoleted by other documents at any
at any time. It is inappropriate to use Internet-Drafts as reference time. It is inappropriate to use Internet-Drafts as reference
material or to cite them other than as "work in progress." material or to cite them other than as "work in progress."
The list of current Internet-Drafts can be accessed at The list of current Internet-Drafts can be accessed at http://
http://www.ietf.org/ietf/1id-abstracts.txt. www.ietf.org/ietf/1id-abstracts.txt.
The list of Internet-Draft Shadow Directories can be accessed at The list of Internet-Draft Shadow Directories can be accessed at
http://www.ietf.org/shadow.html. http://www.ietf.org/shadow.html.
This Internet-Draft will expire on November 08, 2002. This Internet-Draft will expire on May 2, 2003.
Copyright Notice Copyright Notice
Copyright (C) The Internet Society (2000). All Rights Reserved. Copyright (C) The Internet Society (2002). All Rights Reserved.
Abstract Abstract
The work presents a summary of Request-Routing techniques that are The work presents a summary of Request-Routing techniques that are
used to direct client requests to surrogates based on various used to direct client requests to surrogates based on various
policies and a possible set of metrics. In this memo the term policies and a possible set of metrics. In this memo the term
Request-Routing represents techniques that are commonly called Request-Routing represents techniques that are commonly called
content routing or content redirection. In principle, content routing or content redirection. In principle, Request-
Request-Routing techniques can be classified under: DNS Routing techniques can be classified under: DNS Request-Routing,
Request-Routing, Transport-layer Request-Routing, and Transport-layer Request-Routing, and Application-layer Request-
Application-layer Request-Routing. Routing.
Table of Content Table of Contents
1. Introduction ................................................2 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 3
2. DNS based Request-Routing Mechanisms ........................3 2. DNS based Request-Routing Mechanisms . . . . . . . . . . . . 4
2.1 Single Reply ................................................4 2.1 Single Reply . . . . . . . . . . . . . . . . . . . . . . . . 4
2.2 Multiple Replies ............................................4 2.2 Multiple Replies . . . . . . . . . . . . . . . . . . . . . . 4
2.3 Multi-Level Resolution ......................................4 2.3 Multi-Level Resolution . . . . . . . . . . . . . . . . . . . 4
2.3.1 NS Redirection ..............................................4 2.3.1 NS Redirection . . . . . . . . . . . . . . . . . . . . . . . 4
2.3.2 CNAME Redirection ...........................................5 2.3.2 CNAME Redirection . . . . . . . . . . . . . . . . . . . . . 5
2.4 Anycast .....................................................5 2.4 Anycast . . . . . . . . . . . . . . . . . . . . . . . . . . 5
2.5 Object Encoding .............................................6 2.5 Object Encoding . . . . . . . . . . . . . . . . . . . . . . 6
2.6 DNS Request-Routing Limitations .............................6 2.6 DNS Request-Routing Limitations . . . . . . . . . . . . . . 6
3. Transport-Layer Request-Routing .............................7 3. Transport-Layer Request-Routing . . . . . . . . . . . . . . 8
4. Application-Layer Request-Routing ...........................8 4. Application-Layer Request-Routing . . . . . . . . . . . . . 9
4.1 Header Inspection ...........................................8 4.1 Header Inspection . . . . . . . . . . . . . . . . . . . . . 9
4.1.1 URL-Based Request-Routing ...................................8 4.1.1 URL-Based Request-Routing . . . . . . . . . . . . . . . . . 9
4.1.1.1 302 Redirection .............................................8 4.1.2 Header-Based Request-Routing . . . . . . . . . . . . . . . . 10
4.1.1.2 In-Path Element .............................................9 4.1.3 Site-Specific Identifiers . . . . . . . . . . . . . . . . . 10
4.1.2 Mime Header-Based Request-Routing ...........................9 4.2 Content Modification . . . . . . . . . . . . . . . . . . . . 11
4.1.3 Site-Specific Identifiers ...................................10 4.2.1 A-priori URL Rewriting . . . . . . . . . . . . . . . . . . . 11
4.2 Content Modification ........................................10 4.2.2 On-Demand URL Rewriting . . . . . . . . . . . . . . . . . . 12
4.2.1 A-priori URL Rewriting ......................................10 4.2.3 Content Modification Limitations . . . . . . . . . . . . . . 12
4.2.2 On-Demand URL Rewriting .....................................11 5. Combination of Multiple Mechanisms . . . . . . . . . . . . . 13
4.2.3 Content Modification Limitations ............................11 6. Security Considerations . . . . . . . . . . . . . . . . . . 14
5. Combination of Multiple Mechanisms ..........................11 7. Additional Authors and Acknowledgements . . . . . . . . . . 15
6. Security Considerations .....................................12 Normative References . . . . . . . . . . . . . . . . . . . . 16
7. Acknowledgements ............................................12 Informative References . . . . . . . . . . . . . . . . . . . 17
8. References ..................................................12 Authors' Addresses . . . . . . . . . . . . . . . . . . . . . 17
9. Authors' Addresses ..........................................12 A. Measurements . . . . . . . . . . . . . . . . . . . . . . . . 18
Appendix A ..................................................14 A.1 Proximity Measurements . . . . . . . . . . . . . . . . . . . 18
A.1 Proximity Measurements ......................................14 A.1.1 Active Probing . . . . . . . . . . . . . . . . . . . . . . . 18
A.1.1 Active Probing ..............................................14 A.1.2 Passive Measurement . . . . . . . . . . . . . . . . . . . . 19
A.1.2 Passive Measurement .........................................15 A.1.3 Metric Types . . . . . . . . . . . . . . . . . . . . . . . . 19
A.1.3 Metric Types ................................................15 A.1.4 Surrogate Feedback . . . . . . . . . . . . . . . . . . . . . 20
A.2 Surrogate Feedback ..........................................16 Full Copyright Statement . . . . . . . . . . . . . . . . . . 21
A.2.1 Probing .....................................................16
A.2.2 Well Known Metrics ..........................................16
1. Introduction 1. Introduction
The document provides a summary of current known techniques that The document provides a summary of current known techniques that
could be used to direct client requests to surrogates based on could be used to direct client requests to surrogates based on
various policies and a possible set of metrics. The task of various policies and a possible set of metrics. The task of
directing clients' requests to surrogates is also called directing clients' requests to surrogates is also called Request-
Request-Routing, Content Routing or Content Redirection. Routing, Content Routing or Content Redirection.
Request-Routing techniques are commonly used in Content Networks Request-Routing techniques are commonly used in Content Networks
(also known as Content Delivery Networks)[5]. Content Networks (also known as Content Delivery Networks) [8]. Content Networks
include network infrastructure that exists in layers 4 through 7. include network infrastructure that exists in layers 4 through 7.
Content Networks deal with the routing and forwarding of requests Content Networks deal with the routing and forwarding of requests and
and responses for content. Content Networks rely on layer 7 responses for content. Content Networks rely on layer 7 protocols
protocols such as HTTP [4] for transport. such as HTTP [4] for transport.
Request-Routing techniques are generally used to direct client Request-Routing techniques are generally used to direct client
requests for objects to a surrogate or a set of surrogates that requests for objects to a surrogate or a set of surrogates that could
could best serve that content. Request-Routing mechanisms could best serve that content. Request-Routing mechanisms could be used to
be used to direct client requests to surrogates that are within a direct client requests to surrogates that are within a Content
Content Network (CN) [5]. Network (CN) [8].
Request-Routing techniques are used as a vehicle to extend the Request-Routing techniques are used as a vehicle to extend the reach
reach and scale of Content Delivery Networks. There exist multiple and scale of Content Delivery Networks. There exist multiple
Request-Routing mechanisms. At a high-level, these may be classified Request-Routing mechanisms. At a high-level, these may be classified
under: DNS Request-Routing, transport-layer Request-Routing, and under: DNS Request-Routing, transport-layer Request-Routing, and
application-layer Request-Routing. application-layer Request-Routing.
A request routing system uses a set of metrics in an attempt to A request routing system uses a set of metrics in an attempt to
direct users to surrogate that can best serve the request. For direct users to surrogate that can best serve the request. For
example, the choice of the surrogate could be based on network example, the choice of the surrogate could be based on network
proximity, bandwidth availability, surrogate load and availability proximity, bandwidth availability, surrogate load and availability of
of content. Appendix A provides a summary of metrics and content. Appendix A provides a summary of metrics and measurement
measurement techniques that could be used in the selection of techniques that could be used in the selection of the best surrogate.
the best surrogate.
The memo is organized as follows: Section 2 provides a summary of The memo is organized as follows: Section 2 provides a summary of
known DNS based Request-Routing techniques. Section 3 discusses known DNS based Request-Routing techniques. Section 3 discusses
transport-layer Request-Routing methods. In section 4 transport-layer Request-Routing methods. In section 4 application
application-layer Request-Routing mechanisms are explored. Section layer Request-Routing mechanisms are explored. Section 5 provides
5 provides insight on combining the various methods that were insight on combining the various methods that were discussed in the
discussed in the earlier sections in order to optimize the earlier sections in order to optimize the performance of the Request-
performance of the Request-Routing System. Appendix A provides Routing System. Appendix A provides a summary of possible metrics
a summary of possible metrics and measurements techniques that could and measurements techniques that could be used by the Request-
be used by the Request-Routing system to choose a given surrogate. Routing system to choose a given surrogate.
2. DNS based Request-Routing Mechanisms 2. DNS based Request-Routing Mechanisms
DNS based Request-Routing techniques are common due to the ubiquity DNS based Request-Routing techniques are common due to the ubiquity
of DNS as a directory service. In DNS based Request-Routing of DNS as a directory service. In DNS based Request-Routing
techniques, a specialized DNS server is inserted in the DNS techniques, a specialized DNS server is inserted in the DNS
resolution process. The server is capable of returning a different resolution process. The server is capable of returning a different
set of A, NS or CNAME records based on user defined policies, set of A, NS or CNAME records based on user defined policies,
metrics, or a combination of both. metrics, or a combination of both.
2.1 Single Reply 2.1 Single Reply
In this approach, the DNS server is authoritative for the entire In this approach, the DNS server is authoritative for the entire DNS
DNS domain or a sub domain. The DNS server returns the IP address domain or a sub domain. The DNS server returns the IP address of the
of the best surrogate in an A record to the requesting DNS server. best surrogate in an A record to the requesting DNS server. The IP
The IP address of the surrogate could also be a virtual IP(VIP) address of the surrogate could also be a virtual IP(VIP) address of
address of the best set of surrogates for requesting DNS server. the best set of surrogates for requesting DNS server.
2.2 Multiple Replies 2.2 Multiple Replies
In this approach, the Request-Routing DNS server returns multiple In this approach, the Request-Routing DNS server returns multiple
replies such as several A records for various surrogates. Common replies such as several A records for various surrogates. Common
implementations of client site DNS server's cycles through the implementations of client site DNS server's cycles through the
multiple replies in a Round-Robin fashion. The order in which the multiple replies in a Round-Robin fashion. The order in which the
records are returned can be used to direct multiple clients using records are returned can be used to direct multiple clients using a
a single client site DNS server. single client site DNS server.
2.3 Multi-Level Resolution 2.3 Multi-Level Resolution
In this approach multiple Request-Routing DNS servers can be In this approach multiple Request-Routing DNS servers can be involved
involved in a single DNS resolution. The rationale of utilizing in a single DNS resolution. The rationale of utilizing multiple
multiple Request-Routing DNS servers in a single DNS resolution Request-Routing DNS servers in a single DNS resolution is to allow
is to allow one to distribute more complex decisions from a one to distribute more complex decisions from a single server to
single server to multiple, more specialized, Request-Routing DNS multiple, more specialized, Request-Routing DNS servers. The most
servers. The most common mechanisms used to insert multiple common mechanisms used to insert multiple Request-Routing DNS servers
Request-Routing DNS servers in a single DNS resolution is the in a single DNS resolution is the use of NS and CNAME records. An
use of NS and CNAME records. An example would be the case where example would be the case where a higher level DNS server operates
a higher level DNS server operates within a territory, within a territory, directing the DNS lookup to a more specific DNS
directing the DNS lookup to a more specific DNS server within that server within that territory to provide a more accurate resolution.
territory to provide a more accurate resolution.
2.3.1 NS Redirection 2.3.1 NS Redirection
A DNS server can use NS records to redirect the authority of the A DNS server can use NS records to redirect the authority of the next
next level domain to another Request-Routing DNS server. The, level domain to another Request-Routing DNS server. The, technique
technique allows multiple DNS server to be involved in the name allows multiple DNS server to be involved in the name resolution
resolution process. For example, a client site DNS server process. For example, a client site DNS server resolving
resolving a.b.c.com would eventually request a resolution of a.b.example.com [10] would eventually request a resolution of
a.b.c.com from the name server authoritative for c.com. The name a.b.example.com from the name server authoritative for example.com.
server authoritative for this domain might be a Request-Routing The name server authoritative for this domain might be a Request-
NS server. In this case the Request-Routing DNS server can either Routing NS server. In this case the Request-Routing DNS server can
return a set of A records or can redirect the resolution of the either return a set of A records or can redirect the resolution of
request a.b.c.com to the DNS server that is authoritative for the request a.b.example.com to the DNS server that is authoritative
.c.com using NS records. for example.com using NS records.
One drawback of using NS records is that the number of One drawback of using NS records is that the number of Request-
Request-Routing DNS servers are limited by the number of parts in Routing DNS servers are limited by the number of parts in the DNS
the DNS name. This problem results from DNS policy that causes a name. This problem results from DNS policy that causes a client site
client site DNS server to abandon a request if no additional parts DNS server to abandon a request if no additional parts of the DNS
of the DNS name are resolved in an exchange with an authoritative name are resolved in an exchange with an authoritative DNS server.
DNS server.
A second drawback is that the last DNS server can determine the A second drawback is that the last DNS server can determine the TTL
TTL of the entire resolution process. Basically, the last DNS of the entire resolution process. Basically, the last DNS server can
server can return in the authoritative section of its response its return in the authoritative section of its response its own NS
own NS record. The client will use this cached NS record for record. The client will use this cached NS record for further
further request resolutions until it expires. request resolutions until it expires.
Another drawback is that some implementations of bind voluntarily Another drawback is that some implementations of bind voluntarily
cause timeouts to simplify their implementation in cases in which a cause timeouts to simplify their implementation in cases in which a
NS level redirect points to a name server for which no valid A NS level redirect points to a name server for which no valid A record
record is returned or cached. This is especially a problem if the is returned or cached. This is especially a problem if the domain of
domain of the name server does not match the domain currently the name server does not match the domain currently resolved, since
resolved, since in this case the A records, which might be passed in this case the A records, which might be passed in the DNS
in the DNS response, are discarded for security reasons. Another response, are discarded for security reasons. Another drawback is
drawback is the added delay in resolving the request due to the the added delay in resolving the request due to the use of multiple
use of multiple DNS servers. DNS servers.
2.3.2 CNAME Redirection 2.3.2 CNAME Redirection
In this scenario, the Request-Routing DNS server returns a CNAME In this scenario, the Request-Routing DNS server returns a CNAME
record to direct resolution to an entirely new domain. In record to direct resolution to an entirely new domain. In principle,
principle, the new domain might employ a new set of Request-Routing the new domain might employ a new set of Request-Routing DNS servers.
DNS servers.
One disadvantage of this approach is the additional overhead of One disadvantage of this approach is the additional overhead of
resolving the new domain name. The main advantage of this approach resolving the new domain name. The main advantage of this approach
is that the number of Request-Routing DNS servers is independent is that the number of Request-Routing DNS servers is independent of
of the format of the domain name. the format of the domain name.
2.4 Anycast 2.4 Anycast
Anycast [6] is an inter-network service that is applicable to Anycast [5] is an inter-network service that is applicable to
networking situations where a host, application, or user wishes to networking situations where a host, application, or user wishes to
locate a host which supports a particular service but, if several locate a host which supports a particular service but, if several
servers support the service, does not particularly care which server servers support the service, does not particularly care which server
is used. In an anycast service, a host transmits a datagram to an is used. In an anycast service, a host transmits a datagram to an
anycast address and the inter-network is responsible for providing anycast address and the inter-network is responsible for providing
best effort delivery of the datagram to at least one, and best effort delivery of the datagram to at least one, and preferably
preferably only one, of the servers that accept datagrams for the only one, of the servers that accept datagrams for the anycast
anycast address. address.
The motivation for anycast is that it considerably simplifies the The motivation for anycast is that it considerably simplifies the
task of finding an appropriate server. For example, users, instead task of finding an appropriate server. For example, users, instead
of consulting a list of servers and choosing the closest one, could of consulting a list of servers and choosing the closest one, could
simply type the name of the server and be connected to the nearest simply type the name of the server and be connected to the nearest
one. By using anycast, DNS resolvers would no longer have to be one. By using anycast, DNS resolvers would no longer have to be
configured with the IP addresses of their servers, but rather could configured with the IP addresses of their servers, but rather could
send a query to a well-known DNS anycast address. send a query to a well-known DNS anycast address.
Furthermore, to combine measurement and redirection, the Furthermore, to combine measurement and redirection, the Request-
Request-Routing DNS server can advertise an anycast address as its Routing DNS server can advertise an anycast address as its IP
IP address. The same address is used by multiple physical DNS address. The same address is used by multiple physical DNS servers.
servers. In this scenario, the Request-Routing DNS server that is In this scenario, the Request-Routing DNS server that is the closest
the closest to the client site DNS server in terms of OSPF and to the client site DNS server in terms of OSPF and BGP routing will
BGP routing will receive the packet containing the DNS resolution receive the packet containing the DNS resolution request. The server
request. The server can use this information to make a Request- can use this information to make a Request- Routing decision.
Routing decision. Drawbacks of this approach are listed below: Drawbacks of this approach are listed below:
* The DNS server may not be the closest server in terms of o The DNS server may not be the closest server in terms of routing
routing to the client. to the client.
* Typically, routing protocols are not load sensitive. Hence, o Typically, routing protocols are not load sensitive. Hence, the
the closest server may not be the one with the least network closest server may not be the one with the least network latency.
latency.
* The server load is not considered during the Request- o The server load is not considered during the Request-Routing
Routing process. process.
2.5 Object Encoding 2.5 Object Encoding
Since only DNS names are visible during the DNS Request-Routing, Since only DNS names are visible during the DNS Request-Routing, some
some solutions encode the object type, object hash, or similar solutions encode the object type, object hash, or similar information
information into the DNS name. This might vary from a simple into the DNS name. This might vary from a simple division of objects
division of objects based on object type (such as images.a.b.c.com based on object type (such as images.a.b.example.com and
and streaming.a.b.c.com) to a sophisticated schema in which the streaming.a.b.example.com) to a sophisticated schema in which the
domain name contains a unique identifier (such as a hash) of the domain name contains a unique identifier (such as a hash) of the
object. The obvious advantage is that object information is object. The obvious advantage is that object information is
available at resolution time. The disadvantage is that the client available at resolution time. The disadvantage is that the client
site DNS server has to perform multiple resolutions to retrieve a site DNS server has to perform multiple resolutions to retrieve a
single Web page, which might increase rather than decrease the single Web page, which might increase rather than decrease the
overall latency. overall latency.
2.6 DNS Request-Routing Limitations 2.6 DNS Request-Routing Limitations
Some limitations of DNS based Request-Routing techniques are Some limitations of DNS based Request-Routing techniques are
described below: described below:
1. DNS only allows resolution at the domain level. However, an o DNS only allows resolution at the domain level. However, an ideal
ideal request resolution system should service requests request resolution system should service requests per object
per object level. level.
2. In DNS based Request-Routing systems servers may be required o In DNS based Request-Routing systems servers may be required to
to return DNS entries with a short time-to-live (TTL) values. return DNS entries with a short time-to-live (TTL) values. This
This may be needed in order to be able to react quickly in the may be needed in order to be able to react quickly in the face of
face of outages. This in return may increase the volume of outages. This in return may increase the volume of requests to
requests to DNS servers. DNS servers.
3. Some DNS implementations do not always adhere to DNS standards. o Some DNS implementations do not always adhere to DNS standards.
For example, many DNS implementations do not honor the DNS TTL For example, many DNS implementations do not honor the DNS TTL
field. field.
4. DNS Request-Routing is based only on knowledge of the client o DNS Request-Routing is based only on knowledge of the client DNS
DNS server, as client addresses are not relayed within DNS server, as client addresses are not relayed within DNS requests.
requests. This limits the ability of the Request-Routing system This limits the ability of the Request-Routing system to determine
to determine a client's proximity to the surrogate. a client's proximity to the surrogate.
5. DNS servers can request and allow recursive resolution of DNS o DNS servers can request and allow recursive resolution of DNS
names. For recursive resolution of requests, the Request- names. For recursive resolution of requests, the Request-Routing
Routing DNS server will not be exposed to the IP address of the DNS server will not be exposed to the IP address of the client's
client's site DNS server. In this case, the Request-Routing DNS site DNS server. In this case, the Request-Routing DNS server
server will be exposed to the address of the DNS server that is will be exposed to the address of the DNS server that is
recursively requesting the information on behalf of the client's recursively requesting the information on behalf of the client's
site DNS server. For example, imgs.company.com might be resolved site DNS server. For example, imgs.example.com might be resolved
by a CN, but the request for the resolution might come from by a CN, but the request for the resolution might come from
dns1.company.com as a result of the recursion. dns1.example.com as a result of the recursion.
6. Users that share a single client site DNS server will be o Users that share a single client site DNS server will be
redirected to the same set of IP addresses during the TTL redirected to the same set of IP addresses during the TTL
interval. This might lead to overloading of the surrogate interval. This might lead to overloading of the surrogate during
during a flash crowd. a flash crowd.
7. Some implementations of bind can cause DNS timeouts to occur o Some implementations of bind can cause DNS timeouts to occur while
while handling exceptional situations. For example, timeouts handling exceptional situations. For example, timeouts can occur
can occur for NS redirections to unknown domains. for NS redirections to unknown domains.
3. Transport-Layer Request-Routing 3. Transport-Layer Request-Routing
At the transport-layer finer levels of granularity can be achieved At the transport-layer finer levels of granularity can be achieved by
by the close inspection of client's requests. In this approach, the the close inspection of client's requests. In this approach, the
Request-Routing system inspects the information available in the Request-Routing system inspects the information available in the
first packet of the client's request to make surrogate selection first packet of the client's request to make surrogate selection
decisions. The inspection of the client's requests provides data decisions. The inspection of the client's requests provides data
about the client's IP address, port information, and layer 4 about the client's IP address, port information, and layer 4
protocol. The acquired data could be used in combination with protocol. The acquired data could be used in combination with user-
user-defined policies and other metrics to determine the selection defined policies and other metrics to determine the selection of a
of a surrogate that is better suited to serve the request. The surrogate that is better suited to serve the request. The techniques
techniques that are used to hand off the session to a more that are used to hand off the session to a more appropriate surrogate
appropriate surrogate are beyond the scope of this document. are beyond the scope of this document.
In general, the forward-flow traffic (client to newly selected In general, the forward-flow traffic (client to newly selected
surrogate) will flow through the surrogate originally chosen by DNS. surrogate) will flow through the surrogate originally chosen by DNS.
The reverse-flow (surrogate to client) traffic, which normally The reverse-flow (surrogate to client) traffic, which normally
transfers much more data than the forward flow, would typically transfers much more data than the forward flow, would typically take
take the direct path. the direct path.
The overhead associated with transport-layer Request-Routing makes The overhead associated with transport-layer Request-Routing makes it
it better suited for long-lived sessions such as FTP [1]and RTSP [3]. better suited for long-lived sessions such as FTP [1]and RTSP [3].
However, it also could be used to direct clients away from overloaded However, it also could be used to direct clients away from overloaded
surrogates. surrogates.
In general, transport-layer Request-Routing can be combined with In general, transport-layer Request-Routing can be combined with DNS
DNS based techniques. As stated earlier, DNS based methods resolve based techniques. As stated earlier, DNS based methods resolve
clients requests based on domains or sub domains with exposure to clients requests based on domains or sub domains with exposure to the
the client's DNS server IP address. Hence, the DNS based methods client's DNS server IP address. Hence, the DNS based methods could
could be used as a first step in deciding on an appropriate be used as a first step in deciding on an appropriate surrogate with
surrogate with more accurate refinement made by the more accurate refinement made by the transport-layer Request-Routing
transport-layer Request-Routing system. system.
4. Application-Layer Request-Routing 4. Application-Layer Request-Routing
Application-layer Request-Routing systems perform deeper Application-layer Request-Routing systems perform deeper examination
examination of client's packets beyond the transport layer of client's packets beyond the transport layer header. Deeper
header. Deeper examination of client's packets provides examination of client's packets provides fine-grained Request-Routing
fine-grained Request-Routing control down to the level of control down to the level of individual objects. The process could
individual objects. The process could be performed in real be performed in real time at the time of the object request. The
time at the time of the object request. The exposure to the exposure to the client's IP address combined with the fine-grained
client's IP address combined with the fine-grained knowledge knowledge of the requested objects enable application-layer Request-
of the requested objects enable application-layer Request- Routing systems to provide better control over the selection of the
Routing systems to provide better control over the selection of best surrogate.
the best surrogate.
4.1 Header Inspection 4.1 Header Inspection
Some application level protocols such as HTTP [4], RTSP [3], Some application level protocols such as HTTP [4], RTSP [3], and SSL
and SSL [2] provide hints in the initial portion of the session [2] provide hints in the initial portion of the session about how the
about how the client request must be directed. These hints may come client request must be directed. These hints may come from the URL
from the URL of the content or other parts of the MIME request header of the content or other parts of the MIME request header such as
such as Cookies. Cookies.
4.1.1 URL-Based Request-Routing 4.1.1 URL-Based Request-Routing
Application level protocols such as HTTP and RTSP describe the Application level protocols such as HTTP and RTSP describe the
requested content by its URL [7]. In many cases, this information requested content by its URL [6]. In many cases, this information
is sufficient to disambiguate the content and suitably direct the is sufficient to disambiguate the content and suitably direct the
request. In most cases, it may be sufficient to make Request- request. In most cases, it may be sufficient to make Request-
Routing decision just by examining the prefix or suffix of the URL. Routing decision just by examining the prefix or suffix of the URL.
4.1.1.1 302 Redirection 4.1.1.1 302 Redirection
In this approach, the client's request is first resolved to a In this approach, the client's request is first resolved to a virtual
virtual surrogate. Consequently, the surrogate returns an surrogate. Consequently, the surrogate returns an application-
application-specific code such as the 302 (in the case of specific code such as the 302 (in the case of HTTP [4] or RTSP [3])
HTTP [4] or RTSP [3]) to redirect the client to the actual to redirect the client to the actual delivery node.
delivery node.
This technique is relatively simple to implement. However, the This technique is relatively simple to implement. However, the main
main drawback of this method is the additional latency involved in drawback of this method is the additional latency involved in sending
sending the redirect message back to the client. the redirect message back to the client.
4.1.1.2 In-Path Element 4.1.1.2 In-Path Element
In this technique, an In-Path element is present in the network in In this technique, an In-Path element is present in the network in
the forwarding path of the client's request. The In-Path element the forwarding path of the client's request. The In-Path element
provides transparent interception of the transport connection. The provides transparent interception of the transport connection. The
In-Path element examines the client's content requests and performs In-Path element examines the client's content requests and performs
Request-Routing decisions. Request-Routing decisions.
The In-Path element then splices the client connection to a The In-Path element then splices the client connection to a
skipping to change at page 9, line 35 skipping to change at page 10, line 21
implications of URL-parsing in the path of the network traffic. implications of URL-parsing in the path of the network traffic.
However, it is generally the case that the return traffic is much However, it is generally the case that the return traffic is much
larger than the forward traffic. larger than the forward traffic.
The technique allows for the possibility of partitioning the traffic The technique allows for the possibility of partitioning the traffic
among a set of delivery nodes by content objects identified by URLs. among a set of delivery nodes by content objects identified by URLs.
This allows object-specific control of server loading. For example, This allows object-specific control of server loading. For example,
requests for non-cacheable object types may be directed away from a requests for non-cacheable object types may be directed away from a
cache. cache.
4.1.2 Mime Header-Based Request-Routing 4.1.2 Header-Based Request-Routing
This technique involves the task of using MIME-headers such as This technique involves the task of using HTTP [4] such as Cookie,
Cookie, Language, and User-Agent, in order to select a surrogate. Language, and User-Agent, in order to select a surrogate.
Cookies can be used to identify a customer or session by a web site. Cookies can be used to identify a customer or session by a web site.
Cookie based Request-Routing provides content service Cookie based Request-Routing provides content service differentiation
differentiation based on the client. This approach works provided based on the client. This approach works provided that the cookies
that the cookies belong to the client. In addition, it is possible belong to the client. In addition, it is possible to direct a
to direct a connection from a multi-session transaction to be connection from a multi-session transaction to be directed to the
directed to the same server to achieve session-level same server to achieve session-level persistence.
persistence.
The language header can be used to direct traffic to a The language header can be used to direct traffic to a language-
language-specific delivery node. The user-agent header helps specific delivery node. The user-agent header helps identify the
identify the type of client device. For example, a voice-browser, type of client device. For example, a voice-browser, PDA, or cell
PDA, or cell phone can indicate the type of delivery node that has phone can indicate the type of delivery node that has content
content specialized to handle the content request. specialized to handle the content request.
4.1.3 Site-Specific Identifiers 4.1.3 Site-Specific Identifiers
Site-specific identifiers help authenticate and identify a session Site-specific identifiers help authenticate and identify a session
from a specific user. This information may be used to direct a from a specific user. This information may be used to direct a
content request. content request.
An example of a site-specific identifier is the SSL Session An example of a site-specific identifier is the SSL Session
Identifier. This identifier is generated by a web server and used Identifier. This identifier is generated by a web server and used by
by the web client in succeeding sessions to identify itself and the web client in succeeding sessions to identify itself and avoid an
avoid an entire security authentication exchange. In order to entire security authentication exchange. In order to inspect the
inspect the session identifier, an In-Path element would observe session identifier, an In-Path element would observe the responses of
the responses of the web server and determine the session identifier the web server and determine the session identifier which is then
which is then used to associate the session to a specific server. used to associate the session to a specific server. The remaining
The remaining sessions are directed based on the stored sessions are directed based on the stored session identifier.
session identifier.
4.2 Content Modification 4.2 Content Modification
This technique enables a content provider to take direct control This technique enables a content provider to take direct control over
over Request-Routing decisions without the need for specific Request-Routing decisions without the need for specific witching
witching devices or directory services in the path between the devices or directory services in the path between the client and the
client and the origin server. Basically, a content provider can origin server. Basically, a content provider can directly
directly communicate to the client the best surrogate that can communicate to the client the best surrogate that can serve the
serve the request. Decisions about the best surrogate can be made request. Decisions about the best surrogate can be made on a per-
on a per-object basis or it can depend on a set of metrics. The object basis or it can depend on a set of metrics. The overall goal
overall goal is to improve scalability and the performance for is to improve scalability and the performance for delivering the
delivering the modified content, including all embedded objects. modified content, including all embedded objects.
In general, the method takes advantage of content objects that In general, the method takes advantage of content objects that
consist of basic structure that includes references to additional, consist of basic structure that includes references to additional,
embedded objects. For example, most web pages, consist of an HTML embedded objects. For example, most web pages, consist of an HTML
document that contains plain text together with some embedded objects, document that contains plain text together with some embedded
such as GIF or JPEG images. The embedded objects are referenced using objects, such as GIF or JPEG images. The embedded objects are
embedded HTML directives. In general, embedded HTML directives direct referenced using embedded HTML directives. In general, embedded HTML
the client to retrieve the embedded objects from the origin server. directives direct the client to retrieve the embedded objects from
A content provider can now modify references to embedded objects the origin server. A content provider can now modify references to
such that they could be fetched from the best surrogate. This embedded objects such that they could be fetched from the best
technique is also known as URL rewriting. The basic types of URL surrogate. This technique is also known as URL rewriting.
rewriting are discussed in the following subsections.
Content modification techniques must not violate the architectural
concepts of the Internet [9]. Special considerations must be made to
ensure that the task of modifying the content is performed in a
manner that is consistent with RFC 3238 [9] that specifies the
architectural considerations for intermediaries that perform
operations or modifications on content.
The basic types of URL rewriting are discussed in the following
subsections.
4.2.1 A-priori URL Rewriting 4.2.1 A-priori URL Rewriting
In this scheme, a content provider rewrites the embedded URLs In this scheme, a content provider rewrites the embedded URLs before
before the content is positioned on the origin server. In this the content is positioned on the origin server. In this case, URL
case, URL rewriting can be done either manually or by using a rewriting can be done either manually or by using a software tools
software tools that parse the content and replace embedded URLs. that parse the content and replace embedded URLs.
A-priori URL rewriting alone does not allow consideration of client A-priori URL rewriting alone does not allow consideration of client
specifics for Request-Routing. However, it can be used in specifics for Request-Routing. However, it can be used in
combination with DNS Request-Routing to direct related DNS queries combination with DNS Request-Routing to direct related DNS queries
into the domain name space of the service provider. Dynamic into the domain name space of the service provider. Dynamic Request-
Request-Routing based on client specifics are then done using Routing based on client specifics are then done using the DNS
the DNS approach. approach.
4.2.2 On-Demand URL Rewriting 4.2.2 On-Demand URL Rewriting
On-Demand or dynamic URL rewriting, modifies the content when the On-Demand or dynamic URL rewriting, modifies the content when the
client request reaches the origin server. At this time, the client request reaches the origin server. At this time, the
identity of the client is known and can be considered when identity of the client is known and can be considered when rewriting
rewriting the embedded URLs. In particular, an automated process the embedded URLs. In particular, an automated process can
can determine, on-demand, which surrogate would serve the determine, on-demand, which surrogate would serve the requesting
requesting client best. The embedded URLs can then be client best. The embedded URLs can then be rewritten to direct
rewritten to direct the client to retrieve the objects from the the client to retrieve the objects from the best surrogate rather
best surrogate rather than from the origin server. than from the origin server.
4.2.3 Content Modification Limitations 4.2.3 Content Modification Limitations
Content modification as a Request-Routing mechanism suffers from Content modification as a Request-Routing mechanism suffers from the
the following limitations: following limitations:
1. The first request from a client to a specific site must o The first request from a client to a specific site must be served
be served from the origin server. from the origin server.
2. Content that has been modified to include references to o Content that has been modified to include references to nearby
nearby surrogates rather than to the origin server should surrogates rather than to the origin server should be marked as
be marked as non-cacheable. Alternatively, such pages can non-cacheable. Alternatively, such pages can be marked to be
be marked to be cacheable only for a relatively short period cacheable only for a relatively short period of time. Rewritten
of time. Rewritten URLs on cached pages can cause problems, URLs on cached pages can cause problems, because they can get
because they can get outdated and point to surrogates outdated and point to surrogates that are no longer available or
that are no longer available or no longer good choices. no longer good choices.
5. Combination of Multiple Mechanisms 5. Combination of Multiple Mechanisms
There are environments in which a combination of different There are environments in which a combination of different mechanisms
mechanisms can be beneficial and advantageous over using one of can be beneficial and advantageous over using one of the proposed
the proposed mechanisms alone. The following example illustrates mechanisms alone. The following example illustrates how the
how the mechanisms can be used in combination. mechanisms can be used in combination.
A basic problem of DNS Request-Routing is the resolution A basic problem of DNS Request-Routing is the resolution granularity
granularity that allows resolution on a per-domain level only. A that allows resolution on a per-domain level only. A per-object
per-object redirection cannot easily be achieved. However, content redirection cannot easily be achieved. However, content modification
modification can be used together with DNS Request-Routing to can be used together with DNS Request-Routing to overcome this
overcome this problem. With content modification, references to problem. With content modification, references to different objects
different objects on the same origin server can be rewritten to on the same origin server can be rewritten to point into different
point into different domain name spaces. Using DNS Request-Routing, domain name spaces. Using DNS Request-Routing, requests for those
requests for those objects can now dynamically be directed to objects can now dynamically be directed to different surrogates.
different surrogates.
6. Security Considerations 6. Security Considerations
The main objective of this document is to provide a summary of current The main objective of this document is to provide a summary of
Request-Routing techniques. Such techniques are currently implemented current Request-Routing techniques. Such techniques are currently
in the Internet. The document acknowledges that security must be implemented in the Internet. The document acknowledges that security
addressed by any entity that implements any technique that redirects must be addressed by any entity that implements any technique that
client's requests. However, the details of such techniques are beyond redirects client's requests. In [9] RFC 3238 addresses the main
the scope of this document. requirements for entities that intent to modify requests for content
in the Internet.
7. Acknowledgements The details of security techniques are beyond the scope of this
document.
The authors acknowledge the contributions and comments of Ian Cooper, 7. Additional Authors and Acknowledgements
Nalin Mistry (Nortel), Wayne Ding (Nortel) and Eric Dean (CrystalBall).
8. References The following people have contributed to the task of authoring this
document: Fred Douglis (IBM Research), Mark Green, Markus Hofmann
(Lucent), Doug Potter.
[1] Postel, J., "File Transfer Protocol", RFC 765, June 1980, The authors acknowledge the contributions and comments of Ian Cooper,
Nalin Mistry (Nortel), Wayne Ding (Nortel) and Eric Dean
(CrystalBall).
[2] Dierks, T. and C. Allen, "The TLS Protocol Version 1", RFC Normative References
846, January 1999.
[3] Schulzrinne, H., Rao, A. and R. Lanphier, "Real Time Streaming [1] Postel, J.l, "File Transfer Protocol", RFC 765, June 1980.
Protocol", RFC 2326, April 1998.
[4] Fielding, R., Gettys, J., Mogul, J., Frystyk, H., Masinter, L., [2] T. Dierks et. al, "The TLS Protocol Version 1", RFC 846, July
Leach, P. and T. Berners-Lee, "Hypertext Transfer Protocol -- 1999.
HTTP/1.1", RFC 2616, June 1999.
[5] Day, M., Cain, B. and G. Tomlinson, " A Model for Content [3] H. Schulzrinne et. al, "Real Time Streaming Protocol", RFC 2326,
Internetworking (CDI)", http://www.ietf.org/internet-drafts/ April 1998.
draft-ietf-cdi-model-02.txt (Group Last Call).
[6] Partridge, C., Mendez, T., Milliken W., "Host Anycasting [4] R. Fielding et al, "Hypertext Transfer Protocol -- HTTP/1.1",
Service", RFC 1546, November 1993. RFC 2616, June 1999.
[7] Berners-Lee, T., Masinter, L., McCahill, M., "Uniform Resource [5] C. Partridge et al., "Host Anycasting Service", RFC 1546,
Locators (URL)", RFC 1738,May 1994. November 1993.
[8] H. Schulzrinne, H., Fokus, G., Casner, S., Frederick, R., [6] T. Berners-Lee et al, "Uniform Resource Locators (URL)", RFC
Jacobson, V., "RTP: A Transport Protocol for Real-Time 1738, May 1994.
[7] H. Schulzrinneet al, "RTP: A Transport Protocol for Real-Time
Applications", RFC 1889, January 1996. Applications", RFC 1889, January 1996.
9. Authors' Addresses [8] M. Day et al, "A Model for Content Internetworking (CDI)",
Internet-Draft: http://www.ietf.org/internet-drafts/ draft-ietf-
cdi-model-02.txt (groups Last Call), May 2002.
[9] S. Floyd et al, "IAB Architectural and Policy Considerations for
Open Pluggable Edge Services", RFC 3238, January 2002.
Informative References
[10] D. Eastlake et al, "Reserved Top Level DNS Names", RFC 2606,
June 1999.
Authors' Addresses
Abbie Barbir
Nortel Networks
3500 Carling Avenue, Nepean Ontario K2H 8E9 Canada
EMail: abbieb@nortelnetworks.com
Brad Cain Brad Cain
Storigen Systems Storigen Systems
650 Suffolk Street 650 Suffolk Street
Lowell, MA 01854 US Lowell, MA 01854
USA
Phone: +1 978-323-4454 Phone: +1 978-323-4454
EMail: bcain@storigen.com EMail: bcain@storigen.com
Fred Douglis Abbie Barbir
IBM Research Nortel Networks
EMail: fdouglis@us.ibm.com 3500 Carling Avenue
Nepean, Ontario K2H 8E9
Mark Green Canada
CacheFlow
650 Almanor Avenue
Sunnyvale, CA 94085, US
EMail: markg@cacheflow.com
Markus Hofmann Phone: +1 613 763 5229
Lucent Technologies EMail: abbieb@nortelnetworks.com
Room 4F-513
101 Crawfords Corner Rd.
Holmdel, NJ 07733, US
EMail: hofmann@bell-labs.com
Raj Nair Raj Nair
Cisco Systems Cisco
50 Nagog Park 50 Nagog Park
Acton, MA 01720, US Acton, MA 01720
EMail: rnair@cisco.com USA
Doug Potter EMail: rnair@cisco.com
Cisco Systems
50 Nagog Park
Acton, MA 01720, US
EMail: dougpott@cisco.com
Oliver Spatscheck Oliver Spatscheck
AT&T Labs AT&T
Room B131
180 Park Ave, Bldg 103 180 Park Ave, Bldg 103
Florham Park, NJ 07932, US Florham Park, NJ 07932
USA
EMail: spatsch@research.att.com EMail: spatsch@research.att.com
Appendix A
Measurements Appendix A. Measurements
Request-Routing systems can use a variety of metrics in order Request-Routing systems can use a variety of metrics in order to
to determine the best surrogate that can serve a client's request. determine the best surrogate that can serve a client's request. In
In general, these metrics are based on network measurements and general, these metrics are based on network measurements and feedback
feedback from surrogates. It is possible to combine multiple from surrogates. It is possible to combine multiple metrics using
metrics using both proximity and surrogate feedback for best both proximity and surrogate feedback for best surrogate selection.
surrogate selection. The following sections describe several The following sections describe several well known metrics as well as
well known metrics as well as the major techniques for obtaining the major techniques for obtaining them.
them.
A.1 Proximity Measurements A.1 Proximity Measurements
Proximity measurements can be used by the Request-Routing system to Proximity measurements can be used by the Request-Routing system to
direct users to the "closest" surrogate. In a DNS Request-Routing direct users to the "closest" surrogate. In a DNS Request-Routing
system, the measurements are made to the client's local DNS server. system, the measurements are made to the client's local DNS server.
However, when the IP address of the client is accessible more However, when the IP address of the client is accessible more
accurate proximity measurements can be obtained. accurate proximity measurements can be obtained.
Furthermore, proximity measurements can be exchanged between Furthermore, proximity measurements can be exchanged between
surrogates and the requesting entity. In many cases, proximity surrogates and the requesting entity. In many cases, proximity
measurements are "one-way" in that they measure either the forward measurements are "one-way" in that they measure either the forward or
or reverse path of packets from the surrogate to the requesting reverse path of packets from the surrogate to the requesting entity.
entity. This is important as many paths in the Internet are This is important as many paths in the Internet are asymmetric.
asymmetric.
In order to obtain a set of proximity measurements, a network In order to obtain a set of proximity measurements, a network may
may employ active probing techniques and/or passive measurement employ active probing techniques and/or passive measurement
techniques. The following sections describe these two techniques. techniques. The following sections describe these two techniques.
A.1.1 Active Probing A.1.1 Active Probing
Active probing is when past or possible requesting entities are Active probing is when past or possible requesting entities are
probed using one or more techniques to determine one or more probed using one or more techniques to determine one or more metrics
metrics from each surrogate or set of surrogates. An example of from each surrogate or set of surrogates. An example of a probing
a probing technique is an ICMP ECHO Request that is periodically technique is an ICMP ECHO Request that is periodically sent from each
sent from each surrogate or set of surrogates to a potential surrogate or set of surrogates to a potential requesting entity.
requesting entity.
In any active probing approach, a list of potential requesting In any active probing approach, a list of potential requesting
entities need to be obtained. This list can be generated entities need to be obtained. This list can be generated
dynamically. Here, as requests arrive, the requesting entity dynamically. Here, as requests arrive, the requesting entity
addresses can be cached for later probing. Another potential addresses can be cached for later probing. Another potential
solution is to use an algorithm to divide address space into blocks solution is to use an algorithm to divide address space into blocks
and to probe random addresses within those blocks. Limitations and to probe random addresses within those blocks. Limitations of
of active probing techniques include: active probing techniques include:
1. Measurements can only be taken periodically. o Measurements can only be taken periodically.
2. Firewalls and NATs disallow probes.
3. Probes often cause security alarms to be triggered on o Firewalls and NATs disallow probes.
intrusion detection systems.
o Probes often cause security alarms to be triggered on intrusion
detection systems.
A.1.2 Passive Measurement A.1.2 Passive Measurement
Passive measurements could be obtained when a client performs data Passive measurements could be obtained when a client performs data
transfers to or from a surrogate. Here, a bootstrap mechanism is transfers to or from a surrogate. Here, a bootstrap mechanism is
used to direct the client to a bootstrap surrogate. Once the client used to direct the client to a bootstrap surrogate. Once the client
connects, the actual performance of the transfer is measured. This connects, the actual performance of the transfer is measured. This
data is then fed back into the Request-Routing system. data is then fed back into the Request-Routing system.
An example of passive measurement is to watch the packet loss An example of passive measurement is to watch the packet loss from a
from a client to a surrogate by observing TCP behavior. Latency client to a surrogate by observing TCP behavior. Latency
measurements can also be learned by observing TCP behavior. The measurements can also be learned by observing TCP behavior. The
limitations of passive measurement approach are directly related limitations of passive measurement approach are directly related to
to the bootstrapping mechanism. Basically, a good mechanism is the bootstrapping mechanism. Basically, a good mechanism is needed
needed to ensure that not every surrogate is tested per client to ensure that not every surrogate is tested per client in order to
in order to obtain the data. obtain the data.
A.1.3 Metric Types A.1.3 Metric Types
The following sections list some of the metrics, which can be used The following sections list some of the metrics, which can be used
for proximity calculations. for proximity calculations.
* Latency: Network latency measurements metrics are used to o Latency: Network latency measurements metrics are used to
determine the surrogate (or set of surrogates) that has the determine the surrogate (or set of surrogates) that has the least
least delay to the requesting entity. These measurements delay to the requesting entity. These measurements can be
can be obtained using either an active probing approach or a obtained using either an active probing approach or a
passive network measurement system. passive network measurement system.
* Packet Loss: Packet loss measurements can be used as a o Packet Loss: Packet loss measurements can be used as a selection
selection metric. A passive measurement approach can easily metric. A passive measurement approach can easily obtain packet
obtain packet loss information from TCP header information. loss information from TCP header information. Active probing can
Active probing can periodically measure packet loss from periodically measure packet loss from probes.
probes.
* Hop Counts: Router hops from the surrogate to the requesting o Hop Counts: Router hops from the surrogate to the requesting
entity can be used as a proximity measurement. entity can be used as a proximity measurement.
* BGP Information: BGP AS PATH and MED attributes can be used o BGP Information: BGP AS PATH and MED attributes can be used to
to determine the "BGP distance" to a given prefix/length determine the "BGP distance" to a given prefix/length pair. In
pair. In order to use BGP information for proximity order to use BGP information for proximity measurements, it must
measurements, it must be obtained at each surrogate be obtained at each surrogate site/location.
site/location.
A.2 Surrogate Feedback A.1.4 Surrogate Feedback
The Request-Routing system can use feedback from surrogates in In order to select a "least-loaded" delivery node. Feedback can be
order to select a "least-loaded" delivery node. Feedback can delivered from each surrogate or can be aggregated by site or by
be delivered from each surrogate or can be aggregated by site or location.
by location.
A.2.1 Probing A.1.4.1 Probing
Feedback information may be obtained by periodically probing a Feedback information may be obtained by periodically probing a
surrogate by issuing an HTTP request and observing the behavior. surrogate by issuing an HTTP request and observing the behavior. The
The problems with probing for surrogate information are: problems with probing for surrogate information are:
1. It is difficult to obtain "real-time" information. o It is difficult to obtain "real-time" information.
2. Non-real-time information may be inaccurate.
o Non-real-time information may be inaccurate.
Consequently, feedback information can be obtained by agents that Consequently, feedback information can be obtained by agents that
reside on surrogates that can communicate a variety of metrics about reside on surrogates that can communicate a variety of metrics about
their nodes. their nodes.
A.2.2 Well Known Metrics A.1.4.2 Well Known Metrics
The following provides a list of several of the popular metrics The following provides a list of several of the popular metrics that
that are used for surrogate feedback: are used for surrogate feedback:
* Surrogate CPU Load. o Surrogate CPU Load.
* Interface Load / Dropped packets.
* Number of connections being served. o Interface Load/Dropped packets.
* Storage I/O Load.
o Number of connections being served.
o Storage I/O Load.
Full Copyright Statement Full Copyright Statement
Copyright (C) The Internet Society (2000). All Rights Reserved. Copyright (C) The Internet Society (2002). All Rights Reserved.
This document and translations of it may be copied and furnished to This document and translations of it may be copied and furnished to
others, and derivative works that comment on or otherwise explain it others, and derivative works that comment on or otherwise explain it
or assist in its implementation may be prepared, copied, published or assist in its implementation may be prepared, copied, published
and distributed, in whole or in part, without restriction of any and distributed, in whole or in part, without restriction of any
kind, provided that the above copyright notice and this paragraph kind, provided that the above copyright notice and this paragraph are
are included on all such copies and derivative works. However, this included on all such copies and derivative works. However, this
document itself may not be modified in any way, such as by removing document itself may not be modified in any way, such as by removing
the copyright notice or references to the Internet Society or other the copyright notice or references to the Internet Society or other
Internet organizations, except as needed for the purpose of Internet organizations, except as needed for the purpose of
developing Internet standards in which case the procedures for developing Internet standards in which case the procedures for
copyrights defined in the Internet Standards process must be copyrights defined in the Internet Standards process must be
followed, or as required to translate it into languages other than followed, or as required to translate it into languages other than
English. English.
The limited permissions granted above are perpetual and will not be The limited permissions granted above are perpetual and will not be
revoked by the Internet Society or its successors or assigns. revoked by the Internet Society or its successors or assigns.
This document and the information contained herein is provided on an This document and the information contained herein is provided on an
"AS IS" basis and THE INTERNET SOCIETY AND THE INTERNET ENGINEERING "AS IS" basis and THE INTERNET SOCIETY AND THE INTERNET ENGINEERING
TASK FORCE DISCLAIMS ALL WARRANTIES, EXPRESS OR IMPLIED, INCLUDING TASK FORCE DISCLAIMS ALL WARRANTIES, EXPRESS OR IMPLIED, INCLUDING
BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF THE INFORMATION BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF THE INFORMATION
HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED WARRANTIES OF HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED WARRANTIES OF
MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.
Acknowledgement
Funding for the RFC Editor function is currently provided by the
Internet Society.
 End of changes. 118 change blocks. 
434 lines changed or deleted 424 lines changed or added

This html diff was produced by rfcdiff 1.34. The latest version is available from http://tools.ietf.org/tools/rfcdiff/