ページ内に広告が含まれる場合がございます。
これまでの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〜1023 | HTTP(80), HTTPS(443), SSH(22) |
登録済ポート | 1024〜49151 | MS SQL(1433), RDP(3389) |
動的/私用ポート | 49152〜65535 | 一時的なクライアント側ポート |
例:Webアクセス時の通信構成
- クライアント:
192.168.10.5:54123
(動的ポート) - サーバー:
203.0.113.10:443
(HTTPS)
→ クライアントからは「自分のランダムなポート」から「サーバーの固定ポート」に通信が発生
ファイアウォールとポート番号の関係
通信の可否を制御するファイアウォールでは、IPアドレスとポート番号の組み合わせで許可/拒否を定義します。
よく使うポートと用途(TCP/UDP)
ポート番号 | プロトコル | 用途 |
---|---|---|
TCP 22 | SSH | リモートログイン(Linux) |
TCP 80 | HTTP | Webサイト(非SSL) |
TCP 443 | HTTPS | Webサイト(SSL) |
UDP 53 | DNS | 名前解決 |
UDP 123 | NTP | 時刻同期 |
UDP 161 | SNMP | ネットワーク監視 |
プリセールスの実務ポイント
- 「このサービスはTCP or UDPどちらですか?」という顧客からの質問に即答できると信頼感アップ
- 設計書や見積もり時、どのポートが空いている前提かを確認しないと、実装段階でNGが出るリスクあり
トラブル対応にも役立つ知識
サーバーにpingは通るが、アプリが使えない
- L3はOK。L4でポートが閉じている可能性あり
- 対応:telnet / nc コマンドでポート疎通を確認
クライアントが通信できたりできなかったりする
- NAT機器やファイアウォールでのポートタイムアウトが疑わしい
- 対応:セッション維持時間やロードバランサの設定を見直し
TCPの仕組みをもう少しだけ(3ウェイハンドシェイク)
TCP接続は、以下の3つのステップで確立されます
- クライアント → サーバへ
SYN
- サーバ → クライアントへ
SYN-ACK
- クライアント → サーバへ
ACK
このやり取りが正常に行われて初めて、通信が始まります。
これにより「接続の確立」と「セッションの追跡」が可能となるわけです。
まとめ
トランスポート層の理解は、ネットワーク通信の「目的地(IP)」に対して「何を(アプリケーション)」使って通信するのかを知るための鍵です。
- TCP/UDPの違い
- ポート番号の役割
- ファイアウォールやセキュリティ設計との関連性
を理解しておくことは、プリセールスにも実務エンジニアにも共通して必要な知識です。