最大伝送単位

最大伝送単位

サーバーAには300GBの大容量ファイルがあります。自宅でファイルをコピーしてみましたが、scp非常に遅かったrsync(80KB / s以下)。

他のサーバーBにもアクセスできます。scpサーバーAからサーバーBにすべてのファイルを20 MB / sにコピーできます。rsync

scp最後に、サーバーBから自宅に20 MB / sの速度でファイルをコピーできます。rsync

誰かがこれが起こる理由を理解するのに役立ちますか(そして解決できるか)。私はLinux/ネットワーク初心者なので、正しい方向に助けてくれてありがとう。

要約:

A ->      Home  (super slow)

A -> B -> Home  (a lot faster) 

答え1

最大伝送単位

パスMTUの検索あなたと。間に協力がないようですA

良い解決策は、この問題を解決することです。このサイトには解決策を説明する答えがあります。

簡単な回避策として、Aホームシステムのルーティングテーブルに対応する宛先IPのMTUを設定できます(もっと重要なのは)。

帯域幅を無駄にしないようにするには、そのルートの信頼できる最大MTUを決定する必要があります。実行してください

ping -s 1472 A

数字は低いです。特に1464は良い機会があります。

ショートバージョン:一部(ほとんど)IPパケットが大きすぎて破棄されます。より小さなパケットを送信するように強制する必要がありますA(おそらくホームシステムも同様ですが、その方向のパケットはとにかく十分に小さいでしょう)。

ルーティングテーブル

ルーティングテーブル(両方のシステム)は次のとおりです。

root@vm:~# ip r
default via 192.168.213.3 dev bridgeport 
192.168.213.0/24 dev bridgeport proto kernel scope link src 192.168.213.122 

このコマンドを使用してください

ip route add 10.9.8.0/24 via 192.168.213.3 mtu 1480

ホストまたはサブネットのエントリを追加できます。アイテムのデフォルトゲートウェイを使用することもできます。

使用した設定はmtu、1500から1472と見つかった値(1464と仮定)の差を引いたものです。

  • 1472-1464=8
  • A-homeMTU = 1500-8 = 1492
  • ip route add ... mtu 1492
root@vm:~# ip r
default via 192.168.213.3 dev bridgeport 
10.9.8.0/24 via 192.168.213.3 dev bridgeport mtu 1480 
192.168.213.0/24 dev bridgeport proto kernel scope link src 192.168.213.122 

これは永続的な設定ではありません。再起動するか、ネットワークを再ロードすると消えます。pingこのパスを追加してもう一度テストしてください。

関連情報