ALTO WG P. Racz Internet Draft University of Zurich Intended status: Informational Z. Despotovic Expires: December 2009 DOCOMO Communications Laboratories Europe GmbH June 29, 2009 An ALTO Service based on BGP Routing Information draft-racz-bgp-based-alto-service-00.txt Status of this Memo This Internet-Draft is submitted to IETF in full conformance with the provisions of BCP 78 and BCP 79. Internet-Drafts are working documents of the Internet Engineering Task Force (IETF), its areas, and its working groups. Note that other groups may also distribute working documents as Internet- Drafts. Internet-Drafts are draft documents valid for a maximum of six months and may be updated, replaced, or obsoleted by other documents at any time. It is inappropriate to use Internet-Drafts as reference material or to cite them other than as "work in progress." The list of current Internet-Drafts can be accessed at http://www.ietf.org/ietf/1id-abstracts.txt The list of Internet-Draft Shadow Directories can be accessed at http://www.ietf.org/shadow.html This Internet-Draft will expire on December 29, 2009. Copyright Notice Copyright (c) 2009 IETF Trust and the persons identified as the document authors. All rights reserved. This document is subject to BCP 78 and the IETF Trust's Legal Provisions Relating to IETF Documents in effect on the date of publication of this document (http://trustee.ietf.org/license-info). Please review these documents carefully, as they describe your rights and restrictions with respect to this document. Racz, Despotovic Expires December 29, 2009 [Page 1] Internet-Draft An ALTO Service based on June 2009 BGP Routing Information Abstract Overlay applications, like Peer-to-Peer (P2P) file-sharing and video streaming, attract a lot of users and generate a huge amount of data. Most overlay applications do not take into account the underlying network topology in their routing decisions and connection establishment in general. Due to this fact and the large amount of P2P traffic, overlay applications waste network resources, cause problems in network management, and result in high costs for ISPs, especially because of the expensive interconnection links between ISPs. Therefore, the objective of the ALTO Working Group Charter [ALTO-charter] is to design and specify an Application-Layer Traffic Optimization (ALTO) service that will assist P2P applications in their peer selection process in order to achieve a more efficient usage of network resources, to reduce operational costs of ISPs, and to increase the overlay application performance at the same time. This draft proposes a possible ALTO service that uses BGP routing information in order to calculate a rating value for peers providing a certain resource (resource providers). The service is operated by the ISP. Since BGP routing information is available in any ISP network and the service accesses the routing information from the local ISP network, the deployment of the service does not require changes in the network and the ALTO server can retrieve routing information automatically. Table of Contents 1. Introduction...................................................3 2. BGP-Based ALTO Service.........................................3 2.1. Relevant BGP Attributes...................................4 2.1.1. Local Preference.....................................4 2.1.2. AS Path..............................................5 2.1.3. MED..................................................5 2.2. BGP Route Selection.......................................5 2.3. ALTO Rating Calculation...................................6 3. Security Considerations........................................9 4. IANA Considerations............................................9 5. References.....................................................9 5.1. Normative References......................................9 5.2. Informative References....................................9 6. Acknowledgments...............................................10 Racz, Despotovic Expires December 29, 2009 [Page 2] Internet-Draft An ALTO Service based on June 2009 BGP Routing Information 1. Introduction Network traffic generated by Peer-to-Peer (P2P) applications determines a large portion of the overall traffic in the Internet. Because P2P applications have limited information about the underlying network topology, they usually select direct P2P connections in a suboptimal way. As a result, P2P traffic often crosses several ISPs, causes high load and congestion on particular network links, reduces application performance, and generates high costs for ISPs. This problem is discussed and described in detail in the ALTO problem statement [draft-ietf-alto-problem-statement]. A possible solution to this problem is to provide network information (e.g., topology) to P2P applications, as proposed in the ALTO problem statement [draft-ietf-alto-problem-statement]. By using this information in P2P applications, it would be possible to optimize P2P traffic, to increase application performance, and to reduce costs of ISPs. Thus, both the P2P application and the ISP can benefit from such an information exchange. Therefore, ISPs have an incentive to provide such information and P2P applications have an incentive to use such information. In the ALTO problem statement [draft-ietf-alto-problem-statement] and ALTO requirements [draft-ietf-alto-reqs] an ALTO service is proposed that can provide information about the network to P2P applications. The service is accessible through the ALTO server. This document proposes a possible ALTO service based on Border Gateway Protocol (BGP) [RFC4271] routing information. ALTO clients can query the proposed service - called BGP-based ALTO service - with a list of IP addresses and/or IP address ranges representing resource providers. The service MUST return for each IP address and/or IP address range in the list a preference value, called ALTO rating. The ALTO rating is used by P2P applications in their peer selection process to choose "better" peers. The ALTO rating of a certain IP address is calculated based on the BGP attributes associated with the route for the given IP address. This document uses the terminology as defined in the ALTO problem statement [draft-ietf-alto-problem-statement]. 2. BGP-Based ALTO Service The BGP-based ALTO service assists P2P applications in their peer selection process by providing an ALTO rating for each potential resource provider peer. ALTO clients can query the ALTO server with the list of IP addresses of the peers the P2P application wants to connect to. The ALTO server MUST return the ALTO rating for each Racz, Despotovic Expires December 29, 2009 [Page 3] Internet-Draft An ALTO Service based on June 2009 BGP Routing Information address in the list. The ALTO rating is used by the application to decide to which peers to connect to. Instead of the IP addresses the ALTO client can also use IP address ranges. The ALTO service calculates the ALTO rating based on the BGP attributes associated with the route for the given IP address. The BGP routing protocol [RFC4271] is used to exchange routing information between ISPs and it determines routes for inter-domain routing between Autonomous Systems (AS). BGP can consider ISP policies in the routing decision, so that ISPs can influence the route selection according to their preferences, e.g., costs, peering vs. transit connections. Since BGP-based routing reflects the preferences of an ISP regarding inter-domain connections, BGP routing information can be used to assist peer selection in overlay applications in order to reduce inter-domain traffic and to achieve a more efficient inter-domain traffic pattern between ISPs. ISPs can use their BGP routing information to provide an ALTO service for overlay applications. Overlay applications in turn use the ALTO rating returned by the ALTO service in their peer selection algorithm and select peers that have a higher ALTO rating and thus improve their performance. The BGP-based locality information can only be used to optimize inter-domain P2P traffic. Local IP addresses are considered equal. Optimizing intra-domain P2P traffic is out-of-scope of this draft and it requires additional information about the network of the ISP. 2.1. Relevant BGP Attributes To provide the ALTO rating to overlay applications, the ALTO rating calculation algorithm uses the Local Preference, the AS Path, and the MED BGP attributes. Based on these attributes the algorithm calculates the ALTO rating that can be used by the overlay application in its peer selection process. 2.1.1. Local Preference The local preference BGP attribute is used to prefer a route to reach a certain destination if there are multiple alternative exit routes from the local AS to the same destination. The local preference attribute is exchanged between routers in the local AS. Routers select the route with the highest local preference value from all alternative routes (cf. Section 2.2.). Racz, Despotovic Expires December 29, 2009 [Page 4] Internet-Draft An ALTO Service based on June 2009 BGP Routing Information 2.1.2. AS Path The AS path BGP attribute contains a sequence of AS path segments. An AS path segment is either an AS_SEQUENCE or an AS_SET. An AS_SEQUENCE contains an ordered list of AS numbers that a route in the UPDATE message has traversed. An AS_SET is an unordered set of AS numbers that a route in the UPDATE message has traversed. AS_SETs are used in case of route aggregation and they reduce the size of the AS_PATH information. However, by using AS_SETs the information about the exact AS numbers a route traverses is also lost. The length of the AS path is calculated by counting the number of AS numbers in AS_SEQUENCEs and AS_SETs, where an AS_SET counts as 1 independent of how many ASs are in the set. The AS path length represents the distance to the destination. Routers select the route with shorter AS path from all alternative routes (cf. Section 2.2.). 2.1.3. MED By using the multi-exit discriminator (MED) attribute, an AS can suggest preferred routes to an external AS from the point of view of the AS that is advertising the given routes. The MED attribute enables an AS to advertise to external ASs its preference for incoming routes into its own AS. However, an external AS might select another route and it does not have to follow the suggestion. Routers select the route with the lowest MED value from all alternative routes (cf. Section 2.2.). 2.2. BGP Route Selection BGP can receive multiple alternative routes to the same destination from different BGP speakers. BGP will select only one route as the best path from all alternatives. Considering only the local preference, AS path, and MED BGP attributes, the BGP route selection works as follows: o Prefer the route with the largest local preference value. o If the alternative routes have the same local preference value, prefer the route with the shortest AS path. o If the alternative routes have the same AS path length, prefer the route with the lowest MED value. Racz, Despotovic Expires December 29, 2009 [Page 5] Internet-Draft An ALTO Service based on June 2009 BGP Routing Information 2.3. ALTO Rating Calculation The ALTO rating is calculated based on the local preference, AS path, and MED BGP routing attributes. In inter-domain routing ISPs prefer to select next hops in a way that considers the business relations and agreements established with their neighbors. In general the following relations can be distinguished: customer, provider, peering, and backup [CR05]. The local preference attribute can be used to prefer a route over another one to the same destination. ISPs often use the local preference value to implement their policies that reflect their business relations with their neighbors [CR05]. Therefore, the local preference attribute is one of the attributes considered in the ALTO rating calculation. The calculation algorithm assumes that ISPs assign a non-overlapping range of local preference values to each type of business relation that allows the comparison of local preference values of routes to different destinations. ISPs often assign local preference values in this way [CR05]. For example, local preference values in the range 90-99 might be used for customers, 80-89 for peers, 70-79 for providers, and 60-69 for backup links [CR05]. The AS path attribute represents the distance to a destination. The ALTO rating calculation prefers peers with shorter AS path length. This is because if P2P applications establish connections to closer peers, the application will most probably reach a better performance and the overall traffic will be reduced, since the traffic traverses less ASs. The MED attribute represents a suggestion of route preference from neighboring ISPs. The ALTO rating calculation tries to follow this suggestion, if the routes to the peers have the same local preference and AS path length. Since MED values have a local scope with respect to an inter-connection between two ISPs and MED values from different neighboring ISPs cannot be compared in general, the ALTO rating calculation takes MED values into account only if neighboring ISPs set the same range of MED values in a common way. This is reflected by the MED flag in the algorithm. BGP selects the best route from alternative routes to the same destination, while the ALTO rating calculation algorithm compares routes to different destinations based on their BGP attributes. Therefore, as discussed above, the following prerequisites need to be fulfilled to be able to use the ALTO rating calculation algorithm: o Non-overlapping ranges of local preference values are assigned to routes according to the business relations an ISP has with its neighbors. Racz, Despotovic Expires December 29, 2009 [Page 6] Internet-Draft An ALTO Service based on June 2009 BGP Routing Information o The MED value is only considered in the algorithm if all neighbors of the ISP use the same range of values in a common way. Otherwise the MED value is not taken into account in the ALTO rating calculation. o The Cisco-defined weight BGP attribute is either not used or is set to the same value for all routes. The ALTO rating calculation algorithm works as follows. It assigns the highest ALTO rating to peers (IP addresses or ranges) that are in the network of the ISP that provides the ALTO service to its customers. This ensures that first local peers will be selected by P2P applications if the applications follow the ALTO rating. Regarding peers outside of the AS of the ISP, the ALTO rating calculation algorithm assigns rates according to the preference of the BGP routing protocol. This ensures that peers outside of the AS will be selected by P2P applications according to the ISP's routing preference. The best route selection algorithm of the BGP protocol (cf. Section 2.2.) prefers first routes with the largest local preference value, then routes with the shortest AS path length, and finally routes with the lowest MED value. Therefore, the ALTO rating calculation algorithm also prefers first peers with the largest local preference, then peers with the shortest AS path length, and finally peers with the lowest MED value. The ALTO rating calculation algorithm is specified by the following pseudo code: for each IP range that is in the network of the ISP { /* Assign the highest ALTO rating value to the address range */ if MED flag is set { ALTO rating = (MAXPREF+1)*(MAXAS+1)*(MAXMED+1) } else { ALTO rating = (MAXPREF+1)*(MAXAS+1) } } for each BGP routing entry that is selected as a best path by BGP { Racz, Despotovic Expires December 29, 2009 [Page 7] Internet-Draft An ALTO Service based on June 2009 BGP Routing Information /* Assign the ALTO rating value based on the BGP attributes */ if MED flag is set { ALTO rating = local_pref*(MAXAS+1)*(MAXMED+1) + (MAXAS-as_hops)*(MAXMED+1) + MAXMED-med } else { ALTO rating = local_pref*(MAXAS+1) + MAXAS-as_hops } } In the first for-loop the algorithm assign to each IP range that is in the network of the ISP the highest ALTO rating. In the second for- loop the algorithm takes only the BGP routing entries that have been selected as the best path by the BGP protocol and assigns to these BGP entries the ALTO rating based on their BGP attributes (i.e., local_pref, as_hops, med). The MED attribute is only taken into account if the MED flag is set (see details above). The algorithm uses the following three configuration parameters that the ISP has to set: o MAXPREF:It is equal to or greater than the largest local preference value used by BGP speakers in the network of the ISP. o MAXAS: It is equal to or greater than the largest AS path length used by BGP speakers in the network of the ISP. o MAXMED: It is equal to or greater than the largest MED value used by BGP speakers in the network of the ISP. The ALTO rating calculation algorithm is running on the ALTO server. Therefore, the ALTO server has to know the local IP ranges of the ISP and has to have access to the BGP routing table of the ISP. The local IP ranges can be configured on the ALTO server or the ALTO server can extract them from intra-domain routing protocols, like OSPF. The BGP routing table can be accessed by the ALTO server for example over SNMP from a BGP reflector in the network of the ISP. The calculation of ALTO ratings shall be repeated periodically in order to reflect possible changes in local IP ranges or in the BGP routing. After calculating the ALTO ratings, the ALTO server is ready to receive requests from ALTO clients. When the ALTO server receives a Racz, Despotovic Expires December 29, 2009 [Page 8] Internet-Draft An ALTO Service based on June 2009 BGP Routing Information request with a list of IP addresses, the server determines whether the IP address is from a local IP range. If it is from a local IP range, the server takes the highest ALTO rating. If it is from a remote AS, the server looks up the corresponding BGP routing entry according to longest prefix match and takes the ALTO rating calculated for that routing entry. After the server looked up the ALTO ratings to all IP addresses in the request, it sends back the list together with the ALTO ratings assigned to each IP address in the list. The ALTO client then can use the ALTO ratings to select peers according to the recommendation of the ALTO server. 3. Security Considerations High-level security considerations can be found in the ALTO problem statement [draft-ietf-alto-problem-statement] and they apply for this document as well. 4. IANA Considerations None. 5. References 5.1. Normative References [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate Requirement Levels", BCP 14, RFC 2119, March 1997. [RFC2234] Crocker, D. and Overell, P.(Editors), "Augmented BNF for Syntax Specifications: ABNF", RFC 2234, Internet Mail Consortium and Demon Internet Ltd., November 1997. [RFC4271] Rekhter, Y., Li, T., Hares, S., Ed., "A Border Gateway Protocol 4 (BGP-4)", RFC 4271, January 2006. 5.2. Informative References [ALTO-charter] Peterson, J., Marocco, E. and V. Gurbani, "Application-Layer Traffic Optimization (ALTO) Working Group Charter", February 2009. [draft-ietf-alto-reqs] Kiesel, S., Popkin, L., Previdi, S., Woundy, R., Yang, Y R., "Application-Layer Traffic Optimization (ALTO) Requirements", Internet-Draft, April, 2009. Racz, Despotovic Expires December 29, 2009 [Page 9] Internet-Draft An ALTO Service based on June 2009 BGP Routing Information [draft-ietf-alto-problem-statement] Seedorf, J., Burger, E., "Application-Layer Traffic Optimization (ALTO) Problem Statement", Internet-Draft, May, 2009. [CR05] Caesar, M., Rexford, J., "BGP routing policies in ISP networks", IEEE Network, Volume: 19, Issue: 6, Nov.-Dec. 2005. 6. Acknowledgments This work has been performed partially in the framework of the EU ICT Project SmoothIT (FP7-ICT-216259). The authors would like to thank all SmoothIT project members explicitly for providing insights and for their discussions. Racz, Despotovic Expires December 29, 2009 [Page 10] Internet-Draft An ALTO Service based on June 2009 BGP Routing Information Authors' Addresses Peter Racz University of Zurich Binzmuhlestrasse 14 8050 Zurich Switzerland Email: racz@ifi.uzh.ch Zoran Despotovic DOCOMO Communications Laboratories Europe GmbH Landsbergerstrasse 312 80687 Munich Germany Email: despotovic@docomolab-euro.com Racz, Despotovic Expires December 29, 2009 [Page 11]