TCPとUDPはネットワーク通信の基本プロトコルだ。多くのサービスはどちらか一方を使うが、DNSは例外的に両方を使い分ける。まずTCPとUDPの違いを押さえておこう。
ネットワークの運用に欠かせない基礎知識の一つとして、トランスポート層(OSI参照モデルの第4層)のプロトコルである「TCP」(Transmission Control Protocol)と、「UDP」(User Datagram Protocol)がある。多くのサービスではどちらか一方のプロトコルが使われるが、インターネット上でドメイン名とIPアドレスを対応付ける仕組みである「DNS」(Domain Name System)では、TCPとUDPの両方が使い分けられる。
DNSがなぜTCPとUDPの両方を使用するのかを理解するには、まずは基本となるTCPとUDPの通信の違いを押さえておく必要がある。本稿はネットワークサービスを識別する「ポート番号」の役割と併せて、TCPとUDPの違いを解説する。
TCPとUDPは、どちらもトランスポート層に属するプロトコルだ。TCPは通信の開始から終了まで接続を維持する「コネクション型」であり、UDPは接続を確立せずにデータを送る「コネクションレス型」で通信を制御する。
TCPは送信元と送信先の間で接続を確立し、データのやりとりを管理する。この接続があることでパケットの欠落を検出し、必要に応じてデータを再送信できる。送信した全てのデータが受信されることを保証するので、TCPの通信は信頼性が高い。
ただし、この信頼性を確保するには負荷がかかる。TCPのパケットはヘッダが比較的大きく、接続確立やデータ完全性の確認といった処理でオーバーヘッド(余分な処理負荷)が発生する。それでも、このレベルの信頼性は、多くのネットワーク通信において欠かせない要素だ。
TCPを利用して動作するプロトコルには、メールを送信するためのプロトコル「SMTP」(Simple Mail Transfer Protocol)や、Webページの情報を送受信するためのプロトコル「HTTP」(Hypertext Transfer Protocol)がある。
UDPはベストエフォート型のプロトコルだ。このプロトコルは、情報を確実に届けるための接続を維持せずにデータを送信する。そのため失われたパケットの再送のような信頼性を高める保証はないが、処理が軽く高速に通信できるという利点がある。
現代のネットワークは比較的信頼性が高いため、ほとんどのデータは送信先に到着する。UDPは特に通信の速さが必要な用途で有用だ。
軽量なファイル転送プロトコルである「TFTP」(Trivial File Transfer Protocol)は、UDPによるコネクションレス型通信を利用する。設定ファイルやブートイメージ(コンピュータの起動に必要なプログラム)など、小さなファイルをネットワーク機器間でやりとりする用途に使われる。
コンピュータは、まずIPアドレスで通信相手を特定する。さらにネットワークでは、その相手の中のどのアプリケーションやサービスにデータを渡すのかを、「ポート番号」という数字で識別している。例えば、HTTPは「ポート80」を使用し、HTTPに暗号化機能を追加した「HTTPS」(Hypertext Transfer Protocol Secure)は「ポート443」を使用する。
一般的なポートと、それに関連するトランスポート層プロトコルおよびサービス名を以下に挙げる。
こうしてTCPとUDPのいずれかを使用することが多い中で、DNSはポート53/TCPとポート53/UDPの両方を使用するという点で際立っている。
次回の後編では、DNSがなぜTCPとUDPの両方を使用するのかを解説する。
Copyright © ITmedia, Inc. All Rights Reserved.
なぜクラウド全盛の今「メインフレーム」が再び脚光を浴びるのか
メインフレームを支える人材の高齢化が進み、企業の基幹IT運用に大きなリスクが迫っている。一方で、メインフレームは再評価の時を迎えている。

「サイト内検索」&「ライブチャット」売れ筋TOP5(2025年5月)
今週は、サイト内検索ツールとライブチャットの国内売れ筋TOP5をそれぞれ紹介します。

「ECプラットフォーム」売れ筋TOP10(2025年5月)
今週は、ECプラットフォーム製品(ECサイト構築ツール)の国内売れ筋TOP10を紹介します。

「パーソナライゼーション」&「A/Bテスト」ツール売れ筋TOP5(2025年5月)
今週は、パーソナライゼーション製品と「A/Bテスト」ツールの国内売れ筋各TOP5を紹介し...