このページの内容
BGP 4バイトAS番号
4バイト自律システム番号の概要
このテクノロジ概要では、4バイト自律システム(AS)番号と、2バイトと4バイトのAS番号が混在したネットワークにおけるBGPの運用について説明します。
16ビットAS番号または2オクテットAS番号とも呼ばれる2バイトAS番号は、65,536個のAS番号のプールを提供します。2バイトのAS番号範囲が枯渇しました。4バイトのAS番号は、RFC 4893、 BGP 4オクテットAS番号空間のサポート で規定されており、4,294,967,296個のAS番号のプールを提供します。
2009 年 1 月 1 日現在、IANA(IANA)は、特に 2 バイト AS 番号が要求されない限り、4 バイト AS 番号のみを割り当てます。インターネット技術タスクフォース(IETF)RFC 4893は、2バイトAS番号から4バイトAS番号へのスムーズな移行と、下位互換性を維持するための方法を定義しています。
RFC 4893では、AS4_PATHとAS4_AGGREGATORという2つの新しいオプションの推移的BGP属性が導入されています。これらの新しい属性は、4バイトAS番号をサポートしないBGPスピーカー全体に4バイトASパス情報を伝達するために使用されます。
RFC 4893では、予約された既知の2バイトAS番号AS 23456も導入されています。この予約済みAS番号は、RFC 4893ではAS_TRANSと呼ばれています。
RFC 7300、 最終自律システム(AS)番号の予約 およびインターネットドラフ トdraft-ietf-idr-as0-06 では、2バイトAS番号65535、4バイトAS番号4294967295UL、およびAS番号0を設定に使用することが制限されています。そのため、これらの制限されたAS番号を使用すると、コミット操作が失敗します。
関連項目
4バイト自律システム番号の実装
Junos OSリリース9.1以降では、4バイトAS番号がサポートされています。
ネットワークが現在2バイトAS番号を使用している場合、新しい4バイトAS番号を取得する必要はありません。2バイトAS番号範囲は、4バイトAS番号範囲のサブセットです。4バイトのAS番号をサポートするジュニパーネットワークスのルーターは、2バイトのAS番号の前にゼロの文字列を付加するだけです。たとえば、2バイトAS番号の65000は、4バイトのAS番号00000.65000になります。
ジュニパーネットワークスルーターが4バイトのAS番号をサポートしていて、4バイトのAS番号をサポートしないルーターとピア関係がある場合、4バイトのAS番号をサポートするルーターがこの機能を新しいピアにアドバタイズした後の隣接するRIBインルーティングテーブルで、次のシーケンスが発生します。
4バイトのAS番号をサポートするルーターは、2バイトのAS番号のみをサポートするピアからアドバタイズメントを受け取ります。
4バイトAS番号をサポートするルーターでは、2バイトAS番号の前に0の文字列を付加することで、2バイトASパスを4バイトAS番号に変換します。
4バイトのAS番号もパス内に存在する場合は、パス内の2バイトのAS番号とマージされます。
AGGREGATOR属性とAS4_AGGREGATOR属性が存在する場合、これらの属性もマージされます。
お使いのジュニパーネットワークスルーターが4バイトAS番号をサポートしており、4バイトAS番号をサポートしないルーターとピア関係にある場合、隣接するRIB出力ルーティングテーブルで次のシーケンスが実行されます。
更新メッセージは、4バイトAS番号をサポートしていないルーターに送信される前に再フォーマットされます。
4バイトのAS番号をサポートするルーターは、AS4_PATH属性に4バイトのAS番号を送信します。
AS_PATH属性も送信されます。2バイトのAS番号でエンコードされています。64537より下のマップ可能な4バイトAS番号は、2バイトAS番号として送信されます。64536より上のマップできない4バイトAS番号は、既知の2バイトAS番号(AS 23456)で表されます。
単一のピアグループは、4バイトのAS番号をサポートするルーターと、2バイトのAS番号のみをサポートするルーターに使用されます。
関連項目
4バイト自律システム番号の設定
このセクションでは、4バイトAS番号を設定する方法と、BGPピアが4バイトAS番号をサポートしているかどうかを確認する方法について説明します。
AS番号は、Junos OS リリース9.2以降を実行しているルーターでは、プレーン番号形式またはASドット表記形式で指定できます。たとえば、65,546の4バイトAS番号は、プレーン番号形式で65546と表されます。同じAS番号が、Junos OS リリース9.2以降を実行しているルーター上で、ASドット表記形式では1.10と表されます。
ASドット表記形式で4バイトAS番号を設定するには、
autonomous-systemステートメントを含め、4バイトAS番号を指定します。次の例では、AS番号が1.10に設定されています。user@host# set routing-options autonomous-system 1.10
プレーン番号形式で4バイトAS番号を設定するには、
autonomous-systemステートメントを含め、4バイトAS番号を指定します。次の例では、AS番号が65546に設定されています。user@host# set routing-options autonomous-system 65546
BGPピアセッションがネゴシエートされた後に、ピアが4バイトAS番号をサポートしているかどうかを確認できます。ピアが4バイトのAS番号をサポートしているかどうかを確認するには、
show bgp neighborコマンドを使用します。次の例で、ピアは4バイトのAS番号をサポートしていません。user@host# show bgp neighbor 192.168.1.9 | match "AS" Peer: 192.168.1.9+179 AS 65056 Local: 192.168.1.3+52616 AS 65000 Peer does not support 4 byte AS extension
次の例で、ピアは4バイトのAS番号をサポートしています。
user@host# show bgp neighbor 192.168.1.9 | match "AS" Peer: 192.168.1.10+52679 AS 1000000000 Local: 192.168.1.3+179 AS 65000 Peer supports 4 byte AS extension (peer-as 1000000000)
関連項目
ASパスの先頭に4バイトのAS番号を追加する
アドレスプレフィックスアドバタイズメントがドメインを通過すると、ドメインは、アドレスプレフィックスに関連付けられたASパスの前に自律システム番号(ASN)を付加することで、プレフィックスアドバタイズメントに効果的に「署名」します。ネットワーク内の任意の場所で、ASパスは、現在の地点から送信元ドメインまでのパスを形成する、接続されたドメインのシーケンスを表します。ASパスリストの左端にある番号は、アドレスプレフィックスアドバタイズメントを受信した隣接ASのASNです。数字のシーケンスは、この更新が伝送されたASのシーケンスを示しています。
このセクションでは、ASパスの先頭に1つ以上のAS番号を付加する方法について説明します。AS番号は、ルートの発信元となる実際のAS番号がパスに追加された後、パスの先頭に追加されます。ASパスを先頭に追加すると、短いASパスが長く見えるため、BGPにはあまり適していません。
リリース 15.1 Junos OS、 enforce-first-as ステートメントは、ドメインが移行されるASパスの最初(一番左)の自律システム番号(ASN)が前のネイバーの ASN であることを強調します。
図1では、ルーター2は、AS番号65000の前にAS 1000000000を4回先頭に付加するように設定されています。
ルーター3のshow routeコマンドを使用してルートの詳細を表示できます。次の例では、ルーター3のASパスに表示される先頭のAS番号がAS_TRANS番号のAS 23456であることがわかります。これは、ルーター3が4バイトAS番号をサポートしていないためです。
user@Router3# show route 1.2.3.4 detail
...
1.2.3.4/32 *[BGP/170] 01:39:55, localpref 100, from 192.168.1.3
AS path: 65000 23456 23456 23456 23456 I
ルーター4でshow routeコマンドを使用してルートの詳細を表示できます。次の例では、ルーター4のASパスに表示されている先頭に付加されたAS番号が10000000000 AS であることに注目してください。これは、ルーター4が4バイトのAS番号をサポートし、AS_PATH属性とAS4_PATH属性をマージしているためです。
user@Router4# show route 1.2.3.4 detail
...
1.2.3.4/32 *[BGP/170] 01:39:55, localpref 100, from 192.168.1.9
AS path: 65056 65000 1000000000 1000000000 1000000000 1000000000 I
関連項目
4バイトAS番号とBGP拡張コミュニティ属性の設定
BGPコミュニティは、共通のプロパティを共有する宛先のグループです。BGP更新メッセージに含める標準コミュニティ属性と拡張コミュニティ属性を設定できます。
例えば、VPNルーティングおよび転送(VRF)インスタンスを設定する場合、ルートターゲットを設定する必要があります。ルートターゲットは、BGP拡張コミュニティ属性の1つです。名前付きBGP拡張コミュニティ属性を作成するには、 community ステートメントを含め、コミュニティメンバーを指定します。
community name {
members [ community-ids ];
}
コミュニティメンバーを指定するには、コミュニティIDを指定する必要があります。コミュニティIDは、以下の形式で指定する3つのコンポーネントで構成されています。
type:administrator:assigned-number
一部のBGP拡張コミュニティ属性の administrator フィールドはAS番号です。プレーン番号形式の 4 バイト AS 番号を含む target 拡張コミュニティを設定するには、番号の末尾に文字「L」を追加します。
次の例では、4バイトAS番号の334324と割り当てられた番号の132を持つtargetコミュニティは、target:334324L:132として表されています。
[edit policy-options] community vpn_blue members [ target:334324L:132 ];
ターゲットの拡張コミュニティ情報を、4バイトAS番号をサポートしていないピアルーターに表示すると、ルーターは target:unknown formatを表示します。
関連項目
2バイト対応ドメインを介する4バイト対応ルーターASパスを理解する
このセクションでは、最初のルーターが2バイトAS番号範囲外のAS番号で設定されている場合に、4バイトのAS番号をサポートするルーターが、2バイトのAS番号のみをサポートするルーターにASパスステートメントを送信した場合の動作について説明します。
図2では、ルーター1 は4バイトのAS番号をサポートしています。ルーター1 は、4バイトAS番号のAS 1000000000を使用するように設定されています。ルーター2 は2バイトのAS番号をサポートしています。ルーター2 は、2バイトAS番号のAS 65056で設定されています。
-
ルーター2 は、AS_PATH属性で4バイトのAS番号を受け入れません。ルーター1の
show bgp neighborコマンドで確認できます。user@Router1# show bgp neighbor 192.168.1.9 | match "AS" Peer: 192.168.1.9+179 AS 65056 Local: 192.168.1.2+64053 AS 65080 Peer does not support 4 byte AS extension
図3は、EBGPを実行している4台のルーターを示しています。ルーター1 、ルーター2 、ルーター4 は、4バイトのAS番号をサポートしています。ルーター3 は4バイトAS番号をサポートしていません。
この場合:
-
ルーター1は、ルーター2へのAS_PATH属性で10000000000 AS 4バイトAS番号を送信します。
-
ルーター2は、ルーター3が4バイトAS番号をサポートしていないことを認識しています。
-
ルーター2は、ルーター3に4バイトのAS番号の代わりとして、AS_PATH属性でAS_TRANS番号AS 23456を送信します。
-
ルーター2は、4バイトのAS番号、AS4_PATH属性の10000000000 ASルーター3に送信します。
-
AS4_PATH属性は推移的であるため、ルーター3はAS_PATH属性とAS4_PATH属性の両方をルーター4に送信します。
-
ルーター4は、AS_PATH属性とAS4_PATH属性を受信すると、パスステートメントをマージして正確なASパスを作成します。
ルーター3の show route コマンドを使用してASパスを表示できます。次の例では、ASパスにAS番号23456が表示され、AS4_PATH属性が Unrecognizedであることがわかります。AS4_PATH属性は推移的な属性であるため、次のルーターに転送されます。
user@Router3# show route 1.2.3.4 detail AS path: 65000 23456 I Unrecognized Attributes: 13 bytes
ルーター4で show route コマンドを使用してルートの詳細を表示できます。次の例では、ASパスがルーター3を移行すると、AS2(2バイトAS)パスに示されているように、AS番号がAS_TRANSとして表示されていることに注意してください。つまり、ルーター3はAS番号を23456と認識します。AS4(4バイトAS)パスでは、AS番号は1000000000と表示されます。マージされたASパスには、AS 65056、AS 65000、およびAS 10000000000の正しいASパス番号が表示されます。
user@Router4# show route 1.2.3.4 detail ... AS path: AS2 PA[3]:65056 65000 AS_TRANS AS path: AS4 PA[2]:65056 1000000000 AS path: Merged[3]:65056 65000 1000000000 I
図4は、IBGPを実行している4台のルーターを示しています。ルーター1、ルーター2、ルーター4は、4バイトのAS番号をサポートしています。ルーター3は4バイトAS番号をサポートしていません。
この場合:
-
ルーター1は、ルーター2へのAS_PATH属性で10000000000 AS 4バイトAS番号を送信します。
-
ルーター2は、ルーター3が4バイトAS番号をサポートしていないことを認識しています。
-
ルーター2は、ルーター3に4バイトのAS番号の代わりとして、AS_PATH属性でAS_TRANS番号AS 23456を送信します。
-
ルーター3は、AS_PATH属性とAS4_PATH属性の両方をルーター4に送信します。
-
ルーター4は、AS_PATH属性とAS4_PATH属性を受信すると、パスステートメントをマージして正確なASパスを作成します。
ルーター2で show route コマンドを使用してルートの詳細を表示できます。次の例では、ASパスが1000000000と表示されていることがわかります。
user@Router2# show route 1.2.3.4 detail ... AS path: 1000000000
ルーター3の show route コマンドを使用して、ルートの詳細を表示できます。次の例では、ASパスが65000 23456と表示されていることがわかります。
user@Router3# show route 1.2.3.4 detail ... AS path: 65000 23456 I
ルーター4で show route コマンドを使用してルートの詳細を表示できます。次の例では、マージされた AS パスが 65000 1000000000 と表示されていることがわかります。
user@Router4# show route 1.2.3.4 detail ... AS path: 65000 1000000000 I
関連項目
4バイトAS番号とルート識別子について
ルート識別子(RD)は、サービスプロバイダ顧客のIPv4アドレスのプレフィックスが付いた8バイトのフィールドです。結果として得られる12バイトのフィールドは、一意のVPN-IPv4アドレスとなります。BGPメッセージのRDは、タイプフィールド (2バイト)と値フィールド(6 バイト)の2つの主要なフィールドで構成されています。type フィールドは、value フィールドの解釈方法を決定します。
ルート識別子は、 as-number:numberとして指定できる6バイト値として設定されます。ここで、 as-number は割り当てられたAS番号、 number (管理番号または割り当てられた番号サブフィールドとも呼ばれる)は任意の2バイトまたは4バイト値です。AS番号の範囲は1から4,294,967,295です。AS番号が2バイト値の場合、管理番号は4バイト値になります。AS番号が4バイト値の場合、管理番号は2バイト値になります。
4バイトのAS番号と2バイトの管理番号から成るRDは、RFC 4364、 BGP/MPLS IP仮想プライベートネットワークのタイプ2ルート識別として定義されています。
4バイトのAS番号を使用してRDを設定するには、番号の末尾に文字「L」を追加します。次の例では、4バイトAS番号は7765000、管理番号は1000です。
user@Router1# set routing-instances 4B route-distinguisher 7765000L:1000
設定するルーターが、4バイトAS番号をサポートしていないルーターのBGPピアである場合は、「 4バイトAS番号を使用して4バイト対応ルーターと2バイト対応ルーターの間にピア関係を確立する」で説明されているように、ローカルAS番号も設定する必要があります。ローカルAS番号を設定するには、 local-as ステートメントを含め、使用する2バイトAS番号(65001)を指定し、 private オプションを含めます。
user@Router1# set routing-instances 4B protocols bgp group 4B2Bpeers local-as 65001 private
関連項目
4バイトAS番号とルートループ検知について
BGPで最も重要な機能の1つは、AS_PATH属性を使用した自律システムレベルでのルートループ検出です。AS_PATHの簡単な考え方では、ルートが目的地に到達するまでに通過する自律システムのリストであるということです。ループは、ルーターが隣接ASから受信した AS_PATH 内でそれ自身の AS 番号をチェックすることで検知および回避されます。
このセクションでは、4バイトAS番号をサポートするルーターとサポートしないルーターを組み合わせてルートループ検出がどのように機能するかを説明します。 図5 は、BGPループが発生する可能性のある小規模なネットワークを示しています。
最初の例では、EBGPルート、ルート10.1.2.3が、まずルーター1によってアドバタイズされます。パスの最初のASは、ルーター1で設定されたAS 64596です。パス内の 2 番目の AS は、ルーター 2 で設定された AS 4200000000 です。AS 4200000000はAS4_パス属性で送信され、AS_TRANS番号のAS 23456は、AS_PATH属性でルーター3に送信されます。パスの3番目のASは、ルーター3で設定されたAS 65003です。
show routeコマンドの出力は、ルーター3からルーター4にアドバタイズされたルート10.1.2.3のASパスを示しています。show routeコマンドの出力には、64596 AS最初に表示されます。ルーター3は4バイトAS番号をサポートしていないため、2番目にAS 23456と表示されます。ルーター2は65000のローカルASを使用してルーター3とピア関係を確立しているため、AS 65000が3番目に表示されます。コマンドはAS 65003で設定されたルーターに入力されたため、AS 65003はshow routeコマンド出力にありません。
user@Router3# show route advertising-protocol bgp 192.168.1.2... Prefix Nexthop MED Lclpref AS path 10.2.3.4/32 Self 65000 23456 64596 I
この場合、ルーター4がパス内にそれ自身のAS番号であるAS 64596を確認すると、ルーティングループを検知します。
2 番目の例では、EBGP ルート、ルート 10.3.2.1 が、まずルーター 4 によってアドバタイズされます。パスの最初の AS は、ルーター 4 で構成された AS 60596 です。パスの 2 番目の AS は、ルーター 3 で構成された AS 65003 です。パスにある3番目のASは、ルーター2で設定されたAS 4200000000です。
show routeコマンドの出力は、ルーター2がルーター1にアドバタイズしたルート10.3.2.1のASパスを示しています。show routeコマンドの出力には、最初に64596 AS、2番目に65003 AS 表示されます。AS 42000000000で設定されたルーターにコマンドが入力されたため、show routeコマンド出力にはASありません。
user@Router2# show route advertising-protocol bgp 192.168.1.10... Prefix Nexthop MED Lclpref AS path 10.3.2.1/32 Self 65003 64596 I
ルーター1がパス内にそれ自身のAS番号であるAS 64596を確認すると、ルーティングループを検知します。
関連項目
2バイトAS番号を使用して4バイト対応ルーターと2バイト対応ルーターの間にピア関係を確立するAS
このセクションでは、4バイトAS番号をサポートするルーターが、両方のルーターが2バイトAS番号範囲のAS番号で設定されている場合に、2バイトAS番号のみをサポートするルーターとピア関係を確立した場合のASについて説明します。
図6では、ルーター1は、4バイトAS番号をサポートするJunos OSリリース9.2を実行しています。ルーター1は、2バイトAS番号のAS 12596を使用するように設定されています。ルーター2は、2バイトAS番号をサポートするJunos OSリリース8.5を実行しています。ルーター2は2バイトのAS番号、AS 60000で設定されています。
-
以下の例は、ルーター1の設定の関連部分を示しています。
user@Router1# show configuration … autonomous-system 12596; … local-address 192.168.1.10; export static-to-bgp; peer-as 60000;
-
ルート1.2.3.4のASパスにAS 12596が含まれていることを確認するには、ルーター2で
show routeコマンドを使用します。以下の例は、BGPピアセッションが通常の方法で確立され、ルート1.2.3.4のASパスにAS 12596が含まれていることを示しています。user@Router2# show route 1.2.3.4 1.2.3.4/32 *[BGP/170] 00:01:29, localpref 100, from 192.168.1.10 AS path: 12596 I > via at-0/1/0.1001 -
ルーター1に記録されたセッション確立メッセージを表示するには、
show log messagesコマンドを使用します。次の例では、ルーター2が4バイトのAS番号をサポートしていないことをルーター1が検出したことを示しています。user@Router1# show log messages Nov 7 09:41:39.443493 bgp_4byte_aspath_add_cap():153 AS4-Peer 192.168.1.9 (External AS 60000)(SEND): 4 byte AS capability added, AS 12596 Nov 7 09:41:39.443582 bgp_send: sending 67 bytes to 192.168.1.9 (External AS 60000) […] Nov 7 09:41:39.448055 bgp_4byte_aspath_adjust():1279 AS4-Peer 192.168.1.9 (External AS 60000)(SEND): Adjust BGP update to Old/New BGP speaker format Nov 7 09:41:39.448132 bgp_4byte_aspath_adjust():1290 AS4-Peer 192.168.1.9 (External AS 60000)(SEND): Cached information of previous update format is not used Nov 7 09:41:39.448162 bgp_generate_2byte_aspath():422 AS4-Peer 192.168.1.9 (External AS 60000)(SEND): Generating 2 byte AS path from 4 byte as-path Nov 7 09:41:39.448198 bgp_send: sending 64 bytes to 192.168.1.9 (External AS 60000)
関連項目
4バイトAS番号を使用して4バイト対応ルーターと2バイト対応ルーターの間にピア関係を確立する
このセクションでは、最初のルーターが2バイトAS番号の範囲外のAS番号で設定されている場合に、4バイトAS番号をサポートするルーターが2バイトAS番号のみをサポートするルーターとピア関係を確立した場合のASについて説明します。
図7では、ルーター2は4バイトAS番号をサポートするJunos OSリリース9.2を実行しています。ルーター2は、4バイトAS番号のAS 1000000を使用するように設定されています。ルーター3は、2バイトのAS番号をサポートするJunos OSリリース8.5を実行しています。ルーター3は、2バイトAS番号のAS 60000で設定されています。
ローカルAS番号は、BGPネイバーとのBGPセッション確立時のみ使用するように設定できますが、外部BGPピアに送信されるASパスでは非表示にすることができます。ローカルAS番号を設定するには、 local-as ステートメントを含め、使用する2バイトAS番号65530を指定し、 private オプションを含めます。この設定では、グローバルAS番号である1000000のみが、外部ピアに送信されるASパスに含まれます。以下の例は、ルーター 2 の設定の関連部分を示しています。
user@Router2# show configuration
…
autonomous-system 1000000;
…
local-address 192.168.1.9;
export static-to-bgp;
neighbor 192.168.1.3 {
peer-as 60000;
local-as 65530 private;
}
ルーター3 のピアAS番号は、ルーター1 のローカルAS番号と等しくなければなりません。以下の例は、ルーター3 の設定の関連部分を示しています。
user@Router3# show configuration
…
autonomous-system 60000;
…
local-address 192.168.1.3;
neighbor 192.168.1.9 {
peer-as 65530;
ルート22.1.2.3のASパスにAS 65530が含まれていることを確認するには、ルーター3 で show route コマンドを使用します。以下の例は、BGPピアセッションが確立されており、ルート22.1.2.3のASパスにAS 65530が含まれていることを示しています。
user@Router3# show route 22.1.2.3
...
22.1.2.3/32 *[BGP/170] 01:39:55, localpref 100, from 192.168.1.9
AS path: 65530 I
> via so-1/0/3.0
関連項目
例:BGPネットワークのASパスに正しい自律システム番号を適用する
この例では、[edit protocols bgp]階層レベルで設定されたenforce-first-asステートメントをセキュリティ対策として使用する方法を示しています。このステートメントを設定すると、整合性チェックが作成され、BGPピアがルーティング情報の正規の送信者であることを確認します。
要件
開始する前に、少なくとも 3 つの自律システムの BGP ネットワークを設定します。3つの個別のルーターで十分です。
概要
enforce-first-asステートメントは、ASパス内の最初の(一番左の)自律システム番号(ASN)が、アドバタイズしているネイバーのASNと一致することを強制します。
トポロジーは、ルーターCがBGPでルーターBへの静的ルートをアドバタイズし、ルーターBがルーターAにルートを再アドバタイズするように設定されます。次に、ルーターAに向けて、無関係なASNを先頭に追加するためのエクスポートポリシーがルーターBに追加されます。最後に、ルーターAからルーターBに向けて enforce-first-as ステートメントが設定されます。ルーターAがASパスを取得すると、ASパスの左端のASNが前のネイバーのASNであるかどうかを確認し、ルーターBからのルートを無効にします。
トポロジー
enforce-first-as ステートメントを設定してルートをチェックする
CLIクイックコンフィグレーション
この例の初期設定を素早く行うには、以下のコマンドをコピーしてテキストファイルに貼り付け、改行を削除して、ネットワーク構成に合わせて必要な詳細を変更し、コマンドを [edit] 階層レベルのCLIにコピー&ペーストしてください。
ルーターAの初期設定
set interfaces ge-1/0/0 unit 0 family inet address 192.0.2.1/29 set interfaces ge-1/0/0 unit 0 family mpls set interfaces lo0 unit 0 family inet address 10.127.0.1/32 set routing-options router-id 10.127.0.1 set routing-options autonomous-system 65541 set protocols mpls interface ge-1/0/0.0 set protocols bgp group pe type external set protocols bgp group pe peer-as 65542 set protocols bgp group pe neighbor 192.0.2.2 set protocols ospf area 0.0.0.0 interface lo0.0 passive set protocols ospf area 0.0.0.0 interface ge-1/0/0.0 set protocols ldp interface ge-1/0/0.0 set protocols ldp interface lo0.0
ルーターBの初期設定
set interfaces ge-0/0/0 unit 0 family inet address 192.0.2.2/29 set interfaces ge-0/0/0 unit 0 family mpls set interfaces ge-0/0/1 unit 0 family inet address 198.51.100.1/29 set interfaces ge-0/0/1 unit 0 family mpls set interfaces lo0 unit 0 family inet address 10.127.0.2/32 set routing-options router-id 10.127.0.2 set routing-options autonomous-system 65542 set protocols bgp group pe1 type external set protocols bgp group pe1 peer-as 65541 set protocols bgp group pe1 neighbor 192.0.2.1 set protocols bgp group pe3 type external set protocols bgp group pe3 peer-as 65543 set protocols bgp group pe3 neighbor 198.51.100.2
ルーターCの初期設定
set interfaces ge-1/0/0 unit 0 family inet address 198.51.100.2/29 set interfaces ge-1/0/0 unit 0 family mpls set interfaces lo0 unit 0 family inet address 10.127.0.3/32 set routing-options router-id 10.127.0.3 set routing-options autonomous-system 65543 set protocols mpls interface ge-1/0/0.0 set protocols bgp group pe type external set protocols bgp group pe peer-as 65542 set protocols bgp group pe neighbor 198.51.100.1 set protocols ospf area 0.0.0.0 interface lo0.0 passive set protocols ospf area 0.0.0.0 interface ge-1/0/0.0 set protocols ldp interface ge-1/0/0.0 set protocols ldp interface lo0.0
手順
ステップバイステップの手順
-
ルーターCにスタティックルートを設定します。
C-re0# set routing-options static route 198.51.100.17/29 next-hop 198.51.100.20 C-re0# set routing-options static route 198.51.100.17/29 readvertise C-re0# commit
-
静的ルートのエクスポートポリシーを設定します。
C-re0# set policy-options policy-statement export-static from protocol bgp C-re0# set policy-options policy-statement export-static then accept C-re0# set protocols bgp group pe export export-static C-re0# commit
-
静的ルートがルーターBとルーターAに到達していることを確認します。
B-re0# run show route 198.51.100.17 inet.0: 49 destinations, 49 routes (49 active, 0 holddown, 0 hidden) + = Active Route, - = Last Active, * = Both 198.51.100.17/29 *[BGP/170] 00:11:40, localpref 100 AS path: 65543 I, validation-state: unverified > to 198.51.100.2 via ge-0/0/1.0 A-re0# run show route 198.51.100.17 inet.0: 49 destinations, 49 routes (49 active, 0 holddown, 0 hidden) + = Active Route, - = Last Active, * = Both 198.51.100.17/29 *[BGP/170] 00:10:31, localpref 100 AS path: 65542 65543 I, validation-state: unverified > to 192.0.2.2 via ge-1/0/0.0ルーターAでは、ルートが65542 65543のASパスで示されていることがわかります。ルーターBからルーターAへのルートでは、ASパスの先頭にルーターAのASNが付加されています。
-
ルーターBからASNを先頭に追加するエクスポートポリシーを設定します。
B-re0# set policy-options policy-statement as-prepender from neighbor 198.51.100.2 B-re0# set policy-options policy-statement as-prepender then as-path-prepend 65555 B-re0# set protocols bgp group pe1 export as-prepender B-re0# commit
-
ルーターAでルート198.51.100.17を確認します。
A-re0# run show route 198.51.100.17 inet.0: 49 destinations, 49 routes (49 active, 0 holddown, 0 hidden) + = Active Route, - = Last Active, * = Both 198.51.100.17/29 *[BGP/170] 00:00:50, localpref 100 AS path: 65555 65542 65543 I, validation-state: unverified > to 192.0.2.2 via ge-1/0/0.0 [edit] A-re0#ASN 65555がASパスの先頭に追加されていることがわかります。
-
ルーターAで
enforce-first-asステートメントを設定します。A-re0# set protocols bgp enforce-first-as A-re0# commit
ルートを再度確認すると、ルート 198.51.100.17 がルーター A で通過していないことがわかります。
検証
BGPセッションの確認
目的
BGPセッションが確立されていること、およびルーターがピアリングセッションを確立したネイバーを確認します。
アクション
動作モードから、 show bgp summary コマンドを実行します。
B-re0> show bgp summary
Groups: 2 Peers: 2 Down peers: 0
Table Tot Paths Act Paths Suppressed History Damp State Pending
inet.0
0 0 0 0 0 0
Peer AS InPkt OutPkt OutQ Flaps Last Up/Dwn State|#Active/Received/Accepted/Damped...
192.0.2.1 65541 367 369 0 0 2:43:57 0/0/0/0 0/0/0/0
198.51.100.2 65543 369 368 0 0 2:44:00 0/0/0/0 0/0/0/0
意味
最初の行は、設定されているグループの数と、アップまたはダウンしているピアの数を示しています。この出力は、192.0.2.1 と 198.51.100.2 の 2 つのピアがアップしていることを示しています。テーブル部分は、inet.0テーブルにパスがないことを示しています。ルーターBには、65541と65543の2つのピアがあることがわかります。 State 列にスラッシュで区切られた3つの数字が表示されている場合、BGPセッションはアップしています。
静的ルートの検証
目的
スタティック ルートがルーター C からルーター B および A にエクスポートされていることを確認します。
アクション
動作モードから、 show bgp neighbor コマンドを実行します。
C-re0#> show bgp neighbor Peer: 198.51.100.1+179 AS 65542 Local: 198.51.100.2+62588 AS 65543 Type: External State: Established Flags: <Sync> Last State: OpenConfirm Last Event: RecvKeepAlive Last Error: None Export: [ export-static ]
動作モードから、 show bgp summary コマンドを実行します。
B-re0> show bgp summary
Groups: 2 Peers: 2 Down peers: 0
Table Tot Paths Act Paths Suppressed History Damp State Pending
inet.0
1 1 0 0 0 0
Peer AS InPkt OutPkt OutQ Flaps Last Up/Dwn State|#Active/Received/Accepted/Damped...
192.0.2.1 65541 8 10 0 0 2:59 0/0/0/0 0/0/0/0
198.51.100.2 65543 10 10 0 0 3:02 1/1/1/0 0/0/0/0
動作モードから、 show route protocol bgp コマンドを実行します。
A-re0> show route protocol bgp
inet.0: 49 destinations, 49 routes (49 active, 0 holddown, 0 hidden)
+ = Active Route, - = Last Active, * = Both
198.51.100.17/29 *[BGP/170] 00:12:35, localpref 100
AS path: 65542 65543 I, validation-state: unverified
> to 192.0.2.2 via ge-1/0/0.0
iso.0: 1 destinations, 1 routes (1 active, 0 holddown, 0 hidden)
mpls.0: 4 destinations, 4 routes (4 active, 0 holddown, 0 hidden)
inet6.0: 2 destinations, 2 routes (2 active, 0 holddown, 0 hidden)
意味
show bgp neighborコマンドを使用すると、エクスポートポリシーを名前で確認できます。
show bgp summaryコマンドを使用すると、inet.0テーブルに1つのルートがあることがわかり、テーブルがこのルートを学習したことを示しています。
show route protocol bgpコマンドは、ルーターがルートを学習していることを確認します。ルートとASパスが表示されます。ルーターAでは、ASパスの末尾にルーターCおよびB(65543および65542)のASNが追加されていることがわかります。
エクスポートポリシーの先頭付加を確認
目的
ASNがルーターBから受信しているルーターのASパスであることを確認します。
show bgp neighbor。このルーターが接続されているBGPルーターを一覧表示します。ルーターがピアリングセッションを確立したネイバーを表示します。
show bgp summary。BGPグループ、ピア、およびセッション状態情報を一覧表示します。BGPセッションが確立されているかどうかを判断するのに役立ちます。
show route protocol bgpです。BGPから学習したルートを一覧表示します。ルーターが目的のネイバーからのルートのみを学習していることを確認します。
アクション
動作モードから、 show route protocol bgp コマンドを実行します。
A-re0> show route protocol bgp
inet.0: 49 destinations, 49 routes (49 active, 0 holddown, 0 hidden)
+ = Active Route, - = Last Active, * = Both
198.51.100.17/29 *[BGP/170] 00:00:24, localpref 100
AS path: 65555 65542 65543 I, validation-state: unverified
> to 192.0.2.2 via ge-1/0/0.0
iso.0: 1 destinations, 1 routes (1 active, 0 holddown, 0 hidden)
mpls.0: 4 destinations, 4 routes (4 active, 0 holddown, 0 hidden)
inet6.0: 2 destinations, 2 routes (2 active, 0 holddown, 0 hidden)
意味
65555がASパスの先頭に付加されていることがわかります。
enforce-first-as ステートメントが機能していることを確認する
目的
ルーターが目的のネイバーからのルートのみを学習していることを確認します。
アクション
ルート 198.51.100.17 を確認します。
A-re0> show route 198.51.100.17 all detail
inet.0: 49 destinations, 49 routes (48 active, 0 holddown, 1 hidden)
198.51.100.17/29 (1 entry, 0 announced)
BGP /-101
Next hop type: Router, Next hop index: 581
Address: 0x9db5ad0
Next-hop reference count: 1
Source: 192.0.2.2
Next hop: 192.0.2.2 via ge-1/0/0.0, selected
Session Id: 0x141
State: <Hidden Ext>
Local AS: 65541 Peer AS: 65542
Age: 1w2d 23:48:47
Validation State: unverified
Task: BGP_65542.192.0.2.2
AS path: 65555 65542 65543 I
Localpref: 100
Router ID: 10.127.0.2
Hidden reason: fails enforce-first-as check
show routeコマンドを発行した場合、ルート情報は表示されません。
A-re0> show route 198.51.100.17 A-re0>
意味
静的ルートには無関係なASNが含まれており、 enforce-first-as ステートメントが設定されたため、静的ルートは非表示になっています。
変更履歴テーブル
サポートされる機能は、使用しているプラットフォームとリリースによって決まります。 機能エクスプローラー を使用して、機能がお使いのプラットフォームでサポートされているかどうかを確認します。