获取目的主机地址的过程
一个访问网站的过程为,在浏览器的地址栏输入网站的URL,然后对应网站的服务器返回对应的主页源代码给浏览器,浏览器渲染出主页。
浏览器 Chrome 访问百度主页,这里的客户端是 Chrome,服务端是百度服务器。
我们称 Chrome 为 A,百度服务器为 B。
下面从网络通信的角度来简单剖析下这个过程。
如何知道服务端的位置?
在 Chrome 浏览器的地址栏输入 www.baidu.com
IP 地址
需要获取到百度服务器的IP地址,这个通过DNS协议获得IP地址 DNS协议详解
MAC地址
- 如果是局域网内的通信,即本机访问的是同一网段内的主机,则直接在本机内进行广播询问对应目标IP地址的MAC地址的主机是哪个主机。
- 如果是跨局域网的通信,即本机访问的是不同网段内的主机,则需要找到局域网网关,然后网关通过网络层的协议找到对应目标IP地址对应的网关,然后再由这个网关找到对应目标主机的MAC地址
如此获取到了目标主机的MAC地址。ARP协议详解
输入URL后访问网站的背后发生了什么
路由器找地址介绍
ARP过程
ARP过程:先查arp缓存,若缓存命中直接返回;没命中则在本网段进行广播,若要解析的目标ip在当前网段,返回的是目标ip的mac地址;若目标ip不在当前网段则获取的是替我们转发ip数据报的路由器mac地址。获取到mac地址后返回并缓存至arp缓存中。