Help us improve your experience.

Let us know what you think.

Do you have time for a two-minute survey?

 
 

4バイトを数値として BGP

4バイト自律システム番号の概要

この技術概要では、4バイト自律システム (AS) 番号、および2バイトと4バイトを組み合わせたネットワークでの BGP の運用について説明します。

数値としての2バイト (16 ビットを数字、または2オクテットを数値としても知られる) は、65536のプールを数字で提供します。2バイトバイトのASの範囲は使い果たされました。4 バイトの AS 番号は RFC 4893、BGP で 4-Octet AS Number Space をサポートし、4,294,967,296 AS 番号のプールを提供します。

2009の場合、IANA (IANA) では4バイトが数値として割り当てられるのは、2バイトが明示的に要求されている場合を除きます。インターネット技術タスクフォース (IETF) RFC 4893 では、2バイトから4バイトへの変換のための方法を数値として、下位互換性を維持するための方法を定義しています。

RFC 4893 では、AS4_PATH と AS4_AGGREGATOR の2つのオプションの推移的な BGP 属性が新たに導入されています。これらの新しい属性は、4バイトを数字としてサポートしない BGP スピーカー全体で4バイトをパス情報として伝達するために使用されます。

RFC 4893 では、23456として、予約された既知の2バイトを数値としても紹介しています。この番号は、RFC 4893 で AS_TRANS と呼ばれています。

RFC 7300、Reservation of Last Autonomous System(AS)Number およびインターネット ドラフト draft-ietf-idr-as0-06 では、2 バイト AS 番号 65535、4 バイト AS 番号 4294967295UL、および設定内の AS 番号 0 の使用が制限されています。そのため、これらの制限を数字として使用すると、コミット操作が失敗します。

4バイト自律システム番号の実装

Junos OS リリース9.1 以降では、4バイトを数値としてサポートしています。

ネットワークが現在数値として2バイトを使用している場合、新しい4バイトを数値として取得する必要はありません。2バイトを数値範囲として指定すると、4バイトのサブセットとして数値範囲が指定されます。4バイトを数値としてサポートする Juniper networks ルーターは、2バイトの前にゼロの文字列を数字として付加します。たとえば、2バイトを数字65000として、4バイトを数値00000.65000 として表示します。

ジュニパーネットワークスルーターが4バイトを数値としてサポートし、4バイトを数字としてサポートしていないルーターとピアリレーションシップを持つ場合、4バイトの数値としてのルーターをサポートしている隣接するリブインルーティングテーブルで次の順序が行われます。この機能を新しいピアにアドバタイズします。

  1. 4バイトを数字としてサポートするルーターは、2バイトのみを数字としてサポートするアドバタイズメントをピアから受信します。

  2. 数値として4バイトをサポートするルーターでは、2バイトを数字として4バイトに変換します。2バイトの前に0の文字列を数字として付加します。

  3. パスにも数値として4バイトが存在する場合は、パスの数値として2バイトとマージされます。

  4. アグリゲータと AS4_AGGREGATOR の属性が存在する場合、これらの属性もマージされます。

ジュニパーネットワークスルーターが4バイトを数字としてサポートしていて、4バイトを数字としてサポートしていないルーターとピアリレーションシップを持つ場合は、隣接する一部のリブアウトルーティングテーブルで以下の順序が行われます。

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

  2. 4バイトを数値としてサポートするルーターは、AS4_PATH 属性で4バイトを数字として送信します。

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

  4. 1つのピアグループは、4バイトを数字としてサポートするルーター、および2バイトを数字としてのみサポートするルーターに使用されます。

4バイト自律システム番号の構成

このセクションでは、4バイトを数字として設定する方法と、BGP ピアが4バイトを数値としてサポートしているかどうかを確認する方法について説明します。

