DHCP原理及配置
目录
- DHCP原理
- 配置基于接口地址池的DHCP
- 配置基于全局地址池的DHCP
- 配置中继DHCP
1、DHCP原理
- 1.1、什么是DHCP?
DHCP(Dynamic Host Configuration Protocol)IETF制定的一种Server/Client模式的动态主机配置协议,提供动态分配网络配置参数的机制,并且可以向后兼容BOOTP协议。
其中Server/Client都是指一种应用程序。
- 1.2、什么时候使用DHCP?
#DHCP能给那些设备配置网络参数?
任何需要得到IP地址的设备(路由器的IP地址一般都是手工配置)。
#DHCP能够分配那些网络参数?
1 IP地址
2 Gateway
3 DNS
4boot文件名
5DHCP服务端主机域名
6DHCP服务端标识
7下一个服务器的IP地址
8IP地址的租期
#什么时候使用DHCP?
有大量的设备需要配置IP地址的时候
- 1.3、为什么要使用DHCP?
减少网络管理的工作量;
避免因手工配置IP地址造成的IP地址冲突。
-
1.4、DHCP工作的基本流程
1、发现阶段:(Client寻找Server的阶段) Client启动后, 发送一个广播帧,源MAC地址为Client的MAC地址,目标地址为FF:FF:FF:FF; IP报文的目的IP地址为255.255.255.255,源地址为0.0.0.0; 传输控制层为UDP报文:目的端口号为67,源端口号为68; 这个消息被称为**DHCPDISCOVER**。 注意:Client 端计算机会发送四次请求信息,第一次等待时间为 1 秒,其余三次的等待时间分别是 9、13、16 秒。 如果还是没有DHCP服务器的响应,那么在5分钟之后,Client端计算机会重复这一动作。 2、提供阶段:(Server向Client提供IP地址的阶段) Server接收到DHCPDISCOVER报消息后, 从自己维护的地址池里选择一个IP地址, 传输控制层为UDP报文:目的端口号为:68,源端口号为67; UDP封装在广播IP报文中, IP报文的目的IP地址为Server给Client分配的IP地址,源地址为Server的单播IP地址; IP报文被封装在广播帧中, 单播帧的源MAC地址为Server的单播MAC地址,目标地址为Client的MAC地址; 这个消息被称为DHCPOFFER 3、请求阶段:(Client发消息第一个给它发DHCPOFFER消息的Server,请求IP地址) Client收到第一个DHCPOFFER后, 发送一个广播帧:源MAC为Client的MAC地址,目标地址为FF:FF:FF:FF 广播IP报文:源地址为0.0.0.0,目标地址为255.255.255.255,协议字段值为0x11 UDP报文:源端口号为67,目标端口号为68 报文中包含Server的标识; 这个消息被称为DHCPREQUEST。 4、确认阶段:(Server向Client发送ACK/NACK消息) Server在收到DHCPREQUEST消息后, 在传输层UDP报文:源端口为67,目标端口为68; UDP封装在广播IP中:源地址为Server的IP地址,目标地址为:255.255.255.255 IP报文封装在单播帧中:源MAC地址为Server的MAC地址,目标地址为Client的MAC地址 如果是NACK则这次获取IP地址失败;
特别需要注意的地方:
1、什么时候会触发Client发送DHCPDISCOVER消息?
Client初次接入网络中时;
重启后IP地址不能再使用时;
租期到了后IP地址不能再使用时。
2、Client重启后,是怎么获取IP地址的?
Client会保存Server的IP、MAC等信息,
重启后会直接以单播的方式发送DHCPREQUEST消息(如果收不到回应在以广播的方式发送),
Server回复DHCPACK消息后,Client就可以继续使用原来的IP;
如果收到DHCPNACK,则需要重新发送DHCPDISCOVER消息获取IP
3、关于IP地址的租期:
默认租期为1天(24小时:86400sec)
在IP地址使用时间到了租期一半时,Client会以单播的形式发送DHCPREQUEST消息:
如果在租期的87.5%之前收到DHCPACK,则继续刷新租期继续使用该IP;
如果到了87.5%还未收到DHCPACK,则以广播的形式发送DHCPREQUEST;
如果租期到期前收到DHCPACK,则继续刷新租期继续使用该IP
如果租期到了,还未收到DHCPACK,则需要重新DHCPDISCOVER消息获取IP。
- 1.5 DHCP中继
1、什么是DHCP中继?
DHCP中继就是中转DHCP Client和DHCP Server之间的DHCP消息的代理。
2、什么时候用DHCP中继?
在包含多个二层网络的需要动态分配IP地址的网络结构中。
3、怎么用DHCP中继?
一般是把DHCP部署在路由器或三层交换机上。
- 1.6华为的DHCP协议报文与思科的区别
华为的Server发的消息都是单播的,思科的Server发的消息是广播的
华为确认IP地址的唯一性是在确认阶段接收到DHCPACK消息后;思科确认IP地的唯一性是在请求阶段开始的时候。