STAGE 04 / 4-3 ネットワークサービス

DHCPとDNS

考えてみよう

新しいPCをネットワークにつないだだけで、IPアドレスの設定もしていないのにインターネットが使えるのはなぜでしょう?

Stage02で、PCにはIPアドレス・サブネットマスク・デフォルトゲートウェイの設定が必要だと学びました。でも普段、私たちは手入力していません。裏で何が起きているのでしょうか。

IPアドレスを自動で配る仕組み:DHCP

毎回すべてのPCに手作業でIPアドレスを設定するのは、現実的ではありません。この作業を自動化するのがDHCP(Dynamic Host Configuration Protocol)です。DHCPサーバーが、IPアドレス・サブネットマスク・デフォルトゲートウェイ・DNSサーバーなどをまとめてPCに配布してくれます。

新しい従業員が出社したときに、総務が「席・机・内線番号」をまとめて割り当ててくれるようなものです。従業員自身が机を探し回る必要はありません。

DHCPの4ステップ:DORA

DHCPでアドレスが割り当てられるまでの流れは、頭文字を取ってDORAと呼ばれます。

  1. Discover:PCが「DHCPサーバーはいませんか」とブロードキャストで呼びかける
  2. Offer:DHCPサーバーが「このIPアドレスはどうですか」と提案する
  3. Request:PCが「そのIPアドレスをください」と正式に要求する
  4. Acknowledge:DHCPサーバーが「割り当てを確定しました」と応答する

この4段階のやり取りはすべてブロードキャストを使って行われます(PCはまだ自分のIPアドレスを持っていないため、ユニキャストで直接サーバーを指定できないからです)。

確認問題

DHCPでIPアドレスが割り当てられるまでの4つのステップを、順番通りに答えてください。

答えを見る

Discover → Offer → Request → Acknowledge(DORA)です。PCがブロードキャストで呼びかけ(Discover)、サーバーが提案し(Offer)、PCが要求し(Request)、サーバーが確定応答する(Acknowledge)、という流れです。

ブロードキャストが届かない問題:DHCPリレー

ここで問題があります。DHCPのDiscoverはブロードキャストなので、通常はルーターを越えて別のセグメントには届きません。しかし実際のネットワークでは、DHCPサーバーは特定の1台に集約し、複数のセグメントのPCがそこにアクセスしたいのが普通です。

この課題を解決するのがDHCPリレーです。ルーターのインターフェースに次のコマンドを設定します。

Router(config)# interface GigabitEthernet0/0
Router(config-if)# ip helper-address 192.168.100.10

このコマンドを設定したインターフェースは、受け取ったDHCPのブロードキャストを、指定したDHCPサーバー(192.168.100.10)宛てのユニキャストに変換して転送してくれます。郵便局の私書箱のように、ルーターが「このセグメントに届いた呼びかけは、私が代わりにサーバーまで届けます」という中継役を担うイメージです。

確認問題

別セグメントにあるDHCPサーバーへ、PCからのDHCPブロードキャストを転送するために、ルーターのインターフェースに設定するコマンドはどれでしょう?

答えを見る

ip helper-address [DHCPサーバーのIPアドレス] です。ブロードキャストとして届いたDHCPの要求を、指定したDHCPサーバー宛てのユニキャストに変換して中継してくれます。

Cisco IOSルーターをDHCPサーバーにする

小規模な環境では、専用サーバーを立てずにルーター自体をDHCPサーバーにすることもできます。

Router(config)# ip dhcp excluded-address 192.168.1.1 192.168.1.10
Router(config)# ip dhcp pool LAN-POOL
Router(dhcp-config)# network 192.168.1.0 255.255.255.0
Router(dhcp-config)# default-router 192.168.1.1
Router(dhcp-config)# dns-server 8.8.8.8
Router(dhcp-config)# lease 7

名前解決を担うDNS

IPアドレスは覚えにくいものです。人間はwww.example.comのような名前のほうが扱いやすく、この名前とIPアドレスを結びつける仕組みDNS(Domain Name System)です。

PCがWebサイトにアクセスする際は、まずDNSサーバーに「www.example.comのIPアドレスは何ですか」と問い合わせ(クエリ)、DNSサーバーが該当するIPアドレスを回答します。その後PCは、得られたIPアドレス宛てに実際の通信を開始します。電話帳で相手の名前から電話番号を調べてから、実際に電話をかけるのと同じ流れです。DHCPで配布されるdns-serverの設定は、まさにPCがこの電話帳(DNSサーバー)をどこに問い合わせればよいかを教えるためのものです。

確認問題

PCがwww.example.comにアクセスする際、実際の通信の前に行われる処理は何でしょう?

答えを見る

DNSによる名前解決です。PCはまずDNSサーバーにwww.example.comに対応するIPアドレスを問い合わせ、回答されたIPアドレス宛てに実際の通信(TCP接続など)を開始します。

試験でのポイント

CCNA試験では、DORAの順番、DHCPのやり取りがブロードキャストである理由、そしてip helper-addressの役割が頻出です。特に「ルーターは通常ブロードキャストを転送しない」という大原則と、「ip helper-addressはその例外としてDHCP(等)のブロードキャストをユニキャストに変換して中継する」という組み合わせで理解しておくと、応用問題にも対応しやすくなります。ip dhcp excluded-addressip dhcp poolより先に書く実務上の理由(除外を後から追加してもすでに配布済みのアドレスと衝突しうる)も押さえておきましょう。

ゆみちゃん
ゆみ

DHCPはDORAの4ステップ、そしてブロードキャストが届かない問題を解決するのがip helper-address。DNSは名前とIPアドレスの電話帳役だったね。次はいよいよ試験対策ドリル、ルーティングの総復習をやっていくよ。