【Wireshark】icmp Source Quenchが発生して通信がうまくいかない、Policing/Shaping【パケット】

トラブルシュート

昔、業務で出くわしたネット―ワーク系のトラブルシュートの話です。

保守ネット―ワークを構築していた時で、NTTコミュニケーションズのUnivarsal One 100Mbpsの回線を構築し、Cisco892Jのルータにポリシング(Policing)の設定をして、LinuxサーバからFTP通信をさせようとしていました。

ただ、このFTPの通信がうまくいきませんでした。

Wiresharkでパケット状況を確認すると、icmp source Quenchが発生していることが確認され、このicmp source Quenchとは、なんだ!?ってなりました。


これは、ルータでメッセージを転送する際に、受信側のバッファがあふれた場合は「始点抑制(Source Quench)」を送り、送信ホストに送信を抑制することを促す、icmpの機能でした。

なんでこんなものが発生しているんだ!ってなりましたが、パケットの流入量が多すぎていたため発生していたようで、1Gbpsのインタフェースから100Mbpsの回線へ通信させることが、良くなかったみたいでした。
Wiresharkを見ても流入量が多すぎるのでポリシング(Policing)設定のためパケロスも大量に発生していました。

そこで、早すぎる通信が良くないと思い、SFTPで暗号化処理させた通信にしてみると、通信はうまく動作してファイル転送はできました。
ただ、これ、暗号化処理が働くせいで、逆にものすごく通信時間がかかってしまい、通信要件を満たせませんでした。


これではSFTPもダメだってなり、ポリシング(Policing)からシェーピング(shaping)の設定に変更をしてみると、流入量が滑らかに制御されて、通信がうまくいきました。
シェーピングはポリシングと違って、パケットを破棄する処理をせず、設定した帯域でパケットを制御して流す仕組みのため、うまくいったんだと思います。

Policingはそれ以来使った経験がありませんが、流入量の激しい状況でポリシングがすると、パケットがほとんど破棄されるんだから、そりゃ通信うまくいかないよねって振り返って思ったトラブルシュートでした。

コメント

タイトルとURLをコピーしました