ネットワーク関連の雑誌や書籍を読んでいると,「ポート」という用語がよく出てきます。しかし,この用語は,使われる場面によって指しているものが違います。「ポートにつなぐ」などの表現は,ケーブルを配線するときなどに使われますが,「ポートを閉じる」というとセキュリティの話題のときなどに登場します。これらは同じものを指しているわけではありません。

ハード的にはケーブル差し込み口のこと

 ネットワークの世界でポートと言うと,二つの場面で使われます。それは,ハードウエアから見た物理的なポートとソフトウエアから見た仮想的なポートです。

 まずは目に見えるハードウエアのポートから確認していきましょう。ハードウエアのポートとは,ケーブルをつなぐための接続部分のことです。LANスイッチやハブなどを思い浮かべて下さい。LANスイッチやハブのきょう体には,ケーブルを差し込むための接続口が並んでいます。その一つひとつがポートです。例えば,接続口を8個持つLANスイッチは「8ポート・タイプ」と言ったりします。

 パソコン本体にも各種インタフェースがあり,「プリンタ・ポート」や「モデム・ポート」などと呼ばれます。これらも,プリンタ・ケーブルや電話ケーブルをつなぐための差し込み口のことです。つまり,物理的に機器と機器をつなぐための接続部分がハードウエアの観点から見たポートです。

 ポート(port)を英和辞書で調べてみると,「港」や「窓」などと書かれています。港も窓も,中の世界が外の世界へ通じるための出入り口という意味があります。ネットワークの世界で使われるポートも,この意味と同じです。ケーブル接続口を意味するポートは,機器がほかの装置とデータをやりとりするための出入り口と考えれば納得できるでしょう。

ソフトウエアにもデータの出入り口がある

 では次に,ソフトウエアから見たポートに話を移しましょう。

 ネットワークを使うアプリケーションは,データをやりとりする出入り口が必ずあります。この出入り口のことをハードウエアの差し込み口に見立てて「ポート」と呼んでいるのです。

 ネットワークにつながっているパソコンは,伝送路から入ってきたデータをソフトウエアのポートへ渡します。パソコン内ではいくつものソフトウエアが並行して動いていますので,パソコンは受信データをどのソフトウエアのポートに渡すべきか判断しなければなりません。そこでポートを区別するためにポートに番号を付けています。それが「ポート番号」です。

 ネットワーク・アプリケーションは,そのサービスの種類によってポートの番号が決まっています。例えばWebの通信は80番を使い,TCPパケットにあて先としてポート番号の80番が書き込まれます。これで,パソコンは受信データを適切なソフトウエアに渡せるのです。

 なお,特定の通信を止めたり許したりするときには,「ポートを閉じる」や「ポートを開ける」という表現が使われます。例えば,Webの通信を禁止するときには「80番ポートを閉じる」,許可するときには「80番ポートを開ける」と言います。この言い方は,「港」より「窓」のイメージの方が近いでしょう。窓を開ければデータが入ってきて,閉じれば入ってきません。

 このように,「ポート」という用語には,ケーブルを差し込む接続口と,ソフトウエアがデータを出し入れする出入り口という二つの意味があります。それぞれ,ハードウエアとソフトウエアの視点から見た,データの出入り口というわけです。