第4回:トランスポート層の理解(TCP/UDP)

ページ内に広告が含まれる場合がございます。

これまでのL1〜L3では、機器の接続・MACアドレス・IPルーティングといった、ネットワークの通り道を作ってきました。

今回はその上で、実際にアプリケーション同士が通信を行うためのルールを定める「トランスポート層(L4)」について解説します。

特に重要なのは、TCPとUDPの違いポート番号の理解です。

これはトラブル対応、ファイアウォール設計、提案資料の作成すべてに直結します。

L4(トランスポート層)の役割とは?

トランスポート層は、アプリケーション同士が通信するためのルール(セッション)を確立し、維持・制御する層です。

主な役割は以下の通り

機能内容例
通信の分割・再構成パケットを分割して送信し、受信側で正しく再構成
ポート番号による識別複数のアプリを識別し、正しく振り分ける
信頼性の制御確実に届ける or 多少のロスは許容するかを選択

TCPとUDPの違いとは?

トランスポート層の通信には、TCP(Transmission Control Protocol)UDP(User Datagram Protocol)の2つの方式があります。

TCP:信頼性重視の通信

特徴内容
コネクション型通信開始前に「3ウェイハンドシェイク」で接続を確立
再送制御パケットの欠損・順番のずれを補正
信頼性高い(遅くても確実に届く)
用途例Web(HTTP/HTTPS)、メール、SSH、FTPなど

UDP:速度重視の通信

特徴内容
コネクションレス接続を確立せず即送信
再送制御なし届かなくても気にしない
信頼性低い(ただし速い)
用途例DNS、DHCP、NTP、VoIP、ストリーミングなど

プリセールス向け補足

  • 「このサービスはTCP/UDPどちらを使用するのか?」を理解しておくと、ファイアウォール設計やACLの提案時に不可欠
  • 提案書ではTCP 443(HTTPS)UDP 161(SNMP)など、ポート番号と通信方式の組み合わせを明記するのが好ましい

ポート番号とは? 〜通信の“窓口”〜

IPアドレスが「宛先の住所」だとすれば、ポート番号は「宛先の部屋番号」です。

ポート番号の種類

種別範囲
ウェルノウンポート0〜1023HTTP(80), HTTPS(443), SSH(22)
登録済ポート1024〜49151MS SQL(1433), RDP(3389)
動的/私用ポート49152〜65535一時的なクライアント側ポート

例:Webアクセス時の通信構成

  • クライアント:192.168.10.5:54123(動的ポート)
  • サーバー:203.0.113.10:443(HTTPS)

→ クライアントからは「自分のランダムなポート」から「サーバーの固定ポート」に通信が発生

ファイアウォールとポート番号の関係

通信の可否を制御するファイアウォールでは、IPアドレスとポート番号の組み合わせで許可/拒否を定義します。

よく使うポートと用途(TCP/UDP)

ポート番号プロトコル用途
TCP 22SSHリモートログイン(Linux)
TCP 80HTTPWebサイト(非SSL)
TCP 443HTTPSWebサイト(SSL)
UDP 53DNS名前解決
UDP 123NTP時刻同期
UDP 161SNMPネットワーク監視

プリセールスの実務ポイント

  • 「このサービスはTCP or UDPどちらですか?」という顧客からの質問に即答できると信頼感アップ
  • 設計書や見積もり時、どのポートが空いている前提かを確認しないと、実装段階でNGが出るリスクあり

トラブル対応にも役立つ知識

サーバーにpingは通るが、アプリが使えない

  • L3はOK。L4でポートが閉じている可能性あり
  • 対応:telnet / nc コマンドでポート疎通を確認

クライアントが通信できたりできなかったりする

  • NAT機器やファイアウォールでのポートタイムアウトが疑わしい
  • 対応:セッション維持時間やロードバランサの設定を見直し

TCPの仕組みをもう少しだけ(3ウェイハンドシェイク)

TCP接続は、以下の3つのステップで確立されます

  1. クライアント → サーバへ SYN
  2. サーバ → クライアントへ SYN-ACK
  3. クライアント → サーバへ ACK

このやり取りが正常に行われて初めて、通信が始まります。

これにより「接続の確立」と「セッションの追跡」が可能となるわけです。

まとめ

トランスポート層の理解は、ネットワーク通信の「目的地(IP)」に対して「何を(アプリケーション)」使って通信するのかを知るための鍵です。

  • TCP/UDPの違い
  • ポート番号の役割
  • ファイアウォールやセキュリティ設計との関連性

を理解しておくことは、プリセールスにも実務エンジニアにも共通して必要な知識です。