802.1Q トンネリングについて
同じサービス プロバイダー ネットワーク内の各カスタマーが要求する VLAN 範囲は重複する場合があり、インフラストラクチャを経由するカスタマー トラフィックが混合する場合もあります。カスタマーごとに一意の VLAN ID 範囲を割り当てると、カスタマーの設定が制限され、802.1Q 仕様の VLAN に関する上限(4096 個)を容易に超えてしまいます。
802.1Q トンネリングを使用すると、サービス プロバイダーは単一の VLAN を使用して、複数の VLAN を持つカスタマーをサポートできます。このときに、カスタマーの VLAN ID は保護され、各カスタマー VLAN のトラフィックは分離されます。
802.1Q トンネリングをサポートするように設定されたポートを、トンネル ポートといいます。トンネリングを設定する場合は、トンネリング専用の VLAN ID にトンネル ポートを割り当てます。カスタマーごとに個別のサービス プロバイダー VLAN ID が必要ですが、その VLAN ID はすべてのカスタマーの VLAN をサポートします。
適切な VLAN ID で通常どおりにタグ付けされたカスタマーのトラフィックは、カスタマー デバイスの 802.1Q トランク ポートからサービス プロバイダー側のエッジ スイッチのトンネル ポートに発信されます。カスタマー デバイスとエッジ スイッチ間のリンクは、非対称リンクです。これは、リンクの一端が 802.1Q トランク ポートとして設定されているのに対し、もう一端はトンネル ポートとして設定されているためです。トンネル ポート インターフェイスに、カスタマーごとに一意のアクセス VLAN ID を割り当てます(図 27-1)。
図 27-1 サービス プロバイダー ネットワークの 802.1Q トンネル ポート
カスタマーのトランク ポートからサービス プロバイダー側のエッジ スイッチのトンネル ポートに発信されるパケットには、通常、適切な VLAN ID とともに 802.1Q タグが付いています。トランク ポートからサービス プロバイダー ネットワークに送信されたタグ付きパケットは、カスタマーごとに一意の VLAN ID を含む別のレイヤの 802.1Q タグ( メトロ タグ )でカプセル化されています。元のカスタマー 802.1Q タグは、カプセル化されたパケット内に保存されます。サービス プロバイダー ネットワークに入るパケットは二重にタグ付けされます。メトロ タグにはカスタマーのアクセス VLAN ID が格納され、内側のタグには着信トラフィックの VLAN となる VLAN ID が格納されます。
二重タグ付きパケットがサービス プロバイダー コア スイッチの別のトランク ポートに着信すると、スイッチがパケットを処理するときに、メトロ タグが除去されます。パケットが、そのコア スイッチの別のトランク ポートを出るとき、同じメトロ タグがパケットに再び追加されます。図 27-2 に、元の(通常の)フレームで開始するイーサネット パケットタグ構造を示します。
図 27-2 元の(通常の)802.1Q、および二重タグ付きイーサネット パケット形式
パケットがサービス プロバイダー出力スイッチのトランク ポートに着信すると、スイッチがパケットを処理するときに、メトロ タグが再び除去されます。ただし、パケットがエッジ スイッチのトンネル ポートからカスタマー ネットワークに送信されるとき、メトロ タグは追加されません。パケットは通常の 802.1Q タグ付きフレームとして送信され、カスタマーのネットワーク内にある元の VLAN 番号は保存されます。
エッジ スイッチのトンネル ポートを通ってサービス プロバイダー ネットワークに入るすべてのパケットは、タグが付いていないか、802.1Q ヘッダーですでにタグが付いているかに関係なく、タグなしパケットとして扱われます。パケットは、802.1Q トランク ポートでサービス プロバイダー ネットワークを通じて送信される場合、メトロ タグ VLAN ID(トンネル ポートのアクセス VLAN に設定)でカプセル化されます。メトロ タグのプライオリティ フィールドは、トンネル ポートで設定されているインターフェイス サービス クラス(CoS)プライオリティに設定されます。(設定されていない場合、デフォルトはゼロです)。
図 27-1 では、カスタマー A に VLAN 30 が、カスタマー B に VLAN 40 が割り当てられています。サービス プロバイダー ネットワークに入って、エッジ スイッチのトンネル ポートに着信する 802.1Q タグ付きパケットは、二重タグ付きになります。この場合、メトロ タグには VLAN ID 30 または 40 が格納され、内側のタグには元のカスタマー VLAN 番号(VLAN 100 など)が格納されています。カスタマー A とカスタマー B の両方にネットワーク内で VLAN 100 が設定されている場合でも、メトロ タグが異なるため、トラフィックはサービス プロバイダー ネットワーク内で分離されたままです。それぞれのカスタマーは、その他のカスタマーが使用する VLAN 番号スペース、およびサービスプロバイダー ネットワークが使用する VLAN 番号スペースから独立した、独自の VLAN 番号スペースを制御します。
802.1Q トンネリングの設定
ここでは、802.1Q トンネリングの設定について説明します。
• 「802.1Q トンネリングの設定時の注意事項」
• 「802.1Q トンネリングおよび他の機能」
• 「802.1Q トンネル ポートの設定」
(注) デフォルトのスイッチポート モードが dynamic auto であるため、802.1Q トンネリングはデフォルトでディセーブルです。802.1Q ネイティブ VLAN パケットのタギングも、すべての 802.1Q トランク ポートでディセーブルです。
802.1Q トンネリングの設定時の注意事項
802.1Q トンネリングを設定する場合は、トンネルを通過するトラフィックに対して常に非対称リンクを使用し、トンネルごとに 1 つの VLAN を専用にする必要があります。また、ネイティブ VLAN の設定要件と Maximum Transmission Unit(MTU; 最大伝送単位)にも注意する必要があります。MTU の詳細については、「システム MTU」を参照してください。
ネイティブ VLAN
エッジ スイッチで 802.1Q トンネリングを設定する場合は、サービス プロバイダー ネットワークにパケットを送信するために、802.1Q トランク ポートを使用する必要があります。しかしサービス プロバイダー ネットワークのコアを通過するパケットは、802.1Q トランク、ISL(スイッチ間リンク)トランク、非トランキング リンクのいずれかで送信できます。802.1Q トランクをこれらのコア スイッチで使用する場合には、802.1Q トランクのネイティブ VLAN を、同じスイッチ上の非トランク(トンネリング)ポートのどのネイティブ VLAN にも一致させないでください。ネイティブ VLAN 上のトラフィックが 802.1Q 送信トランク ポートでタグ付けされなくなるためです(図 27-3)。
VLAN 40 は、サービス プロバイダー ネットワーク(スイッチ 2)の入力エッジ スイッチで、カスタマー A の 802.1Q トランク ポートのネイティブ VLAN として設定されています。カスタマー A のスイッチ 1 は、タグ付きパケットを VLAN 30 から、アクセス VLAN 40 に属するサービス プロバイダー ネットワーク内のスイッチ 2 の入力トンネル ポートに送信します。トンネル ポートのアクセス VLAN(VLAN 40)は、エッジ スイッチのトランク ポートのネイティブ VLAN(VLAN 40)と同じなので、トンネル ポートから受信したタグ付きパケットにメトロ タグは追加されません。パケットは、サービス プロバイダー ネットワークを通じて VLAN 30 タグだけを出力エッジ スイッチ(スイッチ 3)のトランク ポートに伝送し、出力スイッチ トンネル ポートを通じてカスタマー B に誤って転送してしまいます。
この問題の解決方法は次のとおりです。
• サービスプロバイダー ネットワークのコア スイッチ間で ISL トランクを使用します。エッジ スイッチに接続したカスタマー インターフェイスは 802.1Q トランクに設定する必要がありますが、コア レイヤ内のスイッチの接続には ISL トランクを使用することを推奨します。
• ネイティブ VLAN を含め、802.1Q トランクから送信されるすべてのパケットがタグ付けされるようにエッジ スイッチを設定するには、switchport trunk native vlan tag ポート単位コマンドおよび vlan dot1q tag native グローバル コンフィギュレーション コマンドを使用します。すべての 802.1Q トランクでネイティブ VLAN パケットにタグ付けするようにスイッチを設定すると、スイッチは、トランクから送信されるパケットすべてにタグ付けされているか確認し、トランク ポート上でタグのないパケットを受信しません。
• エッジ スイッチのトランク ポートのネイティブ VLAN ID が、カスタマー VLAN 範囲内でないことを確認します。たとえばトランク ポートが VLAN100 ~ 200 のトラフィックを運ぶ場合は、この範囲以外の番号をネイティブ VLAN に割り当てます。
図 27-3 802.1Q トンネリングとネイティブ VLAN で予想される問題
システム MTU
Catalyst 4500 シリーズ スイッチ上のトラフィックに対するデフォルトのシステム MTU は、1500 バイトです。 system mtu グローバル コンフィギュレーション コマンドを使用すると、より大きなフレームをサポートするようにスイッチを設定できます。メトロ タグが追加されたときに、802.1Q トンネリング機能によってフレーム サイズが 4 バイト増えるので、スイッチのシステム MTU サイズを 1504 バイト以上に増やして、サービス プロバイダー ネットワーク内のすべてのスイッチがより大きなフレームを処理できるように設定する必要があります。Catalyst 4500 GigabitEthernet スイッチの最大許容システム MTU は、9198 バイトです。FastEthernet スイッチの最大システム MTU は、1552 バイトです。
802.1Q トンネリングおよび他の機能
802.1Q トンネリングは、レイヤ 2 パケット スイッチングに対して適切に機能しますが、レイヤ 2 機能とレイヤ 3 スイッチングとは一部互換性がありません。
• トンネル ポートはルーテッド ポートにできません。
• IP ルーティングは、802.1Q ポートを含む VLAN ではサポートされません。トンネル ポートから受信したパケットは、レイヤ 2 情報だけに基づいて転送されます。トンネル ポートを含む Switch Virtual Interface(SVI; スイッチ仮想インターフェイス)でルーティングがイネーブルである場合、トンネル ポートから受信したタグなし IP パケットは、スイッチに認識されてルーティングされます。カスタマーはネイティブ VLAN を介してインターネットにアクセスできます。このアクセスが必要ない場合は、トンネル ポートを含む VLAN で SVI を設定しないでください。
• トンネル ポートでは IP Access Control List(ACL; アクセス コントロール リスト)がサポートされません。
• レイヤ 3 の Quality of Service(QoS)ACL およびレイヤ 3 情報に関連する他の QoS 機能は、トンネル ポートではサポートされていません。MAC ベース QoS はトンネル ポートでサポートされます。
• EtherChannel ポート グループは、802.1Q 設定が EtherChannel ポート グループ内で整合性がとれている限り、トンネル ポートと互換性があります。
• 802.1Q トンネル ポートでは、Port Aggregation Protocol(PAgP)、Link Aggregation Control Protocol(LACP)、および UniDirectional Link Detection(UDLD; 単一方向リンク検出)がサポートされます。
• Dynamic Trunking Protocol(DTP; ダイナミック トランキング プロトコル)は、802.1Q トンネリングと互換性がありません。これは、トンネル ポートおよびトランク ポートとの非対称リンクを手動で設定しなければならないためです。
• ループバック検出は、802.1Q トンネル ポートでサポートされています。
• 802.1Q トンネル ポートとしてポートが設定されている場合、スパニングツリー Bridge Protocol Data Unit(BPDU; ブリッジ プロトコル データ ユニット)フィルタリングは、インターフェイスで自動的にイネーブルに設定されます。Cisco Discovery Protocol(CDP)は、インターフェイスで自動的にディセーブルに設定されます。
802.1Q トンネル ポートの設定
ポートを 802.1Q トンネル ポートとして設定するには、次の作業を行います。
|
|
|
ステップ 1 |
Switch#
configure terminal
|
グローバル コンフィギュレーション モードを開始します。 |
ステップ 2 |
Switch(config)#
interface
interface-id
|
インターフェイス コンフィギュレーション モードを開始し、トンネル ポートとして設定するインターフェイスを入力します。これは、カスタマー スイッチに接続するサービスプロバイダー ネットワークのエッジ ポートである必要があります。有効なインターフェイスには、物理インターフェイスおよびポート チャネル論理インターフェイス(ポート チャネル 1 ~ 64)が含まれます。 |
ステップ 3 |
Switch(config-if)#
switchport access vlan
vlan-id
|
インターフェイスがトランキングを停止した場合に使用されるデフォルト VLAN を指定します。この VLAN ID は特定カスタマーに固有です。 |
ステップ 4 |
Switch(config-if)#
switchport mode dot1q-tunnel
|
インターフェイスを 802.1Q トンネル ポートとして設定します。 |
ステップ 5 |
|
グローバル コンフィギュレーション モードに戻ります。 |
ステップ 6 |
Switch(config)#
vlan dot1q tag native
|
(任意)すべての 802.1Q トランク ポートでネイティブ VLAN パケットのタギングがイネーブルとなるようにスイッチを設定します。これを設定せず、カスタマー VLAN ID がネイティブ VLAN と同じである場合、トランク ポートはメトロ タグを適用せず、パケットは誤った宛先に送信される可能性があります。 |
ステップ 7 |
|
特権 EXEC モードに戻ります。 |
ステップ 8 |
Switch#
show dot1q-tunnel
|
スイッチ上のトンネル ポートを表示します。 |
ステップ 9 |
Switch#
show vlan dot1q tag native
|
802.1Q ネイティブ VLAN タギング ステータスを表示します。 |
ステップ 10 |
Switch#
copy running-config startup-config
|
(任意)コンフィギュレーション ファイルに設定を保存します。 |
ポートを dynamic auto のデフォルト ステートに戻すには、no vlan dot1q tag native グローバル コマンドおよび no switchport mode dot1q-tunnel インターフェイス コンフィギュレーション コマンドを使用します。ネイティブ VLAN パケットのタグ付けをディセーブルにするには、 no vlan dot1q tag native グローバル コンフィギュレーション コマンドを使用します。
以下は、トンネル ポートとしてインターフェイスを設定してネイティブ VLAN パケットのタグ付けをイネーブルにし、設定を確認する方法の例です。この設定では、インターフェイス GigabitEthernet 2/7 に接続しているカスタマーの VLAN ID は VLAN 22 です。
Switch(config)# interface gigabitethernet2/7
Switch(config-if)# switchport access vlan 22
% Access VLAN does not exist. Creating vlan 22
Switch(config-if)# switchport mode dot1q-tunnel
Switch(config)# vlan dot1q tag native
Switch# show dot1q-tunnel interface gigabitethernet2/7
Switch# show vlan dot1q tag native
dot1q native vlan tagging is enabled globally
VLAN マッピングについて
VLAN マッピングの一般的な配備で、サービス プロバイダーは、透過的なスイッチング インフラストラクチャを提供します。これは、ローカル サイトの一部としてのリモート ロケーションで、カスタマーのスイッチを処理します。これにより、カスタマーは、同じ VLAN ID スペースを使用し、プロバイダー ネットワークを介してレイヤ 2 制御プロトコルをシームレスに実行できます。このようなシナリオでは、サービス プロバイダーはその VLAN ID をカスタマーに適用しないことを推奨します。
変換済み VLAN ID(S-VLAN)を確立する 1 つ方法では、カスタマー ネットワークに接続されたトランク ポートで、サービス プロバイダー VLAN にカスタマーの VLAN をマッピングします(VLAN ID 変換とも呼ばれます)。ポートに入るパケットは、ポート番号とパケットの元のカスタマー VLAN-ID(C-VLAN)に基づいて、サービス プロバイダーの VLAN(S-VLAN)にマッピングされます。
サービス プロバイダーの内部割り当ては、カスタマーの VLAN と競合する場合があります。カスタマー トラフィックを分離するために、サービス プロバイダーは、トラフィックがクラウドにある間に、特定の VLAN を別の VLAN にマッピングできます。
配備例
図 27-4 で、サービス プロバイダーは、2 社の異なるカスタマー A および B にレイヤ 2 VPN サービスを提供します。サービス プロバイダーは、2 社のカスタマー間で、およびプロ自身の制御トラフィックから、データと制御トラフィックを分離します。また、サービス プロバイダー ネットワークは、カスタマー エッジ デバイスに対して透過的である必要があります。
図 27-4 レイヤ 2 VPN の配備
Catalyst 4500 シリーズ スイッチのすべての転送処理は、C-VLAN 情報ではなく、S-VLAN 情報を使用して実行されます。これは、VLAN ID が、入力時に S-VLAN にマッピングされるためです。
(注) VLAN マッピングが設定されているポートで機能を設定する場合は、カスタマー VLAN-ID(C-VLAN)ではなく S-VLAN を常に使用します。
VLAN マッピングが設定されているインターフェイスでは、指定された C-VLAN パケットはポートに入るとき、指定された S-VLAN にマッピングされます。パケットがポートから出る場合も同様に、カスタマー C-VLAN にマッピングが行われます。
スイッチは UNI トランク ポートにおける次の種類の VLAN マッピングをサポートします。
• One-to-One VLAN マッピング。ポートへの入出時に実行され、802.1Q タグの C-VLAN ID が S-VLAN ID にマッピングされます。他のすべての VLAN ID のパケットがドロップされるよう指定することもできます。「One-to-One マッピング」を参照してください。
• 従来の 802.1Q トンネリング(QinQ)は、ポートの 1 つの S-VLAN ID に対して C-VLAN ID への All-to-one バンドリングを実行します。S-VLAN は、変更されない受信 C-VLAN に追加されます。UNI を従来の QinQ の 802.1Q トンネルとして設定することも、またはより柔軟な実装のトランク ポートに選択した QinQ を設定することもできます。マッピングは、ポートの入出時に実行されます。ポートのすべてのパケットは指定の S-VLAN にバンドルされます。「トランク ポートの従来の Q-in-Q」を参照してください。
• 選択した QinQ は、UNI に入る指定のカスタマー VLAN を指定の S-VLAN ID にマッピングします。S-VLAN は、変更されない受信 C-VLAN に追加されます。他のすべての VLAN ID を転送するトラフィックがドロップされるよう指定することもできます。「トランク ポートの選択的 Q-in-Q」を参照してください。
(注) タグなしパケットはトランク ネイティブ VLAN のスイッチに入り、マッピングされません。
Quality of Service(QoS)のために、スイッチは、C-CoS または C-DSCP と S-CoS 間の柔軟なマッピングをサポートし、従来の QinQ または選択的 QinQ VLAN マッピングを使用するトラフィックで、外部 CoS に内部 CoS をマッピングします。
カスタマー VLAN からサービスプロバイダー VLAN へのマッピング
図 27-5 では、カスタマーがサービス プロバイダー ネットワークの両端の複数のサイトで同じ VLAN を使用する場合のトポロジを示します。サービスプロバイダー バックボーン経由でパケットを伝送できるように、カスタマー VLAN ID をサービスプロバイダー VLAN ID にマッピングします。サービスプロバイダー バックボーンの反対側でカスタマー VLAN ID が取り出され、別のカスタマー サイトで使用できます。サービス プロバイダー ネットワークのそれぞれの側のカスタマー接続ポートで同じ VLAN マッピング セットを設定します。
設定手順に続く例では、1 対 1 のマッピング、従来の QinQ、または選択的 QinQ を使用して、サービス プロバイダー VLAN にカスタマー VLAN 1~5 をマッピングする方法について説明します。
図 27-5 カスタマー VLAN のマッピング
VLAN マッピングの設定
• 「VLAN マッピングのデフォルト設定」
• 「VLAN マッピング設定時の注意事項」
• 「VLAN マッピングの設定」
VLAN マッピングのデフォルト設定
デフォルトでは、VLAN マッピングは設定されていません。
VLAN マッピング設定時の注意事項
ガイドラインは次のとおりです。
• 従来の QinQ では 802.1Q トンネル ポートを使用します。802.1Q トランク ポートには、One-to-One VLAN マッピングと選択した QinQ を設定します。
• カスタマー トラフィックが混在しないようにするためには、トランク ポートに従来の Q-in-Q を設定する場合、トランク ポートの許可 VLAN としてサービス プロバイダー S-VLAN ID を設定する必要があります。
• EtherChannel に VLAN マッピングを設定すると、マッピングはポート チャネルのすべてのポートに適用されます。
• ソース ポートがトンネル ポートとして設定されている、またはソース ポートに 1-to-2 マッピングが設定されている場合、SPAN 宛先ポートにカプセル化レプリケーションは設定できません。カプセル化レプリケーションは 1-to-1 VLAN マッピングでサポートされています。
• エッジ スイッチで IEEE 802.1Q トンネリングを設定する場合は、サービスプロバイダー ネットワークにパケットを送信するために、IEEE 802.1Q トランク ポートを使用する必要があります。ただし、サービスプロバイダー ネットワークのコアを通過するパケットは、IEEE 802.1Q トランク、Inter Switch Link(ISL; スイッチ間リンク)トランク、非トランキング リンクのいずれかで送信できます。IEEE 802.1Q トランクがこれらのコア スイッチで使用される場合、IEEE 802.1Q トランクのネイティブ VLAN は、同じスイッチ上の非トランキング(トンネリング)ポートのどのネイティブ VLAN にも一致させないでください。これは、ネイティブ VLAN 上のトラフィックが、IEEE 802.1Q 送信トランク ポートでタグ付けされなくなるためです。
• IEEE 802.1Q トランクに対応するネイティブ VLAN が、トランク リンクの両側で一致していなければなりません。トランクの片側のネイティブ VLAN と反対側のネイティブ VLAN が異なっていると、スパニングツリー ループが発生する可能性があります。
• CDP、VTP、LLDP には、レイヤ 2 プロトコル トンネリングを設定する必要があります。これを設定しない場合、スイッチは SP スイッチを検出します(これは望ましくありません)。
interface GigabitEthernet1/23
switchport vlan mapping 1 dot1q-tunnel 311
switchport vlan mapping 31 dot1q-tunnel 311
• 一貫して制御トラフィックを処理するには、レイヤ 2 プロトコル トンネリングをイネーブルにするか(推奨)、または次のように、スパニングツリーの BPDU フィルタを挿入します。
Current configuration : 153 bytes
interface FastEthernet9/1
switchport trunk native vlan 40
switchport vlan mapping 10 20
spanning-tree bpdufilter enable
• CVLAN および SVLAN のスパニングツリー トポロジをマージする必要がある場合は、spanning-tree bpdufilter enable を設定する必要はありません。
• 一貫した動作を確保するには、変換のためにネイティブ VLAN を使用しないでください。
One-to-One マッピング
サービス プロバイダー VLAN ID にカスタマー VLAN ID をマッピングするために、1 対 1 の VLAN マッピングを設定するには、次の作業を行います。
|
|
|
ステップ 1 |
Switch#
configure terminal
|
グローバル コンフィギュレーション モードを開始します。 |
ステップ 2 |
Switch(config)#
interface
interface-id
|
サービス プロバイダー ネットワークに接続されるインターフェイスのインターフェイス コンフィギュレーション モードを開始します。物理インターフェイスまたは EtherChannel ポート チャネルを入力できます。 |
ステップ 3 |
Switch(config-if)#
switchport mode trunk
|
トランク ポートとしてインターフェイスを設定します。 |
ステップ 4 |
Switch(config-if)#
switchport vlan mapping
vlan-id translated-id
|
マッピングする VLAN ID を入力します。 • vlan-id :カスタマー ネットワークからスイッチに入るカスタマー VLAN ID(C-VLAN)。有効な範囲は 1 ~ 4094 です。 • translated-id: 割り当てられた VLAN ID(S-VLAN)。有効な範囲は 1 ~ 4094 です。 (注) vlan_ids が未設定のパケットはドロップされます。 |
ステップ 5 |
|
特権 EXEC モードに戻ります。 |
ステップ 6 |
Switch#
show vlan mapping
|
設定を確認します。 |
ステップ 7 |
Switch#
copy running-config startup-config
|
(任意)コンフィギュレーション ファイルに設定を保存します。 |
VLAN マッピング情報を削除するには、no switchport vlan mapping vlan-id translated-id コマンドを使用します。 the no switchport vlan mapping all コマンドを入力すると、すべてのマッピング設定が削除されます。
この例では、カスタマー ネットワークの VLAN ID 1 ~ 5 をサービス プロバイダー ネットワークの VLAN ID 101 ~ 105 にマッピングする方法を示します(図 27-5)。スイッチ A とスイッチ B のポートに、同じ VLAN マッピング コマンドを設定します。他のすべての VLAN ID のトラフィックはドロップされます。
Switch(config)# interface gigabiethernet0/1
Switch(config-if)# switchport vlan mapping 1 101
Switch(config-if)# switchport vlan mapping 2 102
Switch(config-if)# switchport vlan mapping 3 103
Switch(config-if)# switchport vlan mapping 4 104
Switch(config-if)# switchport vlan mapping 4 105
前の例では、サービス プロバイダー ネットワークの入力側でカスタマー ネットワークの VLAN ID 1 ~ 5 は、サービス プロバイダー ネットワーク内の VLAN ID 101 ~ 105 にマッピングされます。サービス プロバイダー ネットワークの出力側でサービス プロバイダー ネットワークの VLANs 101 ~ 105 は、カスタマー ネットワークの VLAN ID 1 ~ 5 にマッピングされます。
(注) vlan_ids が未設定のパケットはドロップされます。
トランク ポートの従来の Q-in-Q
トランク ポートまたはトンネリング(デフォルト)で従来の Q-in-Q の VLAN マッピングを設定するには、次の作業を行います。
(注) デフォルトでトンネリングを設定すると、ポートのすべてのパケットが、設定された S-VLAN にバンドルされます。
|
|
|
ステップ 1 |
Switch#
configure terminal
|
グローバル コンフィギュレーション モードを開始します。 |
ステップ 2 |
Switch(config)#
interface
interface-id
|
サービス プロバイダー ネットワークに接続されるインターフェイスのインターフェイス コンフィギュレーション モードを開始します。物理インターフェイスまたは EtherChannel ポート チャネルを入力できます。 |
ステップ 3 |
Switch(config-if)#
switchport mode trunk
|
トランク ポートとしてインターフェイスを設定します。 |
ステップ 4 |
Switch(config-if)# switchport trunk allowed vlan
vlan-id
|
このインターフェイス上でサービス プロバイダー ネットワークの外部 VLAN(S-VLAN)を許可するように設定します。これは、次の手順で入力する外部 VLAN ID と同じにする必要があります。 |
ステップ 5 |
|
特権 EXEC モードに戻ります。 |
ステップ 6 |
Switch#
show interfaces
interface-id
vlan mapping
|
設定を確認します。 |
ステップ 7 |
Switch#
copy running-config startup-config
|
(任意)コンフィギュレーション ファイルに設定を保存します。 |
the no switchport vlan mapping all コマンドを入力すると、すべてのマッピング設定が削除されます。
トランク ポートの選択的 Q-in-Q
トランク ポートで選択的 Q-in-Q の VLAN マッピングを設定するには、次の作業を行います。
(注) 同じインターフェイスでは、1 対 1 のマッピングと選択的 Q-in-Q を設定できません。
|
|
|
ステップ 1 |
Switch#
configure terminal
|
グローバル コンフィギュレーション モードを開始します。 |
ステップ 2 |
Switch(config)#
interface
interface-id
|
サービス プロバイダー ネットワークに接続されるインターフェイスのインターフェイス コンフィギュレーション モードを開始します。物理インターフェイスまたは EtherChannel ポート チャネルを入力できます。 |
ステップ 3 |
Switch(config-if)#
switchport mode trunk
|
インターフェイスをトランク ポートとして設定します。 |
ステップ 4 |
Switch(config-if)#
switchport vlan mapping
vlan-id
dot1q-tunnel
outer vlan-id
|
マッピングする VLAN ID を入力します。 • vlan-id :カスタマー ネットワークからスイッチに入るカスタマー VLAN ID(C-VLAN)。有効な範囲は 1 ~ 4094 です。VLAN-ID のストリングを入力できます。 • outer-vlan-id :サービス プロバイダー ネットワークの外部 VLAN ID(S-VLAN)を入力します。有効な範囲は 1 ~ 4094 です。 |
ステップ 5 |
|
特権 EXEC モードに戻ります。 |
ステップ 6 |
Switch#
show interfaces
interface-id
vlan mapping
|
設定を確認します。 |
ステップ 7 |
Switch#
copy running-config startup-config
|
(任意)コンフィギュレーション ファイルに設定を保存します。 |
VLAN マッピング設定を削除するには、no switchport vlan mapping vlan-id dot1q-tunnel outer vlan-id コマンドを使用します。 the no switchport vlan mapping all コマンドを入力すると、すべてのマッピング設定が削除されます。
次の例では、ポートに選択した QinQ マッピングを設定して、C-VLAN ID が 1 ~ 5 のトラフィックが、S-VLAN ID が 100 であるスイッチに入るようにする方法を示します。その他の VLAN ID のトラフィックはドロップされます。
Switch(config)# interface gigabiethernet0/1
Switch(config-if)# switchport vlan mapping 1-5 dot1q-tunnel 100
レイヤ 2 プロトコル トンネリングについて
サービス プロバイダー ネットワークを通して接続された各サイトのカスタマーは、各種のレイヤ 2 プロトコルを使用してトポロジを拡張し、すべてのリモート サイトおよびローカル サイトを組み込む必要があります。STP を適切に動作させる必要があり、サービスプロバイダー ネットワークを越えたローカル サイトおよびすべてのリモート サイトを含む、適切なスパニングツリーをすべての VLAN で構築する必要があります。CDP では、隣接するシスコ デバイスをローカル サイトおよびリモート サイトから検出する必要があります。VTP では、カスタマー ネットワークのすべてのサイトで矛盾しない VLAN 設定を提供する必要があります。
プロトコル トンネリングがイネーブルである場合、サービスプロバイダー ネットワークの着信側のエッジ スイッチでは、特殊 MAC アドレスでレイヤ 2 プロトコルパケットがカプセル化され、サービスプロバイダー ネットワークを越えて送信されます。ネットワークのコア スイッチでは、このパケットが処理されずに通常のパケットとして転送されます。CDP、STP、VTP のレイヤ 2 Protocol Data Unit(PDU; プロトコル データ ユニット)は、サービスプロバイダー ネットワークをまたがり、サービスプロバイダー ネットワークの発信側のカスタマー スイッチに配信されます。同一パケットは同じ VLAN のすべてのカスタマー ポートで受信され、次のような結果になります。
• 各カスタマー サイトのユーザは、正常に STP を実行できます。また、すべての VLAN は、ローカル サイトからだけでなくすべてのサイトのパラメータに基づいて、正しいスパニングツリーを構築できます。
• CDP では、サービスプロバイダー ネットワークによって接続されているその他のシスコ デバイスに関する情報が検出されて表示されます。
• VTP ではカスタマー ネットワーク全体で矛盾しない VLAN 設定が提供され、サービス プロバイダーを通してすべてのスイッチに伝播されます。
レイヤ 2 プロトコル トンネリングは、トランク、アクセス、およびトンネル ポートでイネーブルにすることができます。プロトコル トンネリングがイネーブルでない場合、サービス プロバイダー ネットワークの受信側にあるリモート スイッチは PDU を受信せず、STP、CDP、および VTP を正常に実行できません。プロトコル トンネリングがイネーブルの場合、各カスタマー ネットワークのレイヤ 2 プロトコルは、サービス プロバイダー ネットワーク内で稼働しているプロトコルとは全面的に切り離されます。
たとえば、図 27-6 では、カスタマー A は、サービス プロバイダー ネットワークを介して接続された同じ VLAN に 4 つのスイッチを持っています。ネットワークで PDU がトンネルされない場合、ネットワークの向こう側のスイッチでは、STP、CDP、VTP を適切に実行できません。たとえば、カスタマー A のサイト 1 にあるスイッチ上の VLAN に対する STP は、サイト 2 にあるカスタマー A のスイッチに基づくコンバージェンス パラメータを考慮しないで、そのサイトにあるスイッチ上にスパニングツリーを構築します。図 27-6 に、スパニングツリー トポロジの一例を示します。
図 27-6 レイヤ 2 プロトコル トンネリング
図 27-7 適切なコンバージェンスを含まないレイヤ 2 ネットワーク トポロジ
レイヤ 2 プロトコル トンネリングの設定
サービス プロバイダー ネットワークのエッジ スイッチのカスタマーに接続されたアクセス ポート、トンネル ポート、またはトランク ポートで、レイヤ 2 プロトコル トンネリング(プロトコルを使用)をイネーブルにできます。カスタマー スイッチに接続されているサービスプロバイダー エッジ スイッチでは、トンネリング処理が実行されます。エッジ スイッチのトンネル ポートまたは通常のトンネル ポートは、カスタマーの 802.1Q トランク ポートに接続できます。エッジスイッチ アクセス ポートは、カスタマー アクセス ポートに接続します。
トンネル ポートまたはアクセス ポートを介してサービス プロバイダーの着信エッジ スイッチに入ったレイヤ 2 PDU が、トランク ポートを介してサービス プロバイダー ネットワークに入ると、スイッチは、カスタマー PDU 宛先 MAC アドレスをシスコ独自の well-known マルチキャスト アドレス(01-00-0c-cd-cd-d0)で上書きします。802.1Q トンネリングがイネーブルの場合、パケットも二重タグ付きです。外側のタグはカスタマーのメトロ タグで、内側のタグはカスタマーの VLAN タグです。コア スイッチでは内部タグが無視され、同じメトロ VLAN のすべてのトランク ポートにパケットが転送されます。発信側のエッジ スイッチでは、適切なレイヤ 2 プロトコル情報および MAC アドレス情報が復元され、同じメトロ VLAN のすべてのトンネル ポートかアクセス ポートにパケットが転送されます。ここでは、次の内容について説明します。レイヤ 2 PDU は完全な状態のままで保持され、サービス プロバイダー ネットワークを介してカスタマー ネットワークの反対側に配信されます。
図 27-6 に、アクセス VLAN 30 および 40 のカスタマー A とカスタマー B を示します。非対称リンクは、サイト 1 のカスタマーをサービス プロバイダー ネットワークのエッジ スイッチに接続します。サイト 1 のカスタマー B からスイッチ 2 に着信するレイヤ 2 PDU(BPDU など)は、宛先 MAC アドレスとして well-known MAC アドレスを持つ二重タグ付きパケットとしてインフラストラクチャに転送されます。この二重タグ パケットには、40 というメトロ VLAN タグ、および VLAN 100 などの内部 VLAN タグが付いています。二重タグ付きパケットがスイッチ 4 に着信すると、メトロ VLAN タグ 40 は削除されます。well-known MAC アドレスは各レイヤ 2 プロトコル MAC アドレスに置き換わり、パケットは VLAN 100 の一重タグ付きフレームとしてサイト 2 のカスタマー B に送信されます。
カスタマー スイッチのアクセス ポートに接続されたエッジ スイッチのアクセス ポートで、レイヤ 2 プロトコル トンネリングをイネーブルにすることもできます。カプセル化とカプセル化解除のプロセスは、上記の説明と同じです。ただし、パケットはサービス プロバイダー ネットワークで二重タグ付けされません。カスタマー固有のアクセス VLAN タグの 1 重タグになります。
ここでは、次の内容について説明します。
• 「レイヤ 2 プロトコル トンネリングのデフォルト設定」
• 「レイヤ 2 プロトコル トンネリング設定時の注意事項」
• 「レイヤ 2 トンネリングの設定」
レイヤ 2 プロトコル トンネリングのデフォルト設定
表 27-1 に、レイヤ 2 プロトコル トンネリングのデフォルト設定を示します。
表 27-1 レイヤ 2 イーサネット インターフェイス VLAN のデフォルト設定
|
|
レイヤ 2 プロトコル トンネリング |
ディセーブル。 |
シャットダウンしきい値 |
未設定。 |
ドロップしきい値 |
未設定。 |
CoS 値 |
データ パケット用のインターフェイスに CoS 値が設定されている場合は、その値がレイヤ 2 PDU に使用されるデフォルトです。設定されていない場合、デフォルトは 5 です。 |
レイヤ 2 プロトコル トンネリング設定時の注意事項
以下は、レイヤ 2 プロトコル トンネリングの設定時の注意事項および動作特性です。
• スイッチでは、CDP、STP(Multiple STP(MSTP)を含む)、VTP のトンネリングがサポートされます。プロトコル トンネリングはデフォルトでディセーブルに設定されていますが、802.1Q トンネル ポート、アクセス ポート、またはトランク ポート上でプロトコルごとにイネーブルにできます。
• ダイナミック トランキング プロトコル(DTP)は、レイヤ 2 プロトコル トンネリングとは非互換です。トンネル ポートとトランク ポートのある非対称リンクを手動で設定する必要があるからです。
• 802.1Q 設定が EtherChannel ポート グループ内で一貫している場合、EtherChannel ポート グループはトンネル ポートと互換性があります。
• レイヤ 2 トンネリングがイネーブルに設定されたポートでカプセル化 PDU(独自の宛先 MAC アドレス付き)を受信した場合は、ループを防止するためポートはシャットダウンされます。
• このポートは、プロトコル用に設定されたシャットダウンしきい値に達した場合にもシャットダウンされます。ポートは手動で再びイネーブルにできます(shutdown および no shutdown コマンドを続けて入力します)。errdisable recovery がイネーブルである場合は、指定された間隔で動作が再試行されます。
• カプセル化が解除された PDU だけがカスタマー ネットワークに転送されます。サービス プロバイダー ネットワーク上で稼働するスパニングツリー インスタンスは、レイヤ 2 プロトコル トンネリング ポートに BPDU を転送しません。CDP パケットはレイヤ 2 プロトコル トンネリング ポートから転送されません。
• インターフェイスでプロトコル トンネリングがイネーブルである場合は、カスタマー ネットワークによって生成された PDU 用に、プロトコルごとのシャットダウンしきい値やポートごとのシャットダウンしきい値を設定できます。制限を超えると、ポートはシャットダウンされます。レイヤ 2 プロトコル トンネリング ポートに QoS ACL およびポリシー マップを使用して、BPDU レートを制限することもできます。
• インターフェイスでプロトコル トンネリングがイネーブルである場合は、カスタマー ネットワークによって生成された PDU 用に、プロトコルごとのドロップしきい値やポートごとのドロップしきい値を設定できます。制限を超えると、ポートが PDU を受信するレートがドロップしきい値未満になるまで、ポートで PDU がドロップされます。
• トンネリングされた PDU(特に STP BPDU)は、カスタマーの仮想ネットワークが正しく動作するためにすべてのリモート サイトに配信される必要があるので、同じトンネル ポートから受信されるデータ パケットよりも PDU のプライオリティをサービスプロバイダー ネットワーク内で高くできます。デフォルトの場合、PDU ではデータ パケットと同じ CoS 値が使用されます。
(注) レイヤ 2 プロトコル トンネリングがシステムで設定されていない場合、レイヤ 2 プロトコル トンネリング パケットはデータ パケットとして処理され、この状況には該当しません。
レイヤ 2 トンネリングの設定
特定のポートにレイヤ 2 プロトコル トンネリングを設定するには、次の作業を行います。
|
|
|
ステップ 1 |
Switch#
configure terminal
|
グローバル コンフィギュレーション モードを開始します。 |
ステップ 2 |
Switch(config)#
interface interface-id
|
インターフェイス コンフィギュレーション モードを開始し、トンネル ポートとして設定するインターフェイスを入力します。これは、カスタマー スイッチに接続するサービスプロバイダー ネットワークのエッジ ポートである必要があります。有効なインターフェイスには、物理インターフェイスおよびポート チャネル論理インターフェイス(ポート チャネル 1 ~ 64)に設定できます。 |
ステップ 3 |
Switch(config-if)#
switchport mode access
or
Switch(config-if)#
switchport mode dot1q-tunnel
Switch(config-if)#
switchport mode trunk
|
インターフェイスをアクセス ポート、802.1Q トンネル ポート、またはトランク ポートとして設定します。 |
ステップ 4 |
Switch(config-if)#
l2protocol-tunnel
[
cdp
|
stp
|
vtp
]
|
目的のプロトコルに対してプロトコル トンネリングをイネーブルにします。キーワードを入力しない場合、トンネリングは、3 つすべてのレイヤ 2 プロトコルでイネーブルになります。 |
ステップ 5 |
Switch(config-if)#
l2protocol-tunnel shutdown-threshold
[
cdp
|
stp
|
vtp
]
value
|
(任意)1 秒間にカプセル化可能なパケット数を表すしきい値を設定します。設定したしきい値を超えると、インターフェイスはディセーブルになります。プロトコル オプションを指定しない場合、しきい値は、それぞれのトンネリングされたレイヤ 2 プロトコル タイプに適用されます。指定できる範囲は 1 ~ 4096 です。デフォルトでは、しきい値は設定されません。 (注) このインターフェイスでドロップしきい値も設定する場合、シャットダウンしきい値の値は、ドロップしきい値の値以上とする必要があります。 |
ステップ 6 |
Switch(config-if)#
l2protocol-tunnel drop-threshold
[
cdp
|
stp
|
vtp
]
value
|
(任意)1 秒間にカプセル化可能なパケット数を表すしきい値を設定します。設定したしきい値を超えると、インターフェイスによってパケットがドロップされます。プロトコル オプションを指定しない場合、しきい値は、それぞれのトンネリングされたレイヤ 2 プロトコル タイプに適用されます。指定できる範囲は 1 ~ 4096 です。デフォルトでは、しきい値は設定されません。 (注) このインターフェイスでシャットダウンしきい値も設定する場合、ドロップしきい値の値は、シャットダウンしきい値の値以下である必要があります。 |
ステップ 7 |
|
グローバル コンフィギュレーション モードに戻ります。 |
ステップ 8 |
Switch(config)#
errdisable recovery cause l2ptguard
|
(任意)レイヤ 2 最大レート エラーからの復旧方法を設定して、インターフェイスが再びイネーブルになり、再試行できるようにします。errdisable recovery はデフォルトでディセーブルになっています。イネーブルにした場合、デフォルトの間隔は 300 秒です。 |
ステップ 9 |
Switch(config)#
l2protocol-tunnel cos
value
|
(任意)トンネリングされたすべてのレイヤ 2 PDU に対して CoS 値を設定します。範囲は 0 ~ 7 です。デフォルトは、インターフェイスのデフォルト CoS 値です。設定されていない場合、デフォルトは 5 です。 |
ステップ 10 |
|
特権 EXEC モードに戻ります。 |
ステップ 11 |
|
設定済みのプロトコル、しきい値、カウンタも含めてスイッチのレイヤ 2 トンネル ポートを表示します。 |
ステップ 12 |
Switch#
copy running-config startup-config
|
(任意)コンフィギュレーション ファイルに設定を保存します。 |
いずれかのレイヤ 2 プロトコルまたは 3 つすべてのレイヤ 2 プロトコルのプロトコル トンネリングをディセーブルにするには、 no l2protocol-tunnel [ cdp | stp | vtp ] インターフェイス コンフィギュレーション コマンドを使用します。シャットダウンしきい値およびドロップしきい値をデフォルト設定に戻すには、 no l2protocol-tunnel shutdown-threshold [ cdp | stp | vtp ] コマンドおよび no l2protocol-tunnel drop-threshold [ cdp | stp | vtp ] コマンドを使用します。
次に、802.1Q トンネル ポートに CDP、STP、および VTP のレイヤ 2 プロトコル トンネリングを設定し、その設定を確認する例を示します。
Switch(config)# interface FastEthernet2/1
Switch(config-if)# switchport mode dot1q-tunnel
Switch(config-if)# l2protocol-tunnel cdp
Switch(config-if)# l2protocol-tunnel stp
Switch(config-if)# l2protocol-tunnel vtp
Switch(config-if)# l2protocol-tunnel shutdown-threshold 1500
Switch(config-if)# l2protocol-tunnel drop-threshold 1000
Switch(config)# l2protocol-tunnel cos 7
COS for Encapsulated Packets: 7
Port Protocol Shutdown Drop Encapsulation Decapsulation Drop
Threshold Threshold Counter Counter Counter
------- -------- --------- --------- ------------- ------------- -------------
Fa2/11 cdp 1500 1000 2288 2282 0
トンネリング ステータスのモニタリングおよびメンテナンス
表 27-2 に、802.1Q およびレイヤ 2 プロトコル トンネリングを監視およびメンテナンスするためのコマンドを示します。
表 27-2 トンネリングのモニタおよびメンテナンスのためのコマンド
|
|
Switch#
clear l2protocol-tunnel counters
|
レイヤ 2 プロトコル トンネリング ポートのプロトコル カウンタをクリアします。 |
Switch#
show dot1q-tunnel
|
スイッチの 802.1Q トンネル ポートを表示します。 |
Switch#
show dot1q-tunnel interface interface-id
|
特定のインターフェイスがトンネル ポートであるかどうかを確認します。 |
Switch#
show l2protocol-tunnel
|
レイヤ 2 プロトコル トンネリング ポートに関する情報を表示します。 |
Switch#
show errdisable recovery
|
レイヤ 2 プロトコル トンネル エラーディセーブル ステートの回復タイマーがイネーブルかどうかを確認します。 |
Switch#
show l2protocol-tunnel interface
interface-id
|
特定のレイヤ 2 プロトコル トンネリング ポートに関する情報を表示します。 |
Switch#
show l2protocol-tunnel summary
|
レイヤ 2 プロトコルのサマリー情報だけを表示します。 |
Switch#
show vlan dot1q native
|
スイッチのネイティブ VLAN タギングのステータスを表示します。 |
(注) Cisco IOS Release 12.2(20) EW で、dot1q およびレイヤ 2 プロトコル トンネリング用の BPDU フィルタリング設定は、spanning-tree bpdufilter enable として実行コンフィギュレーションに表示されなくなります。この設定は、show spanning tree int detail コマンドの出力に表示されます。
Switch# show spann int f6/1 detail
Port 321 (FastEthernet6/1) of VLAN0001 is listening
Port path cost 19, Port priority 128, Port Identifier 128.321.
Designated root has priority 32768, address 0008.e341.4600
Designated bridge has priority 32768, address 0008.e341.4600
Designated port id is 128.321, designated path cost 0
Timers: message age 0, forward delay 2, hold 0
Number of transitions to forwarding state: 0
Link type is point-to-point by default
** Bpdu filter is enabled internally **