DHCP(动态主机配置协议)和 DNS(域名系统)的出现是为了让我们能够轻松使用网络或互联网,在实际应用中 DHCP 和 DNS 是两种完全不同的技术。DHCP 是一种能够帮助我们将 IP 地址和相关 IP 信息分配给网络中计算机的协议,许多网络交换机会使用 DHCP 提供有价值的 TCP/IP 网络服务,如,帮助自动升级客户端系统上的软件。而 DNS 是用于将网络名称(如 feisu.com)转换成其 IP 地址,反之亦然。这是为了确保我们的计算机可以找到正确的站点,因为计算机只能通过其 IP 地址(而非域名)来查找站点。虽然上述已简单解释了 DHCP 和 DNS 的定义,但也许您仍然不知如何区别二者,下面本文将为您详细介绍 DHCP 和 DNS 的工作方式以及它们之间的区别。
DHCP 如何工作?
DHCP 的工作原理是将 IP 地址和 IP 信息“出租”给网络客户端一段时间。因此 DHCP 客户端必须通过一系列 DHCP 消息与 DHCP 服务器进行交互,其中 DHCP 消息主要包括 DHCP Discover,DHCP Offer,DHCP Request 和 DHCP ACK。如下图所示。
图 1:DHCP 工作原理
DHCP 服务器分配动态 IP 地址时会经历请求、响应、选择、确认等阶段,详细过程如下:
客户端请求 IP 地址阶段——当客户端接入网络时,即启用 DHCP Client 后,客户端发送广播数据包 DHCP Discover(包括计算机的名称和 MAC 地址),便于 DHCP 服务器能响应它。
服务器响应请求阶段——当 DHCP 服务器接收 DHCP Discover 时,会根据地址池内剩下的 IP 地址,以广播方式分配给客户端一个 IP 地址,分配的 DHCP Offer 报文中还包含了一些其他字段,如 DNS 地址、网关、掩码等。
客户端选择 IP 地址阶段——当客户端收到 DHCP Offer 报文时,会决定选用哪个服务器提供 DHCP 地址,然后根据 DHCP Offer 提供的地址信息,发送 DHCP Request 报文请求。
服务器确认阶段——当服务器收到 DHCP Request 报文后,将确认地址池中这个地址是否被分配。如果没有被分配,DHCP 服务器将发送 DHCP ACK 报文给 DHCP 客户端,告知 DHCP 客户端现在可以使用分给它的 IP 地址。如果被分配,就会回复 DHCP NAK 报文,告知客户端该地址已被分配。
简而言之,这就是 DHCP 客户端(A)和 DHCP 服务器(B)之间 “接受与给予”的故事:
A:谁可以给我一个 IP 地址?
B:恩,让我检查一下……有一个可用的。
A:太好了,请给我吧!
B:没问题。
DNS 如何工作?
如下图所示,当在浏览器中输入域名时,例如 feisu.com,浏览器通常不知道 feisu.com 在哪里。因此,它将向本地 DNS 服务器(LDNS)发送查询,询问一些关于“feisu.com 的 IP 地址是什么”之类的问题。如果 LDNS 没有 feisu.com 的记录,它将在互联网中搜索查找出谁拥有 www.feisu.com。详细工作过程如下:
首先,LDNS 进入其中一个根服务器,将其定向到.com DNS 服务器。
其次,.com DNS 服务器找到 www.feisu.com 的所有者,并通知 LDNS feisu.com 的名称服务器(NS)记录。
然后,LDNS 通过请求包含 feisu.com 的 IP 地址的地址记录(A 记录)来响应。
最后,当 LDNS 收到 A 记录后,会将 IP 地址发送给浏览器,并缓存 IP 地址信息,以备将来参考。
图 2:DNS 工作原理
DHCP 与 DNS 之间有什么区别?
从上述介绍中可看出,虽然 DHCP 和 DNS 都与 IP 地址相关,但它们扮演着完全不同的角色。为了能让您更加清楚了解 DHCP 和 DNS 的区别在哪里,请看下列图表:
总结
总而言之,DHCP 服务器将 IP 地址分配给客户端计算机,而 DNS 服务器则是解析它们。DHCP 和 DNS 是为了让我们能更加方便使用网络或互联网而研发的两种必不可少的技术,同时也是网络管理员用来管理公司网络上所有 IP 设备的必不可少的“工具”。
了解更多