番号ASは、プレーン番号形式または AS ドット表記形式で、Junos OS リリース 9.2 以降を実行するルーターで指定できます。たとえば、65546の数としての4バイトは、65546としてプレーン数値形式で表現されます。同AS番号は、Junos OSリリース9.2以降を実行しているルーター上で、ASドット表記形式では1.10と表されます。

  • 4バイトをドット表記形式で数値として設定するには、 autonomous-systemステートメントを含め、4バイトを数字として指定します。次の例では、AS 番号がに1.10設定されています。

  • 4バイトを数値として標準数値形式で設定するにはautonomous-system 、ステートメントを含め、4バイトを数字として指定します。次の例では、AS 番号がに65546設定されています。

  • BGP ピアセッションがネゴシエートされた後、ピアが4バイトを数字としてサポートしているかどうかを確認できます。ピアが4バイトを数字としてサポートしているかどうかshow bgp neighborを確認するには、コマンドを使用します。次の例では、ピアは4バイトを数字としてサポートしていません。

  • 次の例では、ピアが4バイトを数値としてサポートしています。

AS Path での4バイト (数字) としての先頭への付加

アドレス プレフィックス アドバタイズメントがドメインを通過すると、そのドメインは、自律システム番号(ASN)をアドレス プレフィックスに関連付けられた AS パスに先頭に付け、プレフィックスアドバタイズメントに効果的に「署名」します。ネットワーク内の任意の場所では、AS path は、現在の地点から発信元ドメインまでのパスを形成する、接続された一連のドメインを表します。AS path リストの左端の数字は、アドレスプレフィックスアドバタイズメントが受信された近隣の ASN として機能しています。数値のシーケンスは、この更新が反映されたのがどのようなシーケンスであるかを示しています。

このセクションでは、AS path の先頭に1つまたは複数の数字を付加する方法について説明します。パスの先頭に番号が追加されるのは、ルートの送信元がパスに追加された実際の番号の後です。AS path の前には、パスの見栄えがよく、BGP にはあまり適していないことがあります。

注:

Junos OSリリース15.1では、ステートメントにより、ASパスの最初(一番左)の自律システム番号(ASN)がドメインが通過する前のネイバーの ASN が適用されます。 enforce-first-as

図 1は、ルーター2は番号65000として 10億4倍になるように設定されています。

図 1: EBGP AS Path に付加された番号を4バイトで表すEBGP AS Path に付加された番号を4バイトで表す

ルーター3でルートの表示コマンドを使用して、ルートの詳細を表示できます。次の例では、「AS path」 (ルーター 3) の [パス] として指定されている番号は、23456として AS_TRANS 番号になっていることに注意してください。これは、ルーター3が4バイトを数字としてサポートしていないためです。

ルーター 4 で show route コマンドを使用して、ルートの詳細を表示できます。次の例では、ルーター4のAS ASパスに表示される先頭の番号が1000000000であるASします。これは、ルーター4が4バイトを数字としてサポートし、AS_PATH と AS4_PATH の属性をマージするためです。

4バイトを数字として設定し、BGP 拡張コミュニティー属性を構成する

BGP コミュニティーは、共通のプロパティを共有する宛先のグループです。標準のコミュニティー属性と拡張コミュニティー属性を設定して、BGP 更新メッセージに含めることができます。

たとえば、VPN ルーティングおよびフォワーディング (VRF) インスタンスを設定する場合は、ルートターゲットを構成する必要があります。ルートターゲットは、BGP 拡張されたコミュニティー属性の1つのタイプです。名前付き BGP 拡張コミュニティー属性を作成するにはcommunity 、以下の文を含め、コミュニティーメンバーを指定します。

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

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

次の例では、 target 4 バイトが数字334324で割り当てられたコミュニティ132がとして表されtarget:334324L:132ています。

注:

ターゲットの拡張コミュニティー情報を、数字として4バイトをサポートしていないピアルーターに表示するとtarget:unknown format、ルーターが表示されます。

2バイト対応ドメインからのパスとしての4バイト対応ルーターの理解

このセクションでは、4バイトを数字としてサポートするルーターが、2バイトの外側を数値として構成されている場合、1番目のルーターが番号として2バイトを設定している場合に、AS path ステートメントをルーターに送信すると、何が起こるかについて説明します。

