Dell PowerConnect 2724 買った

ようやくウチも GbE に突入ですよ〜.

24ポート以上の Gigabit スイッチ*1を探していましたが,遊べそうという理由で Dell PowerConnect 2724 を買いました.PowerConnect 2724 は当初4万円くらいで売り出されたものが価格改定により6万円くらいまで値上がりした凶悪なスイッチです.凶悪なのは Dell ですけれども.私はオークションで2万円で購入しました.
いろいろと変な機能がありますが,是非とも使ってみたい,遊んでみたい機能は,

  • ジャンボフレーム対応 MTU サイズ 9,000byte まで,
  • VLAN 対応,
  • LAG(Link Aggregate)対応,

でしょうか.
ヒャッホー LAG 縮退*2できるぜ! まぁ,LAG 対応スイッチ 1コしかないけど.

ちなみに, IntelPro/1000 MT Server も2つ買いました. MTU サイズは 1514, 4088, 9014, 16128 byte から選べます.今回は 9014byte にしました.ちなみに, PowerConnect 2714 のジャンボフレームの MTU サイズは 9000 byte とありますが,実際にはちゃんと動きます.
実は PowerConnect 2724 の実際の MTU は 10,222 だから,とか ここらへん に書いてあるのですが,実際そんな気がします.少なくとも Ethereal などで見ると,ちゃんと 9014 byte のフレームが飛んでることを確認できました.

DOS 窓で確認すると,こんなかんじ.

C:\>ping xxx.yyy.zzz.www -f -l 8972

Pinging foo.bar [xxx.yyy.zzz.www] with 8972 bytes of data:

Reply from xxx.yyy.zzz.www: bytes=8972 time<1ms TTL=64
Reply from xxx.yyy.zzz.www: bytes=8972 time<1ms TTL=64
Reply from xxx.yyy.zzz.www: bytes=8972 time<1ms TTL=64
Reply from xxx.yyy.zzz.www: bytes=8972 time<1ms TTL=64

Ping statistics for xxx.yyy.zzz.www:
    Packets: Sent = 4, Received = 4, Lost = 0 (0% loss),
Approximate round trip times in milli-seconds:
    Minimum = 0ms, Maximum = 0ms, Average = 0ms

C:\>ping xx.yyy.zzz.www -f -l 8973

Pinging xxxx.xxx [xx.yyy.zzz.www] with 8973 bytes of data:

Packet needs to be fragmented but DF set.
Packet needs to be fragmented but DF set.
Packet needs to be fragmented but DF set.
Packet needs to be fragmented but DF set.

Ping statistics for xx.yyy.zzz.www:
    Packets: Sent = 4, Received = 0, Lost = 4 (100% loss),

フレームのヘッダが 14 byte,IPヘッダが 20 byte,ping のシーケンス番号と識別子で 4 byte.pingペイロードが 8972 までということを考えると,やっぱりトータルで 9014 byte 飛んでいるとわかります.

あ,肝心のスループットですが,わたし,32bit PCI 環境なんで,わかりませーん.とりあえず,テスト環境は次.

  • Server (IntelPro/1000 MT Server)
    • OS: Vine Linux 4.1 CR
    • MTU: 9014 (ifcfg-eth0 に MTU=9014 と記入してネットワークを再起動するだけ.((ちなみに,# ifconfig eth0 mtu 9014 ではダメでした.最後に up が必要だったのかな?)))
    • Spec: CPU P4 2.4GHz, Mem 1GB, Hdd Areca ARC-5010 Hardware RAID-5
  • Client (IntelPro/1000 MT Server)

結果は,下りで ピーク 190Mbps,平均 100Mbps くらいで安定してます.上りはもうちょっと出ます.
ちなみに,クライアントPCはメインで Promise の PCIRAID カードをつかっておりまして,こっちはバス帯域と食い合って 20 Mbps から 80 Mbps をいったりきたりします.マウスもうごかんくらい重たくなります.ひどっ.上りがもうちょっと出るのは,バスの食い合いが少なくなるせいだろうと思ってます.
まぁ, GbE にしたかったら, PCI Exp. 環境に移行しなさいってことですね.

図は 724,488,122 byte のデータを ftp で転送したものを,サーバ側で tcpdump して pcap ファイルを作り,そいつの mtu をシコシコ解析してグラフにしたものです.縦軸は bps 横軸は UNIX 時間というちょう手抜きです.グラフが読みにくいのはお許しください.mtu を切り出すプログラムから何から何までお手製なのです*3gnuplot は違うけど.ちなみに,0.5秒平均のスループットです.
これまたちょうわかりにくいですが(というか読み取れないな),転送時間は 49秒.ですので,全体平均では 112Mbps になります.

*1:要するにハブってやつ

*2:そもそも LAG とは,2つの LAG 対応スイッチ間で複数本直結させることで,1本で接続されているときよりもスイッチ間の転送速度を高める技術.LAG 縮退というのは,複数本のうち一本くらいちょん切れても,残りの回線でがんばれるという冗長構成のこと.

*3:ちなみに,プログラムが完成したあと,Ethereal にグラフ化機能があって泣いた.