サービスの改善にご協力お願いします。

お客様のご意見をお聞かせください。

アンケートの所要時間はおよそ 2 分です。

header-navigation
keyboard_arrow_up
close
keyboard_arrow_left
BGPユーザーガイド
Table of Contents Expand all
list Table of Contents

この機械翻訳はお役に立ちましたでしょうか?

starstarstarstarstar
Go to English page
免責事項:

このページは、サードパーティー製機械翻訳ソフトウェアを使用して翻訳されます。質の高い翻訳を提供するために合理的な対応はされていますが、ジュニパーネットワークスがその正確性を保証することはできかねます。この翻訳に含まれる情報の正確性について疑問が生じた場合は、英語版を参照してください. ダウンロード可能なPDF (英語版のみ).

BGP 4バイトAS番号

date_range 19-Jan-25

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インルーティングテーブルで次のシーケンスが実行されます。

  1. 4バイトAS番号をサポートするルーターは、2バイトAS番号のみをサポートするピアからアドバタイズメントを受け取ります。

  2. 4バイトAS番号をサポートするルーターでは、2バイトAS番号の前に0の文字列を付加することで、2バイトASパスを4バイトAS番号に変換します。

  3. 4バイトAS番号もパス内に存在する場合は、パス内で2バイトAS番号とマージされます。

  4. AGGREGATOR属性とAS4_AGGREGATOR属性が存在する場合は、これらの属性もマージされます。

ジュニパーネットワークスのルーターが4バイトAS番号をサポートし、4バイトAS番号をサポートしていないルーターとピア関係がある場合、隣接するRIB-outルーティングテーブルで次のシーケンスが実行されます。

  1. 更新メッセージは、4バイトAS番号をサポートしていないルーターに送信される前に再フォーマットされます。

  2. 4バイトAS番号をサポートするルーターは、AS4_PATH属性に4バイトAS番号を送信します。

  3. AS_PATH属性も送信されます。2バイトAS番号でエンコードされています。64537より下のマップ可能な4バイトAS番号は、2バイトAS番号として送信されます。64536よりも上のマップできない4バイトAS番号は、既知の2バイトAS番号(AS 23456)で表されます。

  4. 単一のピアグループは、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に設定されています。

    content_copy zoom_out_map
    user@host# set routing-options autonomous-system 1.10
    
  • 4バイトAS番号をプレーン番号形式で設定するには、 autonomous-system ステートメントを含めて4バイトAS番号を指定します。次の例では、AS番号が 65546に設定されています。

    content_copy zoom_out_map
    user@host# set routing-options autonomous-system 65546
    
  • BGPピアセッションがネゴシエートされた後に、ピアが4バイトAS番号をサポートしているかどうかを確認できます。ピアが4バイトAS番号をサポートしているかどうかを確認するには、 show bgp neighbor コマンドを使用します。次の例で、ピアは4バイトAS番号をサポートしていません。

    content_copy zoom_out_map
    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番号をサポートしています。

    content_copy zoom_out_map
    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回先頭に付加するように設定されています。

図 1: ASパスの先頭に4バイトAS番号が付加されたEBGPASパスの先頭に4バイトAS番号が付加されたEBGP

ルーター 3 の show route コマンドを使用して、ルートの詳細を表示できます。次の例では、ルーター3のASパスに表示される先頭に付加されたAS番号がAS_TRANS番号のAS 23456であることがわかります。これは、ルーター3が4バイトAS番号をサポートしていないためです。

content_copy zoom_out_map
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属性をマージするためです。

content_copy zoom_out_map
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 ステートメントを含めてコミュニティメンバーを指定します。

content_copy zoom_out_map
community name {
    members [ community-ids ];
}

コミュニティー・メンバーを指定するには、コミュニティー ID を指定する必要があります。コミュニティ ID は、次の形式で指定する 3 つのコンポーネントで構成されます。

content_copy zoom_out_map
type:administrator:assigned-number

一部のBGP拡張コミュニティ属性の administrator フィールドはAS番号です。プレーン番号形式の4バイトAS番号を含む target 拡張コミュニティを設定するには、番号の末尾に文字「L」を追加します。

次の例では、4バイトAS番号334324と割り当てられた番号の132を持つtargetコミュニティはtarget:334324L:132と表されています。

