全体の通信の流れ

ダイナミックルーティング、DHCP(Dynamic Host Configuration Protocol)、DNS(Domain Name System)、ARP(Address Resolution Protocol)などは、どのような順番で行われて通信が成り立っているのでしょうか?

本項では、全体の通信の流れを説明します。

前提

今回説明するネットワークは以下のとおりで、パソコンからWebサーバーであるwww.example.comを参照したいとします。

パソコンからWebサーバーの間に3台のルーターがあるネットワーク

ダイナミックルーティング

下図のとおり、ルーター間はダイナミックルーティングで常に経路のやりとりをしているため、どちらにDNSサーバー、Webサーバーがあるかなどを把握しています。

ルーター間で経路のやりとりしている。

 小規模なネットワークの場合は、スタティックルーティングで行っている場合もあります。

DHCP

パソコンを起動すると、DHCPによりIPアドレス、サブネットマスク、デフォルトゲートウェイ、優先DNSサーバー、代替DNSサーバーが自動的に割り振られます。

下図の場合、デフォルトゲートウェイと優先DNSサーバーはルーターAに設定されます。

DHCPを利用してIPアドレスなどを取得する。

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サーバーと通信するため、ARP解決をする。

優先DNSサーバーのMACアドレスがわかったので、優先DNSサーバーに対してwww.example.comのIPアドレスを問い合わせますが、すぐに回答されません。

優先DNSサーバーにwww.example.comのIPアドレスを問い合わせる。

優先DNSサーバーはARP解決をした後、ルーティングによりルーターを経由しながらその他のネットワークに接続されているルートサーバー、comを管理しているサーバーと通信し、exampleを管理しているサーバーのIPアドレスを教えてもらいます。

最終的には、そのexampleを管理しているサーバーからwww.example.comのIPアドレスを教えてもらいます。

優先DNSサーバーからwww.example.comのIPアドレスを問い合わせ、exampleを管理しているサーバーから回答をもらう。

優先DNSサーバーはwww.example.comのIPアドレスがわかったので、パソコンにそのIPアドレスを回答します。

優先DNSサーバーからパソコンに、www.example.comの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と通信するため、デフォルトゲートウェイを宛先MACアドレスとして送信する。

その後は、ルーティングで示した通り、www.example.comのWebサーバまで通信が届き、サーバー側でポート番号を見てWebサービスの処理をします。

ルーターがルーティングすることでwww.example.comまで通信が届く。

まとめ

簡単にまとめると、以下の手順で通信が進むことになります。

ダイナミックルーティングで経路を確保し、DHCPでアドレスなど取得がされる。通信開始時にDNSで名前解決し、Webサーバーと通信が可能になる。

この間、必要に応じて同一サブネットか判断して直接通信するか、デフォルトゲートウェイに中継してもらうか判断する、MACアドレスに変換するためにARP解決を行うという処理が入ることになります。

最初のページIPアドレスの設定