このページでは数式表示を可能にするMathJaxを使っています。うまく表示できない場合には、Firefox/Chrome/Safariなどのブラウザを利用してください。

IPv4アドレスとサブネットマスク

インターネットに接続されているコンピュータには例外なくIPアドレスが振られている。 IPv4におけるIPアドレスは32ビット(2進数表示で32桁の0,1列)で、理論的には$2^{32}=4294967296$、約42億台が同時に識別可能である。 この数は今日では少な過ぎる。 実際、既にNIC(Network Information Center)によるIPv4のアドレス交付は枯渇してしまっており、現在では128ビットのIPv6アドレスが使われ始めている。

家庭内ネットワークなどで複数のコンピュータ接続では、グローバルインターネットからでは直接参照できないプライベートIPアドレスが使われており、NATなどの様々な仕組みを使って多数のコンピュータをインターネットに接続可能である。 IPv6では、インターネットで直接通信可能なグローバルIPアドレスは理論上$2^{128}=340282366920938463463374607431768211456$、約$3.40282\times10^{38}$台のコンピュータを識別でき、当面は事実上無限であると考えられる。

IPv4アドレス表記とサブネット

IPアドレスとその表記

32ビットを8bit(octet)に区切り、各octetを10進数で表すしてピリオドでつないで表記する。 次の例は、内閣首相官邸のWebサーバ www.kantei.go.jp のIPアドレスをMacOSをつかって取得した結果である。

% host www.kantei.go.jp
www.kantei.go.jp has address 202.32.211.139
www.kantei.go.jp has IPv6 address 2001:240:178:121::11
演習: IPv6におけるIPアドレスの表記法を調べなさい。

IPアドレスのクラス

IPv4アドレスは、IPアドレスの最上位部分(2進数表記の左端)のビット・パターンの値によって、「クラスA」から「クラスE」までの5つに分類されている。

ネットワーク接続されるコンピュータは、かならず「ある1つのネットワーク」に接続されている。 いいかれると、「あるネットワーク」には複数の異なるIPアドレスを持つコンピュータが接続されている。 IPアドレスは、「あるネットワークを指定」するネットワーク・アドレスと、そのネットワーク内のコンピュータ番号を指定するホスト・アドレスの情報を持っている。

IPアドレス=[ネットワーク・アドレス部] + [ホスト・アドレス部]

次の表にあるように、各クラスのIPアドレスでは、ネットワーク・アドレスとホスト・アドレスを分けるためのマスク値(IPアドレスの2進数表現の最左端からのビット数)であるsubnet maskが決まっている。 たとえば、CクラスのIPアドレス 192.168.1.3 では、次のようにデフォルトサブネットマスク 255.255.255.255.0 からホストアドレスが決定される。 このとき、サブネットマスク長 24 を明示して、 192.168.1.3/24 というように表記する。


110000000.10101000.00000001.00000100 = 192.168.1.3    IPアドレス
111111111.11111111.11111111.00000000 = 255.255.255.0  サブネットマスク

ネットワークアドレス: 192.168.1.0
ホストアドレス      :   0.  0.0.3
クラスとデフォルトサブネットマスク
最上位bitパターンAddressClassSubnet maskIP Addr範囲備考
0クラスA255.0.0.00.0.0.0~127.255.255.255全空間の1/2
10クラスB255.255.0.0128.0.0.0~191.255.255.255全空間の1/4
110クラスC255.255.255.0192.0.0.0~223.255.255.255全空間の1/8
1110クラスD224.0.0.0~239.255.255.255マルチキャスト通信用
1111クラスE240.0.0.0~255.255.255.255実験用
1111クラスE240.0.0.0~255.255.255.255実験用
演習: 自宅のインターネット側(WAN: Wide Area Networkということがある)のIPアドレスを調べなさい。 そのアドレスクラスはどうか、そのIPアドレスからどんなネットワークに属しているか(プロバイダ名)を調べるにはどうすればよいだろうか。

