IPアドレスの仕組み!サブネットとDHCPの基礎を簡単解説

ネット・PC
この記事は約15分で読めます。

PC初心者がよく遭遇するIPアドレス・サブネット・DHCPの基本

この記事では、私が実際にネットワークトラブルに遭遇しIPアドレスやサブネットマスク及びDHCPの設定で躓いた箇所と、初心者が同じ罠にハマらないための解決策をまとめています。今回は特に、IPアドレスの仕組みについて詳しく解説します。

護身IT
護身IT

この記事を読むと下記の悩みが解決します。
・IPアドレスとは何か
・IPv4 と IPv6 の違い
・サブネットマスクの意味
・ネットワークアドレス/ブロードキャストの仕組み

・DHCP の動作(IP自動割り当て)
・トラブル時の切り分けポイント
をわかりやすく解説しています。

IPアドレスは、コンピュータの現住所のようなものです。
この記事では、この“現住所の仕組み”を初心者向けに丁寧に解説します。

初心者向けIPアドレスの基本

IPアドレス

ここでは、IPアドレスの構成(32bitの場合)を初心者目線で解説します。
参考にしていただけるとありがたいです。

グローバルアドレス:「世界で1つだけの住所(例:東京都千代田区〜)」
プライベートアドレス:LAN、「会社や家の中だけで通じる部屋番号(例:201号室、会議室A)」
・自宅のWi-Fiルーターが「外(グローバル)」と「中(プライベート)」の橋渡しを行ってます。

護身IT
護身IT

なぜグローバルアドレス/プライベートアドレスの2つしか分かれていなく「3つ目」の住所はないの?

IPさん
IPさん

「グローバルとプライベートがあるなら、その中間の『中間〇〇アドレス』があっても便利じゃない?」と思った方もいるかもしれません。結論から言うと、ルールを3つ以上に増やすと、ネットの道案内をする機械(ルーター)が迷子になって通信が遅くなるからです。「世界」と「身内」の2つだけにするからこそ、今のインターネットは爆速で動いています。もしどうしても3つに分けたいときは、ネットの世界では「内線の中に、さらに内線を作る」というマトリョーシカのような裏技を使っているんですよ。

護身IT
護身IT

マトリョーシカとはグローバルとプライベートのプライベートをさらに分割する事ですね。

IPさん
IPさん

はい。

護身IT
護身IT

基本的には、グローバルとプライベートの2つだがどうしても細分化したければプライベート内をさらに細分化して外から見ると3つに分かれているような技を使うと言う事ですね。

IPさん
IPさん

はい。ちなみにマトリョーシカは専門用語で「多段NAT(ダブルNAT)」とも呼ばれます。

IPアドレス:コンピュータの現住所のようなものです。
32ビット(8ビット×4つ区切り)
 ・それぞれを10進数で表現し「.」で区切って現す。(左下図の上段:CIDR表記)
 ・ネットワーク部(住所:赤色部)と、ホスト部(建物の部屋番号:青色部)で区切る。(左下図の下段)
 ・サブネットマスクとの組み合わせでネットワーク部の長さを調整しネットワークの範囲(接続エリアの調整)を操作できる。(右側の赤枠図)

IPアドレスの10進数と2進数
IPアドレスの10進数と2進数
IPアドレスとサブネットマスク
IPアドレスとサブネットマスク

IPv4(32ビット)とIPv6(128ビット)の違いと調べ方

IPv4:8ビット毎に区切り4で表現。(32ビット、実際には10進数表示です。)
 例)192.168.1.10
    扱えるIPアドレスの数:2^32(約43億個)
IPv6:16ビット(2進数の4ビットが4つ)の束が8つ。(128ビット)
 例)a123:1234:5678:bdce:9abc:1234:2234:5678
   扱えるIPアドレスの数:2^128(訳340潤(10^36を表す単位です。)個:340兆個の1兆倍の1兆倍)

