数年まえに Buffalo のやすい VLAN スイッチを買った. おもな目的は家においたサーバをインターネットにみせるのに,VLAN をわけて,できるだけ家庭内 LAN のセキュリティをたかめるためだ. しかし,ついでにもう 1 個 VLAN スイッチを買ったので,それであそんでみている. ところが,ことなる VLAN でおなじ MAC アドレスがあると学習できないようであり,おもっていたほどあそべないことがわかった.
やりたかったことはタグ変換だ. PC からタグつきの VLAN パケットをおくりだして,それをスイッチでうける. その特定の VLAN ID だけを他の ID に変換する. たとえば,VLAN ID が 103 ならそれを 301 に変換するというぐあいだ. そのためには,いったんこのパケットのタグをとり (untagged でスイッチのそとにおくりだし),それをもう一度べつのポートからスイッチにとりこんで,べつの VLAN ID をつける.
片方向通信をしているときはこれで想定したように動作したのだが,双方向通信にしたとたんにパケットがでてこなくなった. つまり,学習させるとうごかなくなる. これはたぶん学習が VLAN ID なしでおこなわれているために,おなじ MAC アドレスがついたパケットがことなる VLAN ID でことなるポートからはいってくると学習できなくなるからだ. VLAN ID まで学習させるためにはメモリがよけいにいるから,やすい VLAN スイッチではそれをやっていない,つまり MAC アドレスだけ学習しているということだろう.
こういうわけで,残念ながら計画していた実験はできなかった.
2012-5-20 追記:
実験環境をくずしたあとになって,ギガビット・イーサのカードに問題があったことがわかった (「Realtek のインタフェースで間欠的に promiscuous mode による Ethernet 通信がとまるトラブル…」 参照).
それが原因で双方向通信ができなくなっていた可能性がある.
そのうち再実験してみてもよいが,いまはやめておく.