コンピュータネットワークにおけるポート番号とは?仕組みと役割をわかりやすく解説
コンピュータネットワークにおいて、ポート番号はメッセージの送信者と受信者を識別するためのアドレス情報の一部です。TCP/IPネットワーク接続に関連付けられており、「IPアドレスに付加される追加情報」と表現することもできます。
ネットワークにおけるポート番号とは?
ポート番号があることで、同じコンピュータ上の複数のアプリケーションが同時にネットワークリソースを共有できるようになります。家庭用ネットワークルーターや各種ソフトウェアはこれらのポートを扱っており、設定画面からポート番号を変更できる場合もあります。
ポイント: ネットワークのポートはあくまでソフトウェアベースの概念であり、ネットワーク機器にあるケーブル差込口などの物理的なポートとは無関係です。混同しないように注意しましょう。
ポート番号の仕組み
ポート番号はネットワークアドレッシングと密接に関係しています。TCP/IPネットワークでは、TCPとUDPのどちらも、IPアドレスと連携して動作する一連のポートを使用します。
ポート番号の働きは、電話の内線番号に例えると分かりやすいでしょう。企業の電話交換機が代表番号を持ち、従業員一人ひとりに内線番号を割り当てるように、コンピュータも1つの主要なアドレス(IPアドレス)と一連のポート番号を組み合わせて、着信・発信の接続を処理します。
建物内の全従業員が1つの代表番号を共用できるのと同様に、1つのIPアドレスでも、1台のルーターの背後にいるさまざまなアプリケーションとの通信が可能です。IPアドレスが宛先のコンピュータを識別し、ポート番号がその先の具体的なアプリケーションを識別するという役割分担になっています。
この仕組みは、メールアプリケーション、ファイル転送プログラム、ウェブブラウザなど、どんなアプリケーションでも共通です。例えば、ブラウザでウェブサイトを表示する際、ブラウザはHTTPのためにポート80経由で通信します。その後、データは同じポート経由で返され、そのポートに対応するプログラム(ウェブブラウザ)上に表示されます。
ポート番号の範囲と代表的なポート
TCPとUDPのいずれの場合も、ポート番号は0〜65535の範囲で定義されています。小さい番号帯(ウェルノウンポート)は、一般的なインターネットプロトコル向けに予約されていることが多く、例えば以下のようなものがあります。
- 20/21: FTP(ファイル転送)
- 25: SMTP(メール送信)
- 53: DNS(名前解決)
- 80: HTTP(ウェブ閲覧)
- 110: POP3(メール受信)
- 443: HTTPS(暗号化されたウェブ通信)
特定のアプリケーションが使用するポート番号を詳しく調べたい場合は、よく使われるTCP・UDPポート番号の一覧を参照するとよいでしょう。Apple製品のソフトウェアについては、Appleが公開している使用ポートの一覧が役立ちます。
ポート番号への対応が必要になる場面
通常、ネットワーク機器やソフトウェアはポート番号を自動的に処理するため、一般のユーザーがポート番号を意識することはほとんどありません。しかし、以下のような状況では、ポート番号についての知識や設定が必要になることがあります。
1. ポートフォワーディングの設定
ネットワーク管理者は、特定のアプリケーションの通信がファイアウォールを通過できるよう、ポートフォワーディングを設定することがあります。家庭のネットワークでも、ブロードバンドルーターの設定画面からポートフォワーディングを行えます。典型的な例としては、ルーター内蔵ファイアウォールがブロックする非標準ポートを使用するオンラインゲームへの対応が挙げられます。
2. プログラミング
ネットワークプログラマーは、ソケットプログラミングなどを行う際、コードの中で明示的にポート番号を指定する必要があります。
3. URLへのポート指定
ウェブサイトのURLに、特定のTCPポート番号を含める必要がある場合もあります。例えば https://localhost:8080/ は、デフォルトのポート80ではなくTCPポート8080を使用することを意味します。これは主にソフトウェア開発環境で見られる形式で、一般消費者向けの場面ではあまり使われません。
開いているポートと閉じているポート
ネットワークセキュリティの分野では、攻撃への脆弱性や防御策の観点から、ポート番号が頻繁に議論されます。ポートは大きく分けて「開いている(open)」状態と「閉じている(closed)」状態の2種類に分類できます。開いているポートには、新しい接続要求を待ち受けるアプリケーションが関連付けられており、閉じているポートにはそれがありません。
ポートスキャンと呼ばれる手法では、各ポート番号にテストメッセージを送信し、どのポートが開いているかを特定します。ネットワークの専門家はポートスキャンを、攻撃者に対する露出度を測定するツールとして活用し、不要なポートを閉鎖することでネットワークを強化します。一方、攻撃者(ハッカー)側もポートスキャナーを使って、悪用可能な開放ポートを探し出そうとします。
なお、Windowsではnetstatコマンドを使うことで、現在アクティブなTCP・UDP接続や使用中のポートに関する情報を確認できます。自分のPCがどのポートで通信しているのかを把握したいときに便利なコマンドなので、覚えておくとよいでしょう。
-
CMOSとは?仕組みやBIOSとの違い、主な用途をわかりやすく解説
CMOS(Complementary Metal Oxide Semiconductor:相補型金属酸化膜半導体)は、パソコンのマザーボード上に搭載された小容量のメモリで、BIOSの設定情報を保存するために使われています。日付や時刻、一部のハードウェア設定など、システムの動作に欠かせないデータを記録しており、パソコンにとって非常に重要な役割を担っています。この記事では、CMOSの仕組みと用途について詳しく解説します。 CMOSとは何か? 前述のとおり、CMOSはマザーボード上に搭載された小容量の記憶領域で、BIOSの設定を保存するために使用されます。N型トランジスタとP型トランジスタで構成され
-
CMOSとは何か?仕組みやBIOSとの違い、主な用途を徹底解説
CMOS(Complementary Metal Oxide Semiconductor:相補型金属酸化膜半導体)は、パソコンのマザーボード上に搭載された小容量のメモリで、BIOSの設定情報を保存するために使用されています。日付や時刻の管理、一部のハードウェア設定など、システムの動作に欠かせないデータを保持しており、パソコンにとって非常に重要な存在です。この記事では、CMOSとは何か、そして何に使用されるのかを詳しく解説します。 CMOSとは何か? CMOSは、前述のとおりマザーボード上に搭載された小容量の記憶領域で、BIOSの設定を保存するために使われます。N型トランジスタとP型トランジスタ