表記方法は「:」で区切り、もし同じ16進数が続く場合は、1度までなら「::」で指定できる。
 IPv6はIPv4の計算に比べ理論上4倍の計算量。しかしスピードが4倍になるわけでない。
 ・16ビットの先頭が0の時は0は省略できる。

IPv6は桁違いの数を扱えるため、今後のインターネット拡大に対応するために作られました。

【参考】通信(32ビットか128ビット)で通信しているかの確認:
コマンドプロンプトで「curl inet-ip.info」+「Enter」
192.168.1.10⇒IPv4で通信中。
a123:1234:5678・・・⇒IPv6で通信中。
また「curl -4 inet-ip.info」や「curl -6 inet-ip.info」のそれぞれコマンド入力し通常のアドレス(32ビット)やアドレス(128ビット)が表示されると同時通信可能設定になっています。

私が試したのですが、名前解決がNGの可能性があると思いコマンドの直接入力で試しました。DNSがIPv6通信か確認するコマンド:「ping -6 2001:4860:4860::8888」※数字は世界共通のパブリックDNSサーバです。)上記でエラーの場合名前解決ができていない可能性がある為。

IPv6は難しく感じますが、初心者は「桁違い」や「省略できる」という2点だけ覚えれば十分です。

サブネットマスク

●役割
サブネットマスクは、IPアドレスのどこまでがネットワーク部なのかを示す仕切り線です。

例)ネットワーク部が郵便番号・都道府県で、ホスト部が建物の番地のイメージ。
通常ネットワーク部に”1”がたち、ホスト部は”0”となりIPアドレスと論理積を取りネットワーク部を抽出する。

CIDR(サイダー)表記

私も過去にCIDR表記で記載された資料など見たときに意味が解らず困りました。そこでネットや本で調査し私独自の見解も含み下記に記載します。

例)
123.168.8.9/24
 「/24」がネットワーク部を現す。
上記とは123.168.8.9/255.255.255.0と同じ意味です。

護身IT
護身IT

上記の「24」は左から24ビットがネットワーク部にあたる記載方法ですね。

IPさん
IPさん

はい。

護身IT
護身IT

なるほど。それで「255.255.255.0」とも同じことなのですね。
また「/24」等アドレスを短くネットワーク部が表現できるメリットはありますが「/29」等数字が半端な場合、ネットワーク部・ホスト部の割り当て数の計算がデメリットになりますね。

IPさん
IPさん

はい。メリット・デメリットはそうですね。
参考に「/29はアドレス(ホスト)が8個(2^3)使えますが、最初のアドレス(例: .0)はネットワークの名前を表す『ネットワークアドレス』、最後のアドレス(例: .7)は全員に一斉送信するための『ブロードキャストアドレス』として予約されています。そのため、個人のパソコンやサーバーに実際に設定できるのは、間の6個だけになります。」

CIDR表記は、ネットワーク部の長さを「/数字」で表す方法です。

初心者は下記の3つだけ覚えれば十分です。

/24 → 255.255.255.0
/16 → 255.255.
0.0
/8 → 255.
0.0.0

アドレス(ネットワーク部+ホスト部)

護身IT
護身IT

なぜIPアドレスは、ネットワーク部とホスト部に分かれているの?

IPさん
IPさん

それは、世界中にある膨大な数のコンピュータから、目的の機器を“一瞬で効率的に探すため”です。もしこの区切りがないと、インターネットのルーターは世界中のすべてのIPアドレス(約43億個)を1つずつしらみつぶしに探さなければならなくなります。

護身IT
護身IT

それは気が遠くなる作業だね…。

IPさん
IPさん

そうですよね。でも、最初に『ネットワーク部(=都道府県や市区町村)』を見て大まかな場所を特定し、そのネットワークに到達してから『ホスト部(=何番地、何号室)』を探せば、ルーターは最小限のルート案内だけで済む仕組みになっているんですよ。

ブロードキャストアドレス
ブロードキャストアドレス

