JunOSのブリッジドメインと仮想スイッチ

画像の代替






約1年前またはそれ以前に、私はJunOSのルーティングインスタンスに関する記事を書きました。これには、仮想スイッチとevpnを除く、ルーティングインスタンスの主要なタイプが記載されています。 後者については、EVPNに関する記事で読むことができますが、仮想スイッチは今のところ無人のままです。 多くの人がこのルーティングインスタンスの機能を過小評価していますが、機能はまともです。 この短い記事では、仮想スイッチとは何か、どのスイッチを使用するか、そしてそれが必要かどうかを検討します。



仮想スイッチの議論と構成に直接進む前に、2つの非常に重要な問題を強調する必要があります。



1. JunOSでタグ付きインターフェースを設定する方法(スタイル)。

2.ブリッジドメインとは何ですか。



JunOSは、ブリッジドメインで使用するタグ付きインターフェイスを構成するための2つの方法を提供します。



1.サービスプロバイダー

2.エンタープライズ



それらについて詳しく見ていきましょう。



注:すべての例では、flexible-ethernet-servicesカプセル化とflexible-vlan-taggingのインターフェースを使用しています。



bormoglotx@RZN-PE1> show configuration interfaces ae3 apply-groups-except CORE; description "to RZN-CE1 | ae0"; flexible-vlan-tagging; encapsulation flexible-ethernet-services; aggregated-ether-options { minimum-links 1; link-speed 1g; lacp { active; periodic fast;
      
      





サービスプロバイダー



インターフェイスを構成するこの方法により、ポップ(アンインストール)、プッシュ(追加)、スワップ(置換)タグ操作、および2つのタグを持つ操作を使用するvlanタグを完全に自由に操作できます。ダブルタギングを使用する場合、底部を交換します。 タグ付きインターフェイスを作成するこの方法を使用する最も簡単な方法は次のとおりです。



 [edit] bormoglotx@RZN-PE1# show interfaces ae3.10 encapsulation vlan-bridge; vlan-id 10;
      
      





これは、10個のVLANのみが許可される単純なタグ付きインターフェイスです。 この方法で構成されたインターフェイスをブリッジドメインに追加する場合、ブリッジドメイン自体の構成でこのインターフェイスを明示的に指定する必要があります。



 [edit] bormoglotx@RZN-PE1# show bridge-domains BRIDGE-10 domain-type bridge; vlan-id 10; interface ae3.10;
      
      





vlanタグを操作するには、vlan-maps:input-vlan-mapおよびoutput-vlan-mapを使用できます。 たとえば、タグ10をタグ20に書き換えます。



 [edit] bormoglotx@RZN-PE1# show interfaces ae3.10 encapsulation vlan-bridge; vlan-id 10; input-vlan-map { swap; vlan-id 20; } output-vlan-map swap;
      
      





vlan-mapを使用する場合は、反対のアクションを追加することを忘れないでください。つまり、input-vlan-mapのみを指定し、output-vlan-mapを忘れると、タグは受信用に書き換えられますが、送信用には書き換えられません。

注:タグを書き換えてサービスプロバイダースタイルで構成されたブリッジドメインでインターフェイスを使用する場合、vlan-idを指定できず、エラーが発生します。



 [edit] bormoglotx@RZN-PE1# show bridge-domains BRIDGE-10 { domain-type bridge; vlan-id 10; ## ## Warning: interface with input/output vlan-maps cannot be added to a routing-instance with a vlan-id/vlan-tags configured ## interface ae3.10;
      
      





vlan-mapを使用する場合は、ブリッジドメインからvlan-idを削除し、ブリッジドメインの一部である各インターフェイスのタグ番号を手動で管理する必要があります。 ただし、タグを書き換える簡単な方法があります。これについては後で説明します。



エンタープライズ:



この方法は、前の方法よりもはるかに簡単です。 インターフェイスを設定するとき、トランクまたはアクセスインターフェイスであることを示します。 これに基づいて、複数のタグ(インターフェースがトランクの場合)または1つ(インターフェースがアクセスの場合)を指定できます。 ただし、簡単にするために、たとえば次のデメリットを支払う必要があります-内部タグをQinQで書き換える方法はありません-サービスプロバイダーモデルとは異なり、ブリッジドメインのvlan-idと一致しない場合、外部タグまたはタグの必須の手動書き換えのみを実行できます。 設定は次のようになります。



 [edit] bormoglotx@RZN-PE1# show interfaces ae0.10 encapsulation vlan-bridge; family bridge { interface-mode trunk; vlan-id-list 10; }
      
      





vlan-id-list vlanリストでは、複数のvlan番号(最大4094)を指定できます。このインターフェイスは、ブリッジドメインに追加する必要はありません。ブリッジドメインと設定されたインターフェイスのvlan番号が一致する場合、自動的に追加されます。 vlan-id 10を使用したブリッジドメイン構成の例を次に示します。



 bormoglotx@RZN-PE1> show configuration bridge-domains BRIDGE-10 domain-type bridge; vlan-id 10; interface ae3.10;
      
      





裁判所のae0.10インターフェイスは追加されていません(これを行おうとすると、JunOSからエラーが表示されます)。 ブリッジドメインの状態を見てみましょう。



 bormoglotx@RZN-PE1> show bridge domain BRIDGE-10 Routing instance Bridge domain VLAN ID Interfaces default-switch BRIDGE-10 10 ae0.10 ae3.10
      
      





インターフェイスは自動的にブリッジドメインに追加されました。これは、vlan番号がBRIDGE-10ブリッジドメインで設定されたvlan-idと等しいためです。 vlan-id-listに複数のvlaneがある場合、インターフェイスは複数のブリッジドメインにも追加されます



このインターフェイス設定方法では、vlanタグを操作することもできますが、一見すると設定がやや混乱しているように見えるかもしれません。



ae3.10インターフェースと同じことをしましょう-タグを10から20に書き換えます:



 [edit] bormoglotx@RZN-PE1# show interfaces ae0.10 encapsulation vlan-bridge; family bridge { interface-mode trunk; vlan-id-list 20; vlan-rewrite { translate 10 20; } }
      
      





パケットがクライアントから到着するvlan番号はvlan-id-listに示されていないことに注意してください(指定すると、JunOSはエラーを返します)。 ただし、覚えておくべき最も重要なことは、10ではなくvlan-id 20のインターフェイスであり、10ではなくvlan-id 20のブリッジドメインに追加されることです。同じインターフェイスに複数のvlaneがある場合(これはまだトランクです)インターフェイス)、それから複数の変換ルールを書くことができます-各VLANのために別々に。 変換ルールがないVLANの場合、タグはクライアントから到着したVLANのままです(当然、このインターフェイスでこのVLANが許可されている場合)。



上記で、VLAN番号が一致したため、このインターフェイスがBRIDGE-10ブリッジドメインに自動的に接続されることを示しました。 ここで確認しましょう-このインターフェイスがこのブリッジドメインに残っているか、移動されたか:



 bormoglotx@RZN-PE1> show bridge domain BRIDGE-10 Routing instance Bridge domain VLAN ID Interfaces default-switch BRIDGE-10 10 ae3.10
      
      





インターフェイスはVLAN番号を持たないため、BRIDGE-10ブリッジドメインから削除されました。 このブリッジドメインのVLAN番号を20に変更し、ae0.10が追加されたかどうかをもう一度確認しましょう。



 bormoglotx@RZN-PE1> show bridge domain BRIDGE-10 Routing instance Bridge domain VLAN ID Interfaces default-switch BRIDGE-10 20 ae0.10 ae3.10
      
      





予想どおり、インターフェイスはこのブリッジドメインに分類されました。

注:ブリッジドメイン自体のVLAN番号は変更しましたが、ae3.10ではVLAN番号は変更されませんでしたが、ブリッジドメインにはまだあります。 これは正常な動作であり、後ほどその仕組みを検討します。


ブリッジドメイン



インターフェイスを構成する方法がわかったので、今度は直接ブリッジドメインに移動します。



ブリッジドメインは、MACアドレスの学習とフラッディングの同じ特性を共有する論理インターフェイスの集合です。 ブリッジドメインは、ブロードキャストドメインという言葉と同義です。 例として、3つのインターフェイスで構成されるブリッジドメインを作成したとします。 ブロードキャストフレームを受信すると、ルーターはこのフレームを受信したものを除くすべてのインターフェイスにフラッディングします(これはスプリットホライズン機能であると理解しているため)。つまり、この場合、インターフェイスAからパケットを受信すると、インターフェイスBに送信されます。 C.ルーターは他のどこにもパケットを送信しないため、あるブリッジドメインを別のブリッジドメインから確実に分離できます。 その結果、この段落の冒頭に記載されている定義が得られます。MACアドレスとフラッドの調査は、このブリッジドメインに接続されているインターフェイスのセットによってのみ制限されます。 特定の状況では、VLANはブリッジドメインと同義になりますが、これはルールではなく例外です。



簡単なブリッジドメインを作成しましょう。実際、次の図に示すように、RZN-PE1とRZN-PE2の間で100 VLANを取得します。







この場合、両方のPEのブリッジドメインの構成は同じであるため、最初のボックスから結論を導き出します。 まず、vlan 100でRZN-CE1とRZN-CE2が接続されていないことを確認します。



 bormoglotx@RZN-CE1> show configuration interfaces ae0.100 vlan-id 100; family inet { address 10.0.0.1/24; } bormoglotx@RZN-CE1> ping rapid routing-instance VR1 source 10.0.0.1 10.0.0.2 PING 10.0.0.2 (10.0.0.2): 56 data bytes ..... --- 10.0.0.2 ping statistics --- 5 packets transmitted, 0 packets received, 100% packet loss
      
      





次に、RZN-PE1に切り替えて、必要なインターフェイスを追加し、それらをブリッジドメインに結合します。



 [edit] bormoglotx@RZN-PE1# show | compare [edit interfaces ae0] + unit 100 { + description "L2 for BRIDGE100"; + encapsulation vlan-bridge; + vlan-id 100; + } [edit interfaces ae3] + unit 100 { + description "to VR1"; + encapsulation vlan-bridge; + vlan-id 100; + } [edit] + bridge-domains { + BRIDGE-100 { + domain-type bridge; + vlan-id 100; + interface ae0.100; + interface ae3.100; + } + }
      
      





覚えているように、RZN-PE1では、ae0インターフェイスはその兄弟RZN-PE2を参照し、ae3はRZN-CE1を参照します。 同様の構成がRZN-PE2でも使用されます。 次に、ブリッジドメインのステータスを確認します。



 bormoglotx@RZN-PE1> show bridge domain BRIDGE-100 detail Routing instance: default-switch Bridge domain: BRIDGE-100 State: Active Bridge VLAN ID: 100 Interfaces: ae0.100 ae3.100 Total MAC count: 0
      
      





計画どおりのすべて-ドメインには2つのインターフェイスと100番目のVLAN番号があります。 これまでのところ、RZN-CE1 / 2間のトラフィックの交換はまだ行われていないため、単一のMACアドレスは検討されていません。

必要なアドレス間でpingを実行して、この見落としを修正します。



 bormoglotx@RZN-CE1> ping rapid routing-instance VR1 source 10.0.0.1 10.0.0.2 PING 10.0.0.2 (10.0.0.2): 56 data bytes !!!!! --- 10.0.0.2 ping statistics --- 5 packets transmitted, 5 packets received, 0% packet loss round-trip min/avg/max/stddev = 3.451/6.046/13.350/3.674 ms
      
      





これで、MACが転送テーブルに表示されたかどうかを確認できます。



 bormoglotx@RZN-PE1> show bridge domain BRIDGE-100 detail | match mac Total MAC count: 2 bormoglotx@RZN-PE1> show bridge mac-table bridge-domain BRIDGE-100 MAC flags (S -static MAC, D -dynamic MAC, L -locally learned, C -Control MAC SE -Statistics enabled, NM -Non configured MAC, R -Remote PE MAC) Routing instance : default-switch Bridging domain : BRIDGE-100, VLAN : 100 MAC MAC Logical NH RTR address flags interface Index ID 00:05:86:71:1c:c0 D ae0.100 00:05:86:71:e5:c0 D ae3.100
      
      





ポピーが研究され、接続性は-私たちが必要とするすべて-私たちがしました。 同様の結果がL2CKTの助けを借りて得られる可能性があるということをいくつか言いたいと思います。 しかし、第一に、L2CKTはMPLSをトランスポートとして使用する完全に異なるサービスであり、MACアドレス(実際には、ポートAからポートBへのパイプ)を調べません。第二に、L2CKTに3番目のインターフェースを追加できませんVPLS)、そして最も重要なこととして、ルーティングインターフェイス(irb)をL2CKTに結び付けて、ブリッジドメインから外部ネットワークにホストを解放することはできません。 わかりやすくするために、図に示すように、ブリッジドメインにirbインターフェイスを追加します。





 bormoglotx@RZN-PE1# show | compare [edit interfaces] + irb { + unit 100 { + description "L3 for BRIDGE-100"; + family inet { + address 10.0.0.254/24; + } + } + } [edit routing-instances] + VIRTUAL-ROUTER { + instance-type virtual-router; + interface irb.100; + } [edit bridge-domains BRIDGE-100] + routing-interface irb.100;
      
      





