本文へ移動

インフラ転職コンパスわからないところから、ひとつずつ。

メニュー

ポート番号とは?TCPとUDPの違い・番号一覧・プロトコル番号との違い

動画と記事で学ぶ / IP・通信プロトコル

ポート番号をCCNA初学者向けに説明。IPとの役割の違い、送信元と宛先の往復、TCP/UDP、代表番号、FWへの記入と接続確認を例で学べます。

ここからは、記事でゆっくり確かめましょう。図や操作の例を見ながら、気になるところから読み進めてください。

「443番を開けてください」と言われても、どのPCからどのサーバーへ、TCPなのかUDPなのかが分からないと、許可する通信を決められません。

ポート番号は、PCやサーバーの中で通信の受け口を区別する番号です。ケーブルを挿す口とは別の意味です。PCからWebへ接続する往復を例に、IP・ポート・プロトコルを組み合わせて読むところから始めます。

ポート番号:要求と応答で左右が入れ替わる。51000は説明用の一時ポート。実際の範囲は端末OS・設定で異なります。 TCP/443とUDP/443は別の通信条件です。
図:エンジニアクルー作成。タップすると拡大できます。図中のIPは説明用のプライベートIPv4アドレスです。

要求と応答で、送信元・宛先は入れ替わる

IPはどの機器へ届けるか、ポート番号はその機器のどの通信の受け口を使うかを読む材料です。今回のPCは172.27.81.15、Webサーバーは172.27.92.25。サーバーの443番へ接続します。

PC側にも番号があります。例では51000を使っています。これは接続時にOSなどが選ぶ一時的な番号で、毎回51000に固定されるという意味ではありません。

用語の補足:待ち受けって何?

サーバーのサービスが、そのIP・ポートへの接続やデータを受け取れるよう準備している状態です。サービスが動いていても、待ち受けるIPやOSのFW条件が合わなければ、外から使えない場合があります。

方向 送信元 宛先
要求 172.27.81.15:51000 172.27.92.25:443
応答 172.27.92.25:443 172.27.81.15:51000

要求ではPCの51000からサーバーの443へ、応答ではサーバーの443からPCの51000へ送ります。応答になると送信元と宛先が入れ替わるので、キャプチャでも同じ組み合わせの往復を追えます。

サーバーが待ち受けるとは、そのIP・ポートでサービスが受け取れるよう準備していることです。途中のFWが許可しても、サーバーの待ち受けがなければ接続は成功しません。番号は、通信を読む情報であり、サービスの動作を保証する印ではありません。

443番でも、TCPとUDPは区別する

ポート番号だけでなく、TCPかUDPかもそろえます。TCP/443とUDP/443は別の通信条件です。同じ443という数字を使っていても、TCPのルールでUDPまで許可されるとは限りません。

TCPは接続や順序、再送を扱い、UDPはTCPのような接続開始の手順を持ちません。アプリがどちらを使うかによって、調べるパケットや待ち受けの確認も変わります。

Webでも、HTTP/3はQUICを使いUDPで通信します。「HTTPSだから必ずTCP/443」と決めてしまうと、実際の方式と許可条件が食い違う場合があります。まず今回のアプリと設定で使う方式を確かめます。

会話や資料でも、「443番」から一歩進めて「PCからサーバーのTCP/443」と書くと対象が明確です。番号とプロトコルを一組で覚える習慣は、FWの相談にもキャプチャの絞り込みにも役立ちます。

よく見る番号は、用途と一緒に覚える

よく使う番号は、何をする通信かと結び付けて覚えます。SSHの22番なら機器へのログイン、DNSの53番なら名前解決、HTTPSの443番ならWebというように、使う場面を思い浮かべます。

ただし、DNSはUDPだけではなくTCPも使います。FTPはログイン用とデータ用が別です。TFTPの69番も最初の要求の宛先で、転送中すべてが同じ番号になるわけではありません。

用途 通常使うもの 確認時の注意
SSH / SFTP TCP/22 設定で別番号にも変更できる
DNS UDP/53、TCP/53 UDPだけに限定しない
HTTP TCP/80 実設定とURLを照合
HTTPS TCP/443、HTTP/3ではUDP/443 利用方式を区別
FTP制御 TCP/21 データ接続は別に確認
TFTP初回要求 UDP/69 転送中のポートは69だけではない
DHCPv4 UDP/67・68 サーバー側67、クライアント側68
NTP 通常UDP/123 通信方向と製品設定を確認
SNMP 通常UDP/161・162 要求と通知を区別
BGP TCP/179 ピアの経路と接続を確認

下の一覧は調べる出発点です。接続ソフトで指定した番号、サーバーの設定、実際のパケットが同じ条件になっているかを照合して、今回使っている番号を確かめます。

