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のパケットを送信した。

②(書いてないけど)BはAへNo.3の受信応答を送信したが、Aにたどり着かず。
AはNo.3送信後一定時間待ってもBから受信応答が来なかった。
③そのため、AはBへNo.3と同じパケット(No.4)を送信(再送)した。
図 演習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のパケットを送信した。

②BはAへNo.3の受信応答(No.4)を送信したが、Aにたどり着かず。
AはNo.3送信後一定時間待ってもBから受信応答が来なかった。
③そのため、AはBへNo.3と同じパケット(No.5)を送信(再送)した。
図 演習2の問2



コメント

このブログの人気の投稿

8月18日(水)1コマ目

6月7日(月)2コマ目

5月31日(月)2コマ目