2016-05-15 10 views
0

TCPは、送信アプリケーションと受信アプリケーション間のデータ転送を進めるために肯定応答を使用することを知りました。クロック割り込みと確認応答はTCPで同じですか?

したがって、肯定応答は、送信アプリケーションにさらにパッケージを送信するよう通知するクロック割り込みとして機能しますか?

This is image

答えて

1

のTCPのACKは、他のパケットと同様にネットワークパケットです。それをACKにするのは、TCPヘッダーの特定のビットです。このビットは、カーネル内のネットワーキングプロトコルスタックに対して意味を持ちます。 NICがTCPを理解しない、または気にしないため、NICには何も意味しません。 NICには、システムに送信する必要がある別のパケットだけです。これは、NICがパケットをシステムに提供するために使用する通常のメカニズムによって達成されます。

通常、これは受信したパケットをDMAリングバッファに入れ、割り込みを通知してバッファを廃棄する必要があることをシステムに通知します。しかし、この方法で動作する必要はなく、特定のNICとホストシステムに依存します。カーネルドライバを書くのでなければ、心配する必要はありません。

+0

送信者のソケットバッファからNICに転送されるパケットをより多くトリガーするクロック割り込みがありますか?クロックインタラプトをトリガするためにアクノレッジメントが使用されていますか? – donkey

+0

いいえ。TCPの実装はカーネルで完全に処理されます。カーネルのTCPスタックがACKを待っていて、NICに到着すると、NICはパケットをカーネルに送信します(パケットが何ビットかのパケットであることを理解することなく)、カーネルは、ACKとして解釈それを行う必要があるものは何でも簿記行い、その後、そこにカーネルのソケットの書き込みバッファで待機しているものだとTCPスタックは、それがの状態与えそうすることが適切だと判断した場合に送信するためにNICに多くのパケットを送り返します接続。 – TypeIA

+0

要約すると、ACKとクロックの割り込みは2つの異なるものですか? – donkey

関連する問題