ポートとは、ネットワークの接続を開始したり終了したりする、OS上の仮想的な場所です。コンピュータが受信するネットワークトラフィックの分類に役立ちます。
この記事を読み終えると、以下のことができるようになります。
関連コンテンツ
是非、Cloudflareが毎月お届けする「theNET」を購読して、インターネットで最も人気のある洞察をまとめた情報を入手してください!
記事のリンクをコピーする
ポートとは、ネットワーク接続を開始・終了するための仮想的なポイントです。ポートはソフトウェアベースで、コンピュータのオペレーティングシステムによって管理されます。各ポートは、特定のプロセスやサービスに関連付けられています。ポートを使用することで、コンピュータは異なる種類のトラフィックを簡単に区別できます。例えば、電子メールとウェブページは、同じインターネット接続を介してコンピュータに到達しているにもかかわらず、それぞれ別のポートに送られます。
ポートは、ネットワークに接続されたすべての機器で標準化されており、各ポートには番号が割り当てられています。ほとんどのポートは、特定のプロトコルのために予約されています — 例えば、すべてのHypertext Transfer Protocol (HTTP)を使用したメッセージは80番ポートに送られます。IPアドレスが特定のデバイスとのメッセージのやり取りを可能にするのに対し、ポート番号はそのデバイス内の特定のサービスやアプリケーションを対象とすることを可能にします。
同じネットワーク接続を介してコンピュータとの間にはさまざまな種類のデータが流れています。ポートを使用することで、コンピュータは受信したデータをどのように受け取るべきかを理解します。
ボブがファイル転送プロトコル(FTP)を使って、MP3の音声ファイルをアリスに転送した場面を想定してください。もし、アリスのコンピュータがMP3ファイルのデータをアリスの電子メールアプリケーションに渡したとしても、電子メールアプリケーションはそのデータの解釈の仕方を知りません。しかし、ボブのファイル転送ソフトはFTP用に指定されたポート(ポート21)を使用しているので、アリスのコンピュータは受信してファイルを保存することができます。
一方、アリスのコンピュータは、ウェブページのファイルとMP3音声ファイルの両方が同じWiFi接続上からアリスのコンピュータに流れているにもかかわらず、80番ポートを使ってHTTPウェブページを同時に読み込むことができます。
OSI参照モデルは、インターネットがどのように機能するかを示す概念的なモデルです。OSIモデルは、さまざまなインターネットサービスやプロセスを7つの層に分けています。これらの層は次のとおりです。
ポートは、トランスポート層(レイヤー4)に相当する概念です。トランスミッションコントロールプロトコル(TCP) や ユーザーデータグラムプロトコル(UDP) のようなトランスポートプロトコルだけが、パケットが向かうべきポートを指定することができます。TCPとUDPのヘッダには、ポート番号を指定するセクションがあります。ネットワーク層のプロトコル、 — 例えば Internet Protocol (IP) — は、特定のネットワーク接続にどのポートが使用されているかを知りません。標準的なIPヘッダーには、データのパケットがどのポートに向かうべきかを示す場所がありません。IPヘッダは、宛先のIPアドレスを示すのみで、そのIPアドレスのポート番号を示すものではありません。
通常、ネットワーク層のプロトコルは、ほとんどの場合、トランスポート層のプロトコルと組み合わせて使用されるため、ネットワーク層でポートを指定することができなくても、ネットワーク処理に影響はありません。しかし、テスト用ソフトウェアの機能には影響があります。テスト用ソフトウェアとは、Internet Control Message Protocol(ICMP)パケットを使用して、IPアドレスに「ping」を実行するソフトウェアのことです。ICMPはネットワーク層のプロトコルで、ネットワーク機器にpingを実行することができます。しかし、特定のポートにpingを実行する機能がなければ、ネットワーク管理者は機器内の特定のサービスをテストすることができません。
My Tracerouteなどの一部のpingソフトウェアには、UDPパケットを送信するためのオプションが用意されています。UDPは、ポートを指定できないICMPとは対照的に、特定のポートを指定できるトランスポート層プロトコルです。ネットワーク管理者は、ICMPパケットにUDPヘッダーを追加することで、ネットワーク機器の特定のポートをテストすることができます。
ファイアウォールは、一連のセキュリティルールのセットに基づいてネットワークトラフィックをブロックまたは許可するネットワークセキュリティシステムです。ファイアウォールは通常、信頼されたネットワークと信頼されていないネットワークの間に位置します。多くの場合、信頼されていないネットワークはインターネットです。例えば、オフィスネットワークでは、多くの場合、ファイアウォールを使用してオンラインの脅威からネットワークを保護しています。
攻撃者の中には、ポートがトラフィックの受信が可能な「開いた」ままの状態になっていることを見込んで、ランダムなポートに悪意のあるトラフィックを送信する者もいます。このような行為は、車泥棒が道を歩きながら駐車している車のドアを、どれか1台鍵が開いていることを期待して試すようなものです。このような理由から、ファイアウォールは、使える状態にあるポートのほとんどに向けられたネットワークトラフィックをブロックするように設定する必要があります。使える状態にあるポートの大部分がトラフィックを受信する正当な理由はありません。
適切に設定されたファイアウォールは、一般的に使用されていることがわかっているいくつかの所定のポートを除き、デフォルトですべてのポートへのトラフィックをブロックします。例えば、企業のファイアウォールでは、25(電子メール)、80(Webトラフィック)、443(Webトラフィック)などのいくつかのポートだけを開けておき、社内の従業員がこれらの必須ともいえるサービスを利用できるようにしています。その上で、残りの65,000以上のポートをブロックしています。
より具体的な例として、攻撃者が3389番ポートに攻撃のトラフィックを送信することで、RDPプロトコルの脆弱性を悪用しようとすることがあります。このような攻撃を阻止するために、ファイアウォールはデフォルトで3389番ポートをブロックしている場合があります。このポートはリモートデスクトップ接続にのみ使用されるため、従業員がリモートで仕事をする必要がない限り、このようなルールが日常の業務に与える影響はほとんどありません。
使用可能なポート番号は65,535ありますが、すべてが一般的に使用されているわけではありません。最も一般的に使用されるポートの一部と、関連するネットワークプロトコルを次に示します。
ポート番号とそれに割り当てられたプロトコルの全リストは、Internet Assigned Numbers Authority(IANA)で管理されています。
利用開始
ネットワーク層について
ネットワークの種類
ネットワーキングの基礎
用語集
ラーニングセンターナビゲーション