IBGPスケーリングのためのBGPコンフェデレーション
BGP コンフェデレーションを理解する
BGPコンフェデレーションは、BGPフルメッシュ要件に起因するスケーリングの問題を解決するもう1つの方法です。BGPコンフェデレーションは、大規模な自律システム(AS)をサブ自律システム(サブAS)に効果的に分割します。各サブASは、サブAS番号によってコンフェデレーションAS内で一意に識別される必要があります。通常、サブAS番号は、64,512〜65,535のプライベートAS番号から取得されます。
サブAS内では、同じ内部BGP(IBGP)フルメッシュ要件が存在します。他のコンフェデレーションへの接続は標準外部BGP(EBGP)で行われ、サブAS外のピアは外部として扱われます。ルーティングループを回避するために、サブASはコンフェデレーションシーケンスを使用します。コンフェデレーションシーケンスはASパスのように動作しますが、プライベートに割り当てられたサブAS番号のみを使用します。
コンフェデレーションASは、他のコンフェデレーションASからは丸ごと見えます。他のASが受信したASパスには、グローバルに割り当てられたAS番号のみが表示されます。コンフェデレーションシーケンスやプライベートに割り当てられたサブAS番号は含まれません。サブAS番号は、ルートがコンフェデレーションASからアドバタイズされると削除されます。 図 1 、4 つのコンフェデレーションに分割された AS を示しています。
図 1 は、AS 3が4つのサブAS64517、64550、65300、65410に分割され、EBGPセッションを介してリンクされていることを示しています。コンフェデレーションは EBGP で接続されるため、完全にメッシュ化する必要はありません。EBGPルートは他のサブASに再アドバタイズされます。
関連項目
例:BGP コンフェデレーションを設定
この例では、BGP コンフェデレーションを設定する方法を示します。
要件
ネットワークインターフェイスの設定
外部ピア・セッションを設定します。「例 :外部 BGP ポイントツーポイント ピア セッションの設定
ピア間のインテリア・ゲートウェイ・プロトコル(IGP)セッションを設定します。
BGP 経路を広告するためのルーティング ポリシーを設定します。
概要
BGP コンフェデレーション内では、コンフェデレーションメンバーの自律システム(AS)間のリンクは、内部 BGP(IBGP)リンクではなく、外部 BGP(EBGP)リンクである必要があります。
BGPコンフェデレーションは、 ルートリフレクタと同様に、ピアセッションとTCPセッションの数を減らして、IBGPルーティングデバイス間の接続を維持します。BGPコンフェデレーションは、IBGPフルメッシュ要件によって生じるスケーリングの問題を解決するために使用される方法の1つです。BGPコンフェデレーションは、大規模ASをサブ自律システムに効果的に分割します。各サブASは、サブAS番号によってコンフェデレーションAS内で一意に識別される必要があります。通常、サブAS番号は、64512〜65535のプライベートAS番号から取得されます。サブAS内では、同じIBGPフルメッシュ要件が存在します。他のコンフェデレーションへの接続は標準EBGPで行われ、サブAS外のピアは外部として扱われます。ルーティングループを回避するために、サブASはコンフェデレーションシーケンスを使用します。コンフェデレーションシーケンスはASパスのように動作しますが、プライベートに割り当てられたサブAS番号のみを使用します。
図 2 は、AS 17 に 2 つの独立したコンフェデレーションがあるサンプル ネットワークを示しています。sub-AS 64512とsub-AS 64513で、それぞれに複数のルーターがあります。サブAS内では、IGPを使用して内部ピアとのネットワーク接続を確立します。サブAS間で、EBGPピアセッションが確立されます。
トポロジー
設定
手順
CLIクイック構成
この例をすばやく設定するには、次のコマンドをコピーしてテキストファイルに貼り付け、改行を削除して、ネットワーク構成に合わせて必要な詳細を変更し、[edit]
階層レベルのCLIにコマンドをコピー&ペーストしてください。
Sub-AS 64512内のすべてのデバイス
set routing-options autonomous-system 64512 set routing-options confederation 17 members 64512 set routing-options confederation 17 members 64513 set protocols bgp group sub-AS-64512 type internal set protocols bgp group sub-AS-64512 local-address 192.168.5.1 set protocols bgp group sub-AS-64512 neighbor 192.168.8.1 set protocols bgp group sub-AS-64512 neighbor 192.168.15.1
サブAS 64512の境界デバイス
set protocols bgp group to-sub-AS-64513 type external set protocols bgp group to-sub-AS-64513 peer-as 64513 set protocols bgp group to-sub-AS-64513 neighbor 192.168.5.2
Sub-AS 64513内のすべてのデバイス
set routing-options autonomous-system 64513 set routing-options confederation 17 members 64512 set routing-options confederation 17 members 64513 set protocols bgp group sub-AS-64513 type internal set protocols bgp group sub-AS-64513 local-address 192.168.5.2 set protocols bgp group sub-AS-64513 neighbor 192.168.9.1 set protocols bgp group sub-AS-64513 neighbor 192.168.16.1
Sub-AS 64513の境界デバイス
set protocols bgp group to-sub-AS-64512 type external set protocols bgp group to-sub-AS-64512 peer-as 64512 set protocols bgp group to-sub-AS-64512 neighbor 192.168.5.1
ステップバイステップでの手順
この手順では、サブAS 64512にあるデバイスの手順を示します。
autonomous-system
ステートメントは、デバイスのサブAS番号を設定します。
次の例では、設定階層のいくつかのレベルに移動する必要があります。CLIのナビゲーションについては、Junos OS CLIユーザーガイドの 設定モードでCLIエディターを使用する を参照してください。
BGP コンフェデレーションを設定するには:
デバイスのサブAS番号を設定します。
[edit routing-options] user@host# set autonomous-system 64512
コンフェデレーションで、メインASのすべてのサブASを含めます。
番号の17はメインASを表します。
members
ステートメントは、メインAS内のすべてのサブASを一覧表示します。[edit routing-options confederation] user@host# set 17 members 64512 user@host# set 17 members 64513
サブAS 64512の境界デバイスで、AS 64513の境界デバイスへのEBGP接続を設定します。
[edit protocols bgp group to-sub-AS-64513] user@host# set type external user@host# set neighbor 192.168.5.2 user@host# set peer-as 64513
サブAS 64512内のデバイスとのピアリング用のIBGPグループを設定します。
[edit protocols bgp group sub-AS-64512] user@host# set type internal user@host# set local-address 192.168.5.1 user@host# neighbor 192.168.8.1 user@host# neighbor 192.168.15.1
結果
設定モードから、show routing-options
および show protocols
コマンドを入力して設定を確認します。出力結果に意図した設定内容が表示されない場合は、この例の手順を繰り返して設定を修正します。
user@host# show routing-options autonomous-system 64512; confederation 17 members [ 64512 64513 ];
user@host# show protocols bgp { group to-sub-AS-64513 { # On the border devices only type external; peer-as 64513; neighbor 192.168.5.2; } group sub-AS-64512 { type internal; local-address 192.168.5.1; neighbor 192.168.8.1; neighbor 192.168.15.1; } }
デバイスの設定が完了したら、設定モードから commit
を入力します。 sSub-AS 64513 に対してこれらの手順を繰り返します。
検証
設定が正常に機能していることを確認します。
BGP ネイバーの検証
目的
設定したインタフェースで BGP が動作していること、および各近隣アドレスで BGP セッションがアクティブになっていることを確認します。
アクション
CLIからshow bgp neighbor
コマンドを入力します。
サンプル出力
コマンド名
user@host> show bgp neighbor Peer: 10.255.245.12+179 AS 35 Local: 10.255.245.13+2884 AS 35 Type: Internal State: Established (route reflector client)Flags: Sync Last State: OpenConfirm Last Event: RecvKeepAlive Last Error: None Options: Preference LocalAddress HoldTime Cluster AddressFamily Rib-group Refresh Address families configured: inet-vpn-unicast inet-labeled-unicast Local Address: 10.255.245.13 Holdtime: 90 Preference: 170 Flags for NLRI inet-vpn-unicast: AggregateLabel Flags for NLRI inet-labeled-unicast: AggregateLabel Number of flaps: 0 Peer ID: 10.255.245.12 Local ID: 10.255.245.13 Active Holdtime: 90 Keepalive Interval: 30 NLRI advertised by peer: inet-vpn-unicast inet-labeled-unicast NLRI for this session: inet-vpn-unicast inet-labeled-unicast Peer supports Refresh capability (2) Restart time configured on the peer: 300 Stale routes from peer are kept for: 60 Restart time requested by this peer: 300 NLRI that peer supports restart for: inet-unicast inet6-unicast NLRI that restart is negotiated for: inet-unicast inet6-unicast NLRI of received end-of-rib markers: inet-unicast inet6-unicast NLRI of all end-of-rib markers sent: inet-unicast inet6-unicast Table inet.0 Bit: 10000 RIB State: restart is complete Send state: in sync Active prefixes: 4 Received prefixes: 6 Suppressed due to damping: 0 Table inet6.0 Bit: 20000 RIB State: restart is complete Send state: in sync Active prefixes: 0 Received prefixes: 2 Suppressed due to damping: 0 Last traffic (seconds): Received 3 Sent 3 Checked 3 Input messages: Total 9 Updates 6 Refreshes 0 Octets 403 Output messages: Total 7 Updates 3 Refreshes 0 Octets 365 Output Queue[0]: 0 Output Queue[1]: 0 Trace options: detail packets Trace file: /var/log/bgpgr size 131072 files 10
意味
出力は、詳細なセッション情報を含むBGPネイバーのリストを示しています。次の情報を確認します。
設定された各ピアリングネイバーがリストされます。
State
の場合、各BGPセッションはEstablished
です。Type
の場合、各ピアは正しいタイプ(内部または外部)として設定されます。AS
の場合、BGPネイバーのAS番号は正しいです。
BGP グループの検証
目的
BGP グループが正しく設定されていることを確認します。
アクション
CLIからshow bgp group
コマンドを入力します。
サンプル出力
コマンド名
user@host> show bgp group Group Type: Internal AS: 10045 Local AS: 10045 Name: pe-to-asbr2 Flags: Export Eval Export: [ match-all ] Total peers: 1 Established: 1 10.0.0.4+179 bgp.l3vpn.0: 1/1/0 vpn-green.inet.0: 1/1/0 Groups: 1 Peers: 1 External: 0 Internal: 1 Down peers: 0 Flaps: 0 Table Tot Paths Act Paths Suppressed History Damp State Pending bgp.l3vpn.0 1 1 0 0 0 0
意味
出力には、詳細なグループ情報を含むBGPグループのリストが表示されます。次の情報を確認します。
設定された各グループが一覧表示されます。
AS
では、各グループのリモートASが正しく設定されています。Local AS
の場合、各グループのローカルASは正しく設定されています。Group Type
の場合、各グループの種類は正しい (内部または外部) です。Total peers
の場合、グループ内の予想されるピア数が表示されます。Established
では、グループ内の予想されるピア数が、BGP セッションをEstablished
状態にしています。グループ内のすべてのピアの IP アドレスが存在します。
BGP サマリー情報の検証
目的
BGP の設定が正しいことを確認します。
アクション
CLIからshow bgp summary
コマンドを入力します。
サンプル出力
コマンド名
user@host> show bgp summary Groups: 1 Peers: 3 Down peers: 0 Table Tot Paths Act Paths Suppressed History Damp State Pending inet.0 6 4 0 0 0 0 Peer AS InPkt OutPkt OutQ Flaps Last Up/Dwn State|#Active/Received/Damped... 10.0.0.2 65002 88675 88652 0 2 42:38 2/4/0 0/0/0 10.0.0.3 65002 54528 54532 0 1 2w4d22h 0/0/0 0/0/0 10.0.0.4 65002 51597 51584 0 0 2w3d22h 2/2/0 0/0/0
意味
出力には、BGP セッション情報の要約が表示されます。次の情報を確認します。
Groups
については、設定されたグループの総数が表示されます。Peers
については、BGP ピアの総数が表示されます。Down Peers
の場合、確立されていないピアの総数は 0 です。この値がゼロでない場合、1つ以上のピアリングセッションがまだ確立されていません。[
Peer
の下に、設定された各ピアの IP アドレスが表示されます。[
AS
] では、設定された各ピアのピア AS は正しいです。Up/Dwn State
では、BGP の状態は、ネイバーから受信したパスの数、受け入れられたこれらのパスの数、および減衰されているルートの数(0/0/0 など)を反映します。フィールドがActive
の場合は、BGP セッションの確立に問題があることを示しています。