ネットワークアドレス:IPアドレスよりネットワーク部を取り出すときは、IPアドレス AND サブネットマスク。ネットワーク部(場所)を示す場合と、ホスト部を全て「0」にしたものを表現する場合がある。ホスト部を「0」にすると、ネットワークアドレスとなるため、ホストにはカウントしない。
ホストアドレス(名前):IPアドレスよりホスト部を取り出すときは、IPアドレス AND ( NOT サブネットマスク)。
ブロードキャストアドレス:IPアドレスよりブロードキャストアドレスを取り出すときは、IPアドレス or (NOT サブネットマスク)。ホスト部を全て「1」にしたもの。ネットワーク内のすべてのホスト(コンピュータ)に一斉に送信する場合なのでホストにはカウントしない。

MACアドレス

MACアドレス(48ビット)の表記:00:11:22:33:44:55
         |この2桁は8ビットで16進数表示したもの|
 ・先頭の24ビットは製造メーカ番号(例:00:11:22)
 ・後ろの24ビットは製造番号(例:33:44:55)
MACアドレスは 世界で唯一の番号で、NIC(Network Interface Card:LANポート)に割り振られる。

IPアドレスが「現住所」なら、MACアドレスは「住民票の番号」のようなイメージです。

護身IT
護身IT

MACアドレスが世界唯一ならばIPアドレスも世界唯一ですよね。

MACさん
MACさん

はい。グローバルアドレスは世界唯一です。
しかしMACアドレスは場所が変わっても変わりませんがIPアドレスは場所が変わると変わります。(重複しないように管理されていますが)

MACさん
MACさん

なのでMACアドレスを「指紋」や「人間のDNA」に例えるとIPアドレスは「現住所:引っ越せば変わります。」です。

護身IT
護身IT

MACアドレスが世界唯一なら、IPアドレスはなくても通信できるんじゃない?

MACさん
MACさん

実は、MACアドレス(指紋・DNA)だけだと、そのコンピュータが“今世界のどこにいるか”が誰にもわからないんです。

護身IT
護身IT

あ、そっか!指紋がわかっても、その人が今どこの国に住んでいるかまでは探せないもんね。

MACさん
MACさん

その通りです!だから、インターネットという世界規模のネットワークを旅するときは、まず『IPアドレス(現住所)』を頼りにして目的地(ルーターや同じLAN内)まで荷物を運びます。そして最後の最後に『このIPアドレスを今使っているのはどの機器?』と特定するときに、MACアドレス(指紋)を照合して届ける仕組み(ARPという技術)になっているんですよ。

DHCP(Dynamic Host Configuration Protocol:自動接続)の解説

DHCPの流れ

護身IT
護身IT

移動の激しいPCのIPアドレス設定はDHCPですね。

DHCPさん
DHCPさん

はい。

護身IT
護身IT

DHCPで払い出す場合のIPアドレスの枯渇対策は?IPv6以外どのようなものがありますか?

DHCPさん
DHCPさん

貸出期間の短縮(早く回収する)やサブネットで払い出されるIPアドレスの調整等です。DHCPサーバーがIPアドレスを自動取得するためのステップを下記に記載します。

  • Discover(発見):サーバを探す
  • Offer(提案):IPアドレスの提案
  • Request(要求):使用要求
  • ACK(確認):割り当て完了

メッセージのやりとり
①DHCPサーバの検索(DHCPDISCOVERの送信)ルータ越えとなった別のネットワークには、DHCPDISCOVERメッセージが届かない。(異なるセグメントにある場合、DHCPリレーエージェント機能が必要。)このことをDHCPリレーエージェントと表現します。
②DHCPサーバからの提案(クライアントにDHCPOFFERを送信)
③設定情報の使用要求(DHCPサーバにDHCPREQUESTを送信)
④設定情報の使用許可(クライアントにDHCPACKを送信)

DHCPサーバは、1つのネットワークに1台のみ設置ができない。なぜなら払い出すIPアドレスが重複する可能性が発生しIPアドレスの衝突が発生するため。


通常のクライアント端末であれば毎回違うIPが割り当てられても問題ないが、特別なサーバなどまたはDHCPとの通信障害発生時にはIPアドレスを固定にした場合除外アドレスで設定する場合も考えられる。
端末に対し動的にアドレスを割り当てるプロトコル。