MX間のネットワーク自体にも10.0.0.0/24ネットワークがあるため、irbインターフェイスを仮想ルーターに移動しました。 アドレス指定が重複していなければ、このインターフェイスをGRTのままにして、ホストをL2ドメインから外部に解放できます。



注:irbインターフェースはタグ付けされていません。管理を容易にするために、ユニット番号は100に設定されています。 トラフィックをルーティングインターフェイスに送信する場合、タグが存在する場合、タグはパケットから削除されます。
注:irbインターフェイスは、少なくとも1つの論理インターフェイスがアップ状態のブリッジドメインに追加された場合にのみアクティブになります。

注:1つのブリッジドメインに追加できるルーティングインターフェイスは1つだけです。


ここで、たとえばRZN-CE2から10.0.0.254にpingを実行し、構成の状態を確認します。



 bormoglotx@RZN-CE2> ping routing-instance VR1 rapid source 10.0.0.2 10.0.0.254 PING 10.0.0.254 (10.0.0.254): 56 data bytes !!!!! --- 10.0.0.254 ping statistics --- 5 packets transmitted, 5 packets received, 0% packet loss round-trip min/avg/max/stddev = 3.385/19.526/79.125/29.821 ms
      
      





次に、タスクを少し複雑にして、次のスキームを収集しましょう。







