Network Working Group T. Bates Request for Comments: 1966 cisco Systems Category: Experimental R. Chandra cisco Systems June 1996 BGP Route Reflection An alternative to full mesh IBGP Status of this Memo This memo defines an Experimental Protocol for the Internet community. This memo does not specify an Internet standard of any kind. Discussion and suggestions for improvement are requested. Distribution of this memo is unlimited. Abstract The Border Gateway Protocol [1] is an inter-autonomous system routing protocol designed for TCP/IP internets. BGP deployments are configured such that that all BGP speakers within a single AS must be fully meshed so that any external routing information must be re- distributed to all other routers within that AS. This represents a serious scaling problem that has been well documented with several alternatives proposed [2,3]. This document describes the use and design of a method known as "Route Reflection" to alleviate the the need for "full mesh" IBGP. 1. Introduction 1. はじめに Currently in the Internet, BGP deployments are configured such that that all BGP speakers within a single AS must be fully meshed and any external routing information must be re-distributed to all other routers within that AS. This "full mesh" requirement clearly does not scale when there are a large number of IBGP speakers as is common in many of todays internet networks. インターネットの最新では、BGPの展開は、一つのASに属する全てのBGP SpeakerはFull Meshにしなくてはならず、また、如何なる外部経路情報も当該 ASに属する他の全てのルータに再配布しなくてはならないように設定される。 このFull Meshの要求は多くのIBGPルータが存在する今日のインターネットに おいてはスケールしないことは明白です。 For n BGP speakers within an AS you must maintain n*(n-1)/2 unique IBGP sessions. With finite resources in both bandwidth and router CPU this clearly does not scale. ASの中にn個のBGP Speakerが存在する場合、ユニークなIBGPセッションを n*(n-1)/2個メンテナンスしなくてはなりません。両端のバンド幅での状態 至言とルータのCPUではスケールしないことは明白です。 This scaling problem has been well documented and a number of proposals have been made to alleviate this [2,3]. This document represents another alternative in alleviating the need for a "full mesh" and is known as "Route Reflection". It represents a change in the commonly understood concept of IBGP and the addition of two new Bates & Chandra Experimental [Page 1] RFC 1966 BGP Route Reflection June 1996 optional transitive BGP attributes. このスケール問題は、2、3章にこれを軽減させるいくつかの提案し、 そして記述しています。このドキュメントは"Full Mesh"が必要とする 軽減させる他の方法と良く知られている"Route Reflector"について記述 します。これは、良くしられているIBGPのコンセプトの変更と2つの新しい Transitive属性のオプションの追加です。 2. Design Criteria 2. 設計基準 Route Reflection was designed to satisfy the following criteria. 経路反射は下記の基準を満たすように設計されます。 o Simplicity ○単純性 Any alternative must be both simple to configure as well as understand. どの代用方法も設定しやすく、理解しやすくなくてはならない。 o Easy Migration ○移行のしやすさ It must be possible to migrate from a full mesh configuration without the need to change either topology or AS. This is an unfortunate management overhead of the technique proposed in [3]. トポロジーやASの変更の必要なしにFull Meshの設定から移行 できなくてはならない。これは、テクニックの不適当な管理ロス として3章で提案する。 o Compatibility ○両用性 It must be possible for non compliant IBGP peers to continue be part of the original AS or domain without any loss of BGP routing information. BGPの経路情報のロスなしにOriginal AS部分やドメインを IBGP peerの障害の無い状態を継続させることができなくては ならない。 These criteria were motivated by operational experiences of a very large and topology rich network with many external connections. これらの基準は、多くの外部接続を持つ大きなネットワークトポロジーと 非常に大きなオペレーション経験によって動機づけされました。 3. Route Reflection 3. 経路反射 The basic idea of Route Reflection is very simple. Let us consider the simple example depicted in Figure 1 below. 経路反射の基本的な考えは非常に簡単です。図1に示した簡単な例で考えて みまょう。 +------ + +-------+ | | IBGP | | | RTR-A |--------| RTR-B | | | | | +-------+ +-------+ \ / IBGP \ ASX / IBGP \ / +-------+ | | | RTR-C | | | +-------+ Figure 1: Full Mesh IBGP Bates & Chandra Experimental [Page 2] RFC 1966 BGP Route Reflection June 1996 In ASX there are three IBGP speakers (routers RTR-A, RTR-B and RTR- C). With the existing BGP model, if RTR-A receives an external route and it is selected as the best path it must advertise the external route to both RTR-B and RTR-C. RTR-B and RTR-C (as IBGP speakers) will not re-advertise these IBGP learned routes to other IBGP speakers. ASXでは3つのIBGP Speakerがあります。現存するBGPのモデルでは、もし、 RTR-Aが外部経路を受け、そして、そのpathを選択したならば、その経路は RTR-BとRTR-Cの両方の外部経路を広告しなくてはなりません。RTR-BとRTR-C (IBGP Speaker)はそれらのIBGPで受けた経路を他のIBGPルータには再広告 しないでしょう。 If this rule is relaxed and RTR-C is allowed to reflect IBGP learned routes, then it could re-advertise (or reflect) the IBGP routes learned from RTR-A to RTR-B and vice versa. This would eliminate the need for the IBGP session between RTR-A and RTR-B as shown in Figure 2 below. もし、このルールを緩め、そして、RTR-CがIBGPから受けた経路を反射するこ とを許した場合、RTR-AからRTR-Bそしてその逆もの場合でも受けたIBGPの経路 を再広告(反射)できます。これは、図2に示すようにRTR-AとRTR-Bの間の IBGPセッションの必要性を除去します。 +------ + +-------+ | | | | | RTR-A | | RTR-B | | | | | +-------+ +-------+ \ / IBGP \ ASX / IBGP \ / +-------+ | | | RTR-C | | | +-------+ Figure 2: Route Reflection IBGP The Route Reflection scheme is based upon this basic principle. 経路反射案は基本的にこの原則がベースとされます。 4. Terminology and Concepts 4. 用語と概念 We use the term "Route Reflector" (RR) to represent an IBGP speaker that participates in the reflection. The internal peers of a RR are divided into two groups: 我々は反射に加わる再広告を行うIBGP Speakerに"Route Reflector"(RR)と言 う用語を使います。RRの内部Peerは下記の2つのグループに分かれます。 1) Client Peers 2) Non-Client Peers A RR reflects routes between these groups. A RR along with its client peers form a Cluster. The Non-Client peer must be fully meshed but the Client peers need not be fully meshed. The Client peers should not peer with internal speakers outside of their cluster. Figure 3 depicts a simple example outlining the basic RR components using the terminology noted above. RRはこれらのグループ間で経路を反射します。clientの先のRRはClunterから peerします。non-clientはFull MeshでPeerしなくてはなりません、しかし、 ClientはFull MeshでPeerする必要はありません。ClientはそのClusterの外 の内部Speakerにはpeerしないでしょう。図3には上記の用語を利用して、 基本的なRRの構成のアウトラインの簡単な例を描画しています。 Bates & Chandra Experimental [Page 3] RFC 1966 BGP Route Reflection June 1996 / - - - - - - - - - - - - - -\ | Cluster | +-------+ +-------+ | | | | | | | RTR-A | | RTR-B | | |Client | |Client | | +-------+ +-------+ | \ / | IBGP \ / IBGP | \ / | +-------+ | | | | | RTR-C | | | RR | | +-------+ | / \ | \ - - - - -/- - -\- - - - - - / IBGP / \ IBGP +-------+ +-------+ | RTR-D | IBGP | RTR-E | | Non- |---------| Non- | |Client | |Client | +-------+ +-------+ Figure 3: RR Components 5. Operation 5. オペレーション When a route is received by a RR, it selects the best path based on its path selection rule. After the best path is selected, it must do the following depending on the type of the peer it is receiving the best path from: ルータがRRによって受信されるとき、それは、PATH選択ルールを基本とした BESTな経路を選択します。BESTな経路を選択されたあとは、BESTな経路を受けた Peerの下記に示す種別に依存して動作しなくてはなりません。 1) A Route from a Non-Client peer non-clientのpeerからの経路 Reflect to all other Clients. 全ての他のClientに反射 2) A Route from a Client peer ClientのPeerからの経路 Reflect to all the Non-Client peers and also to the Client peers other than the originator. (Hence the Client peers are not required to be fully meshed). non-clinetのpeer全てに反射、そして、originaterの異なった clientのpeerにも反射。(そのため、ClientのPeerはfull mesh で構成することを要求されません。) 3) Route from an EBGP peer EBGPのPeerからの経路 Send to all the Client and Non-Client Peers. Clinetとnon-clientのpeer全てに送信 Bates & Chandra Experimental [Page 4] RFC 1966 BGP Route Reflection June 1996 An Autonomous System could have many RRs. A RR treats other RRs just like any other internal BGP speakers. A RR could be configured to have other RRs in a Client group or Non-client group. 自律システムは多くのRRを持つことができます。RRは、他のRRを、他の単なる iBGPスピーカとして扱います。RRはnon-clientのグループ、または、他のRRの Clientのグループに設定されることができます。 In a simple configuration the backbone could be divided into many clusters. Each RR would be configured with other RRs as Non-Client peers (thus all the RRs will be fully meshed.). The Clients will be configured to maintain IBGP session only with the RR in their cluster. Due to route reflection, all the IBGP speakers will receive reflected routing information. 簡単な設定においてバックボーンはいくつものClusterに分割されます。 互いのRRはNon-clientのPeerによって他のRRを設定されることができます。 (全てのrrはFull Meshで構成されるため) Clientは、そのClusterのRRだけの IBGPセッションで維持され設定されることができるでしょう。経路反射によって 全てのIBGP Speakerは、反射された経路情報を受け取るでしょう。 It is normal in a Autonomous System to have BGP speakers that do not understand the concept of Route-Reflectors (let us call them conventional BGP speakers). The Route-Reflector Scheme allows such conventional BGP speakers to co-exist. Conventional BGP speakers ould be either members of a Non-Client group or a Client group. This allows for an easy and gradual migration from the current IBGP model to the Route Reflection model. One could start creating clusters by configuring a single router as the designated RR and configuring other RRs and their clients as normal IBGP peers. Additional clusters can be created gradually. Route-Reflectorのコンセプトを理解しないBGP Speakerを持つ自律システムが 普通です。(慣習的なBGP Speakerと我々は呼びます。) Route-Reflectorの構造 はそのような慣習的なBGP Speakerと共存することを許します。慣習的な BGP SpeakerはClientグループまたは、non-clientグループのどちらのメンバー にもすることができます。これは、現在のIBGPモデルからRoute Reflectorの モデルに簡単かつ緩やかに移行できることを意味します。一つは、RRとして 一つのルータを設定し、そして、他のRRを設定し、そして、通常の IBGP Peer のようにそれらのクライアントとすることによりClusterを作成しスターとする ことができます。Clusterの追加は徐々に作成することができます。 6. Redundant RRs 6. RRの冗長性 Usually a cluster of clients will have a single RR. In that case, the cluster will be identified by the ROUTER_ID of the RR. However, this represents a single point of failure so to make it possible to have multiple RRs in the same cluster, all RRs in the same cluster must be configured with a 4-byte CLUSTER_ID so that an RR can discern routes from other RRs in the same cluster. しばしば、ClientのClusterは一つのRRを持ちます。この場合、Clusterは、 RRのRouter-IDによって認識されます。しかし、これは同一のClusterに複数の RRを持つことができることにより一つの問題を引き起こす広告をしてしまいま す。このため、同一のClusterの中のすべてのRRは同一のClusterの中の他の RRからの経路を見分けるための4バイトのCluster-IDを設定しなくてはなり ません。 7. Avoiding Routing Information Loops 7. 経路情報ループの回避 As IBGP learned routes are reflected, it is possible through mis- configuration to form route re-distribution loops. The Route Reflection method defines the following attributes to detect and avoid routing information loops. IBGPで受けた経路は反射されるので、設定ミスにより経路再分配のループを 生じる可能性があります。下記に経路反射での属性の検出と経路情報ループ の回避の方法を定義します。 ORIGINATOR_ID ORIGINATOR_ID is a new optional, non-transitive BGP attribute of Type code 9. This attribute is 4 bytes long and it will be created by a RR. This attribute will carry the ROUTER_ID of the originator of the route in the local AS. A BGP speaker should not create an ORIGINATOR_ID attribute if one already exists. A route reflector must never send routing information back to the router specified in ORIGINATOR_ID. ORIGINATOR_IDはType 9の非転送のBGP属性の新しいオプションです。この属性 の長さは4バイトで、RRで作成されます。この属性は、ローカルAS中の経路の originatorのROUTER_IDを転送するでしょう。BGP Speakerは、すでに ORIGINATOR_IDの属性が存在する場合には、その属性を作成しないでしょう。 Route ReflectorはORIGINATOR_IDで定義されるルータに経路情報を戻すことは 決してしてはいけません。 Bates & Chandra Experimental [Page 5] RFC 1966 BGP Route Reflection June 1996 CLUSTER_LIST Cluster-list is a new optional, non-transitive BGP attribute of Type code 10. It is a sequence of CLUSTER_ID values representing the reflection path that the route has passed. It is encoded as follows: Cluster-ListはType 10の非転送のBGP属性の新しいオプションです。それは、 通過して来た経路であるリフレクションパスを示すCLUSTER_IDの値の列です。 それは、以下の様にエンコードされています。 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Attr. Flags |Attr. Type Code| Length | value ... +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Where Length is the number of octets. Lengthはoctet数を表します。 When a RR reflects a route from its Clients to a Non-Client peer, it must append the local CLUSTER_ID to the CLUSTER_LIST. If the CLUSTER_LIST is empty, it must create a new one. Using this attribute an RR can identify if the routing information is looped back to the same cluster due to mis-configuration. If the local CLUSTER_ID is found in the cluster-list, the advertisement will be ignored. RRがそのClientからNon-ClientのPeerに対して経路を反射するとき、 CLUSTER_LISTにローカルのCLUSTER_IDを追加しなくてはなりません。もし、 CLUSTER_LISTが空の場合、新しいCLUSTER_LISTを作成しなくてはなりません。 もし、経路情報が設定ミスによって同一Clusterでループバックしている場合 には、この属性を使う事によりRRは認識できます。もし、ローカルなCluster IDがCluster-Listに見つかった場合、その広告は無視されます。 8. Implementation and Configuration Considerations 8. インプリメンテーションと設定に関して Care should be taken to make sure that none of the BGP path attributes defined above can be modified through configuration when exchanging internal routing information between RRs and Clients and Non-Clients. This could result is looping of routes. 注意すべき点は、先に定義した余計なBGPのPath属性は、RRとClientと Non-Clientとの間で内部の経路情報を交換するときの設定変更が可能である ことを確認することです。この結果は経路のループです。 In some implementations, modification of the BGP path attribute, NEXT_HOP is possible. For example, there could be a need for a RR to modify NEXT_HOP for EBGP learned routes sent to its internal peers. However, it must not be possible for an RR to set on reflected IBGP routes as this breaks the basic principle of Route Reflection and will result in potential black holeing of traffic. いくつかのインプリメンテーションでは、BGPのパス属性、NEXT_HOPの変更は 可能です。例えば、EBGPから受けた経路を内部Peerに送信する際にRRが必要 とするようにNEXT_HOPを変更する事ができます。しかし、経路反射のこの段落 での基本的原則として反射されたIBGP経路でセットしたRRに対して、可能と してはならない、そして、トラヒックの潜在的なブラックホールを生むでし ょう。 An RR should not modify any AS-PATH attributes (i.e. LOCAL_PREF, MED, DPA)that could change consistent route selection. This could result in potential loops. RRは、矛盾のない経路選択を変更できるいくつかのAS-PATH属性(LOCAL_PREF MED,DPAなど)を変更しないでしょう。これは、潜在的なループにより生じます。 The BGP protocol provides no way for a Client to identify itself dynamically as a Client to an RR configured BGP speaker and the simplest way to achieve this is by manual configuration. BGPプロトコルは、RRをBGP Speakerが設定したClientのような、それ自信を 直接認識するClientに対しての方法を提供しません、そして、これを達成す る単純な方法はマニュアルで設定する事です。 9. Security Considerations 9. セキュリティに関して Security issues are not discussed in this memo. セキュリティに関する項目はこのメモでは議論しません。 Bates & Chandra Experimental [Page 6] RFC 1966 BGP Route Reflection June 1996 10. Acknowledgments 10. 謝辞 The authors would like to thank Dennis Ferguson, Enke Chen, John Scudder, Paul Traina and Tony Li for the many discussions resulting in this work. This idea was developed from an earlier discussion between Tony Li and Dimitri Haskin. 著者は、この仕事における度重なる議論において、デニス・ファーガソン氏、 エンケ・チェン氏、ジョン・スクーダ氏、ポール・トレイナ氏、そして トニー・リー氏に深く感謝します。このアイデアは、トニー・リー氏と ディミトリ・ハスキン氏の間の先行の議論から開発されたものです。 11. References [1] Rekhter, Y., and T. Li, "A Border Gateway Protocol 4 (BGP-4)", RFC 1771, March 1995. [2] Haskin, D., "A BGP/IDRP Route Server alternative to a full mesh routing", RFC 1863, October 1995. [3] Traina, P., "Limited Autonomous System Confederations for BGP", RFC 1965, June 1996. 12. Authors' Addresses Tony Bates cisco Systems 170 West Tasman Drive San Jose, CA 95134 Phone: +1 408 527 2470 EMail: tbates@cisco.com Ravishanker Chandrasekeran (Ravi Chandra) cisco Systems 170 West Tasman Drive San Jose, CA 95134 EMail: rchandra@cisco.com Bates & Chandra Experimental [Page 7]