ルーター 図 2 1では、4バイトの番号のASされています。ルーター1は、100000000の番号AS 4バイトの番号AS設定されています。ルーター2は、2バイトの番号のASサポートしています。ルーター2は、2バイトの番号である65056 AS設定ASされています。

図 2: 2バイト対応ルーターへのパスとしての4バイト対応ルーター2バイト対応ルーターへのパスとしての4バイト対応ルーター
  • ルーター2は、AS_PATH属性で4バイトAS番号を受け入れる必要があります。これを確認するにはshow bgp neighbor 、ルーター1のコマンドを使用します。

図 3EBGP を実行している4つのルーターを示します。ルーター1、ルーター2、ルーター4は、4バイトのルーター番号ASしています。ルーター3は、4バイトのルーター番号ASされていません。

図 3: EBGP 4 バイトを2バイトからドメインとしてのパスとして使用EBGP 4 バイトを2バイトからドメインとしてのパスとして使用

この場合:

  • ルーター1は、10億として4バイトを番号としてルーター2の AS_PATH 属性に送信します。

  • ルーター2は、ルーター3が4バイトを数字としてサポートしていないことを認識しています。

  • ルーター2は、23456として AS_TRANS 番号を、ルーター3への番号としての4バイトの代わりに AS_PATH 属性で送信します。

  • ルーター2は、10億として4バイトを番号としてルーター3に AS4_PATH 属性で送信します。

  • AS4_PATH 属性は推移的であるため、ルーター3は AS_PATH 属性と AS4_PATH 属性の両方をルーター4に送信します。

  • ルーター4は、AS_PATH と AS4_PATH の属性を受信すると、パスステートメントをマージして正確なパスを作成します。

AS path を表示するには、 show routeルーター3のコマンドを使用します。次の例では、AS 番号が23456として表示され、AS4_PATH 属性がUnrecognized指定されていることに注意してください。AS4_PATH 属性は推移的な属性であるため、次のルーターに転送されます。

ルーター4のshow routeコマンドを使用して、ルートの詳細を表示できます。次の例では、AS path が、AS2 (2 バイト AS) path に示されているルーター3を移行すると、AS 番号が AS_TRANS として表示されることに注意してください。これは、ルーター3が23456としての数値を認識することを意味します。AS4 (4 バイト AS) パスでは、AS 番号は10億と表示されます。マージされた AS パスでは、AS のパス番号が AS 65056、AS 65000、10000000 ASされます。

図 4IBGP を実行している4つのルーターを表示します。ルーター1、ルーター2、ルーター4では、4バイトを数値としてサポートしています。ルーター3は4バイトを数字としてサポートしていません。

図 4: IBGP 4 バイトを2バイトからドメインとしてのパスとして使用IBGP 4 バイトを2バイトからドメインとしてのパスとして使用

この場合:

  • ルーター1は、10億として4バイトを番号としてルーター2の AS_PATH 属性に送信します。

  • ルーター2は、ルーター3が4バイトを数字としてサポートしていないことを認識しています。

  • ルーター2は、23456として AS_TRANS 番号を、ルーター3への番号としての4バイトの代わりに AS_PATH 属性で送信します。

  • ルーター3は、AS_PATH 属性と AS4_PATH 属性の両方をルーター4に送信します。

  • ルーター4は、AS_PATH と AS4_PATH の属性を受信すると、パスステートメントをマージして正確なパスを作成します。

ルーター2のshow routeコマンドを使用して、ルートの詳細を表示できます。以下の例では、AS path が10億として表示されています。

ルーター3のshow routeコマンドを使用して、ルートの詳細を表示できます。以下の例では、AS path が 65000 23456 として表示されています。

ルーター4のshow routeコマンドを使用して、ルートの詳細を表示できます。次の例では、マージされた AS path として 65000 10億と表示していることに注意してください。

4バイトを数字およびルート識別として理解する

