
10GbEでMTU混在が遅くなる原因と直し方
速くするはずの設定で遅くなった話
はじめに
自宅に10ギガビットのネットワークを引いています。動画の素材を扱うので、Mac miniと80テラバイトのNASの間で大きなファイルを何度も行き来させます。ここが遅いと、作業そのものが待ち時間だらけになります。
10ギガビットというのは、家庭向けとして一般的な1ギガビットの10倍です。線を引き替え、対応した機器を揃え、実際に速くなりました。
そのうえで、もう一段速くするための設定があると知りました。
ジャンボフレームというものです。
設定は簡単でした。数値を一つ書き換えるだけです。書き換えて、転送してみました。
速くなりませんでした。それどころか、条件によっては通信が止まりました。
原因は、その数値を揃えていなかったことでした。速くするための設定が、条件を満たさないと遅くする。今回はその話です。ネットワークの中身に興味がない方でも、後半の考え方だけは持ち帰っていただけるように書きます。
この記事でわかること
データがネットワークをどういう形で流れているか
ジャンボフレームという設定が何をしているか
経路の途中で設定が食い違うと何が起きるか
なぜ止まるのか、なぜ遅くなるのか
有線と無線で設定を分けるという考え方
家庭のネットワークでこの設定に手を出すべきかどうか
速くするための設定が裏目に出る構造について
10ギガビットを引いた理由
先に、なぜここまでするのかを書いておきます。
扱っているのは動画の素材です。撮影したデータは、1本あたりで数十ギガバイトになることも珍しくありません。それを編集用のパソコンに持ってきて、作業して、書き出して、保管用に戻す。この往復が毎回発生します。
1ギガビットの線では、理論上でも1秒あたり125メガバイト程度です。実際にはそこまで出ませんから、数十ギガバイトのやり取りに何分もかかります。一日に何往復もすれば、待ち時間だけで相当な量になります。
10ギガビットにすると、この待ち時間が短くなります。作業のリズムが変わるくらいには違います。
ただ、線を替えれば自動的に10倍になるかというと、そう単純ではありません。線、パソコン側の口、ハブ、NAS側の口。どれか一つでも1ギガビットのままなら、そこが上限になります。いちばん細いところが全体を決めます。
そして、ディスクそのものの読み書きの速度も上限になります。線が10ギガビット出せても、ディスクがその速度で読み出せなければ、線は空いたままです。
このあたりを一つずつ揃えていった先で、もう一段速くする方法として出てきたのが、今回の設定でした。
データは小分けにして運ばれている
まず前提の話です。
ネットワークを流れるデータは、そのままの塊で運ばれているわけではありません。小さな単位に切り分けられて、一つずつ送られています。
たとえば1ギガバイトの動画ファイルを送るとき、それが1ギガバイトの塊のまま線を通るのではなく、細かく分けられた大量の小包として運ばれます。受け取った側で、それを元の順番に並べ直して、元のファイルに戻します。
この小包の大きさに、上限が決められています。この上限のことをMTUと呼びます。最大伝送単位、といった意味です。
一般的な設定では、この上限が1500に設定されています。単位はバイトです。つまり、一つの小包に入るデータは最大でおよそ1.5キロバイト、ということになります。
この1500という数字は、長い間の標準です。ほとんどの機器が、何も設定しなければこの値になっています。
ジャンボフレームという考え方
ここで、大きなファイルを送る場面を考えます。
1ギガバイトのファイルを、1500バイトずつに分けて送るとしたら、小包の数は膨大になります。数十万個です。
小包一つひとつには、宛先などの情報を書いた札が付いています。中身が小さくても、札の大きさは変わりません。数が増えれば、札の分だけ余計なものを運ぶことになります。
それに、小包を作る側と開ける側の手間もかかります。数十万回の作業です。この処理はパソコンやNASの負担になります。
そこで、小包を大きくしてしまおう、という発想が出てきます。
上限を9000バイトくらいに引き上げれば、小包の数はおよそ6分の1になります。札の分の無駄が減り、作る手間も開ける手間も減ります。
これがジャンボフレームです。標準より大きな小包を使う設定のことです。
大きなファイルをやり取りする用途では、これが効きます。うちのように動画の素材を頻繁に動かす環境では、試す価値のある設定です。
実際に測ってから判断する
設定を変えたら、必ず測ります。感覚で判断しないためです。
測り方はいくつかあります。いちばん分かりやすいのは、大きなファイルを実際にコピーして、かかった時間を見ることです。ファイルの大きさを時間で割れば、おおよその速度が出ます。
もう少し正確に測りたいなら、ネットワークの速度を測るための道具があります。片方を待ち受けにして、もう片方から送りつけて、実際に何ビット出ているかを表示するものです。ディスクの速度に影響されずに、線とその両端の性能だけを測れる利点があります。
うちでは、この道具を使って、設定を変える前と後で比較しました。
そして、変えた後のほうが遅い、という結果が出ました。ここで初めて、何かおかしいと気づきました。
測っていなければ、たぶん気づいていません。設定した以上は速くなっているはずだ、と思い込んだまま使い続けていたと思います。人間は、自分がやったことの効果を過大に見積もりがちです。
測るというのは、その思い込みを外すための作業です。数字が出れば、思い込みの入る余地がありません。
経路の途中で食い違うと詰まる
問題は、この設定が経路全体で揃っていないと成立しないという点です。
小包を作る側が9000バイトの大きさで作っても、途中の機器が1500バイトまでしか通せないなら、そこで通れません。
このとき起きることは、二通りあります。
一つは、途中の機器がその小包を小さく分割して先に進める場合です。運ぶこと自体はできますが、分割の処理が余計に発生します。大きくして手間を減らすつもりが、途中で分割し直しているので、何のために大きくしたのか分からない状態になります。むしろ遅くなります。
もう一つは、途中の機器が分割せずに捨てる場合です。分割してはいけないという指示が付いていると、通せない小包は捨てられます。
このとき、送った側には「大きすぎるので通せない」という知らせが返るのが本来の動きです。それを受けて、送る側は小さく作り直します。
ところが、この知らせが途中で遮られることがあります。通信を制限する設定が入っていると、この種の知らせがまとめて遮られてしまうことがあるのです。
そうなると、送った側は「通らなかった」ことすら知らないまま、返事を待ち続けます。しばらく待って、また同じ大きさで送って、また捨てられる。
これが、通信が止まる状態です。
やっかいなのは、全部が止まるわけではないことです。小さなデータのやり取りは、上限を超えないので普通に通ります。ページの表示はできる、ファイルの一覧も見える、それなのに大きなファイルをコピーしようとすると途中で固まる。こういう、部分的におかしい状態になります。
原因の切り分けがしにくいのは、この中途半端さのせいです。
この先の有料部分では、「うちで何が起きていたか」「揃えるか、分けるか」「症状から原因を疑う手がかり」「家庭のネットワークでは触らなくてよい」を、手順どおりに書いています。
この記事の作業を、ご自分で進めるのが不安な方へ
お住まいが名取・岩沼・仙南(山元町・亘理町・角田市・柴田町・大河原町・村田町・川崎町・丸森町・白石市・蔵王町・七ヶ宿町)の方は、お伺いしてその場で一緒に進めます。→ noteを読んでくださった方へ(ITカンパニーみやぎ)
全国の方には、電話やLINEでの遠隔サポート(30分 ¥3,000)、写真のAI補正(画像を送るだけ)、ビデオテープ・写真の郵送でのデジタル化、本(Kindle)をご案内しています。→ 全国の方へのご案内
LINEでのご相談はこちら → ITカンパニーみやぎ 公式LINE