新しいシナリオでは、PE間でL2を再度実行する必要がありますが、問題は101 vlanがRZN-PE1で終了し、1001 vlanがRZN-PE2で終了することです。 特定の条件下でブリッジドメインはvlanという単語と同義語になると書いたとき、上記のケース(100番目のvlan)を意味しました。 検討中のケースは、ブリッジドメインが常に同じではないことを証明します。 おそらく最初に考えたことは、たとえばRZN-PE2の1001から101までなど、一部のインターフェースでタグの書き換えを構成する必要があるということです。 しかし、JunOSが私たちにとってはるかに簡単になることをお見せします。 次の構成をRZN-PE1に追加します。



 [edit] bormoglotx@RZN-PE1# show | compare [edit interfaces ae0] + unit 101 { + encapsulation vlan-bridge; + vlan-id 101; + } [edit interfaces ae3] + unit 101 { + encapsulation vlan-bridge; + vlan-id 101; + } [edit bridge-domains] + BRIDGE-101 { + domain-type bridge; + vlan-id 101; + interface ae0.101; + interface ae3.101; + }
      
      





その結果、この構成のアプリケーションはRZN-PE1ブリッジドメインBRIDGE-101に表示されます。



 bormoglotx@RZN-PE1> show bridge domain BRIDGE-101 Routing instance Bridge domain VLAN ID Interfaces default-switch BRIDGE-101 101 ae0.101 ae3.101
      
      





