全体の通信の流れ
ダイナミックルーティング、DHCP(Dynamic Host Configuration Protocol)、DNS(Domain Name System)、ARP(Address Resolution Protocol)などは、どのような順番で行われて通信が成り立っているのでしょうか?
本項では、全体の通信の流れを説明します。
前提
今回説明するネットワークは以下のとおりで、パソコンからWebサーバーであるwww.example.comを参照したいとします。
ダイナミックルーティング
下図のとおり、ルーター間はダイナミックルーティングで常に経路のやりとりをしているため、どちらにDNSサーバー、Webサーバーがあるかなどを把握しています。
小規模なネットワークの場合は、スタティックルーティングで行っている場合もあります。
DHCP
パソコンを起動すると、DHCPによりIPアドレス、サブネットマスク、デフォルトゲートウェイ、優先DNSサーバー、代替DNSサーバーが自動的に割り振られます。
下図の場合、デフォルトゲートウェイと優先DNSサーバーはルーターAに設定されます。
DHCPは利用せずに、手動で設定している場合もあります。
DNS
Google ChromeやMicrosoft Edgeなどのブラウザを起動して、URLでwww.example.comと入力すると、優先DNSサーバーと通信しなければいけないのですが、まずはサブネット範囲の確認です。
例えば、パソコンのIPアドレスが192.168.1.10でサブネットマスクが255.255.255.0の場合、サブネットは192.168.1.0になります。優先DNSサーバーのIPアドレスが192.168.1.1であった場合、同一サブネットにあるため直接通信できると判断します。
この場合、パソコンでは優先DNSサーバーのMACアドレスを知るためにARP解決を行います。
優先DNSサーバーのMACアドレスがわかったので、優先DNSサーバーに対してwww.example.comのIPアドレスを問い合わせますが、すぐに回答されません。
優先DNSサーバーはARP解決をした後、ルーティングによりルーターを経由しながらその他のネットワークに接続されているルートサーバー、comを管理しているサーバーと通信し、exampleを管理しているサーバーのIPアドレスを教えてもらいます。
最終的には、そのexampleを管理しているサーバーからwww.example.comのIPアドレスを教えてもらいます。
優先DNSサーバーはwww.example.comのIPアドレスがわかったので、パソコンにそのIPアドレスを回答します。
やっと通信
パソコンはwww.example.comのIPアドレスがわかったので通信しますが、まずは自分のIPアドレスとサブネットマスクから自身のサブネットの範囲に通信先のIPアドレスが含まれているか判断します。
例えば、パソコンのIPアドレスが192.168.1.10でサブネットマスクが255.255.255.0の場合、サブネットは192.168.1.0になります。通信相手が172.16.1.10だとサブネット範囲外になるのでデフォルトゲートウェイに通信を送り、ルーティングで相手先まで届けて貰う必要があると判断します。
デフォルトゲートウェイは192.168.1.1ですが、上のARP解決で既にARPテーブルに載っているので、ARP解決を行わずデフォルトゲートウェイに通信を開始します。
その後は、ルーティングで示した通り、www.example.comのWebサーバまで通信が届き、サーバー側でポート番号を見てWebサービスの処理をします。
まとめ
簡単にまとめると、以下の手順で通信が進むことになります。
この間、必要に応じて同一サブネットか判断して直接通信するか、デフォルトゲートウェイに中継してもらうか判断する、MACアドレスに変換するためにARP解決を行うという処理が入ることになります。
最初のページ「IPアドレスの設定」