RD(ルート識別)は、サービス プロバイダ顧客の IPv4 アドレスにプレフィックスされた 8 バイトのフィールドです。その結果得られる12バイトのフィールドは、ユニークな VPN IPv4 アドレスです。メッセージ内の RD BGPは、タイプ フィールド(2 バイト)と値フィールド(6 バイト)の 2 つの主なフィールドで構成されています。タイプフィールドによって、値フィールドの解釈方法が決定されます。

ルート識別子as-numberは、6バイト値として設定されています。numberここas-numberでは、数字およびnumber (管理番号または [割り当てられた番号] サブフィールドとしても知られています) が任意の2バイトまたは4バイト値であることを示します。AS 番号は 1 ~ 4294967295 の範囲で指定できます。AS number が2バイト値の場合、管理番号は4バイト値になります。AS number が4バイト値の場合、管理番号は2バイト値になります。

4 バイト AS 番号および 2 バイト管理番号から成る RD は、RFC 4364、BGP/MPLS IP仮想プライベート ネットワークでタイプ 2 ルート識別として定義されています。

4 バイトの番号を使用して RD をASするには、文字「L」を番号の末尾に追加します。次の例では、4バイトを数字、7765000、管理番号は1000になっています。

構成しているルーターが、4バイトを数字としてサポートしていないルーターの BGP ピアである場合は、4バイト対応ルーターと2バイト対応ルーター間のピア関係を設定する方法について説明したようにローカルを構成する必要もあります。を数値として表示します。ローカルを数値として設定するにlocal-asは、ステートメントを含め、使用する数値として2バイトを指定し ( private 65001)、オプションを含めます。

4バイトを数字およびルートループ検知として理解する

BGP における最も重要な機能の1つは、AS_PATH 属性を使用した自律システムレベルでのルートループ検出です。AS_PATH は、ルートが宛先に到達するために通過する自律型システムのリストであることを考えると、シンプルな方法です。ルーターによってループが検出され、近隣の AS_PATH から受信した番号として処理を回避します。

このセクションでは、ルートループ検出が、4バイトを数字としてサポートし、サポートしていないルーターの組み合わせを使用してどのように機能するかについて説明します。図 5 BGP ループが発生する可能性のある小規模なネットワークを示しています。

図 5: 4バイト (数字とループ検知)4バイト (数字とループ検知)

最初の例では、EBGP ルート、ルート1.2.3.4 が最初にルーター1によって通知されます。最初のパスは、ルーター1で構成された12596として設定されています。2番目のパスは、ルーター2で構成された100万として設定されています。100万は AS4_path 属性で送信され、23456として AS_TRANS 番号が AS_PATH 属性でルーター3に送信されます。このパスにおける3つ目の方法は、ルーター3で構成された6万として設定されています。

このshow routeコマンド出力は、ルーター3がルーター4に対して通知したルート1.2.3.4 のパスを示しています。このshow routeコマンドの出力には、12596が最初に表示されます。ルーター3は4バイトを数字としてサポートしていないため、23456秒として表示されます。ルーター2は、65000のローカル AS を使用してルーター3とピア関係を確立しているため、65000は3番目に見えます。AS 60000で設定されたルーター上に コマンドが入力されたため show route 、6,0000はコマンド出力ASではありません。

この場合、ルーター4は、その独自の番号を12596として認識すると、ルーティングループを検知します。

2番目の例では、EBGP ルート、route 4.3.2.1 は、まずルーター4によって通知されます。最初のパスは、ルーター4で構成された12596として設定されています。2番目のパスは、ルーター3で構成された6万として設定されています。3番目の AS は、ルーター2で構成された100万として設定されています。

コマンド show route 出力は、ルーター2からルーター1にアドバタイズされたルート4.3.2.1のASパスを示しています。コマンド出力 show route には、最初に12596 AS 6,0000秒AS表示されます。100万として構成さshow routeれたルーター上でコマンドが入力されたため、100万はコマンド出力ではありません。

ルーター1は、その独自の番号を12596として認識している場合、ルーティングループを検知します。

