LAN スイッチング : 802.1Q

スイッチ間リンクと IEEE 802.1Q のフレーム形式

2016 年 10 月 27 日 - 機械翻訳について
その他のバージョン: PDFpdf | ライター翻訳版 (2006 年 8 月 25 日) | 英語版 (2015 年 10 月 20 日) | フィードバック


目次


概要

このドキュメントでは、Inter-Switch Link(ISL; スイッチ間リンク)および IEEE 802.1Q カプセル化のフレーム フィールドの基本情報と概要を説明します。

前提条件

要件

VLAN およびトランキングに関する知識があることが推奨されます。

使用するコンポーネント

このドキュメントは、特定のソフトウェアやハードウェアのバージョンに限定されるものではありません。 トランキング機能は、使用されるハードウェアに依存します。 Cisco Catalyst シリーズ スイッチでトランキングを実装するためのシステム要件の詳細については、『トランキングを実装するためのシステム要件』を参照してください。

表記法

ドキュメント表記の詳細は、『シスコ テクニカル ティップスの表記法』を参照してください。

背景理論

トランクは、複数の VLAN に属するトラフィックを同じリンク上のデバイス間で搬送するために使用されます。 デバイスでは、VLAN 識別子により、トラフィックがどの VLAN に属するかを判別できます。 VLAN 識別子は、データとともにカプセル化されるタグです。 ISL と 802.1Q は、トランク リンクを介した複数の VLAN からのデータ搬送に使用される 2 つのタイプのカプセル化です。

ISL は、複数のスイッチを相互接続し、スイッチ間をトラフィックが流れる際に VLAN 情報を維持するための、Cisco 独自のプロトコルです。 ISL では、全二重または半二重モードのイーサネット リンクでフル ワイヤ スピードのパフォーマンスを維持しながら、VLAN トランキング機能を提供します。 ISL はポイントツーポイント環境で動作し、最大 1000 の VLAN をサポートできます。 ISL では、フレームがトランク リンクを介して伝送される前に元のパケットがカプセル化され、追加のヘッダーが付加されます。 受信側でこのヘッダーが除去され、割り当てられた VLAN にパケットが転送されます。 ISL では、Per VLAN Spanning Tree(PVST; VLAN 単位スパンニング ツリー)が使用されますが、ここでは VLAN ごとに Spanning Tree Protocol(STP; スパンニング ツリー プロトコル)の 1 つのインスタンスが実行されます。 PVST により、各 VLAN のルート スイッチの配置を最適化することができ、また複数のトランク リンクでの VLAN のロード バランシングがサポートされます。

802.1Q はトランク上でフレームをタグ付けするための IEEE 標準で、最大 4096 の VLAN がサポートされます。 802.1Q では、トランク リンクを介してフレームを送信する前に、トランキング デバイスによって元のフレームに 4 バイトのタグが挿入され、Frame Check Sequence(FCS)が再計算されます。 受信端末でこのタグが除去され、割り当てられた VLAN にパケットが転送されます。 802.1Q では、ネイティブ VLAN 上のフレームへのタグ付けは行われません。 トランク上で送受信されるその他すべてのフレームには、タグ付けが行われます。 802.1Q トランクを設定する際には、トランクの両側で同じネイティブ VLAN を設定するようにしてください。 IEEE 802.1Q では、ネットワーク内のすべての VLAN に対して、ネイティブ VLAN 上で動作するスパニング ツリーの単一インスタンスが定義されます。 これは、モノ スパニング ツリー(MST)と呼ばれます。 MST には、ISL で使用できる PVST の柔軟性とロード バランシング機能がありません。 ただし、PVST+ では、802.1Q トランキングを使用した複数のスパニング ツリー トポロジを保持する機能が提供されます。

802.1Q カプセル化の詳細については、『Cisco\ CatOS\ システム\ ソフトウェアと\ 802\.1Q\ カプセル化を使用した\ Catalyst\ 4500\/4000、5500\/5000、および\ 6500\/6000\ シリーズ\ スイッチ間でのトランキング』の「802.1Q トランキングの基本的な特性」のセクションを参照してください。

Cisco スイッチでの ISL/802.1Q カプセル化の設定については、『VLAN トランキング プロトコルの設定例とテクニカル ノーツ』を参照してください。

ISL フレーム

ISL フレームは 3 つの主要なフィールドから構成されます。 カプセル化フレーム(元のパケット)は ISL ヘッダー、および末尾の FCS でカプセル化されます。

ISL ヘッダー カプセル化フレーム FCS