よくあるトラブルと解決方法(初心者が最も役立つ部分)

ここでは、私も体験したトラブル事例を下記に記載します。

IPが「169.254.xxx.xxx」になる

●原因
→ DHCPからIPがもらえていない
→ ルーター or DHCPサーバの不調

→LANケーブル抜け
→Wi-Fiの認証エラー
→ルーターのDHCP枯渇
→PC側のIP再取得

護身IT
護身IT

IPが「169.254.xxx.xxx」になるとどうなるの?
また確認するにはどうすればいいのでしょうか?

IPさん
IPさん

この状態になると、パソコン単体は正常なのに、インターネットや社内LANには一切繋がらなくなります。確認は、Windowsならコマンドプロンプトで『ipconfig』と入力するか、スマホならWi-Fiの設定画面のIPアドレス欄を見れば一目でわかります。

護身IT
護身IT

なんで急にこんな見たこともない数字(169.254…)に変わっちゃうの?

IPさん
IPさん

これは『リンクローカルアドレス(APIPA)』と呼ばれる緊急用の数字です。本来ならDHCPサーバーから自動でIPアドレスをもらうはずが、通信エラーなどでアドレスをもらい損ねたときに、パソコンが『誰からも番号をもらえないから、とりあえず自分だけで通じる仮の番号を割り当てておこう』と自棄(やけ)を起こして設定した状態なんです。つまり、この数字が出たら『ルーターやDHCPサーバーとの通信が完全に途切れているサイン』だと判断できます。

●対処
→ルーター再起動
→LANケーブル確認
→Wi-Fi再接続
→PCのIP再取得(ipconfig /renew)

同じネットワークなのに通信できない

→ サブネットマスクが違う可能性
例:
・PC1:192.168.1.10 /24
・PC2:192.168.1.20 /16
別ネットワーク扱い になるため通信できない。

補足:PC1は192.168.1がネットワーク部なのでPC2も仲間と思いますが、実際PC2は192.168がネットワーク部なのでかみ合わない=通信できないとなります。

IPが重複している

●原因
→ DHCPサーバが複数動いている
→ 固定IPの設定ミス

●対処
→ルーターを1台に統一
→固定IPの範囲をDHCPと重複させない
→ルーターのDHCP範囲を確認(例:192.168.1.100〜200)

護身IT
護身IT

なんでそんな自動で割り振られるはずの住所が被っちゃうの?

IPさん
IPさん

一番多い原因は『手動設定(固定IP)』と『自動設定(DHCP)』のバッティングです。例えば、社内のプリンターやサーバーのために、手動で 192.168.1.50 を固定で割り当てていたとします。そこに、何も知らない別の社員がスマホをWi-Fiに繋いだとき、ルーター(DHCP)がうっかり『今空いているから 192.168.1.50 を使いなよ』と自動で割り振ってしまうことで、重複が発生します。

護身IT
護身IT

なるほど、ルーターが手動で固定されている番号を把握しきれていないと起きちゃうんだね。もし重複が起きたらどうすればいい?

IPさん
IPさん

まずは、被ってしまった機器(スマホやPC)のWi-Fiを一度切って、繋ぎ直すのが一番手軽です。これでルーターから別の新しい番号(空いているIPアドレス)を引き直すことができます。根本的に解決するなら、ルーターの設定画面を開いて『自動で割り振る範囲(DHCPプール)』から、手動で固定したい番号をあらかじめ除外しておくのが鉄則ですよ。

コマンドで確認できるネットワークトラブル調査方法

ここでは、私自身がトラブル対応した場合や、コマンドで操作依頼した場合等の代表的な操作を記載します。ご参考にしていただければ幸いです。

PC情報の表示

簡単にご自分の端末状況(OS等)を調べる場合、に利用した手順です。(下図参照ください。)

PCを使っているが詳しくスペックなどどうやれば調べられますか?
下図のように「info」と入力するだけで解決です。