IANAに登録された番号でも、その機器が今そのサービスを提供している証拠にはなりません。管理者が別の番号を設定する場合もあります。「通常はこの番号」と「実際にこの番号で待ち受けている」を分けると、暗記した表を実務で使いやすくなります。

仕様の確認:IANA:サービス名とポート番号の登録。

0〜65535の番号は、3つの範囲に分かれる

TCP・UDPのポート番号は0〜65535の範囲です。IANAでは用途の区分として、0〜1023、1024〜49151、49152〜65535に分けています。下の表は、その区分を整理したものです。

最後の範囲は動的・私用の番号として扱われます。PCが接続時に使う一時的な番号を学ぶ際にも出てきますが、すべてのOSが必ず49152以上から選ぶという意味ではありません。

区分 範囲 役割
System / Well-known 0~1023 基本的なサービス用。0は予約
User / Registered 1024~49151 登録されたサービス用
Dynamic / Private 49152~65535 IANAがサービスへ割り当てない範囲

実際の一時ポート範囲はOSの設定などで変わります。PCの送信元が51000だったという今回の例を、そのまま全端末のFW条件にはできません。取得した通信と対象環境の設定を合わせて見ます。

最初に覚えるなら、区分の境目より先に、サーバー側の受け口とPC側の一時的な番号があることを押さえましょう。範囲は、設定やパケットを調べたときに、その番号がどう使われているかを考える補助になります。

PingのICMPには、TCPのポート番号がない

Pingでは、TCP/80やTCP/443のようなポート番号を指定しません。IPv4のPingで使うICMP Echoは、TCPやUDPとは別のプロトコルだからです。

IPヘッダーのプロトコル番号では、TCPは6、UDPは17、ICMPは1です。これはIPの中身を区別する番号で、TCP・UDP内のポート番号とは置かれている場所も用途も違います。

ICMPはTypeやCodeで通信の種類を区別します。FWでPingを扱うなら、TCPのポートを開けるのではなく、対象のICMP条件を読みます。「Pingのポートは何番か」という疑問は、この二つの番号を分けると解けます。

Pingが成功しても、サーバーのWebサービスが待ち受けているか、TCP/443が許可されているかまでは分かりません。IPまでの応答と、使いたいサービスへの接続を、それぞれ試す必要があります。

FWルールには、どこから何へ接続するかを書く

FWルールは、送信元、宛先、プロトコル、宛先ポート、接続開始の向きを組み合わせます。今回の例なら、PCからサーバーへTCP/443の接続を始めたい、という条件です。

その後には応答も戻ります。ステートフルなFWは接続状態を追って扱いますが、応答の許可方法は製品と設定に合わせて読みます。状態を追わないACLなどでは、逆方向の条件も別途検討することがあります。

用語の補足:ステートフルって何?

接続の状態を追って通信を扱う方式です。許可した接続の応答をどう通すかなどを判断します。製品・設定で動作が変わるので、通信の往復と実際の許可条件を合わせて確認します。

項目 記入例
送信元 172.27.81.15
宛先 172.27.92.25
プロトコル TCP
宛先ポート 443
接続開始方向 クライアント → サーバー
応答の扱い ステートフル検査か、個別ルールが必要かを製品で確認

「両方向に443を許可」とだけ書くと、要求と応答のポートが入れ替わる点を見失います。応答の宛先はPCの一時ポートです。表で最初の要求を定義し、戻るパケットを装置がどう扱うかまで確かめます。

NATがあるなら、ルールの判定地点で見えるIPも必要です。通信を許可する相談では、単独の番号より、どこからどこへ何を使いたいかを一行で伝えることが、設定の行き違いを減らします。

「開いている」は、何を試した結果?

「ポートが開いている」は、何を試した結果かで意味が変わります。サーバー上で待ち受けを見つけたのか、PCからTCP接続できたのか、Web操作まで成功したのかを分けます。

Test-NetConnectionの-PortはTCP接続を試す例です。Linuxのss -lntはTCP、ss -lnuはUDPの待ち受けを見る例です。UDPの結果を、TCPの接続試験から判断することはできません。

Windows PowerShell:
Test-NetConnection 172.27.92.25 -Port 443

Linuxの待ち受け確認例:
ss -lnt
ss -lnu
設計構築チャンネル関連動画:プロトコル番号とは?ネットワークエンジニア必須スキル

サーバーで待ち受けが見えても、PCからそこまでの経路やFWが通るとは限りません。PCからTCP接続できても、TLSやアプリの操作はその先です。試した場所と段階を添えて結果を残します。

最初は「IP、TCP/UDP、両側のポート、向き」を一本の往復で読めれば十分です。一覧の番号が、その通信でどの役割を持つかを説明できると、暗記した知識が設定や障害調査へつながります。

このテーマを続けて学ぶ

最近の記事
ピックアップ