Lambdaカクテル

京都在住Webエンジニアの日記です

Invite link for Scalaわいわいランド

VLANのお勉強した

うちは家にIPv6が降ってくる家なので、EdgeRouter X のDS-Lite機能を使ってv4通信をトンネリングさせている。 しかしうちに降ってくるアドレスはプレフィックスが/64なのでこれ以上ネットワークを分割できない。どういうことかというと、EdgeRouterがv6のルータになることができないということ。 EdgeRouterにはただのIPv4専門ルーティングマシーンになってもらう。 したがってv6通信をさせたければEdgeRouterの前段にスイッチを挟んで、直にLANにRA(Router Advertisement、IPv4でいうところのDHCPみたいなもん)を降らせる必要がある。

さて、じゃあスイッチでRAを配った場合どうなるかというと、家中の機器がグローバルアクセス可能になりヤバイ!のでVLANを使って疎通を制御することにしたのである。

yabe.jp

やりたかったことは↑です。

オベンキョ

  • VLANとは、L2レベルでネットワークを分離するための技術群の総称。特定の技術を指すわけではない。

いわゆるVLAN

  • ここではもっともよくあるポートVLANの説明をしている
  • L2スイッチの機能であり技術のこと。ポートをグループに分け、流れるフレームを制御する。
    • 同じVLAN IDのポートにのみフレームを転送する。違っていればしない。という単純な仕組み。
  • ポート単位でVLAN IDを割り当てる。(シンプルなVLANは)スイッチ間のプロトコルではないので、以下のようなことも可能。
    • SW1:
      • port1: VLAN ID 1
      • port2: VLAN ID 2
    • SW2:
      • port1: VLAN ID 3
      • port2: VLAN ID 4
    • 結線
      • SW1 port1 - SW2 port 1
      • SW1 port2 - SW2 port 2
  • セグメント単位の機能であり、ネットワーク全体でVLAN IDが統一される必要はない(したほうが便利そうだが)。
    • VLANというプロトコルがあってネットワーク全体でなんか制御しているのかと思っていたがそういうわけではなかった。
      • 最もよくあるポートVLANに限っていえばそう。

しかしこのままだとVLANごとにポートが必要になる。スイッチが2台あり、VLANを共有したいときにはポートをVLANの数だけ接続しなければならない。

タグVLAN/トランク接続

  • VLANのためにポートが複数必要という問題を解消するための技術。
  • 複数のVLANで1つのポートを共有する。これをトランクポートと呼ぶ。これで確立されたリンクをトランクリンクと呼ぶ。
    • ところでL2レベルの接続をリンクとよぶ。
    • L3: ???
    • L4(TCPなど): コネクション
      • データ転送用'回線'の確立を示す。
    • L5: セッション
      • 'データ転送'の開始と終了を示す。
  • トランクポートと対比し、1つのVLAN IDしか持たない/所属していないポートをアクセスポートと呼ぶ。
    • アクセスポートを通るフレームにはタグは付かない。1つのVLAN IDにしか所属していないのでスイッチが除去する。
    • シスコ独自のDTPというプロトコルでは、アクセスポートにするかトランクポートにするかを動的に決められる。いらない・・・
  • フレームがどのVLANのものなのかをスイッチ間で示し合わせるために「タグ」でカプセルする。
    • ついにプロトコルが登場。IEEE 802.1Qである。4バイト増えるのでMTUが4減る(かも)。
    • シスコはISLという独自規格を持っているようだ。
      • シスコすぐそういうことする
  • 802.1Qでは、タグに付与するVLAN IDは0から4095まで指定できる。

ネイティブVLAN

802.1Qにおける概念。 -トランクポートにタグ無しフレームが来たらどうするの!?という話。 - どこかのVLAN IDのものとみなすための機能。 - トランクポート間であらかじめネイティブVLAN IDを(たとえばここでは5に)決めておくと、送信側スイッチはVLAN 5であればタグをつけずに送信するし、受信側スイッチはタグがなければVLAN ID 5とみなす。 - あってもなくても良いが、非対応のキカイ、何も設定してないキカイに対応させるのに使ったりする

プライベートVLAN

  • ノード同士の通信をさせたくないという場合がある
    • ホテルとか、マンションの無料インターネットとか
    • たくさんVLANを切ると通信を防げるが、4096部屋分しか切れない
    • ところでサブネットという技術もある
      • こっちはL3(IP)レベルのお話

PVID

  • Port VLAN IDのこと
  • ネイティブVLAN IDと同義。

Edgerouterにおける(U)(T)

  • (U)はUntaggedのことでネイティブVLANのこと
  • (T)はTaggedのことでタグ付きVLANのこと

感想

完走した感想ですが……

  • VLANという技術があるわけではない
    • ふんわりした概念
    • いちおうタグVLANは標準化されたプロトコルがある
  • ベンダによって用語違いすぎィ!
    • ポートVLANとかネイティブVLANとか統一してくれ!
  • ベンダ独自規格作りすぎィ!

インフラというかネットワークまわりはこういう感じなんですかね。

参考文献

ここ見ました

www.infraexpert.com

★記事をRTしてもらえると喜びます
Webアプリケーション開発関連の記事を投稿しています.読者になってみませんか?