このドキュメントでは、Inter-Switch Link(ISL)と IEEE 802.1Q カプセル化に関する基本情報とフレーム フィールドの概要を示します。
VLAN およびトランキングに関する知識があることが推奨されます。
このドキュメントの内容は、特定のソフトウェアやハードウェアのバージョンに限定されるものではありません。トランキング機能は、使用されるハードウェアに依存します。Cisco Catalyst シリーズ スイッチでトランキングを実装するためのシステム要件の詳細については、『トランキングを実装するためのシステム要件』を参照してください。
ドキュメント表記の詳細は、『シスコ テクニカル ティップスの表記法』を参照してください。
同じリンク上にあるデバイス間の複数の VLAN に属しているトラフィックを送信するために、トランクを使用します。デバイスでは、VLAN 識別子により、トラフィックがどの VLAN に属するかを判別できます。VLAN 識別子は、データとともにカプセル化されるタグです。ISL と 802.1Q は、トランク リンクを介した複数の VLAN からのデータ搬送に使用される 2 つのタイプのカプセル化です。
ISL は、複数のスイッチを相互接続し、トラフィックがスイッチ間で転送される際に VLAN 情報を維持するためのシスコ独自のプロトコルです。ISL では、全二重または半二重モードのイーサネット リンクでフル ワイヤ スピードのパフォーマンスを維持しながら、VLAN トランキング機能を提供します。ISL はポイントツーポイント環境で機能し、最大 1000 の VLAN をサポートします。ISL では、フレームがトランク リンクを介して伝送される前に元のフレームがカプセル化され、追加のヘッダーが付加されます。受信側でこのヘッダーが除去され、割り当てられた VLAN にフレームが転送されます。ISL では、Per VLAN Spanning Tree(PVST)が使用されますが、ここでは VLAN ごとにスパンニング ツリー プロトコル(STP)の 1 つのインスタンスが実行されます。PVST により、各 VLAN のルート スイッチの配置を最適化することができ、また複数のトランク リンクでの VLAN のロード バランシングがサポートされます。
802.1Q はトランク上でフレームをタグ付けするための IEEE 標準で、最大 4096 の VLAN がサポートされます。802.1Q では、トランク リンクを介してフレームを送信する前に、トランキング デバイスによって元のフレームに 4 バイトのタグが挿入され、フレーム チェック シーケンス(FCS)が再計算されます。受信側でこのタグが除去され、割り当てられた VLAN にフレームが転送されます。802.1Q では、ネイティブ VLAN 上のフレームへのタグ付けは行われません。トランク上で送受信されるその他すべてのフレームには、タグ付けが行われます。802.1Q トランクを設定する際には、トランクの両側で同じネイティブ VLAN を設定するようにしてください。IEEE 802.1Q では、ネットワーク内のすべての VLAN に対して、ネイティブ VLAN 上で動作するスパニング ツリーの単一インスタンスが定義されます。これは Mono Spanning Tree(MST; モノ スパニング ツリー)と呼ばれます。 MST には、ISL で使用できる PVST の柔軟性とロード バランシング機能がありません。ただし、PVST+ では、802.1Q トランキングを使用した複数のスパニング ツリー トポロジを保持する機能が提供されます。
802.1Qカプセル化の詳細については、『Catalyst 4500/4000、5500/5000、および6500/6000間のトランキングモジュール』の「802.1Qトランキングののの基本的」セクション」をを参照してくださいCisco CatOSシステムソフトウェアで802.1Qカプセル化を使用するシリーズスイッチ。
Cisco スイッチでの ISL/802.1Q カプセル化の設定については、『VLAN トランキング プロトコルの設定例とテクニカルノート』を参照してください。
ISL フレームは 3 つの主要なフィールドから構成されます。カプセル化フレーム(元のフレーム)は ISL ヘッダー、および末尾の FCS でカプセル化されます。
ISL ヘッダー | カプセル化フレーム | FCS |
次の例では、ISL ヘッダーの詳細な展開を示しています。この展開には、フィールドの略称と各フィールドのビット数が記載されています。
ポリシー数がビット数 | 40 | 4 | 4 | 48 | 16 | 24 | 24 |
フレーム フィールド | DA | タイプ | ユーザ | SA | LEN | AAAA03(SNAP) | HSA |
ポリシー数がビット数 | 15 | 1 | 16 | 16 | 8 ~ 196,600 ビット(1 ~ 24,575 バイト) | 32 |
フレーム フィールド | VLAN | BPDU | インデックス | RES | ENCAP FRAME | FCS |
ここでは、ISL フレームのフィールドの詳細について説明します。
IISL パケットの DA フィールドは 40 ビットの宛先アドレスです。このアドレスは、マルチキャスト アドレスであり、「0x01-00-0C-00-00」または「0x03-00-0c-00-00」に設定されます。 DA フィールドの 40 ビットは、パケットが ISL フォーマットであることを受信側に伝えます。
TYPE フィールドは 4 ビット コードで構成されます。TYPE フィールドは、カプセル化されているフレームのタイプを示します。また、将来的には、別のカプセル化を示すために使用される可能性もあります。次の表に、各種の TYPE コードの定義を示します。
TYPE コード | 意味 |
---|---|
0000 | イーサネット |
0001 | トークン リング |
0010 | FDDI |
0011 | ATM |
USER フィールドは 4 ビット コードで構成されます。USER ビットは TYPE フィールドの意味を拡張するために使用されます。デフォルトの USER フィールドの値は「0000」です。 イーサネット フレームの場合、USER フィールドのビット「0」と「1」は、パケットがスイッチを通過するときの優先順位を示します。トラフィックをより迅速に転送できる方法がある場合、このビットが設定されたパケットは必ずそのクイック パスを利用します。必ずしもそのようなパスが提供される必要はありません。
USER コード | 意味 |
---|---|
XX00 | 通常優先順位 |
XX01 | 優先度1 |
XX10 | 優先度2 |
XX11 | 最優先 |
SA フィールドは ISL パケットの送信元アドレス フィールドです。このフィールドは、フレームを送信するスイッチ ポートの「802.3」MAC アドレスに設定されます。これは 48 ビット値です。受信デバイスは、フレームの SA フィールドを無視する場合があります。
LEN フィールドには、元のパケットの実際のパケット サイズが 16 ビット値で格納されます。LEN フィールドでは、DA、TYPE、USER、SA、LEN、および FCS フィールドを除いたパケットの長さがバイトで表されます。除外されるフィールドの長さの合計は 18 バイトです。したがって、LEN フィールドは、合計長さから 18 バイトを引いた値を表します。
AAAA03 SNAP フィールドは 24 ビットの定数値「0xAAAA03」です。
HSA フィールドは 24 ビット値です。このフィールドは、SA フィールドの上位 3 バイト(製造者の ID 部分)を表します。このフィールドには値「0x00-00-0C」が含まれている必要があります。
VLAN フィールドはパケットの VLAN ID です。このフィールドは 15 ビット値で、異なる VLAN でフレームを識別するために使用されます。通常、このフィールドはパケットの「カラー」と呼ばれます。
BPDU フィールドのビットは、ISL フレームによってカプセル化されているすべての BPDU パケットに対して設定されます。BPDU は、スパニング ツリー アルゴリズムでネットワークのトポロジに関する情報を判別するために使用されます。このビットは、カプセル化される CDP フレームおよび VLAN Trunk Protocol(VTP)フレームに対しても設定されます。
INDX フィールドは、パケットがスイッチから出るときの送信元のポート インデックスを示します。このフィールドは診断目的でのみ使用されます。また、他のデバイスによって任意の値に設定される可能性があります。このフィールドは 16 ビット値で、受信されたパケット内で無視されます。
RES フィールドは 16 ビット値です。このフィールドは、トークン リングまたは FDDI のパケットが ISL フレームでカプセル化される場合に使用されます。トークン リング フレームの場合は、ここに Access Control(AC)および Frame Control(FC)フィールドが配置されます。FDDI の場合は、このフィールドの Least Significant Byte(LSB)に FC フィールドが配置されます。たとえば、FC が「0x12」の場合、RES フィールドは「0x0012」になります。 イーサネット パケットの場合、RES フィールドはすべて 0 に設定されます。
ENCAP FRAME フィールドは、まったく変更されていない状態の、カプセル化されたデータ パケットです。このフィールドには、データ パケット自体の Cyclic Redundancy Check(CRC)値も含まれます。ISL カプセル化のフィールドが除去された後、内部フレームの CRC 値は有効である必要があります。このフィールドの長さは、イーサネット、トークン リング、および FDDI のフレームを収容するために、1 ~ 24,575 バイトになります。受信側スイッチは、フレームを受信した際に、(スイッチングの目的で、受信したフレームに適切な VLAN およびその他の値を指示どおり関連付けるために)ISL カプセル化フィールドを除去してこの ENCAP FRAME フィールドを使用できます。
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 はエンド デバイスによりチェックされます。これはスイッチング ハードウェアでは通常問題になりませんが、ルータおよびネットワーク インターフェイス カード(NIC)では問題になる可能性があります。
IEEE 802.1Q では、元のイーサネット フレームの送信元アドレス フィールドとタイプ/長さフィールドの間に 4 バイトのタグ フィールドを挿入する内部タギング メカニズムを使用します。フレームが変更されているため、トランキング デバイスでは変更されたフレームに対して FCS が再計算されます。
DA | SA | TAG | TYPE/LEN | データ | FCS |
次の例では、TAG フィールドの詳細な展開を示しています。この展開には、フィールドの略称と各フィールドのビット数が記載されています。
ポリシー数がビット数 | 16 | 3 | 1 | 12 |
フレーム フィールド | TPID | PRIORITY | CFI | VID |
ここでは、802.1Q フレームのフィールドの詳細について説明します。
Tag Protocol Identifier は 16 ビット フィールドです。フレームを IEEE 802.1Q タグ付けフレームとして識別するために、値「0x8100」に設定されています。
この 3 ビットのフィールドは、ユーザ優先順位とも呼ばれ、IEEE 802.1p の優先順位を指します。このフィールドは、トラフィックの優先順位付けに使用できるフレームの優先順位レベルを示します。このフィールドは 8 つのレベル(0 ~ 7)を表すことができます。
Canonical Format Indicator は 1 ビット フィールドです。このフィールドの値が 1 である場合、MAC アドレスは非標準形式です。値が 0 である場合、MAC アドレスは標準形式です。
VLAN Identifier は 12 ビット フィールドです。これにより、フレームが属する VLAN が一意に識別されます。このフィールドは、0 ~ 4095 の値を取ることができます。
802.1Q タグは 4 バイトです。したがって、結果として生ずるイーサネット フレームは 1522 バイトのサイズまで可能です。802.1Q タギングが付いたイーサネット フレームの最小サイズは 68 バイトになります。
QinQ サポート機能は、ネットワークを入力する 802.1Q タグ付きパケットに IEEE 802.1Q のタグの別のレイヤ(「メトロ タグ」または「PE-VLAN」と呼ばれます)を追加します。タグ付きパケットにタグ付けすることで「二重タグ付き」フレームを形成し、VLAN スペースを拡張することを目的としています。拡張された VLAN スペースにより、サービス プロバイダーは特定の顧客向けの特定の VLAN によるインターネット アクセスといったサービスを提供できると同時に、他の VLAN を利用する他の顧客向けのその他のサービスも提供できます。
インターフェイスのデフォルトの最大伝送ユニット(MTU)は 1500 バイトです。イーサネット フレームに接続された外部 VLAN のタグにより、パケット サイズが 4 バイトずつ増加します。このため、プロバイダー ネットワークの各インターフェイスの MTU を適切に増やすことを推奨します。推奨する最小 MTU は 1504 バイトです。
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 パケットをサポートします。