記憶術で覚えるTCP/IP⑤トランスポート層TCP

今回はトランスポート層のTCPです。

試験に合格する上でTCP/IPで押さえておくべきキーワードを記憶術を使ったりして覚えやすいようにしていきます。ここでの記憶術と言っているのは、イメージ図や語呂合わせなどを使います。少しでもあなたが記憶に残るように書いていきます。

TCP/IPの項目でCCNA ICND1の試験に合格する上で覚える必要がある項目を列挙します

覚える項目は以下の通りです。

TCPの概要

TCPは、コネクション型のプロトコルです。データを相手に送信する前に通信する相手と事前にコネクションを確立します。そのため、通信の信頼性が向上します。では、通信の信頼性を向上させるTCPを見ていきましょう。

コネクションの確立

TCPは、データを送信する前に事前に相手とコネクションを確立しておきます。このコネクションを確立しておくことを3ウェイハンドシェイクと呼びます。この単語、重要なので覚えましょう!

3ウェイハンドシェイク

簡単にいうと、通信する相手同士が①接続していいですか?②いいですよ、こちらも接続していいですか?③いいですよ。という3つのやり取りをしてコネクションを確立します。

ホストA①接続していいですか?—>ホストB

ホストA<-②いいですよ、こちらも接続していいですか?—ホストB

ホストA③いいですよ。—>ホストB
<–3ウェイハンドシェイク確立–>

この3ウェイハンドシェイクで覚えなきゃならないのは、制御ビットです。ここで使用する制御ビットは、SYN(シン)とACK(アック)です。かっこの中のカタカナが読み方です。このSYNとACKの値が10によって、上記でいうと、①接続していいですか?なのか②いいですよ、こちらも接続していいですか?ということがわかります。

SYNは、TCPの接続で使用するもの、ACKは、応答するものと覚えてください。

ではそれぞれ、SYNとACKがどういう数値になるか見てみます。

①接続していいですか?→SYN:1 ACK:0

②いいですよ、こちらも接続していいですか?→SYN:1 ACK:1

③いいですよ。→SYN:0 ACK:1

これだけで覚えるのは、辛いので私はこうやって覚えました。

シンイチ、シンイチアクイチ、アクイチ

シンイチは、SYN:1。アクイチはACK:1の事です。0は覚えません。無視。

データの転送と終了

3ウェイハンドシェイクでコネクション確立後、データの送信です。通信が終わるとコネクションを終了します。

データ送信中の制御ビットで1になるのは、ACK:1だけです。SYNは0です。データ送信中はアクイチで覚えましょう。

コネクションを終了する時の制御ビットが、FINを使用します。FINは、FINISHなので終了というイメージが出ると思います。

なお、コネクションを終了するときは、4回会話します。3ウェイハンドシェイクは3回でしたね。

2つのホストがあった場合、やり取りはこんな感じになります。

ホストA①切断していいですか?→FIN:1 ACK:1

ホストB②いいですよー!→FIN:0 ACK:1

ホストB③こちらも切断していいですか?→FIN:1 ACK:1

ホストA④いいですよー!→FIN:0 ACK:1

ここを覚えるには3点がポイントです。

(1)コネクション終了時には4回会話して同じことが2回繰り返される

(2)切断していいですか?のときは、フィンイチアクイチ

(3)いいですよのときは、アクイチになるの3点です。

順序制御と確認応答

データは、一回で終わるわけではなく、決められたサイズに分割して送信されます。1つのTCPセグメントで運べるサイズをMSS (Maximum Segment Size)と言います。IPヘッダ、TCPヘッダを除いたデータのサイズです。

分割して送信されたデータは、受け取ったホスト側で正しい順序にします。これを順序制御といいます。また、お互いデータの送信をするときには確認応答しながらデータのやり取りをします。

TCPヘッダには、シーケンス番号と確認応答番号はあります。順序制御と確認応答にはここに番号を入れて通信します。これらの番号があるおかげで正しい順序なのかわかるわけですね。

再送制御

データを送信側は、再送タイマーを設定して、一定時間に確認応答がこないと再送します。これを再送制御と言います。

ウィンドウ制御(フロー制御)

ウィンドウ制御は、相手の確認を待たずに送信できるデータのサイズです。例えば、ウィンドウサイズが2000バイトと決めれていれば、送信側は、確認応答を待たずに2000バイトまでデータを送信します。2000バイト以上は、相手からの確認応答が届いてから送信をします。

この確認を待たずに送信することをスライディングウィンドウと言います。私はサッカーが好きなので、確認を待たないでスライディングするぜー!食らえ、スライディングウィンドウ!と覚えました。