DHCP Relay中继工作原理详解及基础报文分析

DHCP Relay工作原理 

DHCP Relay即DHCP中继,它实现了不同网段间的DHCP服务器和客户端之间的报文交互。

DHCP中继承担处于不同网段间的DHCP客户端和服务器之间中继服务,将DHCP协议报文跨网段透传到目的DHCP服务器,最终使网络上的DHCP客户端可以共同使用一个DHCP服务器。

客户端首次申请地址时通过DHCP中继获得地址过程如图1所示。

图片[1]-DHCP Relay中继工作原理详解及基础报文分析-编程社
图1、DHCP中继工作过程

DHCP中继的工作过程如图1所示,对应的报文如下:

图片[2]-DHCP Relay中继工作原理详解及基础报文分析-编程社

交互其实很简单总共就4步:

  1. DHCP客户端发送请求报文给DHCP服务器;
  2. DHCP中继收到该报文并适当处理后,以单播形式发送给指定的位于其它网段上的DHCP服务器;
  3. DHCP服务器根据请求报文中的信息提供必要参数,然后发给DHCP中继;
  4. 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所示。

图片[3]-DHCP Relay中继工作原理详解及基础报文分析-编程社
图2、客户端通过DHCP中继更新租约
  1. DHCP客户端经过首次正确登录网络后,只需直接向上次为它分配IP地址的DHCP服务器直接以单播的形式发送DHCP REQUEST报文。
  2. DHCP服务器直接向客户端发送单播的确认响应报文或者拒绝响应报文。

DHCP Release报文释放IP

在网络中可以在DHCP中继上直接向服务器发送Release报文请求释放服务器给某客户端分配的IP地址,而不需要由客户端发起Release请求。

可以通过在DHCP中继上配置Relay释放命令实现服务器对客户端的地址释放操作。

© 版权声明
THE END
喜欢就支持一下吧
点赞11 分享
评论 抢沙发
头像
欢迎您留下宝贵的见解!
提交
头像

昵称

取消
昵称

    暂无评论内容