30 Minutes NetWorking
No.SW06

30Minutes NetWorking

BCMSN

第6回VLAN(3) IEEE802.1Q

■ 標準タギングプロトコル

スーパーインター博士

さて、VLANの話が続いているが。
前回はトランクリンクの話をしたな。

ハイパーネット助手

え〜っと、スイッチ間で複数のVLANのデータを運ぶんでしたっけ。

スーパーインター博士

うむ。そのために、そのデータがどのVLANのデータか識別用タグをつけて判別するわけだ。

荷札(タグ)をつける

[FigureSW05-06:荷札(タグ)をつける]

ハイパーネット助手

でした。

スーパーインター博士

そのためのプロトコルとして、前回はISLを説明したわけだが。
今回は、IEEE標準のプロトコルだ。

ハイパーネット助手

ISLはCisco独自プロトコルですものね。

スーパーインター博士

そういうことだな。
それが、IEEE802.1Qだ。

■ IEEE802.1Q

ハイパーネット助手

はっぴゃくにーてんいちきゅー?
IEEE802って聞き覚えあるな〜。

スーパーインター博士

うむ、IEEE802はLANの物理・データリンク層を規定するIEEEの委員会の名前だ。
イーサネット(IEEE802.3)、トークンリング(IEEE802.5)、無線LAN(IEEE802.11)などがこの802委員会で決められたものだ。 ▼ link

ハイパーネット助手

ははぁ、それで聞き覚えがあるんだ。

スーパーインター博士

そうだな。LANを語る上での規格・プロトコルではよく出てくる名前だ。是非とも覚えておきたまえ。
さて、前回、ISLとIEEE802.1Qはどのようなプロトコルだと説明した?

ハイパーネット助手

どのような?
え〜〜〜っと、ISLはCisco独自のカプセル化プロトコルだ、と。

スーパーインター博士

IEEE802.1Qは?

ハイパーネット助手

タギングプロトコル、でしたよね。
どう違うんですか?と聞いたけどIEEE802.1Qの時に話す、と。

スーパーインター博士

そうだな、では説明しよう。
まず、ISLの復習。ISLではこのようにカプセル化を行っていたわけだな。

ISLフレーム

[FigureSW05-08:ISLフレーム]

ハイパーネット助手

でした。
ISLヘッダの中にVLAN IDがあるんですよね。

スーパーインター博士

うむ。ISLヘッダでイーサネットフレームをさらにカプセル化して、ISLフレームにするから「カプセル化プロトコル」だ、と説明したわけだ。
一方、IEEE802.1QでのVLANタグのつけ方はこう。

[FigureSW06-01:IEEE802.1Qによるタギング]

ハイパーネット助手

タグが挿入されて。
でもって、FCSを再計算が実行される?

スーパーインター博士

そうだ。ISLがフレームをさらにカプセル化するための「カプセル化プロトコル」だったのと違い。
IEEE802.1Qは、イーサネットフレームにタグを追加する「タグ付けプロトコル」というわけだ。

ハイパーネット助手

フレームタギングでしたっけ?

スーパーインター博士

そういうことだな。

ハイパーネット助手

ははぁ。

スーパーインター博士

さて、このIEEE802.1QによってタギングされるVLANタグだが。
中身はこうなっている。

名前ビット説明
TPID160x8100
TCIuser priority3プライオリティ
CFI1トークンリングで使用するための値。デフォルトは0
VID12VLAN ID

[TableSW06-01:IEEE802.1Qタグの中身]

ハイパーネット助手

VIDは「VLAN ID」の略だってわかりますけど。
TPID? TCI? CFIってなんの略なんです?

スーパーインター博士

タグプロトコル識別子[Tag Protocol Identifier]、タグ制御識別子[Tag Control Identifier]、フォーマットインジケータ[Cannonical Format Indicator]だな。
CFIはともかく、TPIDとVIDの意味はわかるな?

ハイパーネット助手

