PR

 最近ではセキュリティ関連でもよく耳にする「ポートを開ける」という言葉。これが何を意味するのかネットゲームを例に少し説明しよう。ネットゲームで通信対戦をする場合、対戦相手は外からルーターのグローバルアドレスあてにデータを送る。その際、ルーターはどのパソコンのプライベートアドレスに変換して転送すればよいか分からず、データを破棄してしまう(図1)。

【新規のアクセスは拒否】
拡大表示
図1 対戦相手から通信を始めると自分はG1というアドレスのルーターにしか見えない。G1にデータを送っても、ルーターはP1あてか、P2あてか分からないのでデータを破棄してしまう

 そこで登場するのがポート番号。ポート番号はパソコンやサーバーで動くアプリを特定する番号のこと。データには必ず送信元と送信先のポート番号が付く(図2)。

【データにポート番号が付いている】
拡大表示
図2 1台のパソコンでWebブラウザーとメーラーが動いているとき、データをどちらに振り分けるかを判別するのがポート番号。データには、IPアドレス以外に、ポートという番号が付加されている

 詳細は省くが、ルーターを使って複数のパソコンをネットに接続する場合、ルーターは各パソコンのプライベートアドレスとポート番号の対応表を作って、それを参照してデータを転送する。

【特殊なポート番号を「開ける」】
拡大表示
図3 あらかじめ「G1に届いたポート番号5738のデータはすべてP1あてだ」とルーターに指示しておけば、対戦ゲームを楽しめる。これを、「ポート5738を開ける」という

 しかし図3のように外から来たデータに「ポート番号は5738です」と言われてもルーターの対応表に登録されていないため、ルーターはどのパソコンに送ればいいか分からない。そこで「グローバルアドレスG1あてでポート番号が5738のデータは、すべてプライベートアドレスP1に送って」と、あらかじめルーターの対応表に登録しておく。これが「ポートを開ける」ということだ。静的ポートマッピングなどと呼ばれる。

 ほかにも特殊なデータがルーターを越えるための機能にはDMZ(非武装地帯)やシングルユーザーモードなどもある(図4)。

【対戦ゲームなどを使うためのルーター機能】
拡大表示
図4 名称や実現方法は違うが、LAN内のパソコンをインターネット上にあるように見せるのが目的