2バイトを数字として使用して、4バイト対応ルーターと2バイト対応ルーター間のピア関係を確立する

このセクションでは、4バイトの数値をサポートするルーターが2バイトを数値として構成されている場合には、2個のルーターとのピアリレーションシップを確立します。

ルーター 図 61 は、4バイトを数値としてサポートする Junos OS リリース9.2 を実行しています。ルーター1は、12596のように2バイトを数字として使用するように設定されています。ルーター2は、2バイトを数値としてサポートする Junos OS リリース8.5 を実行しています。ルーター2は、6万のように2バイトで構成されています。

図 6: 2バイトを数字として使用した2バイト対応ルーターとのピアリレーションシップを持つ4バイト対応ルーター2バイトを数字として使用した2バイト対応ルーターとのピアリレーションシップを持つ4バイト対応ルーター
  • 次の例は、ルーター1構成の関連部分を示しています。

  • ルート1.2.3.4 の AS path が12596になっていることを確認するshow routeには、ルーター2でコマンドを使用します。次の例は、BGP ピアセッションが通常の方法で確立されており、ルート1.2.3.4 の AS path が12596になっていることを示しています。

  • ルーター1でログに記録されたセッション確立メッセージを表示show log messagesするには、コマンドを使用します。次の例は、ルーター1がルーター2が4バイトを数字としてサポートしていないことを発見したことを示しています。

4バイトのルーターと2バイト対応ルーターとの間でピア関係を確立しています。

このセクションでは、4バイトの数値をサポートするルーターが、2バイトの外側を数値範囲として構成されている場合にのみ数値として2個のルーターとのピアリレーションシップを確立するとどうなるかについて説明します。

図 7は、ルーター2は4バイトを数値としてサポートする Junos OS Release 9.2 を実行しています。ルーター2は、100万のように4バイトを数字として使用するように設定されています。ルーター3は、2バイトを数字としてサポートする Junos OS リリース8.5 を実行しています。ルーター3は、6万のように2バイトで構成されています。

図 7: 4バイトの対応ルーターを使用した4バイト対応ルーターとのピアリレーションシップを持つ2バイトを搭載。4バイトの対応ルーターを使用した4バイト対応ルーターとのピアリレーションシップを持つ2バイトを搭載。

BGP の近隣には BGP セッションを確立するときにのみ使用するようにローカルに設定できますが、外部 BGP のピアに送信される AS path では非表示にする必要があります。ローカルを数値として設定するにlocal-asは、文を含めて、使用する2バイトを数字、65530、およびprivateオプションを含めるように指定します。この構成では、外部ピアに送信される AS パスにはグローバルな番号100万が含まれています。次の例は、ルーター2設定の関連部分を示しています。

ルーター3のASピア 番号は、ルーター1のローカルAS番号と等しくなります。次の例は、ルーター3設定の関連部分を示しています。

ルート 22.1.2.3 の AS パスに AS 65530 が含まれている場合は、ルーター 3 で コマンドを使用します。 show route 次の例では、BGP ピア セッションが確立され、ルート 22.1.2.3 の AS パスに 65530 が含ASしています。

例:BGP ネットワークにおけるパスとしての正しい自律システム番号の適用

この例は、 enforce-first-as[edit protocols bgp]階層レベルで設定されたステートメントをセキュリティ対策として使用する方法を示しています。この文を設定すると、整合性チェックが作成され、BGP ピアが正規の送信元であることが保証されます。

要件

開始する前に、少なくとも3つの自律システムで構成された BGP ネットワークをセットアップしてください。3つの独立したルーターで十分です。

概要

ステートメントは、ASパス内の最初の(一番左の)自律システム番号(ASN)が、広告ネイバーの ASN と一致する必要 enforce-first-as があります。

