TCP・UDP(トランスポート層)の基礎まとめ【ポート番号・通信方式を解説】

TCPとUDPに関するブログのアイキャッチ画像 ネットワーク
広告

 このページでは,基本情報技術者試験をはじめとする情報処理技術者試験で必須となる,TCP・UDP(トランスポート層)についてシンプルにまとめています。トランスポート層の役割やポート番号,コネクション型/コネクションレス型の違い,TCPの3ウェイハンドシェイク,UDPの特徴などを解説します。繰り返し読んで、確実に理解しましょう。

広告

トランスポート層とは(役割と機能)

 TCP/IPのトランスポート層は,OSI基本参照モデルのトランスポート層に相当します。役割は,ポート番号により通信をするアプリケーションを識別し,データの転送効率や信頼性を確保しながら,データ(セグメント)を送り届けることです。

※ トランスポート層のプロトコルにはTCPとUDPがあり,TCPにおけるデータをセグメント,UDPにおけるデータをデータグラムという

ポート番号とは(識別と利用)

 ポート番号は,通信をするアプリケーションを識別するための番号で,16ビット(2進数16桁)のビット列です。

ウェルノウンポート番号とは(よく使われる番号)

 ウェルノウンポート番号とは,インターネットでよく使われるアプリケーションのために予約されている0~1023までのポート番号のことをいいます。主に,次のようなものがあります。

ポート番号プロトコル名TCP/UDP
20FTP(データ転送)TCP
21FTP(制御)TCP
22SSHTCP
23TelnetTCP
25SMTPTCP
53DNSTCP/UDP
67DHCP(サーバー)UDP
68DHCP(クライアント)UDP
80HTTPTCP
110POP3TCP
123NTPUDP
443HTTPSTCP

 ポート番号の具体的な割り当てや通信の流れについては、「インターネットへの接続と通信の流れ(インターネットへの接続方法と通信の仕組み)」を参照してください。

コネクション型とコネクションレス型とは(違いと用途)

 コネクション型では,送受信する双方で論理的な通信回線を作るため,信頼性の高い通信が実現できます。ただし,制御情報を付加するため,伝送効率はよくありません。

 コネクションレス型では,コネクションを確立せず,送信側が一方的にデータを送信します。受信側が正常に受け取っているかは確認せず次々とデータを送るため,大量のデータを高速に送信することができます。動画など,データが多少消失してもスムーズに再生することを優先する場合に利用されます。

広告

TCP(Transmission Control Protocol)とは(信頼性と接続の仕組み)

 TCPは,コネクション型のプロトコルで,通信開始時には(ポート番号ごとに)3ウェイハンドシェイクによりコネクションを確立します。通信時にはデータの到達確認を行います(確認応答)が,受け取ったデータに過不足やエラーがあった場合には,必要に応じて送信元に再送要求します(再送制御)。また,分割して送信したデータを正しく並べ替える機能(順序制御)もあります。そのため,信頼性は確保できますが,通信速度は低下します。

3ウェイハンドシェイクによるコネクションの確立(接続確立のステップ)

 TCPは,3ウェイハンドシェイクという方法でコネクションを確立します。

※ 3ウェイハンドシェイクにより確立されるコネクションは,ソフトウェアが仮想的に作成する双方向,全二重の通信路(バーチャルサーキット)である

3ウェイハンドシェイクに関する説明画像

UDP(User Datagram Protocol)とは(コネクションレスの特徴)

 UDPは,コネクションレス型のプロトコルで,通信時には信頼性よりも効率を優先するため,データの到達確認は行いません。そのため,信頼性は劣りますが,通信速度は速いです。

まとめ

 今回は,TCP・UDP(トランスポート層)についてシンプルにまとめてみました。トランスポート層やポート番号,通信方式の違いを確実に理解できるよう,繰り返し確認しましょう。

 理解が進んだら,過去問題等にも挑戦してみてください。