今日、やったこと [TCP]シーケンス番号・確認応答番号+再送 今日のホワイトボード [練習問題]シーケンス番号・確認応答番号 練習問題2 問1 データが受信できなかったケース データを受信しなければ受信応答も返信できません。 よって、データ送信側は待っていても受信応答が来ません。 受信応答が来ない場合、データを再送します。 図 データが受信できなかったケース 図 受信応答が来ないときは 問2 受信応答が受信できなかったケース データを受信し、受信応答を返信しても、受信応答が受信できない場合もデータが再送されます。 ただ、受信側は同じデータを重複して受信することになります。 同じデータだとわかるところがポイントです。シーケンス番号が同じ=同じデータです。 図 受信応答が受信できなかったケース 図 同じデータがやってきた [練習問題]シーケンス番号・確認応答番号 練習問題3 練習問題2でデータの再送が発生するケースを確認。 受信応答が来なければ再送 受信応答を返信しても到達しなければ同じデータを受信する 同じデータかはシーケンス番号で判断 問1 ②の受信NGがポイント。受信応答が受信できなかったため、再送する(③のパケット)。 図 データ受信->受信応答送信->受信失敗->再送 問2 ①の受信NGがポイント。データを受信できなかったため、受信応答も送信しない。よって、再送する(②のパケット)。 図 データが受信できない->受信応答なし->再送 TCPパケット確認 Webアクセス時に実際にやりとりされるパケットのTCPヘッダに注目して、コネクション確立やシーケンス番号、確認応答番号を確認。 TCPヘッダのコントロールフラグ コントロールフラグとかコントロールビットと呼ぶ。 パケットキャプチャツールでは項目名が"Flags"になっている。 各ビットに下図のように役割が与えられている。 図 TCPヘッダのコントロールフラグ(コントロールビット) 次回は テストをします。 TCPパケット確認の続きをやります。