ネットワークアドレスとサブネットマスク

実際のネットワークの運用では、IPアドレスのデフォルトクラスをさらに細分して各ネットワークとして運用する場合が少なくない。 たとえば、クラスBのIPアドレスではデフォルトの1つのネットワークに65535台のコンピュータを接続することができるが、技術的観点からもこれを小さく小分けにして複数のネットワークとして接続するようにする方がIPアドレスの利用の麺からの都合がいい。

こうした場合にはIPアドレスの固有のデフォルトサブネットマスクではなく、ネットワーク管理者が定めたサブネットマスクを利用できる(ネットワークの運用ではそれに見合う設定が必要になる)。

演習: 現在使っている(WiFi接続されている)スマートフォンのIPアドレス、アドレスクラスとサブネットマスクを調べなさい。

サブネットマスクに応じたネットワーク接続可能なホスト数

サブネットマスク可能なhost数192.168.1.3が属するネットワーク上の
hostのIPアドレス範囲
192.168.1.3/1128.0.0.02147483647128.0.0.1~255.255.255.255
192.168.1.3/2192.0.0.01073741823192.0.0.1~255.255.255.255
192.168.1.3/3224.0.0.0536870911192.0.0.1~223.255.255.255
192.168.1.3/4240.0.0.0268435455192.0.0.1~207.255.255.255
192.168.1.3/5248.0.0.0134217727192.0.0.1~199.255.255.255
192.168.1.3/6252.0.0.067108863192.0.0.1~195.255.255.255
192.168.1.3/7254.0.0.033554431192.0.0.1~193.255.255.255
192.168.1.3/8255.0.0.016777215192.0.0.1~192.255.255.255
192.168.1.3/9255.128.0.08388607192.128.0.1~192.255.255.255
192.168.1.3/10255.192.0.04194303192.128.0.1~192.191.255.255
192.168.1.3/11255.224.0.02097151192.160.0.1~192.191.255.255
192.168.1.3/12255.240.0.01048575192.160.0.1~192.175.255.255
192.168.1.3/13255.248.0.0524287192.168.0.1~192.175.255.255
192.168.1.3/14255.252.0.0262143192.168.0.1~192.171.255.255
192.168.1.3/15255.254.0.0131071192.168.0.1~192.169.255.255
192.168.1.3/16255.255.0.065535192.168.0.1~192.168.255.255
192.168.1.3/17255.255.128.032767192.168.0.1~192.168.127.255
192.168.1.3/18255.255.192.016383192.168.0.1~192.168.63.255
192.168.1.3/19255.255.224.08191192.168.0.1~192.168.31.255
192.168.1.3/20255.255.240.04095192.168.0.1~192.168.15.255
192.168.1.3/21255.255.248.02047192.168.0.1~192.168.7.255
192.168.1.3/22255.255.252.01023192.168.0.1~192.168.3.255
192.168.1.3/23255.255.254.0511192.168.0.1~192.168.1.255
192.168.1.3/24255.255.255.0255192.168.1.1~192.168.1.255
192.168.1.3/25255.255.255.128127192.168.1.1~192.168.1.127
192.168.1.3/26255.255.255.19263192.168.1.1~192.168.1.63
192.168.1.3/27255.255.255.22431192.168.1.1~192.168.1.31
192.168.1.3/28255.255.255.24015192.168.1.1~192.168.1.15
192.168.1.3/29255.255.255.2487192.168.1.1~192.168.1.7
192.168.1.3/30255.255.255.2523192.168.1.1~192.168.1.3
192.168.1.3/31255.255.255.2541ネットワークになりません
192.168.1.3/32255.255.255.2550ネットワークになりません
演習: 上の表のサブネットマスクのいくつかを使って、表が正しいことを確かめなさい(誤っているかもしれない)。 今接続しているコンピュータのIPアドレスを知り、デフォルトサブネットマスクを使って、networkアドレスを計算しなさい。