トポロジは、ルーター B への静的ルートをBGPルーター C を宣伝して設定し、ルーター A へのルートを再ルーティングします。次に、関連のない ASN を付加するためにルーター A に向かうエクスポート ポリシーがルーター B に追加されます。最後に、ステートメントはルーター A からルーター B に向けて enforce-first-as 設定されています。ルーター A が AS パスを取得すると、AS パスの一番左の ASN が前のネイバーの ASN であるかチェックし、ルーター B からのルートを無効にします。

Topology

ルートを確認するために強制-最初の as ステートメントを設定する

CLI クイック構成

この例の初期構成を迅速に構成するには、以下のコマンドをコピーしてテキストファイルに貼り付け、改行を削除し、ネットワーク設定に一致する必要がある詳細情報を変更してから CLI にコマンドをコピーして貼り付けます。[edit]階層レベル。

ルーター A の初期構成

ルーター B の初期構成

ルーター C での初期構成

手順

順を追った手順
  1. ルーター C 上で静的ルートを構成します。

  2. 静的ルートのエクスポートポリシーを構成します。

  3. 静的ルートがルーター B およびルーター A に到達していることを確認します。

    ルーター A では、ルートは 65542 65543 の AS path で示されていることに注意してください。ルーター B からルーター A へのルートには、パスの先頭に ASN が付加されています。

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

  5. ルーター A のルート198.51.100.17 を検証します。

    ASN 65555 が AS パスの先頭に付いていることに注意してください。

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

    ルートをもう一度確認すると、ルーター A でルート198.51.100.17 が使用されなくなっていることがわかります。

検証

BGP セッションを確認します。

目的

BGP セッションが確立されていることと、ルーターがピアリングセッションを確立した近隣ノードとの間であることを確認します。

アクション

動作モードから、 show bgp summaryコマンドを実行します。

1行目は、構成されているグループ数と、ピアの数 (アップまたはダウン) を示しています。この出力は、192.0.2.1 と198.51.100.2 の2つのピアがあることを示しています。表の部分は、inet. 0 テーブルにパスがないことを示しています。ルーター B には2つのピア、65541、65543があることがわかります。このState列にスラッシュで区切られた3つの数値が表示されている場合、BGP セッションは稼働しています。

静的ルートを確認します。

目的

静的ルートがルーター B とルーター C からエクスポートされていることを確認します。

アクション

動作モードから、 show bgp neighborコマンドを実行します。

動作モードから、 show bgp summaryコマンドを実行します。

動作モードから、 show route protocol bgpコマンドを実行します。

このshow bgp neighborコマンドを使用すると、エクスポートポリシーが名前で表示されます。

このshow bgp summaryコマンドを使用すると、inet. 0 テーブルに、このルートが学習したことを示す1つのルートがあることがわかります。

このshow route protocol bgpコマンドは、ルーターがルートをラーニングしていることを確認します。ルートと AS パスが表示されます。ルーター A では AS path が追加され、ルーター C および B (65543 と 65542) の ASNs を使用していることがわかります。

付加エクスポートポリシーの検証

目的

ASNs がルーター B から受信するルーターのパスとして検証されていることを確認します。

bgp 近隣ノードを表示します。ルーターが接続されている BGP ルーターの一覧が表示されます。ルーターがピアリングセッションを確立した近隣ノードを表示します。

bgp の概要を表示します。BGP グループ、ピア、セッションの状態に関する情報をリストします。BGP セッションが確立されているかどうかを判断できます。

ルートプロトコル bgp を表示します。BGP から学習したルートを示します。ルーターが希望する近隣からのみルートを学習することを確認します。

アクション

動作モードから、 show route protocol bgpコマンドを実行します。

65555が AS path の前に付加されていることがわかります。

執行 first as 文が機能していることを確認します。

目的

ルーターが希望する近隣からのみルートをラーニングしていることを確認します。

アクション

ルート198.51.100.17 を検証します。

show routeコマンドを発行すると、ルート情報は表示されません。

この静的ルートは、関連性のない ASN を含んでいenforce-first-asて、文が設定されたため、非表示になっています。

リリース履歴テーブル
リリース
説明
9.1
Junos OS リリース9.1 以降では、4バイトを数値としてサポートしています。