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

 ポート番号の具体的な割り当てや通信の流れについては、「インターネットへの接続と通信の流れ-インターネットへの接続 -情報処理シンプルまとめ」を参照してください。

インターネットへの接続と通信の流れ -情報処理シンプルまとめ
基本情報技術者試験など情報処理技術者試験を受験する方にとっては必須の,インターネットへの接続と通信の流れについてシンプルにまとめています。まず,コンピューターネットワークの種類について説明し,その後,端末をインターネットに接続する方法と通信の流れについて,具体例を載せて全体像を把握できるように説明しています。コンピューターネットワークの種類については,LAN,WAN,インターネットと,インターネットの構成(ISP(インターネットサービスプロバイダ―),IX,IDX,ピアリング),インターネットに接続しないネットワーク(イントラネット,エクストラネット)を説明しています。端末をインターネットに接続する具体例については,インターネットへの接続と設定(ISPとの契約,端末の設置と接続,IPアドレスの設定(グローバルIPアドレスの設定,プライベートIPアドレスの設定,デフォルトゲートウェイの設定)),通信に必要な情報(ルーターで管理する情報(フィルタリングテーブル,NATテーブル,ARPテーブル,MACアドレステーブル),スイッチで管理する情報(MACアドレステーブル),DMZに設置したWebサーバーや端末(PC)などで管理する情報(ARPテーブル),無線LAN端末で管理する情報(BSSIDやESSIDの設定,ARPテーブル)の説明をしたあと,①内部ネットワークに1台の端末を設置してインターネット上のWebサーバーに対して通信する場合の流れ,②内部ネットワークに有線・無線の複数の端末を設置してインターネット上のWebサーバーに対して通信する場合の流れ,③内部ネットワークの端末同士で通信する場合の流れ,④DMZにWebサーバーを設置して内部ネットワークの端末や外部から通信する場合の流れについて説明しています。ややこしいと思いますが,この分野は,全体像が掴みにくいのではないかと思いますので,ここで把握してから個々の内容に進むのがよいと思います。じっくり頑張りましょう。

コネクション型とコネクションレス型

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

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

TCP(Transmission Control Protocol)

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

3ウェイハンドシェイクによるコネクションの確立

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

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

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

UDP(User Datagram Protocol)

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

まとめ

 今回は,TCPとUDPついて,シンプルにまとめてみました。確実に理解しておくべき内容ですので,繰り返し頑張りましょう。