TCPヘッダ復習問題その1
目次
TCPヘッダ復習問題その2
■以下のTCPヘッダについての説明の文章中の空欄を下のKey Wordsから選択して埋めてください。なお、Key Wordsは複数回使われるものもありますし、1度も使われないものもあります。
※TCPヘッダのフォーマットは以下の通りです。
「送信元ポート番号」「送信先ポート番号」は通信をしている(「アプリケーション」)を識別するための情報です。通常は、1台のコンピュータで複数の(「アプリケーション」)が動作しています。たとえば、ブラウザやメールソフトなど。ブラウザにメールソフトのデータが届いても困りますし、メールソフトにブラウザのデータが届いても困ります。ただしいアプリケーションにデータを送り届けるためにポート番号が使われます。
ポート番号は(「0」)から(「1023」)でサーバアプリケーションを識別するための(「ウェルノウンポート番号」)と(「1024」)以上でクライアントアプリケーションを識別するための(「ランダムポート番号」)があります。
主なウェルノウンポート番号は次の通りです。
HTTP:(「80」)
(「FTP」):20/21
SMTP:(「25」)
POP3:(「110」)
(「TELNET」):23
TCPは(「コネクション型プロトコル」)です。「シーケンス番号」「ACK番号」はコネクションの確立、TCPセグメントの順序制御、確認応答を行うために利用されます。ちなみに、セグメントとはトランスポート層の(「PDU」)の名称です。
「シーケンス番号」はTCPセグメントの番号です。そして、「ACK番号」は次に送って欲しいセグメントの(「シーケンス番号」)です。たとえば、シーケンス番号100で10バイトのデータを受信すると(「確認応答」)として、ACK番号(「110」)を返していきます。シーケンス番号100から10バイトはきちんと受け取ることができたので、次はシーケンス番号110から送ってくださいという意味です。
また、(「エラー制御」)もシーケンス番号とACK番号で行います。TCPではセグメントを送ってから一定時間内に(「確認応答」)が返ってこないとエラーとみなします。この一定時間はネットワークの状況によって、送信元が(「動的」)に決定していきます。
経路の途中でデータがなくなってしまった場合、送信先に届きません。その場合は、もちろんACKが返ってこないです。また、送信先に届いても、エラーチェックを行うとエラーがあった!というときには、ACKを返しません。
ACKが返ってこなければ、送信元は(「エラー」)とみなしてもう一度セグメントを再送信します。
TCPでは、このように(「シーケンス番号」)と(「ACK番号」)を使って、セグメントの順序制御および(「エラー制御」)を行います。
では、シーケンス番号、ACK番号は最初いくつから始まるのか?
これを決定するのが(「3ウェイハンドシェイク」)です。TCPのコネクション確立の過程を(「3ウェイハンドシェイク」)と呼んでいます。3ウェイハンドシェイクによって、これからの通信に使うシーケンス番号、ACK番号を決めていきます。
「データオフセット」は実際のデータがどこから始まるのかということを示すためのポインタです。早い話が、データオフセットは(「ヘッダ長」)になります。ただし、(「4バイト」)単位です。通常は、TCPヘッダは(「20バイト」)の大きさなので、データオフセットには(「5」)が入ります。
「予約」は0で固定です。
Key Words
「4バイト」「エラー制御」「110」「23」「TFTP」「5」「ヘッダ長」「データ長」「80」「TELNET」「1024」「6」「20バイト」「セグメント長」「順序制御」「32バイト」「ACK番号」「3ウェイハンドシェイク」「シーケンス番号」「マックシェイク」「25」「FTP」「シーラカンス番号」「エラー」「正常」「UDP」「RIP」「コネクションレス型プロトコル」「ホスト」「OS」「コネクション型プロトコル」「0」「アプリケーション」「1023」「ウェルノウンポート番号」「BPDU」「ランダムポート番号」「PDU」「確認応答」「動的」「静的」「20バイト」