DHCP Relay工作原理
DHCP Relay即DHCP中继,它实现了不同网段间的DHCP服务器和客户端之间的报文交互。
DHCP中继承担处于不同网段间的DHCP客户端和服务器之间中继服务,将DHCP协议报文跨网段透传到目的DHCP服务器,最终使网络上的DHCP客户端可以共同使用一个DHCP服务器。
客户端首次申请地址时通过DHCP中继获得地址过程如图1所示。
DHCP中继的工作过程如图1所示,对应的报文如下:
交互其实很简单总共就4步:
- DHCP客户端发送请求报文给DHCP服务器;
- DHCP中继收到该报文并适当处理后,以单播形式发送给指定的位于其它网段上的DHCP服务器;
- DHCP服务器根据请求报文中的信息提供必要参数,然后发给DHCP中继;
- DHCP中继将配置信息返回给客户端,完成对客户端的动态配置。
DHCP报文处理说明
DHCP中继接收到DHCP DISCOVER或DHCP REQUEST报文后,将进行如下处理:
- 为防止DHCP报文形成环路,抛弃报文头中hops字段的值大于限定跳数的DHCP请求报文。否则,继续进行下面的操作。将hops字段增加1,表明又经过一次DHCP中继。
- 检查giaddr字段。如果是0,需要将giaddr字段设置为接收请求报文的接口IP地址。如果接口有多个IP地址,可选择其一。以后从该接口接收的所有请求报文都使用该IP地址。如果giaddr字段不是0,则不修改该字段。
- 将请求报文的TTL设置为DHCP中继设备的TTL缺省值(255),而不是原来请求报文的TTL减1。对中继报文的环路问题和跳数限制问题都可以通过hops字段来解决。
- DHCP请求报文的目的地址修改为DHCP服务器或下一个DHCP中继的IP地址,从而将DHCP请求报文转发给DHCP服务器或下一个DHCP中继。
DHCP服务器根据Relay Agent IP Address字段为客户端分配IP地址等参数,并将DHCP应答报文发送给Relay Agent IP Address字段标识的DHCP中继。
DHCP中继接收到DHCP应答报文后,会进行如下处理:
- DHCP中继假设所有的应答报文都是发给直连的DHCP客户端。Relay Agent IP Address字段用来识别与客户端直连的接口。如果Relay Agent IP Address字段不是本地接口的地址,DHCP中继将丢弃应答报文。
- DHCP中继检查报文的广播标志位。如果广播标志位为1,则将DHCP应答报文广播发送给DHCP客户端;否则将DHCP应答报文单播发送给DHCP客户端,其目的地址为Your (Client) IP Address字段内容,链路层地址为Client Hardware Address字段内容。
客户端通过DHCP中继延长地址租期的过程如图2所示。
- DHCP客户端经过首次正确登录网络后,只需直接向上次为它分配IP地址的DHCP服务器直接以单播的形式发送DHCP REQUEST报文。
- DHCP服务器直接向客户端发送单播的确认响应报文或者拒绝响应报文。
DHCP Release报文释放IP
在网络中可以在DHCP中继上直接向服务器发送Release报文请求释放服务器给某客户端分配的IP地址,而不需要由客户端发起Release请求。
可以通过在DHCP中继上配置Relay释放命令实现服务器对客户端的地址释放操作。
© 版权声明
文章版权归作者所有,未经允许请勿转载。
THE END
暂无评论内容