次に、RZN-PE2の側から構成に進みましょう。



 [edit] bormoglotx@RZN-PE2# show | compare [edit interfaces ae0] + unit 101 { + encapsulation vlan-bridge; + vlan-id 101; + } [edit interfaces ae3] + unit 1001 { + encapsulation vlan-bridge; + vlan-id 1001; + } [edit bridge-domains] + BRIDGE-101 { + domain-type bridge; + vlan-id 101; + interface ae3.1001; + interface ae0.101; + }
      
      





設定にタグの書き換えはありません。ブリッジドメインの状態を見ると、ae3.1001インターフェイスがBRIDGE-101ブリッジドメインにあることがはっきりとわかります。



 bormoglotx@RZN-PE2> show bridge domain BRIDGE-101 Routing instance Bridge domain VLAN ID Interfaces default-switch BRIDGE-101 101 ae0.101 ae3.1001
      
      





タグの書き換えを設定しないため、何も機能しません。 そして確認しましょう:



 bormoglotx@RZN-CE1> ping rapid routing-instance VR1 source 11.0.0.1 11.0.0.2 PING 11.0.0.2 (11.0.0.2): 56 data bytes !!!!! --- 11.0.0.2 ping statistics --- 5 packets transmitted, 5 packets received, 0% packet loss round-trip min/avg/max/stddev = 5.033/7.733/13.904/3.206 ms
      
      





すでに興味深い-接続があります。MACアドレスの存在について転送テーブルをチェックしましょう。



 bormoglotx@RZN-PE2> show bridge mac-table bridge-domain BRIDGE-101 MAC flags (S -static MAC, D -dynamic MAC, L -locally learned, C -Control MAC SE -Statistics enabled, NM -Non configured MAC, R -Remote PE MAC) Routing instance : default-switch Bridging domain : BRIDGE-101, VLAN : 101 MAC MAC Logical NH RTR address flags interface Index ID 00:05:86:71:1c:c0 D ae3.1001 00:05:86:71:e5:c0 D ae0.101
      
      





転送テーブルにMACがあれば、すべてが正常です。 しかし、タグの書き換えを設定せずに、異なるVLAN間に接続性が表示されたのはなぜですか? 実際、これはJunOSのデフォルトの動作です。 RZN-PE2上のBRIDGE-101ブリッジドメイン自体の構成に戻りましょう。



 bormoglotx@RZN-PE2> show configuration bridge-domains BRIDGE-101 domain-type bridge; vlan-id 101; interface ae3.1001; interface ae0.101;
      
      





vlan-id 101という数字がすべてです。このように動作します。101タグと一致しないタグを持つこのブリッジドメインで受信したパケットの場合、JunOSはタグを自動的に書き換えます。 これは、インターフェイス自体で簡単に確認できます。



 bormoglotx@RZN-PE2> show interfaces ae3.1001 Logical interface ae3.1001 (Index 339) (SNMP ifIndex 580) Flags: Up SNMP-Traps 0x20004000 VLAN-Tag [ 0x8100.1001 ] In(swap .101) Out(swap .1001) Encapsulation: VLAN-Bridge Statistics Packets pps Bytes bps Bundle: Input : 6 0 556 0 Output: 6 0 570 0 Adaptive Statistics: Adaptive Adjusts: 0 Adaptive Scans : 0 Adaptive Updates: 0 Protocol bridge, MTU: 1522
      
      





次の内容の行に注目してください。



  VLAN-Tag [ 0x8100.1001 ] In(swap .101) Out(swap .1001)
      
      





この行は、このインターフェイスからの受信時にタグで実行されるアクション(In(スワップ.101)-タグが101に変更される)と、このインターフェイスに転送されると(Out(スワップ.101)-タグが1001に変更される)を示します。 。 たとえば、ブリッジドメインの設定を変更します。



 [edit] bormoglotx@RZN-PE2# show bridge-domains BRIDGE-101 domain-type bridge; vlan-id none; interface ae3.1001; interface ae0.101;
      
      





