実務でNWの遅延を切り分けしたので記録
構成
遠隔地の拠点が複数あり、大体同一で下記のような感じ
端末(windwos)-SW(cisco)-RT-(広域)-RT-SW-サーバー
事象
ある端末で使っているシステムが遅い
切り分け
1 別の拠点の発生状況
問題なし
2 他のSW配下の端末
問題の拠点はRTの配下に別のSWも存在しているが、ほかのスイッチ配下のPCは遅延が発生していない
怪しいのは
この時点で、問題の拠点の問題のRTポート以降ということがわかる。
RTの単一ポートの障害により遅延が発生している可能性は限りなく低いので、スイッチPC間に焦点を当てて調べることにした。
調べてみる
では、どの程度の遅延が発生しているのか。
ciscoのSWにログインして、端末当てにpingを飛ばしてみる。
普通に飛ぶ。
サイズを大きくするとどうか。
ping xxx.xxx.xxx.xxx size 5000 repeat 100
タイムアウト。まったく飛ばない。
そこからサイズをだんだん小さくしていくと、sizeが小さくなるにつれて成功率が上がり、300byteでsuccessが98/100で200byteでようやく100/100。
通常パケットサイズはどのくらいか
200byteではパケットは普通に飛ぶのだが、300byte以降だと失敗している。
通常のパケットサイズどのくらいなのか。
端末の設定でMTU値というのがあり、Widnwosだと下記コマンドで調べれる
C:\Users\test>netsh interface ipv4 show interfaces
Idx Met MTU 状態 名前
--- ---------- ---------- ------------ ---------------------------
19 50 1500 connected Wi-Fi
1 75 4294967295 connected Loopback Pseudo-Interface 1
20 25 1500 disconnected ローカル エリア接続* 1
11 65 1500 disconnected Bluetooth ネットワーク接続
4 25 1500 disconnected ローカル エリア接続* 2
だいたいの値が1500になっていることがわかる。
これはイーサネットのパケットサイズの最大が1500だから。
(ちなみに光ファイバは4352byte)
結果
ということで端末スイッチ間で遅延が発生していることがわかった。
どの程度遅延が発生しているかは、sizeを変えながらpingを飛ばしグラフなどにすれば見やすいかなと思う。