PC情報の調べる画面
PC情報の調べる画面
システム情報
PC情報の表示画面

コマンドプロンプトを「管理者」で起動する方法

コマンドプロンプトよりディスクチェックなどのコマンドを実施したが「管理者として起動」されていなかった為、私の思った画面表示にならなかった場合、コマンドの入力でマウスの右クリックで「管理者として起動」と同じことが可能なので記載します。

コマンドプロンプトの管理者権限での起動
説明を朱書きで記入しました。

コマンドプロンプトを表示させる場合の注意

コマンドプロンプトで実行するコマンドに権限があると問題ないです。「管理者として起動」で起動させておいた方が無難です。
実行できなく後で再度コマンドプロンプトを開く手間が増える為です。

MACアドレスやIPアドレスを調べる場合

私自身のPC等を各システムに紐づける場合、MAC・IPアドレスを調べましたのでその時のコマンドを記載します。コマンドプロンプトの画面で:「ipconfig /all」と入力しました。(下図赤枠参照ください。)

ipconfig /allの画面
ipconfig /allの画面

ネットワーク通信が接続されているか?を調べる

Step1|現状のネットワーク?

操作:ipconfigで各ネットワークのアドレスを調べる。

ipconfig
ipconfig

Step2|ルータとの接続確認

私のPCがルータやDNSなどに接続されているか確認したときに利用しました。
利用方法:コマンドプロンプトの画面で「ping IPアドレス(宛先の)」と入力しました。(下図赤枠参照ください。)
応答があると:接続されています。

チェックポイント
「要求がタイムアウトしました」や「送信失敗」と出る場合、LANケーブルの断線、Wi-Fiの接続不良、またはルーターの不具合が疑われます。

pingの画面
pingの画面

Step3|インターネット接続の確認

操作:「ping 8.8.8.8」と入力してみる。(Googleの公開DNSです。)

ルータは通信できこれが通信できない場合、プロバイダーの回線障害が考えられるので少し
時間をおいて再度試したら私の場合うまくいきました。

どこのネットワークで躓いているか特定する場合

操作:コマンドプロンプトで「tracert 8.8.8.8」と入力する。

結果:応答速度が遅いところがトラブル箇所です。

通常下図の「1番目」は自宅のルータです。

tracertの画面
tracertの画面

下図は2番目まで通信ができているがそれ以降(3番目から)タイムアウトで通信できていない場合。

tracertで通信が途中
tracertで通信が途中

まとめ:IPアドレスを理解するとネットワークが見える

最後まで閲覧くだされありがとうございました。またお疲れさまでした。

ここでは、下記のように初心者が最初に覚えるべきポイントを体系的にまとめました。

IPアドレスの理解は、ネットワークの基礎であり、トラブル解決のスピードを大きく左右します。

サブネットやDHCPを理解するとトラブル解決が早くなります。
参考にしていただければ幸いです。

護身IT
護身IT

サブネットとDHCPを一言でいうと、自宅のネット環境では何に例えられますか?

DHCP・サブさん
DHCP・サブさん

DHCPは、家に帰ってきたスマホやPCに「自動で部屋番号(IPアドレス)を割り振ってくれる親切な管理人」です。サブネットは「1階は家族用、2階はゲスト用」のように、家の中でネットワークを使いやすく区切る壁のようなものです。基本は自動で設定されるため、仕組みだけ覚えておけば問題ありません。

あわせて読みたい関連記事

IPアドレスの仕組みや確認方法は以上です。
専門的な内容が多かったですが、実際に自分の家のネットワークがどうなっているか気になりませんか?

私が[自宅のネットワーク通信環境ノウハウ(孫記事)]をこちらの記事で公開しています。設定画面のキャプチャ付きで解説しているので、自分で確認するときの参考にしてみてください。

また、他の親子記事のリンクをまとめて下記に記載します。

全体の流れを詳しく知りたい方は、まず「【図解】IT初心者向けネットワークの基礎知識をわかりやすく解説」からご覧ください。

タイトルとURLをコピーしました