TCP/UDP - 仮想コネクションの確立

 

信頼性を高めるための方法

TCP では信頼性を向上させるために以下の 3 つの技術を採用しています。

  • 相手が通信可能かどうかを確認する機能
    仮想コネクションの確立
  • 相手にパケットが届いたかどうかを確認する機能
    ACK による到達確認
  • 相手の処理能力に合わせてデータサイズを調整する機能
    ウインドウサイズを利用したフロー制御

この中から、今回は「仮想コネクションの確立」について解説していきます。

 

相手が通信可能かどうかを確認する機能(仮想コネクションの確立)

ノード A,B 間で通信を行う場合を例にとって説明していきましょう。

送信側であるノード A が、受信側ノード B へデータを送りたいと
考えたときに、ノード B が受信可能かどうかも分からずに、
データを送ったらどうなるでしょう?

ノード B が受信可能であれば、問題ありませんが、ノード B の電源が
入っていなかったり、ネットワークに接続されていなかったりした場合は、
当然データは届きません。

そんな問題を解決するために、TCP では相手が通信可能かどうかを
事前に確認し、通信可能であればデータのやり取りを行い、
通信不可能であれば通信可能に成るまで待機するか、一定時間後に
再送信を行う機能が備わっています。

この機能の事を「仮想コネクションの確立」といいます。

この「仮想コネクションの確立」を、「3 ウェイハンドシェイク」と
呼ばれる方法でノード間でやり取りされます。

 

3 ウェイハンドシェイク

3 ウェイハンドシェイクはその名の通り、パケットのやり取りを 3 回
行う事から呼ばれています。

具体的なやり取りは以下の通り。

 

3ウェイハンドシェイク

 

まず、送信側ノードから、接続要求のパケット(SYN)を
受信側ノードへ送ります。

SYN を受け取ったノードは接続可能であれば、接続許可(Ack)及び、
接続要求のパケット(SYN)を組み合わせたパケットを返信します。

受信側からも SYN パケットを送る理由は、TCP は双方向の通信のため、
受信側からも仮想コネクションの確立をする必要があるためです。

最後に、送信側からも接続許可パケット(Ack)を送り、
仮想コネクションが確立されます。

 

関連記事

トランスポート層(レイヤ 4)の役割
トランスポート層(レイヤ 4)の役割について

ポート番号
ポート番号について

コネクションとコネクションレス
コネクションとコネクションレスについて

UDP
UDPについて

TCP ヘッダ
TCP ヘッダについて

仮想コネクションの確立
TCP ヘッダについて

ACK による到達確認
TCP ヘッダについて

ウインドウサイズを利用したフロー制御
TCP ヘッダについて

TCPウインドウ制御
TCPウインドウ制御とスライディング・ウインドウについて

メールマガジン

ネットワ-ク初心者のみなさま。
ネットワークの基礎知識を疎かにすることは
大変危険です!!

「初心者にも理解できるネットワーク技術」

これを読めばネットワークの基礎が分かる!!
ネットワーク関連の仕事に就きたいとお考えの学生の方や、ネットワークに興味があって転職を考えている社会人の方、まずは登録してみてください。

もちろん無料です!!

↓メールマガジン購読はこちら↓

メールアドレス: