トランクプロトコル

トランクリンク上で、イーサネットフレームにVLAN情報を付加することによって、複数のスイッチにまたがったVLANを作成することができます。このVLAN情報を付加するトランクプロトコルとして、以下の2つあります。

  • IEEE802.1Q(IEEE標準)
  • ISL(Cisco独自)

IEEE802.1QとISLによって、どのようにトランクリンク上でVLAN情報がフレームに付加されるかについてみていきましょう。

Cisco独自のトランクプロトコルであるISLはあまり利用されることはなくなっています。

トランクポートで複数のスイッチをまたがったVLANを作ることについて、以下の記事で解説しています。


IEEE802.1Q

IEEE802.1Qは、通称「ドットワンキュー」あるいは「ドットイチキュー」と呼ばれています。トランクリンク上で、VLANを識別する識別情報を付加するためのプロトコルです。

ここで、もう一度イーサネットのフレームフォーマットを思い出してください。



IEEE802.1QによるVLAN識別情報は、フレームの「送信元MACアドレス」と「タイプ」の間に挿入されます。挿入される情報は、2バイトのTPIDと2バイトのTCIの合計4バイトです。フレームに4バイトの情報が挿入されるので、当然CRCの値が変わってしまいます。既存のCRCにとってかわって、挿入されたTPID、TCIを含めてCRC計算を行うことになります。

図 IEEE802.1Q
図 IEEE802.1Q

また、トランクリンクから出て行くときには、TPID、TCIが取り除かれますが、このときにも新たにCRCを再計算しなければいけません。

TPIDは、固定値で0x8100です。TPIDによって、フレームにIEEE802.1QのVLAN情報が付加されていることがわかります。実際にVLAN番号が入るのは、TCIのうち12ビットです。12ビットですから、合計4096個のVLANを識別することができます。IEEE802.1QによるVLAN情報の付加は、ちょうど手荷物に荷札をつけるイメージなので、「タギングVLAN」と呼ばれることもあります。

ISL(Inter Switch Link)

「ISL(Inter Switch Link)」は、Cisco独自のプロトコルでIEEE802.1Qと同様にトランクリンク上でVLAN識別情報を付加します。ISLでは、フレームの先頭に26バイトの「ISLヘッダ」が付加され、ISLヘッダを含めたフレーム全体で、新たに計算した4バイトのCRC付加されます。すなわち、合計30バイトの情報が付加されることになります。

ISLでは、トランクリンクから出て行くときには、単純にISLヘッダと新CRCを取り除くだけです。もともとのフレームのCRCは保存されているので、CRCの再計算は必要ありません。

図 Cisco ISL
図 Cisco ISL

ISLはフレームをISLヘッダと新CRCで包み込むようなイメージから「カプセル化VLAN」とも呼ばれることもあります。ただし、IEEE802.1Qの「タギングVLAN」とISLの「カプセル化VLAN」という呼び方は厳密なものではありません。さまざまな書籍によって、これらの表現が混在していることがあるので、注意してください。また、ISLはCisco独自なので、もちろんCisco機器同士での接続でしか使うことができません。