繰り返しになりますが、ae3.1001のタグで何が起こるかを見てみましょう。



 bormoglotx@RZN-PE2> show interfaces ae3.1001 | match vlan-tag VLAN-Tag [ 0x8100.1001 ] In(pop) Out(push 0x0000.1001)
      
      





タグは受信用に(書き換えられるのではなく)削除され、タグ1001が送信に追加されますが、RZN-PE1へのインターフェイスにもタグが付けられているため、この場合のVLAN番号による操作も行われます(VLAN番号101のみ) :



 bormoglotx@RZN-PE2> show interfaces ae0.101 | match vlan-tag VLAN-Tag [ 0x8100.101 ] In(pop) Out(push 0x0000.101)
      
      





ブリッジドメインで少し理解できたと思います。 ここで、vlanタグ100を使用してRZN-PE1に別のブリッジドメインを作成してみましょう。



 [edit] bormoglotx@RZN-PE1# show bridge-domains BRIDGE-100 { domain-type bridge; vlan-id 100; interface ae0.100; interface ae3.100; } BRIDGE-101 { domain-type bridge; vlan-id 101; interface ae0.101; interface ae3.101; } VLAN100 { vlan-id 100; }
      
      





コミットスクリプトが新しい構成を誓うかどうかを確認します。



 [edit] bormoglotx@RZN-PE1# commit check [edit bridge-domains] 'VLAN100' l2ald: Duplicate vlan-id exists for bridge domain BRIDGE-100 [edit bridge-domains] Failed to parse bridge domain hierarchy completely error: configuration check-out failed
      
      





コミットすると、エラーが発生します。このVLANはすでに別のブリッジドメインで使用されています。 そのような状況になるには?? はい、何も設定せずにすべてが飛ぶことができますが、これは問題の解決策ではなく、松葉杖です(ただし、すべての輸送は松葉杖とプラグで行われますが、それでも実行可能な解決策が必要です)。 よりエレガントな方法があります-既存のVLANスペースから完全に分離される別のVLANスペースを作成するだけです。 これは、仮想スイッチが私たちを助けるものです。



よく見てみましょう。 1つのルーターに4094 VLANがあります。 つまり、実際には、ブリッジドメインの作成には制限があります-VLAN番号を持つ最大4094ドメイン。 JunOSでは、同じVLAN番号を持つ2つのドメインを作成できません。 ブリッジドメインの状態に関する結論を示したとき、おそらく次の出力でrouting-instanceという名前に気づいたでしょう。



 bormoglotx@RZN-PE1> show bridge domain BRIDGE-100 detail Routing instance: default-switch Bridge domain: BRIDGE-100 State: Active Bridge VLAN ID: 100 Interfaces: ae0.100 ae3.100 Total MAC count: 0
      
      





ルーティングインスタンスの次の行に興味があります:default-switch。 つまり、仮想スイッチタイプでルーティングインスタンスを作成しなかった場合でも、default-switchと呼ばれるそのようなルーティングインスタンスが1つあります。 以前に構成したすべてのブリッジドメインは、具体的にこのインスタンスに追加されました。 仮想スイッチタイプを使用してルーティングインスタンスを作成する場合、4094 VLANからもう1つスペースを追加します。これは、重複せず、すでに使用されているVLANに影響しません。 つまり、たとえば2つの仮想スイッチを作成することにより、同じルーター内で同じVLAN番号を持つ3つのブリッジドメインを作成でき、これらすべてのブリッジドメインは互いに完全に分離されます。 さらに、トポロジがループの形成につながるバックアップパスを提供する場合、仮想スイッチでは制限がありますが、stpファミリプロトコルを実行できます-ユニットではなく、インターフェイス自体のみを追加できます。 また、2つの仮想スイッチがあり、同じインターフェースで異なるユニットを追加する場合、JunOSはstpにインターフェースを追加するときにエラーを返します。 この場合にstpを使用するには、ルーティングインスタンスlayer2-controlとmstpプロトコルを使用する必要があります。



しかし、仮想スイッチの可能性はこれで終わりではありません。 ブリッジドメイン作成の以前のバージョンでは、R2リンクおよびそれを使用した組織的な接続のように、RZN-PE1とRZN-PE2の間の直接リンクを使用しました。 しかし、これはフォールトトレランスにあまり良い影響を与えません。指定されたリンクが壊れると、ストレッチされたL2ドメインが2つの部分に分割されるためです。 これを回避するには、VPLSまたはEVPNを使用できます。vplsまたはevpnタイプの個別のルーティングインスタンスを実行する必要はありません。仮想スイッチの階層で、VPLS / EVPNポートを構成し、リモートPEとのL2接続を整理するためのトランクポートとして使用できます。 次に、仮想スイッチを構成し、PEルーター間の接続にのみVPLSを使用します。



これで、仮想スイッチのタイプを使用したルーティングインスタンスの作成に進むことができます。 互いに異なる3つのスキームを収集し、ブリッジドメインの主な機能を示します。



