🐧 Linux 総合学習プラットフォーム
ネットワーク基礎 ・ 入門

IPアドレスとサブネット

IPアドレスはネットワーク上の機器を識別する番号です。IPv4では192.168.1.10のように4つの数字で表します。アドレスは「ネットワーク部」と「ホスト部」に分かれ、その境目を決めるのがサブネットマスク(例: 255.255.255.0、CIDR表記では /24)です。同じネットワーク部を持つ機器同士は直接通信でき、違う場合はルータを経由します。

ネットワークにつながった機器には、1台ずつ「住所」が割り当てられている。これがIPアドレスだ。郵便を届けるのに住所が必要なのと同じで、データを正しい相手に届けるために使う。

192.168.1.10/24 192 . 168 . 1 . 10 ネットワーク部(町)=先頭24ビット ホスト部(家) 前半=どのネットワーク(町)か / 後半=その中のどの機器(家)か
💡
ポイントIPアドレスは、機器ごとに重ならない「住所」。同じ住所が2台にあると(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で話を進める。

🏘 ネットワーク部とホスト部

ネットワーク 192.168.1.x(同じ町) .10 .20 ←→ 直接やり取りできる ルータ 192.168.2.x(別の町) .20 町名(前半)が同じなら直接、違えばルータ経由
🔗
たとえアドレスの前半は「町名(ネットワーク部)」、後半は「家番号(ホスト部)」。町名が同じなら、同じネットワークの住人だ。

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(クラスレス)が主流だ。アドレスとサブネットマスクは、いつもセットで見るのが基本になる。

🔍 自分のアドレスを確認する

ip addr ……自分のIPアドレスとサブネットマスクを表示する(inet 192.168.1.10/24 のように出る)。ip -br addr なら1行ずつ簡潔に一覧できる。

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 まで。この範囲の相手とは直接やり取りできる。

⚠ つまずいたら、まずここ

つまずき同じネットワークのつもりでも、サブネットマスクを間違えると「別ネットワーク」と判断され、直接通信できなくなる。つながらないときは、まず ip addr でアドレスとマスクを確認しよう。

「つながらない」とき、よくある原因がサブネットマスクの取り違えだ。同じネットワークのつもりでも、マスクを間違えると別ネットワーク扱いになり、直接通信できなくなる。

たとえば自分が 192.168.1.10/24、相手が 192.168.2.20/24 だと、ネットワーク部が 192.168.1 と 192.168.2 で違うので、別のネットワークになる。この場合は直接届かず、中継役のデフォルトゲートウェイを通すことになる。これは次のトピックで扱う。

まとめると、ネットワーク部が同じなら直接、違えば中継。つながらないと思ったら、まず ip addr で自分のアドレスとマスクを確かめる。これが第一歩だ。

この項目に出てくる用語

IPアドレスあいぴーあどれす
ネットワーク上の機器を識別する番号。
サブネットマスクさぶねっとますく
IPアドレスのどこまでがネットワーク部かを示す値。
CIDR表記さいだーひょうき
ネットワーク部のビット数を /数字 で表す書き方。

関連コマンド

ip addrhostname

▶ 学習アプリでこの続きを学ぶ・演習する