初心者質問:誰が正確にACK、トランスポート層またはアプリを送信しますか?パーティクルカウンターを持つCOMサーバーを使用して、アプリケーションにデータを送信します。時々私は失われたデータを持っています。 Wiresharkプロトコルをチェックすると、パケットはCOMサーバーから送信されたが、受信者からのACKは失敗したことがわかります。私のプログラムにはエラーがあり、データを適切に編集できないため、ACKが欠落していると思います。私の同僚は、インターフェイス(ソケット)は単にデータを取得せず、ACKを返すことができないと言います。誰が正しい?TCP/IP ACK送信者:トランスポート層またはアプリですか?
0
A
答えて
2
TCPはトランスポート層プロトコルです。 ACKはTCPの一部です。したがって、ACKはトランスポート層の一部であり、そこに送信されます。
トランスポート層(つまり、ユーザー空間のTCP実装)を含むアプリがあるかもしれません。その場合、ACKはアプリケーションによって送信されますが、アプリケーション層ではなくトランスポート層に送信されます。しかし、ほとんどの場合、TCPはカーネルに実装されているため、アプリの外にあります。これらのレイヤーの詳細については、OSI or TCP/IP modelを参照してください。
私の同僚は、インターフェイス(ソケット)は単にデータを取得せず、ACKを返すことができないと言います。誰が正しい?
ユーザー空間TCP実装を使用していないと仮定すると、OSカーネルは、これらのデータがアプリケーションのソケットバッファに入れられるとすぐにデータをACKします。ソケットバッファにパケットを書き込めなかった場合、つまりアプリケーションがデータを読み取れなかったためにソケットバッファがいっぱいになった場合、パケットをACKしません。この場合、ピアはもはやデータを送信しないようにウィンドウを縮小します。
関連する問題
- 1. データリンク層とトランスポート層
- 2. インターネット層またはトランスポート層でチェックサムが実行されましたか?
- 3. ICMPはトランスポート層プロトコルですか?
- 4. Genicamトランスポート層
- 5. Unity2D:UNETトランスポート層APIサーバスクリプトが適切にメッセージを送信していません
- 6. winsock、RST、ACKまたはRSTパケットを送信する方法
- 7. トランスポート層は、データグラムパケットから送信元IPアドレスをどのように取得しますか?
- 8. どちらがssh、送信者または受信者のサーバーですか?
- 9. WebRTC:トランスポート層で動作するSFUはありますか?
- 10. etcdノードがハートビートを送信するときの基礎となるトランスポート層プロトコルは何ですか
- 11. トランスポート層はどこで動作しますか?
- 12. ZabbixにTCPIPソケット経由でデータを送信する
- 13. なぜ "(UIButton *)送信者"で、 "UIButton *送信者"ではないのですか?
- 14. 受信者または送信者の名前でPythonからウムラウトを使用して電子メールを送信
- 15. Appleの「管理者」アカウントは、Apple Storeにアプリを送信できますか?
- 16. クライアントはサーバに遅延FIN ACK(〜500ms)を送信します
- 17. トランスポート層セキュリティ(TLS)の例?
- 18. WCFトランスポート層のセキュリティ問題
- 19. in - (IBAction)アクションの(id)送信者とは何ですか?(id)送信者。
- 20. HTTP2サーバがFIN/ACKを送信し、その後にRSTを送信します。
- 21. GoogleCast-SDK v3を使用してiOS送信者から受信者アプリにJSONを送信
- 22. chrome.tabs.sendMessageは、送信者
- 23. サーバはSYN + ACKを送信しません
- 24. 私のSocket.io Expressアプリが「送信者」のクライアントに送信するのはなぜですか?
- 25. クライアントからSYNを受信した後に、SYN/ACKを送信しないのはなぜですか?
- 26. サービス層またはコントローラ層で電子メールを送信する必要がありますか?
- 27. iOS Mailアプリで送信者のロゴを変更する
- 28. Outlook自動転送は、転送者ではなく元の送信者に返信を設定します
- 29. Websocketクライアントがハンドシェークの直後に[FIN、ACK]を送信します
- 30. ...送信者
TCPリファレンスモデルを参照してください。 OSIモデルは存在しません。現実の世界の何かを参照するのではなく、参照モデルが時間的に先行するTCPはもちろんのことです。 – EJP