7月5日(水)4コマ目
今日、やったこと
- TCPのコネクション確立
- TCPのシーケンス番号、確認応答番号
今日のホワイトボード
TCPのコネクション確立
TCPはいきなりデータを送らずに、まずコネクション確立で相手が受信可能か確認する。
![]() |
| 図 TCPのコネクション確立 |
![]() |
| 図 コネクション確立のながれ |
TCPの特徴① 大きなデータを効率よく送る
大きなデータをそのまま送信する場合、送信中に数ビットのエラーが起きても、大きなデータを再送することになり、非常に効率が悪い。
そこで、分割して送信するが、分割すると送信順と同じ順序で受信できるわけではない。そのため、受信側が元通りに組み立て直すことができる仕組みが必要になる。
これを実現すつのがTCPヘッダ内のシーケンス番号。
シーケンス番号は「このパケットはxxxバイト目のデータ」を表す。
![]() |
| 図 TCPの特徴① 大きなデータを分割して送信 |
TCPの特徴② 大きなデータを確実に送る
データを確実に届けるには受信したことを送信側に伝えればいい。
そこで、TCPはデータを受信すると、受信応答を送信している。
![]() |
| 図 TCPの特徴② データを受信したら受信応答を返す |
シーケンス番号、確認応答番号を使う
TCPヘッダ内のシーケンス番号、確認応答番号を使って
シーケンス番号で何バイト目のデータかを伝える
確認応答番号で何バイト目から送信してほしいかを伝える
=何バイト目まで受信しているかを伝える
パケット送受信に伴うシーケンス番号、確認応答番号の推移をシミュレーションしてもらいました。
問1
![]() |
| 図 [練習問題]シーケンス番号、確認応答番号の推移 問1 |
次回は
シーケンス番号、確認応答番号の続きをやります。





