ICMPスロットリングとnet.ipv4.icmp_ratemaskZennTakai📑ICMPスロットリングとnet.ipv4.icmp_ratemask2022/06/11に公開Linuxnetworktechはじめに以下の記事で書いた環境を作っているときにtracerouteをしていたところ、不可解な事象に遭遇しました。コマンドが完了するまでに5秒かかっています。0m0.000sいつも同じルータが応答なしになるわけではなく、何度か実行すると違うルータから応答がなくなったりします。namespace)は同じ設定のはずなのになぜだろう?と思いました。90個しか出ていないはず。そんな低いppsでパケットロスがおきるとは考えづらいのです。ヒントtracerouteのマニュアルを読んでいると次の一節があることに気づきました。responses.一部のルータはICMPスロットリングをしていることがある、と書いてありました。原因ICMPスロットリングとはなんぞや?と調べてみると、ICMPのマニュアルに求めている答えと思しきものがありました。Exceededを含む一部のICMPタイプにはレートリミットが設定されていて次に送るまでには1000ミリ秒かかる、ということでしょうか。1000ミリ秒に何パケット送れるのかっていう情報が書いてないのがちょっと気になりますが...この値がどのように設定されているか確認します。6168ratelimitはLinuxカーネルデフォルトの1000ミリ秒でした。ratemaskはちょっと違う値が入っている?と一瞬思いますが、10進数6168は16進数0x1818なのでデフォルト値ですね。Problem)に対するスロットリングを無効にできます。namespaceで同様のコマンドを実行しています。namespaceで同じコマンドを実行することができます。namespaceはその設定を引き継ぎます。net.ipv4.icmp_ratemask=0結果*が出力されてコマンド実行完了までが遅かったのが嘘のように早くなり、一瞬(0.006秒)で応答が返ってくるようになりました。0m0.000sTakaiバッジを贈って著者を応援しようバッジを受け取った著者にはZennから現金やAmazonギフトカードが還元されます。Proよくある質問LinksX(Twitter)GitHubメディアキットLegal利用規約プライバシーポリシ。