毎回わからなくなってるので理解を書き起こす。
せっかくなので、サブネットについて書かれているRFC950を眺めた。読んだとは言ってない。 https://www.rfcreader.com/#rfc7322
IPv4のアドレスは32ビットで表現される。232 ≒ 43億通りのアドレスが表現できる。足りるのか足りないのかは分からない。なんか足りないらしいということはよく聞く。
IPアドレスはネットワーク上の住所を表す。パブリックとプライベートの区別がある。 なんやかんやでネットワークを区分する需要があったため"subnet"の概念が誕生したらしい。
サブネットによって、ネットワークアドレスとホストアドレスに分けることができる。
ネットワークアドレス
IPアドレスの前半部分。どのネットワークセグメントかを識別できる。
ホストアドレス
IPアドレスの後半部分。ネットワークセグメントの中のどのデバイスかを識別できる。
どこからが前半でどこからが後半?
というのを「サブネットマスク」の値が決める。
たとえばサブネットマスクが/8
だったら前半8ビットがネットワークアドレスになる。残り24ビットをホストの識別に使える。
具体例
firewall rule
インバウンド通信について、192.168.1.0/24
からのみを許可する場合。
前半24ビット、つまり192.168.1
がネットワークアドレスである。このネットワークセグメントからのインバウンド通信が許可される。
プライベートIP
192.168.0.0/16
はプライベートIPアドレスとして予約されてるらしい。
ほかには10.0.0.0/8
、172.16.0.0/12
も同様にプライべートIPとして予約されている。
それぞれネットワークアドレス、ホストアドレスの広さが異なるのがサブネットマスクの値によって表現されている。