ネットワーキング
 Computer >> コンピューター >  >> ネットワーキング >> ネットワーキング

TCPネットワーク通信用のNagleアルゴリズムの概要

エンジニアのJohnNagleにちなんで名付けられたNagleアルゴリズムは、TCPアプリケーションの小さなパケットの問題によって引き起こされるネットワークの輻輳を軽減するように設計されました。 UNIXの実装は1980年代にNagleアルゴリズムの使用を開始し、現在でもTCPの標準機能となっています。

Nagleアルゴリズムのしくみ

Nagleアルゴリズムは、naglingと呼ばれる方法でTCPアプリケーションの送信側のデータを処理します。小さなサイズのメッセージを検出し、それらのメッセージをより大きなTCPパケットに蓄積してから、ネットワークを介してデータを送信します。このプロセスにより、不必要に大量の小さなパケットが生成されるのを防ぎます。

Nagleアルゴリズムの技術仕様は、1984年にRFC 896として公開されました。蓄積するデータの量と送信間の待機時間の決定は、全体的なパフォーマンスにとって重要です。

ナグリングのメリット

Naglingは、遅延または遅延を追加することを犠牲にして、ネットワーク接続の帯域幅を効率的に利用できます。 RFC 896で説明されている例は、潜在的な帯域幅の利点とその作成の理由を示しています。

  • キーボードのキーストロークをインターセプトするTCPアプリケーションが、入力されている各文字を受信者に伝達したい場合、それぞれが1バイトのデータを含む一連のメッセージを生成できます。
  • これらのメッセージをネットワーク経由で送信する前に、TCP/IPで必要とされるTCPヘッダー情報を各メッセージにパッケージ化する必要があります。各ヘッダーのサイズは20〜60バイトです。
  • このサンプルアプリケーションは、ナグリングなしで、95%以上のヘッダー情報(21バイトのうち少なくとも20バイト)と5%以下の実際のデータで構成されるネットワークメッセージを送信者のキーボードから生成します。 Nagleアルゴリズムを使用すると、同じデータをより少ないメッセージで配信できるため、帯域幅を大幅に節約できます。

アプリケーションは、TCP_NODELAソケットプログラミングオプションを使用してNagleアルゴリズムの使用を制御します。 Windows、Linux、およびJavaシステムは通常、デフォルトでNagleを有効にします。したがって、これらの環境向けに作成されたアプリケーションは、アルゴリズムをオフに切り替えるためにTCP_NODELAYを指定する必要があります。

TCPネットワーク通信用のNagleアルゴリズムの概要

制限

ビデオハングアウトやオンラインゲームなど、高速ネットワーク応答を必要とするアプリケーションは、Nagleが有効になっているとうまく機能しない場合があります。アルゴリズムがデータの小さなチャンクをアセンブルするのに余分な時間がかかる間に発生する遅延は、画面またはデジタルオーディオストリームで視覚的に顕著な遅延を引き起こす可能性があります。このようなアプリケーションは通常、Nagleを無効にします。

このアルゴリズムは元々、コンピュータネットワークが現在よりも少ない帯域幅をサポートしていたときに開発されました。上記の例は、1980年代初頭のフォードエアロスペースでのジョンネーグルの経験に基づいており、フォードの低速で高負荷の長距離ネットワークでの巧妙なトレードオフが理にかなっています。今日、ネットワークアプリケーションが彼のアルゴリズムの恩恵を受けることができる状況はますます少なくなっています。

Nagleアルゴリズムは、TCPでのみ使用できます。 UDPなどの他のプロトコルはそれをサポートしていません。


  1. TCPネットワーク通信用のNagleアルゴリズムの概要

    エンジニアのJohnNagleにちなんで名付けられたNagleアルゴリズムは、TCPアプリケーションの小さなパケットの問題によって引き起こされるネットワークの輻輳を軽減するように設計されました。 UNIXの実装は1980年代にNagleアルゴリズムの使用を開始し、現在でもTCPの標準機能となっています。 Nagleアルゴリズムのしくみ Nagleアルゴリズムは、naglingと呼ばれる方法でTCPアプリケーションの送信側のデータを処理します。小さなサイズのメッセージを検出し、それらのメッセージをより大きなTCPパケットに蓄積してから、ネットワークを介してデータを送信します。このプロセスにより

  2. linksys05480のネットワークセキュリティとは何ですか?

    Spectrumのネットワークセキュリティキーは何ですか? Spectrumアカウントにサインインする必要があります。 WiFiネットワーク名とパスワードを変更して接続する場合は、.netまたはMySpectrumアプリで行うことができます。ネットワーク名に加えて、SSIDはWiFiネットワークの別の用語です。セキュリティキーに応じて、WiFiパスワードはWPAキーまたはWAP/WPA2パスフレーズと呼ばれる場合があります。 ノートパソコンのネットワークセキュリティキーはどこにありますか? スタートメニューをクリックするとアクセスできます。 [ネットワーク接続]ウィンドウが表示されます。ネ