次の例では、ISL ヘッダーの詳細な展開を示しています。 この展開には、フィールドの略称と各フィールドのビット数が記されています。

ビット数 40 4 4 48 16 24 24
フレーム フィールド DA TYPE USER SA LEN AAAA03(SNAP) HSA

ビット数 15 1 16 16 8〜196,600 ビット(1〜24,575 バイト) 32
フレーム フィールド VLAN BPDU INDEX RES ENCAP FRAME FCS

フィールドの説明

このセクションでは、ISL フレームのフィールドの詳細を説明します。

DA: 送信先アドレス

ISL パケットの DA フィールドは 40 ビットの宛先アドレスです。 このアドレスはマルチキャスト アドレスで、「0x01-00-0C-00-00」または「0x03-00-0c-00-00」に設定されています。 DA フィールドの 40 ビットは、パケットが ISL フォーマットであることを受信装置に伝えます。

TYPE: フレーム タイプ

TYPE フィールドは 4 ビット コードで構成されます。 TYPE フィールドは、カプセル化されたフレームのタイプを示します。将来は代替のカプセル化を示すためにも使用される可能性があります。 次の表に、各種の TYPE コードの定義を示します。

TYPE コード 意味
0000 イーサネット
0001 トークン リング
0010 FDDI
0011 ATM

USER: ユーザ定義のビット(TYPE 拡張)

USER フィールドは 4 ビット コードで構成されます。 USER ビットは TYPE フィールドの意味を拡張するために使用されます。 USER フィールドのデフォルトの値は「0000」です。 イーサネット フレームの場合、USER フィールドのビット「0」および「1」はパケットがスイッチを通過するときの優先順位を示します。 トラフィックをより迅速に転送できる方法がある場合、このビットが設定されたパケットは必ずその迅速なパスを利用します。 必ずしもそのようなパスが提供される必要はありません。

USER コード 意味
XX00 通常の優先順位
XX01 優先順位 1
XX10 優先順位 2
XX11 最高の優先順位

SA: 送信元アドレス

SA フィールドは ISL パケットの送信元アドレス フィールドです。 このフィールドは、フレームを送信するスイッチ ポートの「802.3」MAC アドレスに設定されます。 これは 48 ビット値です。 受信装置は、フレームの SA フィールドを無視する場合があります。

LEN: 長さ

LEN フィールドには、元のパケットの実際のパケット サイズが 16 ビット値で格納されます。 LEN フィールドでは、DA、TYPE、USER、SA、LEN、および FCS フィールドを除いたパケットの長さがバイトで表されます。 除外されるフィールドの長さの合計は 18 バイトです。したがって、LEN フィールドは全体の長さから 18 バイトを引いた値を示します。

AAAA03(SNAP):サブネットワーク アクセス プロトコル(SNAP)および論理リンク制御(LLC)

AAAA03 SNAP フィールドは 24 ビットの定数値「0xAAAA03」です。

HSA: 送信元アドレスの上位ビット

HSA フィールドは 24 ビット値です。 このフィールドは、SA フィールドの上位 3 バイト(製造者 ID 部分)を表します。 このフィールドには値「0x00-00-0C」が含まれている必要があります。

VLAN: 宛先 Virtual LAN ID

VLAN フィールドはパケットの VLAN ID です。 このフィールドは 15 ビット値で、異なる VLAN でフレームを識別するために使用されます。 通常、このフィールドはパケットの「カラー」と呼ばれます。

BPDU: ブリッジ プロトコル データ ユニット(BPDU)および Cisco Discovery Protocol(CDP)インジケータ

BPDU フィールドのビットは、ISL フレームによってカプセル化されるすべての BPDU パケットに対して設定されます。 これらの BPDU は、スパニング ツリー アルゴリズムでネットワークのトポロジに関する情報を判別するために使用されます。 このビットは、カプセル化される CDP フレームおよび VLAN Trunk Protocol(VTP)フレームに対しても設定されます。

INDX: インデックス

INDX フィールドは、パケットがスイッチから出るときの送信元のポート インデックスを示します。 このフィールドは診断目的でのみ使用されます。また、他のデバイスによって任意の値に設定される可能性があります。 このフィールドは 16 ビット値で、受信されたパケット内で無視されます。

RES: トークン リングおよび FDDI 用に予約済み

