新しいPCをネットワークにつないだだけで、IPアドレスの設定もしていないのにインターネットが使えるのはなぜでしょう?
Stage02で、PCにはIPアドレス・サブネットマスク・デフォルトゲートウェイの設定が必要だと学びました。でも普段、私たちは手入力していません。裏で何が起きているのでしょうか。
IPアドレスを自動で配る仕組み:DHCP
毎回すべてのPCに手作業でIPアドレスを設定するのは、現実的ではありません。この作業を自動化するのがDHCP(Dynamic Host Configuration Protocol)です。DHCPサーバーが、IPアドレス・サブネットマスク・デフォルトゲートウェイ・DNSサーバーなどをまとめてPCに配布してくれます。
新しい従業員が出社したときに、総務が「席・机・内線番号」をまとめて割り当ててくれるようなものです。従業員自身が机を探し回る必要はありません。
DHCPの4ステップ:DORA
DHCPでアドレスが割り当てられるまでの流れは、頭文字を取ってDORAと呼ばれます。
- Discover:PCが「DHCPサーバーはいませんか」とブロードキャストで呼びかける
- Offer:DHCPサーバーが「このIPアドレスはどうですか」と提案する
- Request:PCが「そのIPアドレスをください」と正式に要求する
- 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
ip dhcp excluded-address… プールから除外するアドレス範囲(ルーター自身や固定IPを持つサーバーなど、自動配布したくないアドレス)を、プール定義より先に指定するip dhcp pool… プール名を決めて設定モードに入るnetwork… 配布するアドレス範囲とマスクdefault-router… 配布するデフォルトゲートウェイdns-server… 配布するDNSサーバーlease… アドレスの貸出期間(日数)
名前解決を担う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-addressをip dhcp poolより先に書く実務上の理由(除外を後から追加してもすでに配布済みのアドレスと衝突しうる)も押さえておきましょう。
DHCPはDORAの4ステップ、そしてブロードキャストが届かない問題を解決するのがip helper-address。DNSは名前とIPアドレスの電話帳役だったね。次はいよいよ試験対策ドリル、ルーティングの総復習をやっていくよ。