■ 標準タギングプロトコル
さて、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ではこのようにカプセル化を行っていたわけだな。
[FigureSW05-08:ISLフレーム]
でした。
ISLヘッダの中にVLAN IDがあるんですよね。
うむ。ISLヘッダでイーサネットフレームをさらにカプセル化して、ISLフレームにするから「カプセル化プロトコル」だ、と説明したわけだ。
一方、IEEE802.1QでのVLANタグのつけ方はこう。
[FigureSW06-01:IEEE802.1Qによるタギング]
タグが挿入されて。
でもって、FCSを再計算が実行される?
そうだ。ISLがフレームをさらにカプセル化するための「カプセル化プロトコル」だったのと違い。
IEEE802.1Qは、イーサネットフレームにタグを追加する「タグ付けプロトコル」というわけだ。
フレームタギングでしたっけ?
そういうことだな。
ははぁ。
さて、このIEEE802.1QによってタギングされるVLANタグだが。
中身はこうなっている。
名前 | ビット | 説明 | |
---|---|---|---|
TPID | 16 | 0x8100 | |
TCI | user priority | 3 | プライオリティ |
CFI | 1 | トークンリングで使用するための値。デフォルトは0 | |
VID | 12 | VLAN 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のフレームとする
- IEEE802.1Qはタグを「埋め込む」。
- 参考リンク
-
- IEEE802 LAN/MAN Standards Committeehttp://www.ieee802.org/▲