RES フィールドは 16 ビット値です。 このフィールドは、ISL フレームによってトークン リングまたは FDDI パケットがカプセル化されるときに使用されます。 トークン リング フレームの場合は、ここに Access Control(AC)および Frame Control(FC)フィールドが配置されます。 FDDI の場合は、このフィールドの Least Significant Byte(LSB; 最下位バイト)に FC フィールドが配置されます。 たとえば、FC が「0x12」の場合、RES フィールドは「0x0012」になります。 イーサネット パケットの場合、RES フィールドはすべて 0 に設定されます。

ENCAP FRAME:カプセル化フレーム

ENCAP FRAME フィールドは、まったく変更されていない状態の、カプセル化されたデータ パケットです。このフィールドには、データ パケット自体の Cyclic Redundancy Check(CRC; 巡回冗長チェック)値も含まれます。 ISL カプセル化のフィールドが除去された後、内部フレームの CRC 値は有効である必要があります。 このフィールドの長さは、イーサネット、トークン リング、および FDDI のフレームを収容するために、1〜24,575 バイトになります。 受信側スイッチは、フレームを受信した際に、(スイッチングの目的で、受信したフレームに適切な VLAN およびその他の値を指示どおり関連付けるために)ISL カプセル化フィールドを除去してこの ENCAP FRAME フィールドを使用できます。

FCS: フレーム チェック シーケンス

FCS フィールドは 4 バイトで構成されます。 このシーケンスには、32 ビットの CRC 値が含まれます。CRC 値は、送信側 MAC によって作成され、フレームの破損をチェックするために受信側 MAC によって再計算されます。 FCS は、DA、SA、Length/Type、および Data フィールドを元に生成されます。 ISL ヘッダーが付加されると、ISL パケット全体に対して新しい FCS が計算され、フレームの末尾に追加されます。

新しい FCS フィールドが追加されても、カプセル化されたフレーム内に含まれる元の FCS は変更されません。

フレーム サイズ

ISL フレーム カプセル化は 30 バイトで、FDDI パケットの最小サイズは 17 バイトです。 したがって、FDDI の ISL カプセル化パケットの最小サイズは 47 バイトになります。 トークン リング パケットの最大サイズは 18,000 バイトです。 したがって、ISL パケットの最大サイズは、この 18,000 バイトに ISL ヘッダーの 30 バイトを足し、18,030 バイトになります。 イーサネット パケットのみがカプセル化される場合、ISL フレームのサイズは 94〜1548 バイトになります。

ISL カプセル化を使用するシステムに関して最も考慮すべき点は、カプセル化に合計 30 バイトが必要で、さらにフラグメンテーションが必要とされない点です。 したがって、カプセル化されるパケットが 1518 バイトであれば、ISL パケットはイーサネットの場合 1548 バイトになります。 また、イーサネット パケット以外のパケットがカプセル化される場合は、最大長が大幅に増加する可能性があります。 トポロジが ISL パケットのサイズをサポートできるかどうかを検討する際は、この長さの変化を考慮する必要があります。

システムに関してもう 1 つ考慮すべき点は、ISL パケットに 2 つの FCS が含まれる点です。 第一の FCS は元のデータに対して計算されます。 第二の FCS はパケットが ISL 内でカプセル化された後に計算されます。 元のデータに有効な CRC が含まれない場合、ISL ヘッダーが除去されるまで無効な CRC は検出されず、また元のデータの FCS はエンド デバイスによりチェックされます。 これはスイッチング ハードウェアでは通常問題になりませんが、ルータおよび Network Interface Card(NIC; ネットワーク インターフェイス カード)では問題になる可能性があります。

IEEE 802.1Q フレーム

IEEE 802.1Q では内部タギング メカニズムが使用されます。このメカニズムにより、元のイーサネット フレームそれ自体に対して、発信元アドレス フィールドとタイプ/長さフィールドの間に 4 バイトのタグ フィールドが挿入されます。 フレームが変更されているため、トランキング デバイスでは変更されたフレームに対して FCS が再計算されます。

/image/gif/paws/17056/741_4-1.gif

DA SA TAG TYPE/LEN DATA FCS

次の例では、Tag フィールドの詳細な展開を示しています。 この展開には、フィールドの略称と各フィールドのビット数が記されています。

ビット数 16 3 1 12
フレーム フィールド TPID PRIORITY CFI VID

フィールドの説明

このセクションでは、802.1Q フレームのフィールドの詳細を説明します。

TPID: Tag Protocol Identifier

Tag Protocol Identifier は 16 ビット フィールドです。 フレームを IEEE 802.1Q タグ付けフレームとして識別するために、値「0x8100」に設定されています。

Priority

