EN JA
VLAN(4)
VLAN(4) FreeBSD Kernel Interfaces Manual VLAN(4)

名称

vlanIEEE 802.1Q VLAN ネットワークインタフェース

書式

このドライバをカーネルにコンパイルするためには、次の行を利用者のカーネル設定ファイルに置きます:

device vlan

もう一つの方法として、ブート時にモジュールとしてドライバをロードするためには、次の行を loader.conf(5) に置きます:

if_vlan_load="YES"

解説

vlan ドライバは、単一のスイッチトランクポートを介する複数の VLAN の間のルーティング/ブリッジすることを許す、論理的な vlan ネットワークインタフェースへの IEEE 802.1Q 規格に従ってタグ付けをされたフレームをデマルチプレックス (逆多重化) します。

それぞれの vlan インタフェースは、インタフェースクローニングを使用して実行時に作成されます。これは、 ifconfig(8)create コマンドで最も簡単に行なうか、または rc.conf(5)cloned_interfaces 変数を使用します。

機能するために、 vlan インタフェースは、 ifconfig(8) を使用して親インタフェースと数値 VLAN タグを割り当てなければなりません。単一の親は、それらが異なったタグを持つことを条件とする複数の vlan インタフェースを割り当てることができます。親のインタフェースは、適切に設定されたスイッチポートに接続されたイーサネットカードとなりそうです。 VLAN タグは、交換ネットワークで設定されたものの 1 つに一致するべきです。

最初に vlan は、タグ付きとタグ付け解除のフレームと同じ最小の長さを仮定します。このモードは、 sysctl(8) 変数 net.link.vlan.soft_pad を (デフォルトの) 0 に設定することによって選択されます。しかしながら、タグ付け解除のために許可された最小を下回るとき、フレームの長さの調整に失敗するネットワークデバイスがあります。そのようなデバイスは、 net.link.vlan.soft_pad の値を 1 を変更した後に、 vlan で同時に使用することができるべきです。後者のモードで、 vlan は、それらの長さが、準拠しないデバイスによってタグ付け解除した後に、少なくとも最小値であるように、それらをタグ付けする前に短いフレームを詰めます。

ハードウェア

vlan ドライバは、VLAN の処理で支援を提供できる親のインタフェース上の効率的な操作をサポートします。そのようなインタフェースは、それらの能力によって自動的に認識されます。物理的なインタフェースで見つけられた洗練のレベルによって、それは、完全な VLAN 処理を行うか、または単にロングフレーム (イーサネットヘッダと FCS を含む最大 1522 バイト) を受信して送信することができます。ケーパビリティは、 ifconfig(8) へのそれぞれのパラメータ、 vlanhwtagvlanmtu によってユーザによって制御されます。しかしながら、物理的なインタフェースは、それらに反応する義務はありません: いずれも、それをオフにする方法なしで永久にケーパビリティを有効にするかもしれません。特定のデバイスとそのドライバにとって、全体の問題はたいへん明確です。

今のところ、これらのデバイスは、ハードウェアで完全な VLAN 処理の能力があります: ae(4), age(4), alc(4), ale(4), bce(4), bge(4), bxe(4), cxgb(4), cxgbe(4), em(4), igb(4), ixgb(4), ixgbe(4), jme(4), msk(4), mxge(4), nxge(4), nge(4), re(4), sge(4), stge(4), ti(4), txp(4)vge(4) です。

他のイーサネットインタフェースは、 vlan ドライバでソフトウェアエミュレーションを使用して VLAN を実行することができます。しかしながら、一部は、ロングフレームを送信して受信するケーパビリティが不足しています。 vlan の親としてそのようなインタフェースを割り当てることは、対応する vlan インタフェースで減少した MTU をもたらします。現代のインターネットでは、これは、大規模なため tcp(4) 接続性の問題、パス MTU 発見メカニズを遮断する不十分な icmp(4) フィルタリングを引き起こしそうです。

これらのインタフェースは、自然に vlan のためのロングフレームをサポートします: axe(4), bfe(4), cas(4), dc(4), et(4), fwe(4), fxp(4), gem(4), hme(4), le(4), nfe(4), nve(4), rl(4), sf(4), sis(4), sk(4), ste(4), tl(4), tx(4), vr(4), vte(4)xl(4)

vlan ドライバは、 vlan 使用のためにロングフレームを本来サポートするデバイスを自動的に認識し、親インタフェースのケーパビリティに基づく適切なフレームの MTU を計算します。上にリストされないいくつかの他のインタフェースは、ロングフレームを取り扱うことができますが、この能力の通知を行いません。 vlan での MTU の設定は、そのような親のインタフェースと連動して使用されるなら、手動で修正することができます。

関連項目

ifconfig(8), sysctl(8)

バグ

VLAN のタグ付けを除いて 802.1Q の機能は、実装されません。
June 4, 2012 FreeBSD