TPIDがわかりません。

スーパーインター博士

ふむ。率直なのは美徳かもしれんが。
物には限度ってものがあるな、やはり。

ハイパーネット助手

うぅ。

スーパーインター博士

ま、ともかくだ。
イーサネットフレームには先頭から順番に、宛先MAC、送信元MAC、タイプと並んでいるな。

ハイパーネット助手

並んでますね。

スーパーインター博士

スイッチはヘッダの先頭から順番に解析していくわけだよな。
宛先MAC、送信元MAC。でタイプ。この時、IEEE802.1Qでタギングされていると、タイプではなくTPIDがある。

ハイパーネット助手

はい。

スーパーインター博士

IEEE802.1Qを理解できるスイッチの場合、ここに「0x8100」があれば、それはタギングされたフレームだ、と判断するというわけだ。そのためにあるのがTPIDだ。

ハイパーネット助手

ははぁ。

スーパーインター博士

ちなみに、イーサネットならば、データがタイプのところにIPなら「0x0800」、ARPならば「0x0806」が入っている。
なので、識別が可能なわけだ。

ハイパーネット助手

送信元MACの次に解析した値が、「0x8100」なら後ろに続くのはVLANタグ。
そうでなければ、データだってわかるわけですね。

スーパーインター博士

そういうことだな。

ハイパーネット助手

でもって、次に続くVIDが12ビットってことですね。

スーパーインター博士

そうだ。なので4096個のVLANが作成可能、ということになる。

ハイパーネット助手

なるほどです。

スーパーインター博士

さてさて、ISLはタグを外部につけるから、外部タギング処理、と言ったが。
IEEE802.1Qは、フレーム内に埋め込むので内部タギング処理ともいう。

ハイパーネット助手

内部タギング…なるほど。

スーパーインター博士

さらに、イーサネットフレームは1,518バイトが最大サイズだが、IEEE802.1Qタグをつけることにより、最大1,522バイトになる。

ハイパーネット助手

ISLが30バイト増えて、1548バイトになるのに比べると少ないですよね。

スーパーインター博士

うむ。ISLフレームは、ISLを理解できないスイッチの場合、エラーフレームとして破棄されてしまうサイズだからな。

ハイパーネット助手

は〜。IEEE802.1Qタグがついた1,522バイトのフレームは破棄されないんですか?

スーパーインター博士

基本的にはな。

ハイパーネット助手

へ〜。

■ ネイティブVLAN

スーパーインター博士

さて、IEEE802.1Qによるタギングだが。
IEEE802.1Qではタグをつけない場合がある。

ハイパーネット助手

はい? タグをつけるのがIEEE802.1Qなのに、タグをつけない?

スーパーインター博士

うむ、ネイティブVLANと呼ばれる特別なVLANにはつけられないのだ。

ハイパーネット助手

ねいてぃぶぶいらん?

スーパーインター博士

そうだ。IEEE802.1Qを使う場合、必ず1つは存在するVLANで、デフォルトではVLAN IDが1のVLANがこのネイティブVLANになる。

ハイパーネット助手

ははぁ?

スーパーインター博士

あぁ、そうそう。先に言っておくが、アクセスリンクの「ネイティブなVLAN」とは意味が違うので気をつけるように。

ハイパーネット助手

「ネイティブなVLAN」ってなんです?

スーパーインター博士

アクセスリンクは1つのVLANに所属するが、そのVLANのことを「リンクのネイティブなVLAN」と言うのだよ。

ハイパーネット助手

つまり、そのポート(リンク)が所属しているVLANのことですか?

スーパーインター博士

そうだ。
今説明しているIEEE802.1Qの「ネイティブVLAN」とは違う意味だからな。

ハイパーネット助手

あ、はい。

スーパーインター博士

さて、ネイティブVLANだが。
こういうことになる。

[FigureSW06-02:Native VLAN]

ハイパーネット助手

ネイティブVLANのアクセスリンクから受け取ったフレームにはタグをつけない

