二、 IP 地址的基础知识( 五 )


DNS 服务器,它是域名解析结果的原出处 。为啥叫权威呢?就是我的域名我做主 。权威 DNS 服务器查询后将对应的 IP 地址 X.X.X.X 告诉本地 DNS 。本地 DNS 再将 IP 地址返回客户端,客户端和目标建立连接 。
至此,我们完成了 DNS 的解析过程 。现在总结?下,整个过程我画成了?个图 。
DNS 域名解析的过程蛮有意思的,整个过程就和我们日常生活中找人问路的过程类似,只指路不带路 。
ARP
在传输?个 IP 数据报的时候,确定了源 IP 地址和目标 IP 地址后,就会通过主机路由表确定 IP 数据包下?跳 。然而,网络层的下?层是数据链路层,所以我们还要知道下?跳的 MAC 地址 。
由于主机的路由表中可以找到下?跳的 IP 地址,所以可以通过 ARP 协议,求得下?跳的 MAC 地址 。
那么 ARP 又是如何知道对方 MAC 地址的呢?
简单地说,ARP 是借助 ARP 请求与 ARP 响应两种类型的包确定 MAC 地址的 。
操作系统通常会把第一次通过 ARP 获取的 MAC 地址缓存起来,以便下次直接从缓存中找到对应 IP 地址的 MAC地址 。
不过,MAC 地址的缓存是有?定期限的,超过这个期限,缓存的内容将被清除 。
RARP 协议你知道是什么吗?
ARP 协议是已知 IP 地址求 MAC 地址,那 RARP 协议正好相反,它是已知 MAC 地址求 IP 地址 。例如将打印机服务器等小型嵌入式设备接入到网络时就经常会用得到 。
通常这需要架设?台 RARP 服务器,在这个服务器上注册设备的 MAC 地址及其 IP 地址 。然后再将这个设备接入到网络,接着:
最后,设备就根据从 RARP 服务器所收到的应答信息设置自己的 IP 地址 。
DHCP
DHCP 在生活中我们是很常见的了,我们的电脑通常都是通过 DHCP 动态获取 IP 地址,大大省去了配 IP 信息繁琐的过程 。
接下来,我们来看看我们的电脑是如何通过 4 个步骤的过程,获取到 IP 的 。
先说明一点,DHCP 客户端进程监听的是 68 端口号,DHCP 服务端进程监听的是 67 端口号 。
这 4 个步骤:
?旦客户端收到 DHCP ACK 后,交互便完成了,并且客户端能够在租用期内使用DHCP 服务器分配的 IP 地址 。如果租约的 DHCP IP 地址快期后,客户端会向服务器发送 DHCP 请求报文:
可以发现,DHCP 交互中,全程都是使用UDP广播通信 。
咦,用的是广播,那如果 DHCP 服务器和客户端不是在同?个局域网内,路由器又不会转发?播包,那不是每个网络都要配?个 DHCP 服务器?
所以,为了解决这?问题,就出现了 DHCP 中继代理 。有了 DHCP 中继代理以后,对不同网段的 IP 地址分配也可以由?个 DHCP 服务器统?进行管理 。
因此,DHCP 服务器即使不在同一个链路上也可以实现统一分配和管理IP地址 。
NAT
IPv4 的地址是非常紧缺的,在前面我们也提到可以通过无分类地址来减缓 IPv4 地址耗尽的速度,但是互联网的用户增速是非常惊人的,所以 IPv4 地址依然有被耗尽的危险 。
于是,提出了?种网络地址转换 NAT 的方法,再次缓解了 IPv4 地址耗尽的问题 。
简单的来说 NAT 就是同个公司、家庭、教室内的主机对外部通信时,把私有 IP 地址转换成公有 IP 地址 。
那不是 N 个私有 IP 地址,你就要 N 个公有 IP 地址?这怎么就缓解了 IPv4 地址耗尽的问题?这不瞎扯吗?
确实是,普通的 NAT 转换没什么意义 。
由于绝大多数的网络应用都是使用传输层协议 TCP 或 UDP 来传输数据的 。
因此,可以把 IP 地址 + 端口号?起进行转换 。
这样,就用?个全球 IP 地址就可以了,这种转换技术就叫网络地址与端口转换 NAPT 。