5.2 DNS
平时访问网站用IP地址很不方便,一般都是用主机名(域名)
为了实现用主机名(域名)替代IP地址的功能,主机会利用hosts数据文件,也就是DNS
DNS是怎么查询IP地址的?
- 首先向最近的DNS服务器查询IP地址,如果有就返回,没有就向根域名服务器查询
5.3 ARP
5.3.1 ARP是什么?
- 在数据链路层中我们需要查找目标IP地址的MAC地址,可以通过广播发送一个ARP请求包,询问目标IP的MAC地址
- 为了防止每发一次数据就要一次ARP请求,会将MAC地址和IP地址的映射关系缓存在主机中,即ARP缓存表
5.3.3 IP地址和MAC地址为什么缺一不可?
- 首先在第4章 IP协议中的4.1.2说明了网络层和数据链路层为什么缺一不可
- 主机A和主机B如果不在同一个数据链路中,也就是不在同一个网段,主机A想要发送数据给主机B,必须要经过路由器。如果只知道主机A和主机B的MAC地址,主机A在自己的网段中找不到主机B的MAC,便会发送数据给路由器,但是这时候如果没有IP协议和ARP地址解析协议,是无法进行路由控制,获取路由器的MAC,这样主机A的数据就到达不了路由器,更到达不了主机B
5.3.4 RARP
和ARP相反,通过自己的MAC地址查询自己的IP地址
5.4 ICMP
5.4.1 ICMP是什么?
- 在IP通信中,如果因为某种原因没到目的地,那么目的地的路由器就会发一个ICMP包,包中有发生问题的原因
5.5 DHCP
DHCP是用来自动分配IP地址的
5.6 NAT
NAT是用来对本地网络的私有IP地址和互联网的全局IP地址相互转换