プライベートアドレスだと返ってこられない

プライベートアドレスでは、インターネットの通信ができない理由を考えておきましょう。ポイントは、「通信は双方向である」ということです。

Webブラウザなどのアプリケーションの通信は、何らかのデータを送信するとその返事が返ってくるのが基本です。プライベートアドレスのままだと、インターネットの通信ができないのは返事が返ってこられないからです。返事が返ってこられないから、アプリケーションの通信は成立しません。

プライベートアドレスは重複しているアドレス範囲

企業の社内ネットワークや家庭内ネットワークなどのプライベートネットワークで、プライベートアドレスの範囲からアドレッシングします。プライベートアドレスの範囲は重複してしまう可能性があるアドレス範囲です。

たとえば、A社の社内ネットワークで10.1.1.1というIPアドレスを設定しているPCがあり、B社の社内ネットワークで10.1.1.1の同じIPアドレスを設定しているPCがあるかもしれません。そして、Cさんの家庭内ネットワークで192.168.1.1というIPアドレスのPCがあり、Dさんの家庭内ネットワークで192.168.1.1というIPアドレスのPCがあるかもしれません。このように、プライベートアドレスの範囲は重複してしまうかもしれないIPアドレスの範囲です。

もちろん、それぞれのプライベートネットワークの中では重複したIPアドレスを設定してはいけません。

インターネット上のルータはプライベーアドレス宛てのデータを破棄

社内ネットワークや家庭内ネットワークといったプライベートネットワークをインターネットに接続しています。インターネット側からプライベートネットワーク内部へデータを転送しようとしても、プライベートアドレスだと正確に宛先を特定できないことになります。そのため、インターネット上のルータは、宛先がプライベートアドレスであるデータを必ず破棄するように設定しています。

インターネット上のルータは、IPアドレス偽装防止のセキュリティ対策のため、送信元IPアドレスがプライベートアドレスであるIPパケットを破棄する設定をしていることが多いです。ただ、単純なルーティングの動作では、送信元IPアドレスはチェックせずに宛先IPアドレスのみを参照します。
図 インターネット上のルータはプライベートアドレス宛てのデータを破棄

プライベートアドレスによるインターネット宛ての通信の例

プライベートアドレスを設定しているホストから、インターネット上のグローバルアドレスを設定しているサーバへデータを送信するときには、宛先IPアドレスがサーバのグローバルアドレスで、送信元IPアドレスがホストのプライベートアドレスです。

ルータがルーティングするときには基本的に宛先IPアドレスを参照します。インターネット上のサーバ宛てのデータは、インターネット上のルータでルーティングされていきます。

図 プライベートアドレスによるインターネット宛ての通信 その1

そして、サーバから返事を返します。その際、宛先IPアドレスがホストのプライベートアドレスで、送信元IPアドレスはサーバのグローバルアドレスとなります。インターネット上のルータは、宛先IPアドレスがプライベートアドレスのIPパケットは必ず破棄します。そのため、サーバからの返事が返ってくることはなく、双方向の通信が成立しなくなってしまいます。

図 プライベートアドレスによるインターネット宛ての通信 その2