読者です 読者をやめる 読者になる 読者になる

フルスタックエンジニアを目指して

いろいろやってみるブログ

どうしてプライベートネットワークアドレスは192.168.なのか

ネットワーク

たまにはネットワークについて調べてみました。

 企業や個人宅、または参考書などでプライベートネットワークアドレスとして頻繁に登場してくる192.168.xxx.xxxというアドレス。

どうして192.168.xxx.xxxなのか、ということに疑問を持ったことはありませんか?

参考書などではよく、「192.168.xxx.xxxはプライベートアドレスだから」とか「100.xxx.xxx.xxxはグローバルアドレスだから」などと解説がされていますが、その根拠は一体何なのだろうと疑問に思っていました。

そこで、今回調べてみたのは、「プライベートアドレスの根拠」についてです。

 

そもそもプライベートアドレスとはなんなのか。

企業など組織の内部で運用されるネットワーク上で各機器に割り当てられるIPアドレス

 

引用元:ローカルアドレスとは|プライベートアドレス|local address - 意味/解説/説明/定義 : IT用語辞典

つまり、ある限られた組織内のネットワーク(LAN)内のみで使うことができるIPアドレスのことであり、複数IPアドレス帯が相互に接続しているインターネットの世界ではそのまま使うことができないアドレスのことを指します。

 

反対に、インターネットの世界ではグローバルアドレスを使用します。

グローバルアドレスとは、インターネットに接続された機器に一意に割り当てられたIPアドレス。インターネットの中での住所にあたり、インターネット上で通信を行うためには必ず必要である。

 

引用元:グローバルアドレスとは|グローバルIPアドレス|パブリックアドレス - 意味/解説/説明/定義 : IT用語辞典

IPアドレスはインターネットの世界での住所にあたります。

同じ住所が複数の場所にあると、どの住所にデータを送ればいいのか困ってしまいます。

だから、インターネットの世界では住所=IPアドレスが必ず一意になるよう、IANA(Internet Assigned Number Authority)によって管理されているのです。

※IANAの機能は1998年以降ICANN(Internet Corporation for Assigned Names and Numbers)に移管されています。

 

しかし、グローバルアドレスには限り(2^32個)があります。

もともとはすべてのホストにグローバルアドレスを割り当てていましたが、インターネットが発展するに連れて、全世界で稼働するすべてのマシンにグローバルアドレスを割り当ててしまうと数が足りなくなってしまいました。

ある調査(ISC Domain Survey, 2015)によると、インターネットに接続されているホスト数がおよそ10億台とされています。

そのため、インターネットに接続されていない(グローバルアドレスを持たない)ホストを含めると数十億台〜数百億台ものホストが全世界には存在すると考えられます。

引用元:ISC Domain Survey | Internet Systems Consortium

 

そこで、組織内では組織内専用のプライベートアドレスを利用、インターネットに接続する際にはNAT(Network Address Translation)することで、必要なグローバルアドレス数を大幅に削減する方針が取られるようになりました。

 

これを方針をまとめた文書が「RFC1918」(RFCRequest for Comments)です。

RFCはインターネットに関する様々な約束事を規定している公式な文書のことですが、このRFC1918内の「3.  プライベートアドレス空間」にプライベートアドレスのレンジが規定されています。

Internet Assigned Numbers Authority (IANA)は次の三つのIPアドレス空間
ブロックをプライベートインターネットのために予約している。

10.0.0.0    -    10.255.255.255 (10/8 prefix)
172.16.0.0    -    172.31.255.255 (172.16/12 prefix)
192.168.0.0    -    192.168.255.255 (192.168/16 prefix)

 

引用元:プライベート網のアドレス割当(RFC 1918) - JPNIC

ここで規定されたアドレスはグローバルアドレスとしては用いられることはなく、必ずプライベートアドレスとして利用される決まりとなっています。

 

では仮に、このアドレス帯をグローバルとして割り当てようとするとどうなるのでしょうか。

答えは何も怒らないが正解らしいです。

参考:ネットワークHOTTOPICS - なぜ「192.168.x.x」のアドレスを使う?:ITpro

プロバイダなどのルータはプライベートアドレスを受け取ると破棄する設定になっているとのことです。(ACL等で制御しているのかな?)

 

なお、この他にもRFCでは様々なアドレスの規定がなされていますので、興味のある方は調べてみると面白いかもです。

   Address Block             Present Use                       Reference
   ---------------------------------------------------------------------
   0.0.0.0/8            "This" Network                 [RFC1700, page 4]
   10.0.0.0/8           Private-Use Networks                   [RFC1918]
   14.0.0.0/8           Public-Data Networks         [RFC1700, page 181]
   24.0.0.0/8           Cable Television Networks                    --
   39.0.0.0/8           Reserved but subject
                           to allocation                       [RFC1797]
   127.0.0.0/8          Loopback                       [RFC1700, page 5]
   128.0.0.0/16         Reserved but subject
                           to allocation                             --
   169.254.0.0/16       Link Local                                   --
   172.16.0.0/12        Private-Use Networks                   [RFC1918]
   191.255.0.0/16       Reserved but subject
                           to allocation                             --
   192.0.0.0/24         Reserved but subject
                           to allocation                             --
   192.0.2.0/24         Test-Net
   192.88.99.0/24       6to4 Relay Anycast                     [RFC3068]
   192.168.0.0/16       Private-Use Networks                   [RFC1918]
   198.18.0.0/15        Network Interconnect
                           Device Benchmark Testing            [RFC2544]
   223.255.255.0/24     Reserved but subject
                           to allocation                             --
   224.0.0.0/4          Multicast                              [RFC3171]
   240.0.0.0/4          Reserved for Future Use        [RFC1700, page 4]

 以上、プライベートアドレスについてでした。