harukeeeのブログ

@harukeee が書いています。

Catalyst と HP 2920 間で デフォルト VLAN が通らない話

Cisco Catalyst 3750 と HP 2920シリーズ の Default VLAN の扱いの違いについて。

特に型番は関係ないのですが、検索で見つかるように参考型番として記載しています。
要は L2スイッチ の話ですが、メーカーが異なれば起こりえる内容。


ここでは VLAN は、IEEE 802.1Q のことを指します。
(https://ja.wikipedia.org/wiki/IEEE_802.1Q)

イーサネットフレームの頭に VLAN ID を加えると VLAN フレームと言います。
(http://ascii.jp/elem/000/000/427/427324/)

イーサネットフレームは、場合によって「パケット」と呼ぶこともあります。
パケ死」の パケット の事です。


簡易イメージ

通常フレーム :[フレーム]
VLANフレーム :[VLANタグ]+[フレーム]

通常の ネットワークは フレーム のみで成立しているため、
IEEE 802.1Q に対応していないと VLANタグ が扱えません。
VLANフレームは、単純に VLANタグ 分のデータ量が多いのです。

VLANタグ にどんなデータが入っているかというと、
数字 (VLAN ID=番号) が入っています。


VLAN の中身

スイッチA と スイッチB を接続する時は、フレームの受け渡しができるように
それぞれのポートに、VLAN ID を列挙します。
VLAN ID が一致した フレーム だけが スイッチA と B 間を通る事が許可されます。

設定例)VLAN ID 1 と 20 を許可した場合
スイッチA > switchport trunk allowed vlan 1, 20
スイッチB > switchport trunk allowed vlan 1, 20

次の場合、「VLAN ID = 20」の フレーム だけ通る事が許可されます。
スイッチA > switchport trunk allowed vlan 1, 20
スイッチB > switchport trunk allowed vlan 20


デフォルトVLAN の扱い

問題となる Ciscoスイッチ の デフォルト VLAN の扱いですが、

Cisco スイッチ は デフォルトVLAN の時、VLANタグ を付与せずに流します。
一方、HP スイッチ は デフォルトVLAN でも、 VLANタグ を付与・確認します。

Cisco の場合: [フレーム]
HP    の場合: [VLANタグ]+[フレーム]

このため、Cisco の デフォルトVLAN のフレームが HPのスイッチ では受け取れません。
これは Cisco スイッチ の仕様になります。


解決方法

とても簡単です。
Cisco の 対象ポート の デフォルトVLAN を適当な VLAN ID に変更します。

> switchport trunk native vlan 999

そうすると デフォルトVLAN ではなくなる為、

Cisco の場合: [VLANタグ]+[フレーム]
HP    の場合: [VLANタグ]+[フレーム]

となり、ちゃんと VLANフレーム となるので通信できるようになります。





参考1)自作のフレーム構造チートシートです。
基本的なプロトコルだけ載せています。縦軸がデータ長。
f:id:harukeee:20180304230536p:plain


参考2)ネットワークの勉強をしたい方にオススメの本です。
CCNAの参考書ですが、ネットワーク入門書として大変わかりやすいです。

1週間でCCNAの基礎が学べる本 第2版 徹底攻略シリーズ

1週間でCCNAの基礎が学べる本 第2版 徹底攻略シリーズ