イーサネットで過度に再送信

イーサネットで過度に再送信

イーサネットのCSMA / CAバリアントは、反復的な衝突による過度の伝送障害を処理します。現在のフレームを破棄し、再送信のために上位レイヤに依存します。:

16回試行した後、Bilibiliは衝突カウンターをリセットし、さらに積極的に競争することができます。ただし、送信したいフレームも削除されるため、ソフトウェアは送信のためにそのフレームをキューに戻す必要があります。

最新(トランジション)イーサネットでは、CSMA / CAは廃止され、ソースに記載されているチャネルキャプチャ効果が発生しないことがわかりましたが、この場合、Linuxカーネルを介して達成されたネットワーク層の分離と相互作用を理解しようとしています。しています。実行。

Linuxでは、これらの再送信はどの層で処理されますか? IP層で実行されますか、またはEthernetフレームが破棄され、ネットワーク層パケットとTCPセグメントまたはUDPデータグラムが破棄されるのですか?

2つの方法の違いは、2番目のケースでは、過度の再試行が輻輳として解釈され、TCP輻輳ウィンドウのサイズが減少するようです。これは起こりますか、削除されたフレームはTCPに透過的ですか?

答え1

IPは配信を保証せず、実際にIP上に構築された多くのプロトコル(おそらく最も顕著なUDP)はそのような保証を提供しません。

TCP/IPの配信保証はTCPによって処理されます。TCPは配信保証プロトコルで動作できますが、設計された方法ではこれを必要としません。基本プロトコルが転送を保証しない場合、TCP は転送を保証します。

したがって、TCP / IPの通常の条件下でイーサネットフレームが失われると、IPパケットは失われたり破損したり、それが再び失われたり破損したTCPまたはUDPパケットに変換されます。 TCP(または配信保証を提供する他のプロトコル)の場合、TCPは障害を検出して送信を再試行する役割を果たします。

これにはプロトコル自体が含まれているため、オペレーティングシステムやIPスタックの実装とは関係ありません。下位レベル(IP以下)送信失敗を検出しないすべてのTCP実装は仕様に違反します。

さらに、完全な競合はパケットが破損または破損する1つの方法に過ぎず、TCPはこれを防止することはできず、検出(および対応)のみすることができます。 IP は、イーサネットではなく通信事業者でも機能します。RFC 1149例えば。

関連情報