ベストアンサー
PSHとACKは、TCPプロトコルのフラグです。これらのフラグは、TCPがクライアントとサーバー間で通信するための方法です。
ACKフラグは、SYN(同期)フラグが受信されたことをクライアントまたはサーバーに確認するために使用されます。 PSHフラグ(プッシュ)は、クライアント/サーバーに、バッファがいっぱいになっていない場合でも、受信アプリケーションに送信するように指示するために使用されます。これは通常、送信の最後に送信されるため、受信者はシステムは、データがバッファに到達しないときに、バッファがいっぱいになるのを待つことはありません。
したがって、システムAがシステムBからPSHフラグとACKフラグが設定されたTCPパケットを受信すると、ACK from BはAから受信した最後のSYNパケットを確認し、PSHはシステムAに、システムBはそれ以上何も送信しておらず、システムAは、バッファがいっぱいでなくても、データを要求したアプリケーションにデータを送信できることを通知します。
回答
「TCPのPSHACKとは」をグーグルで検索しました
次のようになりました:
[PSH、ACK] wiresharkキャプチャ
TCP RFCからも: RFC793-伝送制御プロトコル
Basic Data Transfer:
The TCP is able to transfer a continuous stream of octets in each direction between its users by packaging some number of octets into segments for transmission through the internet system. In general, the TCPs decide when to block and forward data at their own convenience.
Sometimes users need to be sure that all the data they have submitted to the TCP has been transmitted. For this purpose a push function is defined. To assure that data submitted to a TCP is actually transmitted the sending user indicates that it should be pushed through to the receiving user. A push causes the TCPs to promptly forward and deliver data up to that point to the receiver.
The exact push point might not be visible to the receiving user and the push function does not supply a record boundary marker.
ACKビットが設定されているということは、確認応答フィールドのデータが有効であることを意味します。
10万個のTCPパケットのキャプチャとクイックルックを実行しました。 ACKが設定されていないパケットはいくつかのSYN / FINパケットのみであることが示されました。
ここで、SYNまたはFINとは何かを別の質問をしないでください。 RFCを読んでください。
バジリオンの初心者に質問することは、人々があなたの質問を軽蔑し、フィードからあなたを黙らせて、あなたが尋ねた質問を見たり答えたりしないようにするための公式です。
複雑で有用な質問に答える知識を持っている人々の時間を尊重してください。
それだけで、私のフィードからあなたを黙らせます。