如果没有 DHCP,IT管理者必须手动选出可用的 ip,这太耗时了,幸好有 DHCP。
DHCP是一种协议,可自动为有线或无线连接的固定和移动主机分配IP地址。
当 device 使用 DHCP 时,其向 DHCP server 发请求,server 返回 ip 地址, 然后 server 不断监控此 ip 地址的使用,当此 ip 已超过一定时间不再被使用 或 device 关机时,则回收此 ip 以便后续分配给别的 device。
虽然IP地址的委派是 DHCP 协议的核心功能,但DHCP也会分配各种相关的网络参数,包括子网掩码、默认网关地址和域名服务器(DNS)。DHCP是建立在旧的BOOTP(引导协议)之上的IEEE标准,BOOTP已经过时,因为它只能在IPv4网络上工作。
可靠的 ip 地址配置
您不能让两个用户使用相同的IP地址,因为这会造成一个或两个设备无法连接到网络的冲突。DHCP消除了人为错误,从而最大限度地减少了地址冲突、配置错误或简单的打字错误。
减少网络管理
DHCP 协议提供集中化和自动化的TCP/IP配置。通过部署DHCP中继代理,不需要在每个子网上都有一台DHCP server。
移动性
对于在有线或无线网络上移动到不同位置的便携设备上的用户,DHCP可有效地处理IP地址更改。
回收
DHCP不仅会分配地址,还会在不再使用地址时自动将其取回并返回到池中。
改变网络地址范围
通过使用DHCP,组织可以轻松地将IP地址方案从一个地址范围更改为另一个地址范围。利用DHCP,网络管理员可以在不中断最终用户的情况下进行这些更改。
DHCP server
这是运行DCHP服务的联网设备,用于保存IP地址和相关配置信息。这通常是一台服务器或路由器,但也可以是充当主机的任何设备,例如SD-WAN设备。
DHCP client
此终端终端软件从DHCP server请求和接收配置信息。它可以安装在计算机、移动设备、物联网终端或任何其他需要连接到网络的设备上。默认情况下,大多数路由器都配置为接收DHCP信息。
IP address pool
可供DHCP client 使用的IP地址范围是IP地址。地址通常按从低到高的顺序分配。
subnet
IP网络可以划分为称为子网的网段。子网有助于保持网络的可管理性。
lease 租赁
DHCP client 保留IP地址信息的时间长度称为租用。租约到期时,客户端必须续订租约。
DHCP relay 中继器
侦听该网络上正在广播的客户端消息,然后将其转发到已配置的服务器的路由器或主机称为DHCP中继。然后,服务器将响应发送回中继代理,中继代理将响应传递给客户端。这可用于集中DHCP server,而不是在每个子网上都有一台服务器。
与DHCP相关的存在问题是,终端用户如何在没有IP地址的情况下首先连接到网络?
答案是,有一个复杂的来回请求和确认系统。首先,所有现代设备操作系统都包括一个默认启用的 DHCP client。为了请求IP地址,客户端设备发送广播消息–DHCPDISCOVER。网络将该请求定向到适当的 DHCP server。
通常将DHCP server功能分配给物理服务器和备份。其他设备也可以充当DHCP server,例如SD-广域网设备或无线接入点。
然后,服务器确定适当的IP地址,并将提供包发送到客户端,客户端使用请求包进行响应。在该过程的最后一步,服务器发送ACK数据包,确认已为客户端分配了IP地址。
这一切都是快速、自动完成的,最终用户无需采取任何操作。问题是,IP地址不是永久性的。它只在一段特定的时间内有效,也就是所谓的lease time(租赁时间)。
在DHCP协议下,每次DHCP server分配地址时,都会有一个相关的租用时间。当租约到期时,客户端不能再使用该IP地址,基本上会被踢出网络。
该协议旨在使活动客户端在租赁期中途自动联系DHCP server以续订租约。如果服务器没有立即响应,客户端将继续请求DHCP server续订租约,直到获得批准。
通常,当主机关闭时,租约会自动终止,以便释放其IP地址,以便网络上的另一个客户端可以使用该地址。
除了为客户端提供通过IP地址连接到网络和Internet资源的能力外,DHCP server还会分配额外的网络参数,以提高效率和安全性。这些措施包括:
Default gateway
该网关负责在本地网络和Internet之间或本地子网之间来回传输数据。
Subnet mask
IP网络使用子网掩码来分隔IP地址的主机地址和网络地址部分。
DNS server
将域名(NetworkWorld.com)转换为IP地址,IP地址由长串数字表示。
DHCP动态分配地址,但不是随机分配。由于DHCP将主机连接到网络并分配网络参数,因此在某些情况下,网络管理员可能希望将特定的子网参数集分配给特定的用户组。
scope(作用域)是一个连续的IP地址范围,DHCP server 可以利用它来满足来自 DHCP client 的IP地址请求。通过在 DHCP server 上定义一个或多个作用域,server 可以管理IP地址的分配和分配给 DHCP client 。在 DHCP 协议下,网络管理员可以根据需要设置无限数量的作用域。
Class A 是作用域的子集。如果网络管理员想要将设备组划分到更大范围的一个网段中,则 Class 非常有用。例如为远程工作的员工提供SD-WAN clients。
通过使用DHCP,IP地址的初始分配设计为快速高效。权衡之处在于,DHCP协议不需要身份验证。当然,企业已经为用户设置了强大的身份验证要求,要求他们一旦进入网络就可以访问资源,但这仍然使DHCP服务器本身成为安全链中的薄弱环节。
攻击者可以接管或欺骗DHCP服务器,并将错误信息分发给合法的最终用户,将他们发送到虚假站点。或者,它可以将合法的IP地址分发给未经授权的用户。这可能导致中间人攻击和拒绝服务攻击。
DHCP规范确实解决了其中的一些问题。有一个中继代理信息选项,网络工程师可以在消息到达时对其进行标记。此标签可用于控制网络访问。此外,网络管理员可以使用802.1x身份验证(网络访问控制)来帮助保护DHCP。
This is the first message generated in the communication process between the server and the client. This message is generated by the Client host in order to discover if there is any DHCP server/servers are present in a network or not. This message is broadcasted to all devices present in a network to find the DHCP server. This message is 342 or 576 bytes long
As shown in the figure, the source MAC address (client PC) is 08002B2EAF2A, the destination MAC address(server) is FFFFFFFFFFFF, the source IP address is 0.0.0.0(because the PC has had no IP address till now) and the destination IP address is 255.255.255.255 (IP address used for broadcasting).
因为广播报文来查找网络中的一个或多个DHCP服务器,所以用广播IP地址和MAC地址。
The server will respond to the host in this message specifying the unleased IP address and other TCP configuration information. This message is broadcasted by the server. The size of the message is 342 bytes. If there is more than one DHCP server present in the network then the client host will accept the first DHCP OFFER message it receives. Also, a server ID is specified in the packet in order to identify the server.
大致介绍
技术细节