7月19日(月)4コマ目
今日、やったこと
- TCPのシーケンス番号、確認応答番号
- パケット未着時のシーケンス番号、確認応答番号
今日のホワイトボード
基本的なシーケンス番号と確認応答番号の変化
前回配布した「TCPシーケンス番号、確認応答番号 演習 その1」の問2以降をやりました。
問2
問1はデータ送信はAだけでしたが、問2ではBもデータを送信しています。
No.2、No.3はBが連続してAへパケットを送信していますが、
- No.2のパケットはNo.1の受信応答
- No.3のパケットはAへデータ送信
です。
![]() |
| 図 演習1の問2 |
問3
問2と同じようにBもAへデータ送信しています。
No.2のパケットは
- No.1の受信応答
- データ送信
の2つの役割があります。
同様に、No.3のパケットも
- No.2の受信応答
- データ送信
の2つの役割があります。
![]() |
| 図 演習1の問3 |
問4
特にややこしいことはないかと思います。
![]() |
| 図 演習1の問4 |
パケット未着の場合
送信したパケットは必ず相手に届く保証は残念ながらありません。
そのため、TCPは以下をやっています。
- データ送信後、一定時間の間に相手から受信応答がなければ再送する
- 同じシーケンス番号のパケットを複数回受信した=受信応答が未達と判断し破棄する
この仕組みで相手に確実にデータを届ける+シーケンス番号で受信データを確実にもとの状態に戻すことができます。
「TCPシーケンス番号、確認応答番号 演習 その2」をやりました。
問1
No.4はNo.3と同じパケット(シーケンス番号、データサイズが同じ)です。
これは以下の2種類のシナリオが考えられます。
[シナリオ1]No.3のパケットはBにたどり着かなかった
①AがNo.3のパケットを送信した。
②送信後、一定時間が経過しても受信応答がBから届かなかった。
③そのため、AはBへNo.3と同じパケット(No.4)を送信(再送)した。
[シナリオ2]BはNo.3の受信応答(No.4)を送信したがAにたどり着かなかった
①AがNo.3のパケットを送信した。
![]() |
| 図 演習2の問1 |
問2
ぱっと見、A->B、B->Aと交互にやりとりをしているため、順調に送受信できているように見えます。
ポイントはNo.4のパケットです。No.2と同じパケットです。
これも以下の2種類のシナリオが考えられます。
[シナリオ1]No.3のパケットはBにたどり着かなかった
①AがNo.3のパケットを送信した。
②送信後、一定時間が経過しても受信応答がBから届かなかった。
③そのため、AはBへNo.3と同じパケットを送信(再送)した。
[シナリオ2]BはNo.3の受信応答(No.4)を送信したがAにたどり着かなかった
①AがNo.3のパケットを送信した。
![]() |
| 図 演習2の問2 |





コメント