一般的なネットワークポートリファレンス:完全ガイド
· 12分で読めます
目次
ネットワークポートとは?
ネットワークポートは、単一のデバイス上で複数のサービスを実行できるようにする仮想通信エンドポイントです。IPアドレスが建物の住所だとすれば、ポートはその建物内の個々の部屋番号のようなものです。データがインターネットを経由して移動する際、特定のIPアドレスとポート番号に向けられ、正しいアプリケーションに確実に到達します。
Webを閲覧したり、メールを送信したり、ファイルを転送したり、ビデオをストリーミングしたりするたびに、デバイスはネットワークポートを使用してこれらの異なる通信を同時に管理しています。Webブラウザがサーバーのポート443と通信している間に、メールクライアントがメールサーバーのポート993と通信することができます。すべて同時に、同じインターネット接続上で行われます。
ポート番号は0から65,535までの範囲です。各番号は特定のサービスまたはアプリケーションに関連付けることができます。一部のポート番号は標準化され、普遍的に認識されています(HTTPのポート80など)が、他のポート番号は必要に応じて動的に割り当てられます。一般的なポート番号を理解することは、ネットワーク、サーバー、またはWebアプリケーションを扱うすべての人にとって基本的な知識です。
クイックヒント:ポートをテレビのチャンネルと考えてください。テレビは1本のケーブルで信号を受信しますが、異なる周波数に合わせることで異なるチャンネルを視聴できます。同様に、コンピュータは1つのネットワークインターフェースでネットワークトラフィックを受信しますが、異なるアプリケーションは異なるポート番号でリッスンします。
ポートはOSIモデルのトランスポート層(レイヤー4)で動作します。アプリケーションがネットワーク経由で通信したい場合、特定のポート番号にバインドします。オペレーティングシステムは、そのポート宛ての着信トラフィックを正しいアプリケーションにルーティングします。この多重化機能により、現代のネットワーキングが可能になります。ポートがなければ、一度に1つのネットワークアプリケーションしか実行できません。
システムで現在使用されているポートは、ポートスキャナーツールで確認できます。これは、開いているポートとそこで実行されているサービスを特定するのに役立ちます。
TCPとUDP:トランスポートプロトコルの理解
特定のポート番号に入る前に、ポートを使用する2つの主要なトランスポートプロトコル、TCPとUDPを理解することが重要です。これらのプロトコルは、デバイス間でデータがどのように送信されるかを決定し、それぞれ異なる特性を持ち、異なるアプリケーションに適しています。
TCP(伝送制御プロトコル)
TCPは信頼性の高い、接続指向のプロトコルです。データを送信する前に接続を確立し(「3ウェイハンドシェイク」)、すべてのパケットが正しい順序で到着することを保証し、失われたデータを再送信します。TCPを電話のようなものと考えてください。接続を確立し、会話をし、両者が通話の終了を認識します。
TCPの主な特徴:
- 接続指向:データ転送が始まる前に専用の接続を確立
- 信頼性のある配信:すべてのパケットが正しい順序で到着することを保証
- エラーチェック:破損したパケットを検出し、再送信を要求
- フロー制御:受信者に一度に大量のデータを送りすぎないようにする
- 遅いが信頼性が高い:信頼性メカニズムのオーバーヘッドにより遅延が追加される
TCPは、速度よりも正確性が重要なアプリケーションに最適です:Webブラウジング(HTTP/HTTPS)、メール(SMTP、IMAP、POP3)、ファイル転送(FTP、SFTP)、リモート管理(SSH、Telnet)。Webページを読み込むとき、すべての画像、スタイルシート、スクリプトが完全かつ正確に到着する必要があります。1バイトでも欠けるとファイルが破損します。
UDP(ユーザーデータグラムプロトコル)
UDPは高速で、コネクションレスのプロトコルです。接続を確立せずにデータを送信し、配信を保証せず、パケットの順序も気にしません。UDPをはがきを送るようなものと考えてください。郵便ポストに投函して到着を願いますが、確認は得られません。
UDPの主な特徴:
- コネクションレス:ハンドシェイクや接続設定が不要
- 信頼性のない配信:パケットが失われたり、重複したり、順序が狂ったりする可能性がある
- エラー訂正なし:破損したパケットは単に破棄される
- フロー制御なし:アプリケーションが生成する速度でデータを送信
- オーバーヘッドが少なく高速:最小限のプロトコルオーバーヘッドにより低遅延
UDPは、完璧さよりも速度が重要なリアルタイムアプリケーションに最適です:ビデオストリーミング、オンラインゲーム、VoIP通話(Skype、Zoom)、DNSクエリ、ライブ放送。ライブストリーム中にいくつかのビデオフレームが失われた場合、一時停止して再送信を待つよりも再生を続ける方が良いです。
プロのヒント:一部のアプリケーションは、同じポート番号でTCPとUDPの両方を使用します。たとえば、DNSは主にUDPポート53を迅速なクエリに使用しますが、UDPのパケットサイズ制限を超える大きな応答にはTCPポート53にフォールバックします。ファイアウォールを設定する際は、サービスがどのプロトコルを必要とするか常に確認してください。
ポート番号の範囲と分類
Internet Assigned Numbers Authority(IANA)は、利用可能な65,536のポート番号を3つの異なる範囲に分割しており、それぞれがネットワーク通信において異なる目的を果たしています。
| 範囲 | ポート番号 | 説明 | 一般的な用途 |
|---|---|---|---|
| ウェルノウンポート | 0-1023 |
システムサービスと一般的なプロトコル用に予約 | HTTP、HTTPS、FTP、SSH、SMTP、DNS |
| 登録済みポート | 1024-49151 |
要求に応じてIANAによって特定のサービスに割り当て | データベースサーバー、カスタムアプリケーション、エンタープライズソフトウェア |
| 動的/プライベートポート | 49152-65535 |
一時的またはプライベート使用に利用可能 | クライアント接続用のエフェメラルポート、テスト、開発 |
ウェルノウンポート(0-1023)
これらのポートは、Unix系システムでバインドするためにrootまたは管理者権限が必要です。インターネット全体で標準化されており、ポート80は常にHTTPを意味し、ポート443は常にHTTPSを意味します。この一貫性により、クライアントとサーバーは設定なしで通信できます。
オペレーティングシステムは、悪意のあるアプリケーションが重要なサービスになりすますのを防ぐために、これらのポートを保護しています。Linuxでは、rootとして実行されているプロセスのみが1024未満のポートでリッスンできます。このセキュリティ対策により、ポート22に接続するときに、不正なアプリケーションではなく、実際にSSHデーモンに到達していることが保証されます。
登録済みポート(1024-49151)
ソフトウェアベンダーや組織は、特定のアプリケーション用にこの範囲のポートをIANAに登録できます。ウェルノウンポートほど厳密に施行されていませんが、これらの割り当ては競合を防ぐのに役立ちます。たとえば、Microsoft SQL Serverは伝統的にポート1433を使用し、MySQLはポート3306を使用します。
これらのポートは使用するために特別な権限を必要としないため、ユーザーレベルのアプリケーションやサービスに最適です。ただし、登録は紳士協定のようなものです。技術的には、登録済みポートで別のサービスを実行することを妨げるものは何もありません。
動的/プライベートポート(49152-65535)
これらのエフェメラルポートは、アプリケーションがアウトバウンド接続を開始するときに、オペレーティングシステムによって自動的に割り当てられます。ブラウザがWebサーバーに接続するとき、サーバーのポート443に接続しながら、ソースポートとしてポート54321を使用する場合があります。サーバーの応答はポート54321に返され、OSが正しいブラウザタブにルーティングできるようになります。
これらのポートは迅速にリサイクルされます。接続が閉じると、ポートは再利用可能になります。これらのポートを手動で設定することはありません。TCP/IPスタックによって完全に管理されます。
すべての管理者が知っておくべき必須ポート
特定のポートは、インターネット運用の基本であり、すべてのシステム管理者、開発者、IT専門家が暗記しておくべきものです。これらのポートは、現代のネットワーキングを可能にする中核サービスを処理します。
| ポート | プロトコル | サービス | 説明 |
|---|---|---|---|
20/21 |
TCP | FTP | ファイル転送プロトコル(データ/制御) |
22 |
TCP | SSH | リモート管理用のセキュアシェル |
23 |
TCP | Telnet | 暗号化されていないリモートアクセス(非推奨) |
25 |
TCP | SMTP | シンプルメール転送プロトコル |
53 |
TCP/UDP | DNS | ドメインネームシステム |
80 |
TCP | HTTP | ハイパーテキスト転送プロトコル |
110 |
TCP | POP3 | ポストオフィスプロトコルv3 |
143 |
TCP | IMAP | インターネットメッセージアクセスプロトコル |
443 |
TCP | HTTPS | HTTPセキュア(暗号化) |
3389 |
TCP |