1.ブリッジドメインBRIDGE-2000

2.ブリッジドメインBRIDGE-2001

3.ブリッジドメインBRIDGE-302およびBRIDGE-502



最初のスキームでは、200と2000(RZN-PE1では2000の200タグを書き換えます)の2つのvlaanaを使用し、2番目のスキームでは201と2001の2つのvlaanaを使用します(ただし、ここではサービスプロバイダーインターフェイス構成メソッドを使用し、何も書き換えません-JunOSしかし、3番目のスキームでは、3つのvlaneを使用し、タグを手動で書き換え、RZN-PE1とRZN-PE2の間で異なるブリッジドメインを構成します(1つは仮想スイッチに、2つはデフォルトにあります)。



BRIDGE-2000

サービス図を以下に示します。







RZN-PE1の側面にインターフェースを構成します。



 bormoglotx@RZN-PE1# show interfaces ae3.200 description "to VR2"; encapsulation vlan-bridge; family bridge { interface-mode trunk; vlan-id-list 2000; vlan-rewrite { translate 200 2000; } }
      
      





図に示されているように、タグを200から2000に書き換えます。RZN-PE2側では、インターフェイス構成がよりシンプルに見えます。



 [edit] bormoglotx@RZN-PE2# show interfaces ae3.2000 description "to VR2"; encapsulation vlan-bridge; family bridge { interface-mode trunk; vlan-id-list 2000; }
      
      





次に、仮想スイッチの作成に進みましょう。 構成はRZN-PE1とRZN-PE2でほぼ同じになるため、構成は最初のRE-kiからのみ提供されます。



 bormoglotx@RZN-PE1> show configuration routing-instances vSwitch-1 instance-type virtual-switch; interface ae3.200; route-distinguisher 62.0.0.1:1; vrf-target { import target:1:1; export target:1:1; } protocols { vpls { site-range 2; no-tunnel-services; site SITE1 { site-identifier 1; } } } bridge-domains { BRIDGE-2000 { vlan-id 2000; } }
      
      





注:ルーティングインスタンス構成には、RD値とRT値が含まれます。これはこのルーティングインスタンスの必須属性ではありませんが、Kompellaのvplを使用したため、VPLSが機能するにはRD / RTが必要です。たとえば、自動検出なしでMartiniを使用する場合、RT / RDを指定する必要はありません。


次に、BRIDGE-2000ブリッジドメインの状態を確認します。



 bormoglotx@RZN-PE1> show bridge domain instance vSwitch-1 BRIDGE-2000 Routing instance Bridge domain VLAN ID Interfaces vSwitch-1 BRIDGE-2000 2000 ae3.200 lsi.1048832
      
      





ブリッジドメインに自動的に追加されるae3.200インターフェイスに加えて、vplsポートであるlsiインターフェイスがここに追加されました。



 Instance: vSwitch-1 Local site: SITE1 (1) connection-site Type St Time last up # Up trans 2 rmt Up Feb 23 12:20:38 2017 1 Remote PE: 62.0.0.2, Negotiated control-word: No Incoming label: 262146, Outgoing label: 262145 Local interface: lsi.1048832, Status: Up, Encapsulation: VPLS Description: Intf - vpls vSwitch-1 local site 1 remote site 2
      
      





これで、このブリッジドメインのRZN-PE2は、VPLSポートを介してアクセスできるようになりました。以前のダイレクトリンクを介したアクセスではありません。ホスト間に接続性があるかどうか、そして転送テーブルでの状況を確認しましょう。



 bormoglotx@RZN-CE1> ping rapid routing-instance VR2 source 20.0.0.1 20.0.0.2 PING 20.0.0.2 (20.0.0.2): 56 data bytes !!!!! --- 20.0.0.2 ping statistics --- 5 packets transmitted, 5 packets received, 0% packet loss round-trip min/avg/max/stddev = 4.571/11.609/37.058/12.731 ms
      
      





 bormoglotx@RZN-PE1> show bridge mac-table instance vSwitch-1 vlan-id 2000 MAC flags (S -static MAC, D -dynamic MAC, L -locally learned, C -Control MAC SE -Statistics enabled, NM -Non configured MAC, R -Remote PE MAC) Routing instance : vSwitch-1 Bridging domain : BRIDGE-2000, VLAN : 2000 MAC MAC Logical NH RTR address flags interface Index ID 00:05:86:71:1c:c0 D lsi.1048832 00:05:86:71:e5:c0 D ae3.200
      
      





— . , bridge- — JunOS, ( Enterprise ). — vlan-id bridge- ( vlan-id-range).



BRIDGE-2001



201 2001.





— bridge- vSwitch-1. , Service Provider .

注:仮想スイッチ内およびブリッジドメイン内では、異なる方法を使用して構成されたインターフェイスを使用することを誰も禁止していません-わかりやすいように、ただそれを行います。主なことは、構成で迷子にならないことです。


インターフェイス構成は非常にシンプルに見えます。RZN-PE1の場合:



 [edit] bormoglotx@RZN-PE1# show interfaces ae3.201 description "to VR2"; encapsulation vlan-bridge; vlan-id 201;
      
      





RZN-PE2カウンターインターフェイス:



 [edit] bormoglotx@RZN-PE2# show interfaces ae3.2001 description "to VR2"; encapsulation vlan-bridge; vlan-id 2001;
      
      





次に、仮想スイッチにインターフェースを追加します。



 [edit] bormoglotx@RZN-PE2# show routing-instances vSwitch-1 instance-type virtual-switch; interface ae3.2000; ## ## Warning: Only interface with 'interface-mode' is allowed in a virtual-switch ## interface ae3.2001;
      
      





. , ( [edit routing-instances vSwitch-1 interface]) , Enterprise. . Enterprise, bridge- — bridge- . , — JunOS bridge-. , Service Provider bridge- . , — bridge-, , bridge-.



 [edit] bormoglotx@RZN-PE2# show routing-instances vSwitch-1 instance-type virtual-switch; interface ae3.2000; route-distinguisher 62.0.0.2:1; vrf-target { import target:1:1; export target:1:1; } protocols { vpls { site-range 2; no-tunnel-services; site SITE2 { site-identifier 2; } } } bridge-domains { BRIDGE-2000 { vlan-id 2000; } BRIDGE-2001 { vlan-id 2001; interface ae3.2001; } }
      
      





注:VPLSまたはEVPNポートはトランクポートであり、すべてのVLANをスキップし、すべてのブリッジドメインに自動的に追加されます。


RZN-PE1の構成はRZN-PE2に似ています(ブリッジドメインに別のインターフェイスのみが追加されます)ので、ここでは表示しません。両方のREのブリッジドメインの状態を確認します。



 bormoglotx@RZN-PE1> show bridge domain instance vSwitch-1 BRIDGE-2001 detail Routing instance: vSwitch-1 Bridge domain: BRIDGE-2001 State: Active Bridge VLAN ID: 2001 Interfaces: ae3.201 lsi.1048832 Total MAC count: 0
      
      





 bormoglotx@RZN-PE2> show bridge domain instance vSwitch-1 BRIDGE-2001 detail Routing instance: vSwitch-1 Bridge domain: BRIDGE-2001 State: Active Bridge VLAN ID: 2001 Interfaces: ae3.2001 lsi.1048832 Total MAC count: 0
      
      





ae3.201でタグが書き換えられていることを確認します。



 bormoglotx@RZN-PE1> show interfaces ae3.201 | match vlan-tag VLAN-Tag [ 0x8100.201 ] In(swap .2001) Out(swap .201)
      
      





そして確認するには、ホスト間でpingを実行し、転送テーブルを確認します。



 bormoglotx@RZN-CE1> ping rapid routing-instance VR2 source 21.0.0.1 21.0.0.2 PING 21.0.0.2 (21.0.0.2): 56 data bytes !!!!! --- 21.0.0.2 ping statistics --- 5 packets transmitted, 5 packets received, 0% packet loss round-trip min/avg/max/stddev = 7.026/9.563/15.398/3.000 ms
      
      





 bormoglotx@RZN-PE1> show bridge mac-table instance vSwitch-1 vlan-id 2001 MAC flags (S -static MAC, D -dynamic MAC, L -locally learned, C -Control MAC SE -Statistics enabled, NM -Non configured MAC, R -Remote PE MAC) Routing instance : vSwitch-1 Bridging domain : BRIDGE-2001, VLAN : 2001 MAC MAC Logical NH RTR address flags interface Index ID 00:05:86:71:1c:c0 D lsi.1048832 00:05:86:71:e5:c0 D ae3.201
      
      





さて、完全を期すために、仮想スイッチにルーティングインターフェイスを追加します。



 [edit] bormoglotx@RZN-PE1# show | compare [edit interfaces irb] + unit 2001 { + description "L3 for BRIDGE-2001 | vSwitch-1"; + family inet { + address 21.0.0.254/24; + } + } [edit routing-instances vSwitch-1 bridge-domains BRIDGE-2001] + routing-interface irb.2001;
      
      





注:ルーティングインターフェイスは、必要な仮想スイッチのブリッジドメインにすぐに追加されます。このインターフェイスは、仮想スイッチインターフェイスの階層に追加する必要はありません。


次に、RZN-CE2でirbインターフェイスの可用性を確認します。



 bormoglotx@RZN-CE2> ping routing-instance VR2 rapid source 21.0.0.2 21.0.0.254 PING 21.0.0.254 (21.0.0.254): 56 data bytes !!!!! --- 21.0.0.254 ping statistics --- 5 packets transmitted, 5 packets received, 0% packet loss round-trip min/avg/max/stddev = 3.369/10.704/36.307/12.813 ms
      
      





, RZN-PE2 MAC irb , VPLS :



 bormoglotx@RZN-PE2> show bridge mac-table instance vSwitch-1 MAC flags (S -static MAC, D -dynamic MAC, L -locally learned, C -Control MAC SE -Statistics enabled, NM -Non configured MAC, R -Remote PE MAC) Routing instance : vSwitch-1 Bridging domain : BRIDGE-2001, VLAN : 2001 MAC MAC Logical NH RTR address flags interface Index ID 00:05:86:71:17:c0 D ae3.2001 00:05:86:71:26:c0 D lsi.1048576 00:05:86:71:8d:f0 D lsi.1048576
      
      





MAC- irb RZN-PE1:



 bormoglotx@RZN-PE1> show interfaces irb | match current Current address: 00:05:86:71:8d:f0, Hardware address: 00:05:86:71:8d:f0
      
      





BRIDGE-302>>>BRIDGE-502



, :







RZN-PE1 bridge- DOMAIN-302, vSwitch-2:



 [edit] bormoglotx@RZN-PE1# show | compare [edit interfaces ae0] + unit 900 { + encapsulation vlan-bridge; + vlan-id 900; + input-vlan-map pop; + output-vlan-map push; + } [edit interfaces ae3] + unit 302 { + encapsulation vlan-bridge; + vlan-id 302; + input-vlan-map pop; + output-vlan-map push; + } [edit routing-instances] + vSwitch-2 { + instance-type virtual-switch; + bridge-domains { + DOMAIN-302 { + interface ae3.302; + interface ae0.900; + } + } + }
      
      





, , , , — — .



RZN-PE2 bridge- BRIDGE-502 ( ):



 bormoglotx@RZN-PE2# show | compare [edit interfaces ae0] + unit 900 { + encapsulation vlan-bridge; + vlan-id 900; + input-vlan-map pop; + output-vlan-map push; + } [edit interfaces ae3] + unit 502 { + encapsulation vlan-bridge; + vlan-id 502; + input-vlan-map pop; + output-vlan-map push; + } [edit bridge-domains] + BRIDGE-502 { + domain-type bridge; + interface ae3.502; + interface ae0.900; + }
      
      





当然、ここでもレセプションで撮影し、送信するときにタグを掛けます。

最終的に、PE1 / 2のブリッジドメインには次の状態があります。



 bormoglotx@RZN-PE1> show bridge domain instance vSwitch-2 Routing instance Bridge domain VLAN ID Interfaces vSwitch-2 DOMAIN-302 NA ae0.900 ae3.302
      
      





 bormoglotx@RZN-PE2> show bridge domain BRIDGE-502 Routing instance Bridge domain VLAN ID Interfaces default-switch BRIDGE-502 NA ae0.900 ae3.502
      
      





vlan-idの代わりに、NAがあります-vlan-idは私によって定義されていないためです。インターフェイスでタグを手動でタグ付けし、この値を設定できないためです。たとえば、RZN-PE1を使用したvlanタグの操作に関する情報:



 bormoglotx@RZN-PE1> show interfaces ae3.302 | match vlan-tag VLAN-Tag [ 0x8100.302 ] In(pop) Out(push 0x0000.302)
      
      





 bormoglotx@RZN-PE1> show interfaces ae0.900 | match vlan-tag VLAN-Tag [ 0x8100.900 ] In(pop) Out(push 0x0000.900)
      
      





ホスト間でpingを実行し、接続があるかどうかを確認します。



 bormoglotx@RZN-CE1> ping routing-instance VR3 source 32.0.0.1 32.0.0.2 rapid PING 32.0.0.2 (32.0.0.2): 56 data bytes !!!!! --- 32.0.0.2 ping statistics --- 5 packets transmitted, 5 packets received, 0% packet loss round-trip min/avg/max/stddev = 5.982/6.443/7.162/0.432 ms
      
      





MACアドレスは転送テーブルに現れました:



 bormoglotx@RZN-PE1> show bridge mac-table instance vSwitch-2 MAC flags (S -static MAC, D -dynamic MAC, L -locally learned, C -Control MAC SE -Statistics enabled, NM -Non configured MAC, R -Remote PE MAC) Routing instance : vSwitch-2 Bridging domain : DOMAIN-302, VLAN : NA MAC MAC Logical NH RTR address flags interface Index ID 00:05:86:71:56:c0 D ae3.302 00:05:86:71:ed:c0 D ae0.900
      
      





確かに、このようなブリッジドメインには非常に重要な制限があります(vlan-idを指定せずに)-このブリッジドメインにルーティングインターフェイスを追加することはできません。これを行おうとすると、エラーが発生します:



 [edit] bormoglotx@RZN-PE1# commit [edit routing-instances vSwitch-2 bridge-domains DOMAIN-302 routing-interface] 'routing-interface irb.302' routing-interface can be configured only under bridge-domain with 'vlan-id' or 'vlan-tags' error: commit failed: (statements constraint check failed)
      
      





L2 — . , bridge- JunOS.



私が伝えたかったのはそれだけです。 , , . / — /. ご清聴ありがとうございました!



PS> , learning- bridge- ( ), bridge- . Juniper MX-Series-Trio ( ) — — .



All Articles