content_copy zoom_out_map
[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: 2バイト対応ルーターへの4バイト対応ルーターASパス2バイト対応ルーターへの4バイト対応ルーターASパス
  • ルーター2は、AS_PATH属性で4バイトAS番号を受け付けません。これは、ルーター 1 の show bgp neighbor コマンドを使用して確認できます。

    content_copy zoom_out_map
    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番号をサポートしていません。

図 3: 2バイトASドメインを介するEBGPの4バイトASパス2バイトASドメインを介するEBGPの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属性は推移的な属性であるため、次のルーターに転送されます。

content_copy zoom_out_map
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パス番号が表示されます。

content_copy zoom_out_map
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番号をサポートしていません。

図 4: 2バイトASドメインを介するIBGPの4バイトASパス2バイトASドメインを介するIBGPの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と表示されていることがわかります。

content_copy zoom_out_map
user@Router2# show route 1.2.3.4 detail
...
AS path: 1000000000

ルーター 3 で show route コマンドを使用してルートの詳細を表示できます。次の例では、ASパスが65000 23456と表示されていることがわかります。

content_copy zoom_out_map
user@Router3# show route 1.2.3.4 detail
...
AS path: 65000 23456 I

ルーター 4 で show route コマンドを使用してルートの詳細を表示できます。次の例では、マージされたASパスが65000 1000000000と表示されていることがわかります。

content_copy zoom_out_map
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です。

content_copy zoom_out_map
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 オプションを含めます。

content_copy zoom_out_map
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 ループが発生する可能性がある小規模なネットワークを示しています。

図 5: 4バイトAS番号とループ検知4バイトAS番号とループ検知

最初の例では、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コマンド出力にありません。

content_copy zoom_out_map
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コマンド出力にありません。

content_copy zoom_out_map
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を使って設定されています。

図 6: 2バイトAS番号を使用して2バイト対応ルーターとのピア関係を持つ4バイト対応ルーター2バイトAS番号を使用して2バイト対応ルーターとのピア関係を持つ4バイト対応ルーター
  • 以下の例は、ルーター 1 の設定の関連部分を示しています。

    content_copy zoom_out_map
    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 が含まれていることを示しています。

    content_copy zoom_out_map
    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が検出したことを示しています。

    content_copy zoom_out_map
    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を使って設定されています。

図 7: 4バイトAS番号を使用して2バイト対応ルーターとのピア関係を持つ4バイト対応ルーター4バイトAS番号を使用して2バイト対応ルーターとのピア関係を持つ4バイト対応ルーター

BGPネイバーとのBGPセッション確立時のみにローカルAS番号を使用して、外部BGPピアに送信されるASパスにはそのローカルAS番号を表示しないように設定できます。ローカルAS番号を設定するには、 local-as ステートメントを含め、使用する2バイトAS番号65530を指定し、 private オプションを含めます。この設定では、グローバルAS番号である1000000のみが、外部ピアに送信されるASパスに含まれます。次の例は、ルーター 2 の設定の関連部分を示しています。

content_copy zoom_out_map
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 の設定の関連部分の例を示します。

content_copy zoom_out_map
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が含まれていることを示しています。

content_copy zoom_out_map
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 の初期設定

content_copy zoom_out_map
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 の初期設定

content_copy zoom_out_map
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 の初期設定

content_copy zoom_out_map
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

手順

ステップバイステップでの手順
  1. ルーター C でスタティック ルートを設定します。

    content_copy zoom_out_map
    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
    
  2. スタティック ルートのエクスポート ポリシーを設定します。

    content_copy zoom_out_map
    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
    
  3. 静的ルートがルーター B とルーター A に到達していることを確認します。

    content_copy zoom_out_map
    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が付加されています。

  4. ルーターBからASNを先頭に追加するエクスポートポリシーを設定します。

    content_copy zoom_out_map
    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
    
  5. ルーター A のルート 198.51.100.17 を確認します。

    content_copy zoom_out_map
    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パスの先頭に追加されていることがわかります。

  6. ルーターAで enforce-first-as ステートメントを設定します。

    content_copy zoom_out_map
    A-re0# set protocols bgp enforce-first-as
    A-re0# commit
    

    ルートを再度確認すると、ルート 198.51.100.17 がルーター A を通過していないことがわかります。

検証

BGP セッションの検証

目的

BGPセッションが確立されていること、およびルーターがピアリングセッションを確立しているネイバーを確認します。

アクション

オペレーショナルモードから、show bgp summaryコマンドを実行します。

content_copy zoom_out_map
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コマンドを実行します。

content_copy zoom_out_map
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コマンドを実行します。

content_copy zoom_out_map
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コマンドを実行します。

content_copy zoom_out_map
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コマンドを実行します。

content_copy zoom_out_map
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 を確認します。

content_copy zoom_out_map
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 コマンドを発行すると、経路情報は表示されません。

content_copy zoom_out_map
A-re0> show route 198.51.100.17 
 
A-re0>
意味

静的ルートに関連しないASNが含まれていて、 enforce-first-as ステートメントが設定されたため、この静的ルートは非表示になっています。

変更履歴

サポートされる機能は、使用しているプラットフォームとリリースによって決まります。 特定の機能がお使いのプラットフォームでサポートされているかどうかを確認するには、 Feature Explorer をご利用ください。

リリース
説明
9.1
Junos OSリリース9.1以降では、4バイトAS番号がサポートされます。
footer-navigation