5

Javaやおそらく他の言語には、次のようなSocketオプションがあることに気づきました

setTrafficClass(int tc) 

使用しているアプリケーションのトラフィック クラスが 24 であることはわかっていますが、グーグルで検索しても、これらのクラスが対応するリストも、有効なクラスのリストも見つかりません。

教えてください。md_5

4

3 に答える 3

3

の仕様にSocket.setTrafficClassよると、次のことがわかります。

インターネット プロトコル v4 の場合、値は で構成されinteger、その最下位 8 ビットは、ソケットによって送信された IP パケットの TOS オクテットの値を表します。RFC 1349 では、TOS 値を次のように定義しています。

  • IPTOS_LOWCOST( 0x02)
  • IPTOS_RELIABILITY( 0x04)
  • IPTOS_THROUGHPUT( 0x08)
  • IPTOS_LOWDELAY( 0x10)

最後の下位ビットは、MBZ (ゼロでなければならない) ビットに対応するため、常に無視されます。

240x18ie0x10 | 0x08に対応しIPTOS_THROUGHPUTIPTOS_LOWDELAY設定されています。

ご覧のとおり、TOS はヒントとしてのみ機能します。高スループットで低遅延のルーティングを要求します... サービスが提供される場合と提供されない場合があります。

RFC 1349のサービスの種類の 詳細と、関連するウィキペディアの記事をここで読むことができます。

于 2012-08-19T05:12:28.950 に答える
2

Javadocsに詳細があります。基本的に、パケットのTOS (サービスの種類) ヘッダーを設定しています。ルーティング ネットワークは、パケットの処理方法に関する提案としてそれを使用することを選択する場合があります (または完全に無視する場合があります)。多くのネットワークは実際にはこのフィールドで意味のあることを何もしていないので、私はその動作に依存しません。

于 2012-08-19T05:12:27.960 に答える
1

トラフィック クラスは、最終的には、ユーザーと最寄りのルーターの問題です。この分野は、いくつかの突然変異を経てきました。また、IPv4 と IPv6 の間でも異なります。IPv4 の最初の定義は RFC 791-5 で与えられました。これはRFC 1349で改訂され、 RFC 2474で「Differentiated Services」として完全に再定義されました。2003 年くらいに本のために調査して以来、ビジネス全体が再び改訂された可能性があります。IPv6 については、RFC 2460 を参照してください。IPTOS_*値に関する Javadoc の内容は RFC 1349 を参照しており、書かれた時点ですでに数年古くなっています。

于 2012-08-19T05:17:50.583 に答える