スーパーインター博士

そうだ。だから逆にタグのないフレームを受け取ったらそれはネイティブVLANのフレームだ、と判断できるわけだな。

ハイパーネット助手

う、う〜ん。確かにそうですね。

スーパーインター博士

結果、ちょっと変なことも起こりえる。

[FigureSW06-03:Native VLANで起こりうる事]

ハイパーネット助手

あららら〜?

スーパーインター博士

まぁ、こういう事も起こりえるわけだな。
なので、Ciscoスイッチの場合、スイッチ間で異なるネイティブVLANが設定されていたら警告メッセージが出るようになっている。

ハイパーネット助手

へ〜。……。
でも、異なるVLANが接続されちゃったら困るじゃないですか?

スーパーインター博士

まぁ、困るな。

ハイパーネット助手

なのに、なんでこんなネイティブVLANなんて仕組みがあるんですか?

スーパーインター博士

うむ、確かにそうだ。これはIEEE802.1Qが標準規格だ、ってことに原因があると思う。
ISLはCisco独自だから、ISLが使えないスイッチはもとから使われないという前提でISLは作られているからな。

ハイパーネット助手

スーパーインター博士

つまり、IEEE802.1Qを使用できないスイッチやホストが存在する事が前提になっているんだよ。
ネイティブVLANは通常、管理用のVLANとして使用される。

ハイパーネット助手

管理用? 何を管理するんですか?

スーパーインター博士

例えば、STPなどだな。

ハイパーネット助手

STP?

スーパーインター博士

まぁ、詳しくは先で話すが、スイッチ間で制御情報を交換する必要がある、ということだ。
それらの制御情報を流すためのVLANとして、ネイティブVLANは使われる、ということだよ。

ハイパーネット助手

??

スーパーインター博士

つまり、こういうことだな。

[FigureSW06-04:Native VLANの必要性]

ハイパーネット助手

ははぁ。なるほどです。
でも、VLAN使うなら、VLANを理解できないスイッチを使うのが悪いってことじゃないですか?

スーパーインター博士

いやまぁ、確かにそうなんだが。
IEEE802.1Qは標準規格だしな。いろいろ考えなきゃいかんのだろう。

ハイパーネット助手

そういうもんなんですか?

スーパーインター博士

たぶんな。

ハイパーネット助手

たぶんですか。

スーパーインター博士

たぶんだ。
さて、今回はこれぐらいにしておこう。

ハイパーネット助手

はいな。

スーパーインター博士

まだまだVLANの話が続くぞ。

ハイパーネット助手

了解です。
30分間ネットワーキングでした〜♪

タイプ
IEEE802.3フレームなら「長さ」になります。
識別が可能
IEEE802.3フレームの「長さ」ならば「0x05DC」以下の値なので、識別可能。
4096個
ただし、「0(すべてのビットが0)」と「4095(すべてのビットが1)」は予約されているので使用できません。
基本的
1,522バイトのフレームは通称「ベビージャイアント[Baby Giant]フレーム」と呼ばれる。
基本的に破棄はされないが、エラーとして認識されることはある。
ネイティブVLAN
[Native VLAN]
STP
[Spanning Tree Protocol]
スイッチ間で冗長性を確保するために使用するプロトコル。
詳しくは後述。
ハイパーネット助手ハイパーネット君の今日のポイント
  • IEEE802.1Qはタグを「埋め込む」。
    • 合計4バイトのタグなので、最大データ長は1,522バイト。
    • FCSは再計算する必要がある。
  • IEEE802.1QではネイティブVLANがある。
    • デフォルトではVLAN1がネイティブVLAN。
    • ネイティブVLANのフレームはトランクリンクでタグがつかない。
    • タグのないフレームをトランクリンクから受け取ったら、ネイティブVLANのフレームとする

30 Minutes NetWorking No.SW06

管理人:aji-ssz(at)selene.is.dream.jp