<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/">
  <channel>
    <title>TCP/IP on Nyanmo main blog</title>
    <link>https://www.nyanmo.info/tags/tcp/ip/</link>
    <description>Recent content in TCP/IP on Nyanmo main blog</description>
    <generator>Hugo</generator>
    <language>ja</language>
    <lastBuildDate>Mon, 21 Sep 2026 13:54:22 +0900</lastBuildDate>
    <atom:link href="https://www.nyanmo.info/tags/tcp/ip/index.xml" rel="self" type="application/rss+xml" />
    <item>
      <title>TCP/IP で高遅延環境で速度を出したい</title>
      <link>https://www.nyanmo.info/posts/linux/tcpip/</link>
      <pubDate>Mon, 21 Sep 2026 13:54:22 +0900</pubDate>
      <guid>https://www.nyanmo.info/posts/linux/tcpip/</guid>
      <description>&lt;h2 id=&#34;この記事を作った動機&#34;&gt;この記事を作った動機&lt;/h2&gt;
&lt;p&gt;　最近 SSHFS やら TCP を使った通信において、VPN を経由した通信(ping において time=40ms 前後)が通信経路的には、100Mbps 程度のスループットが出るはずであるが、実際には、10Mbps 程度をうろついてめちゃくちゃに遅いということがあった。その症状はランダムであり、場合によってはそこそこ速度が出る場合もあれば、全然出ない場合もあるということがあった。&lt;/p&gt;
&lt;p&gt;　当初は、SoftEther VPN のコネクション数をいじったりしていたが、あまり効果が見られない場合があり、最終的に TCP の輻輳制御などに問題があるのではないかと思った。ただ設定をいちいち細々と調べるのはめんどくさかったので、ローカルのLLMに話題を投げてみたところ、実際に効果が見受けられる設定が出てきたので、それをとりあえず記録しておきたい。&lt;/p&gt;
&lt;h2 id=&#34;設定内容-etcsysctldtcpconf-として保存&#34;&gt;設定内容 (&lt;code&gt;/etc/sysctl.d/tcp.conf&lt;/code&gt; として保存)&lt;/h2&gt;
&lt;p&gt;　以下の設定を&lt;code&gt;/etc/sysctl.d/tcp.conf&lt;/code&gt;として保存したあと、既存の TCP コネクションが古い設定で動き続けるのを防ぐため、再起動する。輻輳制御アルゴリズムなどをデフォルトから変更している。&lt;/p&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code class=&#34;language-conf&#34; data-lang=&#34;conf&#34;&gt;net.core.default_qdisc=fq
net.ipv4.tcp_congestion_control=bbr
net.ipv4.tcp_window_scaling=1
net.core.rmem_max=16777216
net.core.wmem_max=16777216
net.ipv4.tcp_rmem=4096 87380 16777216
net.ipv4.tcp_wmem=4096 65536 16777216
&lt;/code&gt;&lt;/pre&gt;&lt;h2 id=&#34;設定が反映されたか確認&#34;&gt;設定が反映されたか確認&lt;/h2&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;sysctl net.core.default_qdisc
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;sysctl net.ipv4.tcp_congestion_control
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;sysctl net.ipv4.tcp_window_scaling
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;sysctl net.core.rmem_max
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;sysctl net.core.wmem_max
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;sysctl net.ipv4.tcp_rmem
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;sysctl net.ipv4.tcp_wmem
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;# net.core.default_qdisc = fq&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;# net.ipv4.tcp_congestion_control = bbr&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;# net.ipv4.tcp_window_scaling = 1&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;# net.core.rmem_max = 16777216&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;# net.core.wmem_max = 16777216&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;# net.ipv4.tcp_rmem = 4096	87380	16777216&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;# net.ipv4.tcp_wmem = 4096	65536	16777216&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h2 id=&#34;もともとの設定&#34;&gt;もともとの設定&lt;/h2&gt;
&lt;p&gt;　私の Arch Linux 環境で、インストール時からネットワーク設定に特段変更を加えていない機材から設定を読み出すと以下のような結果が得られた。輻輳制御アルゴリズムが&lt;code&gt;bbr&lt;/code&gt;ではなく&lt;code&gt;cubic&lt;/code&gt;になっていたりするなど、色々設定が異なることがわかる。詳しいことは LLM に提案させて試しただけなので分かっていない。&lt;/p&gt;</description>
    </item>
  </channel>
</rss>
