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にあるデバイスの手順を示します。
ステートメントは 、デバイスのサブAS番号を設定します。autonomous-system
次の例では、設定階層のいくつかのレベルに移動する必要があります。CLIのナビゲーションについては、Junos OS CLIユーザーガイドの 設定モードでCLIエディターを使用する を参照してください。
BGP コンフェデレーションを設定するには:
デバイスのサブAS番号を設定します。
[edit routing-options] user@host# set autonomous-system 64512
コンフェデレーションで、メインASのすべてのサブASを含めます。
番号の17はメインASを表します。ステートメントは 、メインAS内のすべてのサブASを一覧表示します。
members
[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ネイバーのリストを示しています。次の情報を確認します。
設定された各ピアリングネイバーがリストされます。
の場合 、各BGPセッションは です。
State
Established
の場合 、各ピアは正しいタイプ(内部または外部)として設定されます。
Type
の場合 、BGPネイバーのAS番号は正しいです。
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
の場合 、各グループのローカルASは正しく設定されています。
Local AS
の場合 、各グループの型は正しい(内部または外部)です。
Group Type
については 、グループ内の予想されるピア数が表示されます。
Total peers
の場合 、 状態内に BGP セッションを持つグループ内の予想されるピアの数。
Established
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
については 、BGP ピアの総数が表示されます。
Peers
の場合 、確立されていないピアの総数は 0 です。この値がゼロでない場合、1つ以上のピアリングセッションがまだ確立されていません。
Down Peers
の下に は、設定された各ピアのIPアドレスが表示されます。
Peer
の下で は、設定された各ピアのピアASは正しいです。
AS
の下で は、BGP の状態は、ネイバーから受信したパスの数、受け入れられたこれらのパスの数、および減衰されているルートの数(0/0/0 など)を反映します。
Up/Dwn State
フィールドが の場合 、BGP セッションの確立に問題があることを示します。Active