トップ 一覧 置換 検索 ヘルプ RSS ログイン

LinuxでMTUを変更するの変更点

  • 追加された行はこのように表示されます。
  • 削除された行はこのように表示されます。
http://usednote.seesaa.net/archives/20070425-1.html

!MTU
TCP/IPプロトコル(インターネット上のデファクトスタンダード)と言う通信方法は、トラックによる配送に例えると判りやすいでしょう。
送信者Aから受信者Bにデータを送る場合そのデータをトラックに載せます。
当然トラックですから積載量に制限がありますので何台かに分けて配送することになります。
このトラックのことをTCP/IPではパケットと呼びその積載量(データ量)をMTU(Maximum Transmission Unit)と言います
!MTUを確認
 ifconfig
で MTU が表示される。

!MTUを一時的に変更する
 ifconfig インターフェイス mtu xxxx
で変更。

 ifconfig eth0 mtu 1454

!RWIN
MTUをトラックの積載量に例えるとRWINはさしずめトラックターミナルの大きさでしょうか。
TCP/IPの世界ではトラックターミナルに余裕がある限りノーチェックで入庫する仕組みになっています。
つまりトラックターミナル(RWIN)が大きければ大きいほど一度に大量の商品(データ)を入庫(受信)できるのです。
ただし不良品のチェックは入庫後行いますので万が一にも不良品(データエラー)があった場合にはその入庫は全て返品・クレーム処理(再送信要求)となります。
つまり回線品質が悪いのにRWINを大きくしすぎると却って効率が悪くなるのです。
またRWINを大きくすると言うことはバッファサイズを大きくすること、すなわちメモリーを多く消費することにもなります。
!MTUを値を変更する
 /etc/sysconfig/network-scripts/ifcfg-eth0

 MTU=1454
などと記述するとMTUを変更できる。


!その他
結論から言うとUNIX系では調整は不要です。
実はOSが動的にRWINを変更してくれるシステムを備えているのです。
回線品質(エラー率)やメモリー使用状況などから最適なRWINを算出し自動的に変更してくれているのです。

{{category2 OS,Linux}}
{{category2 ネットワーク}}