ユーザ優先順位とも呼ばれ、この 3 ビットのフィールドは IEEE 802.1p の優先順位を指します。 このフィールドは、トラフィックの優先順位設定に使用可能な、フレームの優先順位レベルを示します。 このフィールドは 8 つのレベル(0 〜 7)を表すことができます。

CFI: Canonical Format Indicator

Canonical Format Indicator は 1 ビット フィールドです。 このフィールドの値が 1 である場合、MAC アドレスは非標準形式です。 値が 0 である場合、MAC アドレスは標準形式です。

VID:VLAN Identifier

VLAN Identifier は 12 ビット フィールドです。 これにより、フレームが所属する VLAN が一意に識別されます。 このフィールドは、0 〜 4095 の値を取ることができます。

フレーム サイズ

802.1Q タグは 4 バイトです。 したがって、結果として生ずるイーサネット フレームは 1522 バイトのサイズまで可能です。 802.1Q タギングが付いたイーサネット フレームの最小サイズは 68 バイトになります。

QinQ

QinQ サポート機能は、ネットワークを入力する 802.1Q タグ付きパケットに IEEE 802.1Q のタグの別のレイヤ(「メトロ タグ」または「PE-VLAN」と呼ばれます)を追加します。 タグ付きパケットにタグ付けすることで「二重タグ付き」フレームを形成し、VLAN スペースを拡張することを目的としています。 拡張された VLAN スペースにより、サービス プロバイダーは特定の顧客向けの特定の VLAN によるインターネット アクセスといったサービスを提供できると同時に、他の VLAN を利用する他の顧客向けのその他のサービスも提供できます。

/image/gif/paws/17056/741_4-2.gif

フレーム サイズ

インターフェイスのデフォルトの最大伝送ユニット(MTU)は 1500 バイトです。 イーサネット フレームに接続された外部 VLAN のタグにより、パケット サイズが 4 バイトずつ増加します。 このため、プロバイダー ネットワークの各インターフェイスの MTU を適切に増やすことを推奨します。 推奨する最小 MTU は 1504 バイトです。

TPID

QinQ フレームには、VLAN タグの修正された Tag Protocol Identifier(TPID)値が含まれています。 デフォルトでは、VLAN タグは TPID フィールドを使用してタグのプロトコル タイプを識別します。 このフィールドの値は、IEEE 802.1Q で定義されているとおり 0x8100 です。

デバイスは、対応する TPID 値を確認することにより、受信したフレームがサービス プロバイダーの VLAN タグまたはカスタマーの VLAN タグを伝送するかどうかを判定します。 フレームを受信後、デバイスは設定された TPID 値とフレームの TPID フィールドの値を比較します。 2 つの値が一致する場合、フレームは対応する VLAN タグを伝送します。 たとえば、フレームがそれぞれ TPID 値 0x9100 および 0x8100 を持つ VLAN タグを伝送するときに、サービス プロバイダーの VLAN タグの設定された TPID 値が 0x9100、カスタマー ネットワークの VLAN タグの TPID 値が 0x8200 であ場合、そのデバイスはフレームがサービス プロバイダーの VLAN タグのみ伝送し、カスタマー VLAN タグを伝送しないと見なします。

さらに、異なるベンダーのシステムが QinQ フレームの外部 VLAN タグの TPID を異なる値に設定する可能性があります。 これらのシステムの互換性のために、パブリック ネットワークに送信する際に、QinQ フレームが特定のベンダーの値と同一の TPID 値を伝送し、そのベンダーのデバイスとの相互運用性を確保できるように TPID 値を変更することができます。 イーサネット フレームの TPID は、VLAN タグなしのフレーム内にプロトコル タイプ フィールドと同じ位置があります。 ネットワークのパケット転送と処理での問題を回避するために、次表のいずれかの値に TPID 値を設定することはできません。

プロトコル タイプ
ARP 0x0806
PUP 0x0200
RARP 0x8035
IP 0x0800
IPv6 0x86DD
PPPoE 0x8863/0x8864
MPLS 0x8847/0x8848
IS-IS 0x8000
LACP 0x8809
802.1X 0x888E

通常、QinQ サポート機能は、どのような Cisco IOS 機能またはプロトコルがサポートされている場合でもサポートされます。 たとえば、サブインターフェイスで PPPoE を実行できる場合は、PPPoE に対して二重タグ付きフレームを設定できます。 IPoQinQ は、二重タグ付け(スタックとも呼ばれます)された 802.1Q ヘッダーを持つ IP トラフィックを転送することで、QinQ VLAN タグ終端のために二重タグ付けされた IP パケットをサポートします。


関連情報


Document ID: 17056