DHCP与DHCPv6讲解

目录
DHCP
DHCP端口号
DHCP报文
DHCP工作过程
DHCP租期续租
端口号
报文
工作原理
DHCP DHCP端口号
DHCP主要有两个端口号,分别是UDP67和UDP68
DHCP客户端向DHCP服务器发送报文时采用68端口号,DHCP服务器向DHCP客户端发送报文时采用67端口号
DHCP报文
用来寻找DHCP服务器(广播)
Offer 服务器用来响应报文(携带了各种配置信息)(广播/单播)
客户端初始化时用来回应服务器发送的Offer报文(广播);客户端重启时用来确认先前被分配的IP地址等配置信息(广播);客户端进行IP地址续约时发送(广播/单播)
Ack服务器对报文的确认响应报文(客户端收到此报文后,才真正获得了IP地址和相关的配置信息)(广播/单播)
客户端发现服务器分配的地址冲突,发送此报文重新申请地址(单播)
客户端主动释放服务器分配的IP地址(单播)
客户端获取IP地址后向服务器请求其他配置信息(网关地址、DNS服务器等信息)(单播)
Nak服务器对客户端报文的拒绝响应报文(单播)
Relay DHCP中继设备向服务器发送的报文(单播)
客户端发送报文:、、、、
服务器发送报文:Offer、Ack、Nak
DHCP工作过程
1、客户端发送一个广播报文
2、收到报文后,会向客户端发送offer报文(携带为客户端分配的地址)
3、客户端收到offer报文后,会服务器发送广播报文
4、收到报文之后会回复一条ACK进行确认
5、客户端收到ack之后会执行DAD(重复地址检测),如果冲突了会给服务器发送报文,告知这个地址无法使用,然后重新获取IP地址
【DHCP与DHCPv6讲解】为什么DHCP 报文也是广播的
当网络中有多台服务器,就会分配多个offer;客户端会使用第一个收到的offer报文中携带的地址作为本机地址;此时发送广播报文,即可以告诉offer报文所对应DHCP服务器我使用了哪个地址,也可以告诉其它服务器将offer里的地址回收,可以分配给其他主机了
服务器发送Offer和Ack有单播和广播两种情况,具体如何发送?
这取决于客户端发送的和报文中携带的Boot Flags字段(大多数情况下都是单播)
如果Boot Flags =,则服务器回应时发广播
如果Boot Flags =,则服务器回应时发单播
DHCP租期续租
1、客户端发现租期只有一半时,发送单播报文(如果得不到服务器回应,还是会继续使用此地址)
2、客户端发现租期到87.5%时,发送广播报文(如果服务器还得不到回应,当租期到期后会发送释放此地址,重新发送报文申请地址
注意:当服务器发生里的地址没有租约记录时,会发送nak报文进行回收
没有广播报文,通过组播报文来实现,用到的组播地址有两个
FF02::1:2:所有服务器和中继代理的组播地址,用于客户端和相邻的服务器及中继代理之间通信
FF05::1:3:所有服务器组播地址,用于中继代理和服务器之间的通信
端口号
报文承载在UDPv6上
客户端侦听的UDP目的端口号是546;服务器、中继代理侦听的UDP端口号是547
即客户端发送时端口号为547,服务器发送时端口号为546
报文

DHCP与DHCPv6讲解

文章插图
同 的
同 的offer
同 的(请求IPv6地址)
Reply同 的 ack/nck
Renew同 的(进行续约-单播)
同 的(Renew无应答,广播向任意服务器请求延长此地址)
同 的
同 的
-同
客户端向任意可达的v6服务器发送此报文检查自己目前获得的IPv6地址是否适用与它所连接的链路