■ 複数のスイッチのVLAN
ネット君。前回からVLANの話をしているわけだが。
スイッチでブロードキャストドメインを分割する技術でしたよね。
そうだ。基本的にはポート単位でブロードキャストドメイン(VLAN)を決定し、同じVLANに所属するポートのみ同一のネットワーク(セグメント)とするわけだ。
でした。
さて。それはいいとして、1台のスイッチでVLANを分割するといっても、ポートの数には限りがある。多くのホストを接続しながらも、それらをいくつかのVLANに分割したい場合はどうする?
[FigureSW05-01:多くのホストのVLAN化]
もっとポートの多いスイッチを買う?
なるほど。論理的だ。
えへへ。
しかし、世の中には100ポートも200ポートもあるスイッチがあるわけない。
そういう場合はどうするのだ?
諦めて、なんとかなる台数にする。
なるほど。単純かつ明快だ。
だがな、ネット君?
はい?
いくら君が忘れっぽいとはいえ、思考するということを忘れるとはどういうことだ?
う、うぅぅぅぅ。
ともかくだ。複数のスイッチでVLANを組むことができればいいわけだな。
[FigureSW05-02:複数のスイッチでVLAN化]
これで1台のスイッチのポート数よりも多いホストに対し、VLANを作ることが可能になったわけだ。
なるほどです。
だが、問題がある。
ネット君。とあるVLANのデータは同じVLAN内にしか流れないのだったな。
そうですよね。VLAN1のホストから出たデータは、VLAN1に所属するポートからしか流れないですよね。
それがブロードキャストドメインを分割するってことでしょ?
確かにその通り。ということは、スイッチを複数台繋げる場合、上の図を正確に書くとこうなるわけだな?
[FigureSW05-03:複数のスイッチでVLAN化・2]
ホストAからのデータはVLAN1に所属するから、SW-AのVLAN1のポートから出て、SW-BのVLAN1のポートが受け取り、ホストBに届く。こうなるわけだ。
そう、なりますね。スイッチとスイッチを繋ぐのが1本だけだった場合、どのVLANのデータが流れるのかわかりませんからね。
そうだ。だからVLANの数だけ接続するケーブルが必要になる。
だが、無駄だろ?
無駄といえば、確かに無駄ですけど…。
なので、通常は1つケーブルには1つのVLANのデータしか流れないところ、スイッチ間を結ぶケーブルだけは、複数のVLANのデータが流れるようにする。
[FigureSW05-04:複数のスイッチでVLAN化・トランク]
そうすれば、複数のスイッチを繋いでもすべてのVLANのデータが1本ですむようになる。
このように複数のVLANのデータを運ぶ接続をトランクリンクという。
とらんく。
逆にホストとの接続、つまり1つのVLANのデータしか運ばない接続をアクセスリンクと呼ぶ。
あくせすりんく。とらんくりんく。
■ トランクリンク
さてさて。複数のスイッチを使ったVLAN構造で、その複数のスイッチを繋ぐのがトランクリンクだ。
トランクリンクには複数のVLANのデータが流れる。ここまではいいな?
複数のVLANのデータが流れるから、スイッチ間は1本でいいって話ですよね。
トランクリンクを使えば、無駄なくスイッチ間を結ぶことができるわけだが。
これには問題がある。トランクリンクを流れるデータがどのVLANのデータかがわからないと困る、という点だ。
[FigureSW05-05:宛先のVLANは?]
上の図のブロードキャストはどのアクセスリンクに流れる?
え? え〜っと…。ホストBが接続されているアクセスリンク?
何故だ? どこにそんな情報がある?
だって、ホストAがVLAN1だから…。
それは確かにそうだ。つまり、SW-BはホストAがVLAN1だという情報を持っていなければならないわけだな。結果、VLANを構成するすべてのスイッチはすべてのホストがどのVLANに所属するかという情報を共有しなければならないわけだ。
そう…なるかな?
そうなるのだ。確かにそういう手もあるが、もっと現実的な手段をとろう。
つまり、トランクリンクを流れるフレームに所属するVLANの情報があればいい。
[FigureSW05-06:荷札(タグ)をつける]
フレームにVLANをあらわす識別情報をつける。これをタグという。
たぐ。このフレームはVLAN1ですよっていう荷札ですね。
そういうことだな。
このタグはトランクリンクを流れる時だけつけられる。
[FigureSW05-07:タグとトランクリンク]
へ〜。ホストは特にVLANに所属しているから何かするってわけではないんですね。
そうだ。ホストはVLANを意識することなく、ごく普通にフレームをやりとりする。
特にVLANを使うから何かソフトを入れるとか、ハードを追加するとかそういう必要はないわけだな。
なるほど。
■ ISL
そして、タグをつけると簡単に言うが、もちろんタグをつけるためのルールがある。
それは、以下の4種類だ。
- ISL(Inter-Switch Link) … Cisco独自のカプセル化プロトコル
- IEEE802.1Q … IEEE標準のタギングプロトコル
- LANE(LAN Emulation) … ATMを使ってVLANデータを運ぶIEEE標準
- IEEE802.10 … FDDIを使ってVLANデータを運ぶIEEE標準
まぁ、正確に言うと下2つはタグをつけるプロトコルではないのだが。VLANを識別するためのプロトコルとして名前をあげた。
この中でBCMSN的に必須なのは、ISLとIEEE802.1Qだ。
Cisco独自のカプセル化プロトコルと、IEEE標準のタギングプロトコル。
カプセル化とタギング? なんで「タグをつける」のに言い方が違うんですか?
それはもちろん、「カプセル化する」と「フレームタギングする」という違いがあるからだよ。
?
うむ、それについてはISLの説明の後にIEEE802.1Qを説明する時に話そう。
まず、ISLについて説明しよう。
いんたーすいっちりんく。
スイッチ間のリンクって意味ですね。
そうだな。そのまんまトランクリンクのことを指す名前なわけだ。
ISLはさっきの説明にあった通り、Cisco独自のトランク用カプセル化プロトコルだ。
トランク用のカプセル化プロトコル?
うむ。ISLはスイッチ間のトランクリンクを流れる時、ISLフレームという形でデータを流す。
ISLフレームの形はこうだ。
[FigureSW05-08:ISLフレーム]
イーサネットフレームの前にISLヘッダ。後ろにFCS?
そう、つまりイーサネットフレームをさらにカプセル化するわけだな。
だから、ISLはカプセル化プロトコルと呼ばれるわけだ。
は〜…。
そういえば、VLANのタグはどこいったんです?
それはISLヘッダの中だ。
ISLヘッダは26バイトで中身はこうなっている。
略 | 名前 | ビット | 説明 |
---|---|---|---|
DA | 宛先アドレス | 40 | 0x01.00.0c.00.00(マルチキャスト) |
TYPE | フレームタイプ | 4 | 0x0(イーサネット) |
USER | ユーザ定義ビット | 4 | TYPEの拡張に使う。またはスイッチ通過時の優先度 |
SA | 送信元アドレス | 48 | トランクリンクの送信元ポートのMACアドレス |
LEN | フレーム長 | 16 | DA、TYPE、USER、SA、LEN、FCSを除いたフレーム長 |
SNAP/LLC | SNAP | 24 | 0xAAAA03 |
HSA | SA上位ビット | 24 | SAの上位24ビット。0x00.00.0x(CiscoのOUI) |
VLAN ID | VLAN番号 | 15 | VLANの番号 |
BPDU/CDP | BPDU/CDPインジケータ | 1 | フレームの中身がBPDU、CDPか判別。 |
IDX | インデックス | 16 | フレームの送信元ポートの番号。診断用 |
RES | Reserved | 16 | トークンリング、FDDIの時に使う |
[TableSW05-01:ISLヘッダ]
この「VLAN ID」がVLANのタグなんですね。
このISLヘッダと、FCSがイーサネットフレームに追加されるわけだな。
よって、最小94バイト、最大1548バイト、ということになる。
へ〜。……。
そういえば、イーサネットフレームにもFCSってなかったでしたっけ? ISLもFCSありますよね?
ISLは完全にイーサネットフレームをカプセル化する。イーサネットのFCSもまるごと中にあることになる。
ISLのFCSはそれとは別につけるものだ。
ははぁ。結果的に2つFCSがつくんですね。
そうなる。
さて、ISLの特徴はフレームサイズが大きくなることだな。
通常にイーサフレームよりも、え〜っと30バイト増えるわけですよね。
その分、トラフィックというか実効スループットが低下するわけだな。
ただし、ヘッダをつける・はずすという作業だけなのでスイッチにかかる負荷が少ない。
ははぁ。
まぁ、これはIEEE802.1Qとの比較の話で話そう。
そしてISL最大の特徴は、やはりCisco独自ってところだな。
つまり、Cisco製以外のスイッチでは通用しないってことですよね。
その通り。
ちなみにISLのカプセル化してしまう方法を外部タギング処理という場合もある。
外部タギング……。イーサネットフレームの外に追加する形だからですか?
そういうことだ。
なるほどです。
さて、今回はここまでにしておこう。
次はIEEE802.1Qのフレームタギングについて説明する。
了解です。
30分間ネットワーキングでした〜♪
- トランクリンク
-
[Trunk Link]
もしくは単にトランク。
- アクセスリンク
- [Access Link]
- タグ
-
[Tag]
もしくは「VLANタグ」。
Tagは荷札・付箋の意味。
- タギングプロトコル
-
[Tagging Protocol]
直訳すると「荷札つけプロトコル」
- フレームタギング
- [Frame Tagging]
- ハイパーネット君の今日のポイント
-
- 複数のスイッチでVLANを構成することができる。
- スイッチ間でVLANのデータを流すリンクがトランクリンク。
- ホストとスイッチ間のリンクがアクセスリンク。
- トランクリンクではどのVLANのデータかを示すためにタグをつける。
- タグをつけるプロトコルにはISLとIEEE802.1Qがある。
- ISLはイーサネットフレームをさらにカプセル化してISLフレームにする
- ISLヘッダとFCSで計30バイトサイズが増大する
- VLANタグはISLヘッダ内にある
- ISLはCisco独自プロトコル