BGP 4バイトAS番号
4バイト自律システム番号の概要
このテクノロジ概要では、4バイト自律システム(AS)番号、および2バイトと4バイトのAS番号を組み合わせたネットワークにおけるBGPの運用について説明します。
2バイトAS番号は、16ビットAS番号または2オクテットAS番号とも呼ばれ、65,536のAS番号のプールを提供します。2バイトAS番号の範囲が枯渇しました。4バイトAS番号は、RFC 4893、 4オクテットAS番号スペースのBGPサポート で規定されており、4,294,967,296のAS番号のプールを提供します。
2009年1月1日以降、インターネット番号割当機関(IANA)は、2バイトAS番号が特に要求されていない限り、4バイトAS番号のみを割り当てます。インターネット技術標準化委員会(IETF)RFC 4893では、2バイトAS番号から4バイトAS番号にスムーズに移行し、下位互換性を維持するための方法が規定されています。
RFC 4893では、2つの新しいオプションの推移BGP属性、AS4_PATHおよびAS4_AGGREGATORが導入されています。これらの新しい属性は、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-outルーティングテーブルで次のシーケンスが実行されます。
更新メッセージは、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番号をサポートしているかどうかを確認する方法について説明します。
Junos OSリリース9.2以降を実行しているルーターでは、AS番号をプレーン番号形式またはドット表記形式で指定できます。たとえば、65,546の4バイトAS番号は、プレーン番号形式で65546と表されます。Junos OSリリース9.2以降を実行するルーター上で、同じAS番号が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にはあまり適していません。
Junos OSリリース15.1では、 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番号がAS 1000000000であることがわかります。これは、ルーター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拡張コミュニティ属性の一種です。名前付き 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属性内で、4バイトAS番号のAS 1000000000を送信します。
ルーター2は、ルーター3が4バイトAS番号をサポートしていないことを認識しています。
ルーター2は、AS_TRANS番号のAS 23456を、ルーター3に4バイトAS番号の代わりとしてAS_PATH属性で送信します。
ルーター2は、4バイトAS番号のAS 1000000000を、ルーター3にAS4_PATH属性で送信します。
AS4_PATH属性は推移的であるため、ルーター3はAS_PATH属性とAS4_PATH属性の両方をルーター4に送信します。
ルーター4は、AS_PATH属性とAS4_PATH属性を受信すると、パスステートメントをマージして正確なASパスを作成します。
ルーター3で show route
コマンドを使用してASパスを表示できます。次の例では、AS番号23456がASパスに表示され、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
コマンドを使用してルートの詳細を表示できます。次の例では、AS2(2バイトAS)パスに示すように、ASパスがルーター3に移行すると、AS番号がAS_TRANSと表示されることに注意してください。これは、ルーター3がAS番号を23456として認識することを意味します。AS4(4バイトAS)パスでは、AS番号は1000000000と表示されます。マージされたASパスでは、AS 65056、AS 65000、およびAS 1000000000の正しい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属性内で、4バイトAS番号のAS 1000000000を送信します。
ルーター2は、ルーター3が4バイトAS番号をサポートしていないことを認識しています。
ルーター2は、AS_TRANS番号のAS 23456を、ルーター3に4バイトAS番号の代わりとしてAS_PATH属性で送信します。
ルーター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 フィールドは、値フィールドの解釈方法を決定します。
ルート識別子は、 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_path 属性で送信され、AS_TRANS番号である AS 23456 が AS_PATH 属性でルーター 3 に送信されます。パスの3番目のAS は、ルーター3で設定されたAS 65003です。
show route
コマンドの出力は、ルート10.のASパスを示しています1.2.3ルーター3からルーター4にアドバタイズされます。show route
コマンドの出力には、AS 64596 が最初に表示されます。ルーター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
コマンドの出力は、ルート10.のASパスを示しています3.2.1ルーター2からルーター1にアドバタイズされたとおり。show route
コマンドの出力では、最初に AS 64596、次に AS 65003 と表示されます。AS 4200000000は、AS 4200000000で設定されたルーターにコマンドが入力されたため、show route
コマンド出力にありません。
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バイト対応ルーターの間にピア関係を確立する
このセクションでは、両方のルーターに2バイトAS番号範囲のAS番号が設定されている場合、4バイトAS番号をサポートするルーターが、2バイト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番号のみをサポートするルーターとピア関係を確立した場合の動作について説明します。
図 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を使って設定されています。
BGPネイバーとのBGPセッション確立時のみにローカルAS番号を使用して、外部BGPピアに送信されるASパスにはそのローカル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と一致することを強制します。
トポロジーは、BGP内のルーターCがルーターBへの静的ルートをアドバタイズするように設定され、ルーターBはルーターAにルートを再アドバタイズします。次に、無関係なASNを先頭に追加するルーターAへのエクスポートポリシーがルーター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パスであることを確認します。
BGP ネイバーを表示します。このルーターが接続されている BGP ルーターを一覧表示します。ルーターがピアリングセッションを確立したネイバーを表示します。
BGP の概要を表示します。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
ステートメントが設定されたため、この静的ルートは非表示になっています。
変更履歴
サポートされる機能は、使用しているプラットフォームとリリースによって決まります。 特定の機能がお使いのプラットフォームでサポートされているかどうかを確認するには、 Feature Explorer をご利用ください。