衡水网站建设浩森宇特,视觉设计师前景,哪个网站可以做网红,杭州建设工程交易中心网站环境#xff1a; os#xff1a;centos7 dnsmasq#xff1a;version 2.76 
一. dhcp工作原理 
首先补充几个dhcp相关的基本概念#xff1a; 1、动态主机配置协议DHCP#xff08;Dynamic Host Configuration Protocol#xff09;是一种网络管理协议#xff0c;用于集中对用…环境 oscentos7 dnsmasqversion 2.76 
一. dhcp工作原理 
首先补充几个dhcp相关的基本概念 1、动态主机配置协议DHCPDynamic Host Configuration Protocol是一种网络管理协议用于集中对用户IP地址进行动态管理和配置。 2、DHCP协议采用UDP作为传输协议DHCP客户端发送请求消息到DHCP服务器的67号端口DHCP服务器回应应答消息给DHCP客户端的68号端口 
3、在没有部署DHCP中继的场景下首次接入网络的DHCP客户端与DHCP服务器的报文交互称为DHCP报文四步交互如下图  4、当DHCP客户端非首次接入网络时可以重用曾经使用过的地址。客户端广播发送包含前一次分配的IP地址的DHCP REQUEST报文报文中的Option50请求的IP地址选项字段填入曾经使用过的IP地址。DHCP服务器收到DHCP REQUEST报文后根据DHCP REQUEST报文中携带的MAC地址来查找有没有相应的租约记录如果有则返回DHCP ACK报文通知DHCP客户端可以继续使用这个IP地址。否则保持沉默等待客户端重新发送DHCP DISCOVER报文请求新的IP地址  
二. 实践 
2.1 准备 
参考文章《【云计算 | Openstack】KVM虚机通过dhcp自动获取地址》使用dnsmasq作为dhcp服务端使用virsh虚机作为dhcp客户端。 网络架构如下图所示dnsmasq监听网桥br0的67号端口 2.2 开始dhcp并抓包 
当客户端开始dhcp时对虚机口进行抓包结果如下  
2.3 报文分析 
上文提到dhcp的4步交互前提是dhcp客户端首次接入网络。本次实践dhcp客户端非首次接入同时修改了dhcp地址池的cidr信息。因此整个dhcp流程大致为 客户端发送dhcp request——无响应——客户端重新发送dhcp discover——服务端响应dhcp offer——客户端发送dhcp request——服务端响应dhcp ack 
1、先看下报文1-2DHCP Request 
客户端发送两次dhcp request报文想继续使用之前申请的地址 2、报文3DHCP Discover该步是发现阶段 
客户端发送的dhcp request收不到响应因此DHCP客户端以广播方式发送DHCP DISCOVER报文目的IP地址为255.255.255.255给同一网段内的所有设备包括DHCP服务器或中继。DHCP DISCOVER报文中携带了客户端的MAC地址、需要请求的参数列表选项Option55、广播标志位flags字段等信息。 Option 55 包含的内容 3、报文4-7 
dhcp服务端收到了discover报文后连续发送3个arp和一个icmp报文用来判断地址11.11.1.70是否被其他客户端占用 4、报文8DHCP Offer该步是提供阶段 
服务端选择一个可用的IP地址然后通过DHCP OFFER报文发送给DHCP客户端Option 1包含了该ip地址的掩码位 5、报文9DHCP Request该步是选择阶段 
如果有多个DHCP服务器向DHCP客户端回应DHCP OFFER报文则DHCP客户端一般只接收第一个收到的DHCP OFFER报文然后以广播方式发送DHCP REQUEST报文该报文中包含客户端想选择的DHCP服务器标识符即Option54和客户端IP地址即Option50。 DHCP客户端广播发送DHCP REQUEST报文通知所有的DHCP服务器它将选择某个DHCP服务器提供的IP地址其他DHCP服务器可以重新将曾经分配给客户端的IP地址分配给其他客户端。 6、报文10DHCP ACK该步是确认阶段 
当DHCP服务器收到DHCP客户端发送的DHCP REQUEST报文后DHCP服务器回应DHCP ACK报文表示DHCP REQUEST报文中请求的IP地址Option50填充的分配给客户端使用。 7、报文11-12 
DHCP客户端收到DHCP ACK报文会广播发送免费ARP报文探测本网段是否有其他终端使用服务器分配的IP地址如果在指定时间内没有收到回应表示客户端可以使用此地址 8、报文13-14 
DHCP客户端收到DHCP ACK报文会广播发送ARP报文获取网关的MAC信息网关的ip地址在dhcp offer 和dhcp ack报文的Option 3 中均有体现