1.DHCP介绍
DHCP(dynamic host configuration protocol)即动态主机配置协议;一个网络主机数量多,而且主机流动性大,因为手工配置复杂,手工配置容易发现地址冲突,影响其他主机及服务器。所以DHCP出现。
2.DHCP工作原理
条件:网络中建立DHCP服务器(内容定义:地址池,掩码,网关,保留IPV4地址,DNS,租限时间)
1. 客户端------服务器
当网络内出现一新客户端(主机)时(TCP/IP选择自动获取);客户端会发送DHCPDiscover广播报文(源IP:0.0.0.0;目的IP:255.255.255.255;MAC;XID)到网络内;报文分重复发送四次,时间间隔分别是:1,9,13,16秒;如果最后一次没有收到服务器回应,客户端则会显示错误信息,宣告 DHCPdiscover 的失败;经过5分钟后,主机会再次请求;
2. 服务器------客户端
当DHCP服务器收到DHCPDiscover信息后,服务器会回复一个DHCPOffer信息:空闲IP+客户端(MAC)+XID(标志服务器)+租限信息;
3. 客户端------服务器
当客户端收到DHCPOffer后,1.先向网络内发送一个ARP,如果网络内存在这个IP地址,刚回复给服务器一个DHCPClient信息,拒绝接收DHCPOffer信息。重新申请;2.如果IP可用,则回复一个DHCPrequest信息表示确认收到IP地址。(DHCPrequest广播发送,这样向网络内说明一下,客户端选择的DHCP服务器,因为一个网络内可能存大多个DHCP服务器,客户端只使用最先收到的DHCPOffer信息)
3.扩展1
事实上,并不是所有 DHCP客户端都会无条件接受 DHCP服务器的 offer ,尤其这些主机安装有其它TCP/IP相关的客户软件。客户端也可以用 DHCPrequest 向服务器提出 DHCP选择,而这些选择会以不同的号码填写在 DHCPOption Field 里面: 换一句话说,在 DHCP服务器上面的设定,未必是客户端全都接受,客户端可以保留自己的一些TCP/IP设定。而主动权永远在客户端这边。
4.扩展2 :DHCP Relay
背景:早期DHCP工作在同一个网络内,网络变大,导致需要跨网段来提供DHCP服务;
当dhcp client启动并进行配置初始化时,它会在本地网络广播配置请求报文;
如果本地网络存在dhcp server,则可以直接进行dhcp配置,不需要dhcp relay;
如果本地网络没有dhcp server,则与本地网络相连的具有dhcp relay功能的网络设备收到该广播报文后,将进行适当处理并转发给指定的其它网络上的dhcp server;
dhcp server根据dhcp client提供的信息进行相应的配置,并通过dhcp relay将配置信息发送给dhcp client,完成对dhcp client的动态配置;
从开始配置到最终完成配置,可能存在多次这样的交互过程。