\r\n\r\n

ルーターが遅い? natテーブルが原因かもしれません。

nat テーブルは、インターネット接続に欠かせないものです。毎日何千もの接続を処理する役割を担っています。しかし、それはチャレンジングなことなのでしょうか?ルーターの速度が遅くなり続けているのでは...?

NAT(Network Address Translation)テーブルは、プライベートネットワーク上のデバイスがインターネットなどのパブリックネットワークにアクセスすることを可能にします。

通常、パブリックネットワークとプライベートネットワークの間には1つのエントリーポイントしかなく、そのエントリーポイントは通常ルーターである。ルーター自体は公衆向けのIPアドレスを持っていますが、プライベートネットワーク上のデバイス(ルーターの後ろに「隠れている」)は、プライベートIPアドレスしか持っていません。

パケットがプライベートネットワークからパブリックネットワークに移動する際、これらのプライベートIPアドレスは、パブリックネットワークと互換性のあるパブリックIPアドレスに「変換」される必要があります。これは、パブリックネットワークからプライベートネットワークに移動するパケットの場合も同様です。

natメーターのしくみ

NATテーブルとは、その名の通り、ネットワークアドレス変換テーブルのことで、テーブルの各行は基本的にプライベートアドレスからパブリックアドレスへのマッピングになっています。

NATが有効な機器にはいくつか種類がありますが、家庭で使うのはルーターが最も多いので、ここではそれを例に説明します。

ルーターがプライベートネットワーク上の機器から要求を受けると、一定の変更ができるようにパケットを取り置く。まず、各パケットの「送信元IP」をプライベートIPアドレス(例:192.168.0.100)からルーターのパブリックIPアドレス(例:68.202.151.70)へ変更します。その他、細かな点も変更されています。

その後、ルーターはNATテーブルにエントリーを作成する。そのためには、パケットの宛先アドレスを知る必要がある。ルーターは、パブリックネットワークからプライベートネットワークに外部パケットを送信する際、NATテーブルと比較し、どのプライベート機器に送信するかを知ることができます。

NATテーブルの各行は、専用IPアドレスと外部宛先アドレスおよびポートの組合せである。このペアリングをコネクションと呼びます。プライベートネットワーク上の各デバイスは、複数のアクティブな接続を持つことができます。

NATエントリが作成されると、ルーターはパケットを意図した宛先IPアドレスにパブリックネットワークにプッシュします。パケットがパブリックネットワークから来た場合、その「送信元IP」はターゲット機器のプライベートIPアドレスに変更され、プライベートネットワークにプッシュされます。

最後に、曖昧さを避けるために、最近のNAT技術では、IPアドレスに加えてポート番号も記載されています。これにより、プライベートデバイスからパブリックデバイスへのアプリケーション間接続を追跡することが可能になります。これらの技術は、NAPT(Network Address and Port Translation)、PAT(Port Address Translation)などと呼ばれています。

natテーブルの潜在的な問題点

NATテーブルの各エントリーは、接続の詳細を保存するために一定量のメモリを必要とします。理論的には、アクティブな接続が多すぎる場合、NATテーブルがいっぱいになることがあります。この場合、現在の接続には影響しませんが、新規の接続は拒否されます。

インターネットトラフィックの場合、一般的なNATテーブルのエントリーは約160バイトである。大きな視点で見れば、これは些細なことです。長い目で見れば、このサイズの10万個のNATテーブル・エントリーは、約15MBのRAMを消費するだけです。最も安いルーターでさえ、このようなことが可能です。

言い換えれば、最近では NAT テーブルがいっぱいになることはほとんどなく、性能の低いルーターにとって RAM がボトルネックになることもほとんどありません。しかし、理解すべきもっと一般的な問題があります。

安いルーター、遅いルーター

ルーター、特に安価なものは、重い処理負荷に対応するように設計されていないため、弱いCPUを搭載していることが多い。ルーターで直接物理演算したり、3Dアニメーションを扱ったりするわけではありませんよね?

しかし、ネットワークアドレス変換は、扱うのが重い作業です

プライベートネットワークから出るパケットはすべて翻訳される必要があり、パブリックネットワークから入ってくるパケットもすべて翻訳される必要があります。一つひとつの翻訳は簡単でも、インターネットの大量利用で、それがすべて積み重なる。

これは、あるタブで720pのYouTubeビデオを開き、他の十数個のタブで異なるサイトをすべてEdgeブラウザで開いて、ウェブを閲覧しているときの私のウェブアクティビティです。

最初の9つのプロセスは、1秒間に平均1182149バイトを使用します。各ネットワーク・インターフェースには、パケットが到達できる最大サイズであるMTU(Maximum Transmission Unit)が設定されています。EthernetとWi-FiのMTUは1500byteです。

私のコンピュータは単にYouTubeのビデオを見ているだけで、ルーターには1秒間に788パケットという最小限の負荷がかかっていました。これは、全バイトを1500バイトのパケットに分割した場合を想定しているが、実際の使用ではそうではない。1000〜3000パケット/秒がより現実的です。

マルチプレイヤーゲームやTorrentなど、帯域幅を多く必要とするアクティビティでは、さらに大きな負荷がかかります。実際、torrentは非常に集約的で、今日のホームユーザーのNAT問題の主な原因になっています。(数十/数百のピアにオープン接続し、それぞれが高速ダウンロードとアップロードを伴う)。

しかも、プライベートネットワーク上の私のコンピュータだけではありません。スマート**、タブレット、スマートテレビなど、他の人と生活空間を共有するためのデバイスを用意しています。どれもこれも、インターネットアドレス変換が必要です

結局、1秒間に何千ものパケットを、追いつかないCPUが翻訳しているのです。安価なルーターが遅くなりがちな理由のひとつがこれです。

何かできることはないのか?

単発の障害であれば、ルーターを再起動することでNATテーブルをクリアし、ゼロからスタートさせることができます。頻繁に起こるようであれば、RAMではなくCPUに不具合が発生している可能性があります。

この場合、ルーターをアップグレードする必要があります。ハイエンドモデルに大枚をはたく必要はないのです。だからといって、格安オプションには手を出すな。これらは、よりライトなホームユーザーに向いている。まだ何を買えばいいのかわからない?おすすめのWi-Fiルーターをチェックする。

最後に、アップグレードするしないにかかわらず、ホームネットワークが安全であることを確認することです。これはそれほど手間のかかることではありませんが、そのメリットは非常に大きいです。

NATテーブルとは何か、その仕組みはお分かりいただけたと思いますが、他にご質問はありませんか?他にご意見はありますか?下のコメント欄で教えてください

  • 2021-03-13 10:52 に公開
  • 閲覧 ( 24 )
  • 分類:IT

あなたが興味を持っているかもしれない記事

匿名者
匿名者

0 件の投稿

作家リスト

  1. admin 0 投稿
  2. 匿名者 0 投稿

おすすめ