IPアドレスとサブネット
IPアドレスはネットワーク上の機器を識別する番号です。IPv4では192.168.1.10のように4つの数字で表します。アドレスは「ネットワーク部」と「ホスト部」に分かれ、その境目を決めるのがサブネットマスク(例: 255.255.255.0、CIDR表記では /24)です。同じネットワーク部を持つ機器同士は直接通信でき、違う場合はルータを経由します。
ネットワークにつながった機器には、1台ずつ「住所」が割り当てられている。これがIPアドレスだ。郵便を届けるのに住所が必要なのと同じで、データを正しい相手に届けるために使う。
住所なので、同じものが2つあると困る。ひとつのネットワークの中で同じIPアドレスを持つ機器が2台あると、「IPアドレスの重複」という状態になり、その2台の通信がうまくいかなくなる。だからIPアドレスは、機器ごとに重ならないように割り当てる。
Linuxでネットワークを扱うときは、まず「このアドレスはどの機器(インターフェース)のものか」を意識するところから始まる。
📦 IPアドレスの形
いちばん広く使われているIPv4のアドレスは、32ビットの数値だ。そのままでは読みにくいので、8ビットずつ4つに区切り、それぞれを0〜255の10進数にしてドットでつなぐ。たとえば 192.168.1.10 のように書く。
区切られた一つひとつの数値を、オクテットと呼ぶ。8ビットで表せるのは0から255までなので、256以上の数を見かけたら、それは設定ミスかタイプミスだ。
32ビットで表せるアドレスは、全部で約43億通り。世界中の機器がつながった結果これでも足りなくなり、アドレスを128ビットに広げたIPv6への移行も進んでいる。ただし考え方の土台はIPv4で身につくので、ここではIPv4で話を進める。
🏘 ネットワーク部とホスト部
IPアドレスは、ひとかたまりの番号に見えて、実は前半と後半の2つに分かれている。前半が「ネットワーク部」、後半が「ホスト部」だ。
ネットワーク部は、その機器が属するネットワーク(町のようなもの)を表す。ホスト部は、その町の中の個々の機器(家)を表す。だから同じネットワークにいる機器は、ネットワーク部が同じで、ホスト部だけが違う。
たとえば 192.168.1.10 と 192.168.1.20 は、前半の 192.168.1 が同じなので、同じネットワークの仲間だと分かる。この見分けが、あとで「相手に直接データを送れるか、それとも中継が必要か」の判断につながる。
ホスト部がすべて0のアドレスは、ネットワーク全体を指す「ネットワーク・アドレス」。すべて1のアドレスは、全員へ一斉に送る「ブロードキャスト・アドレス」。この2つは予約済みで、個々の機器には割り当てない。
🎭 どこまでがネットワーク部か(サブネットマスク)
アドレスのどこまでがネットワーク部なのかを示すのが、サブネットマスクだ。ネットワーク部にあたるビットを1、ホスト部にあたるビットを0で表す。
たとえば 255.255.255.0 は、先頭から1が24個並び、残りの8個が0になる。これは「先頭24ビットがネットワーク部、残り8ビットがホスト部」という意味だ。
これを短く書いたのがCIDR表記で、アドレスのうしろに「/ネットワーク部のビット数」を付ける。192.168.1.10/24 のように書き(このビット数をプレフィックス長と呼ぶ)、/24 は 255.255.255.0 と同じ意味だ。現場ではCIDR表記をよく使うので、/24 を見たら 255.255.255.0 のことだと結びつけておくとよい。
区切りは /24 だけでなく、/27 や /30 のように細かく取ることもある。これは「何台つなぐか」で決める。ホスト部が8ビット(/24)なら2の8乗で256通り、そのうちネットワーク・アドレスとブロードキャスト・アドレスの2つを除いた254台が、機器に割り当てられる数だ。
昔はアドレスの先頭ビットでマスクが自動的に決まる「クラス」(クラスフル)という方式もあったが、今は自由に決められるCIDR(クラスレス)が主流だ。アドレスとサブネットマスクは、いつもセットで見るのが基本になる。
🔍 自分のアドレスを確認する
Linuxで自分のIPアドレスとサブネットマスクを見るには、ip addr を使う。出力の中に inet 192.168.1.10/24 のように、アドレスとCIDR表記のマスクが並んで表示される。
ざっと一覧したいときは ip -br addr が便利で、インターフェース名・状態・アドレスが1行ずつ並ぶ。どちらも状態を見るだけのコマンドなので、何度実行しても安全だ。
/24 が読めれば、自分のネットワークの範囲も分かる。192.168.1.10/24 なら、192.168.1.0 から 192.168.1.255 までが同じネットワークで、機器に使えるのは .1 から .254 まで。この範囲の相手とは直接やり取りできる。
⚠ つまずいたら、まずここ
「つながらない」とき、よくある原因がサブネットマスクの取り違えだ。同じネットワークのつもりでも、マスクを間違えると別ネットワーク扱いになり、直接通信できなくなる。
たとえば自分が 192.168.1.10/24、相手が 192.168.2.20/24 だと、ネットワーク部が 192.168.1 と 192.168.2 で違うので、別のネットワークになる。この場合は直接届かず、中継役のデフォルトゲートウェイを通すことになる。これは次のトピックで扱う。
まとめると、ネットワーク部が同じなら直接、違えば中継。つながらないと思ったら、まず ip addr で自分のアドレスとマスクを確かめる。これが第一歩だ。