一种用户接入控制方法及DHCP中继与流程

文档序号:12377567阅读:204来源:国知局
一种用户接入控制方法及DHCP中继与流程

本发明涉及DHCP技术,尤指一种基于DHCP的用户接入控制方法及DHCP中继。



背景技术:

动态主机配置协议(DHCP,Dynamic Host Configuration Protocol)是在引导程序协议(BOOTP,Bootstrap Protocol)基础上进行了优化和扩展而产生的一种网络配置协议。随着互联网宽带业务以及移动互联网的不断发展,DHCP在交互式网络电视(IPTV)、下一代网络(NGN,Next Generation Network)、3G、4G等业务中得到了广泛应用。传统的宽带远程接入服务器(Bras,Broadband Remote Access Server)设备一般部署在与用户相连的二层网络环境中,对以太网上IP协议(IPoE,IP over Ethernet)用户一般采用地址集中管理,中继分散管理的方式,一个地址部署多台宽带远程接入服务器(BRAS,Broadband Remote Access Server)设备作为DHCP中继(DHCP relay)来管理IPoE宽带接入用户。

为了更好的开展业务、管理用户运营商迫切需要寻找一种适应多业务需求且灵活、可扩展的技术来支撑,这种技术同时能够确保以太网接入的安全性、支持运营商对接入用户进行控制和管理,就需要对三层接入DHCP relay级联的情况下在非第一级直连用户的DHCP relay上做用户控制。图1为现有单层级联DHCP relay的组网示意图,如图1所示,DHCP客户端(DHCP Client)与DHCP服务器(DHCP Server)之间通过两级DHCP relay连接,其中DHCP relay1为第一级中继(relay),DHCP relay2为级联relay;图2为现有多层级联DHCP relay的组网示意图,如图2所示,DHCP Client与DHCP Server之间通过三级DHCP relay连接,其中DHCP relay1为第一级relay,DHCP relay2~DHCP relayN为(N-1)级级联relay。

按照DHCP标准协议,级联DHCP relay只起到转发请求报文的作用,对 于下行的报文协议规定直接路由到第一级relay的代理服务器地址(giaddr)上,中间的级联relay不会处理该报文,同时由于路由规划问题,下行应答报文可能都不通过中间级联relay返回,而直接由DHCP Server返回第一级relay,再由第一级relay返回DHCP Client。这样,如果采用标准的方式,级联设备要想截获下行DHCP交互报文,首先,要规划路由保证下行报文必须在预先规划的路由上经过本设备,第二,需要采用类似于snooping的方式,将下行协议报文捕获到,并上传到应用层,这对传递的协议栈收包处理冲击较大,第三,采用snooping的方式可能会捕获大量本设备不需要的DHCP报文,给设备性能带来影响,也就是说,如果还继续基于传统协议在级联relay上是不能实现对用户的接入控制的。



技术实现要素:

为了解决上述技术问题,本发明提供一种用户接入控制方法及DHCP中继,能够对三层接入DHCP relay级联的情况下在级联relay上是实现对用户的接入控制。

为了达到本发明目的,本发明提供了一种用户接入控制方法,包括:

级联动态主机配置协议DHCP中继接收到来自上一级DHCP中继的报文,记录原始DHCP中继的地址,并将自身的地址作为代理服务器地址;

级联DHCP中继逐级转发报文直至DHCP服务器。

可选地,所述上一级DHCP中继为第一级DHCP中继;或者,

所述上一级DHCP中继为第一级DHCP中继或级联DHCP中继。

可选地,所述上一级DHCP中继为第一级DHCP中继,该方法之前还包括:

第一级DHCP中继接收来自DHCP客户端DHCP Client的报文,将自身的代理服务器地址填充在代理服务器地址giaddr字段;

第一级DHCP中继选择其下一级DHCP中继继续发送报文。

可选地,所述记录原始DHCP中继的地址,并将自身的地址作为代理服务器地址包括:

所述级联DHCP中继接收到来自上一级DHCP中继的报文,提取原始DHCP中继的giaddr,并将其记录在预先设置的代理地址填充link-selection选项字段中;

将报文中的giaddr字段替换为当前接收到报文的所述级联DHCP中继的giaddr。

可选地,所述级联DHCP中继逐级转发报文直至DHCP服务器包括:

所述级联DHCP中继选择其下一级DHCP中继,并返回执行所述记录原始DHCP中继的地址,并将自身的地址作为代理服务器地址的步骤,直至报文转发至所述DHCP服务器;

或者,所述级联DHCP中继将报文转发给DHCP服务器。

可选地,该方法还包括:

所述级联DHCP中继接收到DHCP服务器或其下一级DHCP中继返回的响应报文,将代理服务器地址更改为所述记录的其上一级DHCP中继的地址后转发,直至响应报文返回第一级DHCP中继;

第一级DHCP中继将响应报文返回给DHCP客户端。

本发明还提供了一种DHCP中继,至少包括第一处理模块、转发模块;其中,

第一处理模块,用于接收到来自上一级DHCP中继的报文,记录原始DHCP中继的地址,并将自身的地址作为代理服务器地址,将处理后的报文输出给转发模块;

转发模块,用于将接收到的报文输出给下一级设备。

可选地,所述第一处理模块具体用于:接收到来自上一级DHCP中继的报文,提取原始DHCP中继的giaddr,并将其记录在预先设置的link-selection选项字段中;将报文中的giaddr字段替换为当前接收到报文的所述级联DHCP中继的giaddr;将处理后的报文输出给所述转发模块。

可选地,所述上一级DHCP中继为第一级DHCP中继;或者,

所述上一级DHCP中继为第一级DHCP中继或级联DHCP中继。

可选地,还包括第二处理模块,用于接收到所述DHCP服务器或自身所在DHCP中继的下一级DHCP中继返回的响应报文,将代理服务器地址更改为所述记录的自身所在DHCP中继的上一级DHCP中继的地址后输出给所述转发模块。

与现有技术相比,本申请技术方案包括级联DHCP中继接收到来自上一级DHCP中继的报文,记录原始DHCP中继的地址,并将自身的地址作为代理服务器地址;级联DHCP中继逐级转发报文直至DHCP服务器。本发明提供的技术方案,在级联DHCP relay上通过将原始DHCP relay的代理服务器地址记录在新增代理地址填充(link-selection)选项字段,将级联DHCP relay自身的代理服务器地址填充在代理服务器地址(giaddr)字段中,达到了使DHCP Server回复的响应报文都经过报文流经的所有级联DHCP relay,对三层接入DHCP relay级联的情况下在级联relay上是实现了对用户的接入控制。

进一步地,本发明方法也为生成用户表管理用户提供了保障,为业务部署提供了更大的方便;而且,本发明提供的技术方案完全符合标准协议,不存在任何对接问题,不需要其他设备做特殊处理,也不需要通过修改协议栈收发包等特殊方式抓取报文生成用户,实现简单,减轻了设备负担。

本发明的其它特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本发明而了解。本发明的目的和其他优点可通过在说明书、权利要求书以及附图中所特别指出的结构来实现和获得。

附图说明

此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:

图1为现有单层级联DHCP relay的组网示意图;

图2为现有多层级联DHCP relay的组网示意图;

图3为本发明用户接入控制方法的流程图;

图4为本发明DHCP relay的组成结构示意图;

图5为本发明用户接入控制方法的实施例流程示意图。

具体实施方式

为使本发明的目的、技术方案和优点更加清楚明白,下文中将结合附图对本发明的实施例进行详细说明。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互任意组合。

图3为本发明用户接入控制方法的流程图,如图3所示,包括:

步骤300:级联DHCP中继接收到来自上一级DHCP中继的报文,记录原始DHCP中继的地址,并将自身的地址作为代理服务器地址。

其中,对于单层级联DHCP relay的组网方式,上一级DHCP中继为第一级DHCP中继;对于多层级联DHCP relay的组网方式,上一级DHCP中继为第一级DHCP中继或级联DHCP中继。

本步骤中的记录原始DHCP中继的地址,并将自身的地址作为代理服务器地址具体包括:

级联DHCP relay接收到来自上一级DHCP relay的报文,提取原始DHCP relay的代理服务器地址(giaddr),并将其填充在Link-selection sub-option中;同时将报文中的giaddr字段替换为当前接收到报文的级联DHCP relay的giaddr。这里,本领域技术人员明确知道的是,原始DHCP relay的giaddr就是第一级DHCP relay填充在报文中的原始giaddr。

其中,Link-selection sub-option是标准RFC规定的82号选项的子选项,Link Selection sub-option可能会预先已经存在,已经存在的情况就不再修改,如果不存在的话,则按本发明中的将报文携带的giaddr地址填入Link Selection sub-option即可,具体实现属于本领域技术人员的惯用技术手段,这里不做限定,这里需要强调的是,采用Link-selection sub-option保存原始DHCP relay的代理服务器地址,以便在响应报文返回时,可以将其作为转发的目的地址重新替换在giaddr字段中。Link Selection sub-option按照标准协议是分配地址使用的,保证地址所在的网段正确,但是对于未携带Link Selection sub-option的报文,一般根据giaddr来分配地址,本发明中,将giaddr填入Link Selection sub-option,达到了根据标准协议可以正确的分配地址。

当上一级DHCP中继为第一级DHCP中继时,本发明方法之前还包括:

第一级DHCP relay接收来自DHCP Client的报文,将自身的代理服务器地址填充在giaddr字段,同时选择下一级DHCP relay继续发送报文。

步骤301:级联DHCP中继逐级转发报文直至DHCP服务器。

级联DHCP relay选择下一级DHCP relay,并返回步骤300,直至报文转发至DHCP服务器;或者直接将报文转发给DHCP Server。

本发明方法还包括:级联DHCP中继接收到DHCP服务器或下一级DHCP中继返回的响应报文,将代理服务器地址更改为之前记录的其上一级DHCP中继的地址后转发,直至响应报文返回第一级DHCP中继;第一级DHCP中继将响应报文返回给DHCP客户端。

本发明提供的用户接入控制方法,在级联DHCP relay上通过将原始DHCP relay的代理服务器地址记录在Link Selection sub-option中,将级联DHCP relay自身的代理服务器地址填充在giaddr字段中,达到了使DHCP server回复的响应报文都经过报文流经的所有级联DHCP relay,对三层接入DHCP relay级联的情况下在级联relay上是实现了对用户的接入控制,也为生成用户表管理用户提供了保障,为业务部署提供了更大的方便;同时,本发明提供的技术方案完全符合标准协议,不存在任何对接问题,不需要其他设备做特殊处理,也不需要通过修改协议栈收发包等特殊方式抓取报文生成用户,实现简单,减轻了设备负担。

图4为本发明DHCP relay的组成结构示意图,如图4所示,包括第一处理模块、转发模块;其中,

第一处理模块,用于接收到来自上一级DHCP中继的报文,记录原始DHCP中继的地址,并将自身的地址作为代理服务器地址,将处理后的报文输出给转发模块;

转发模块,用于将接收到的报文输出给下一级设备。

其中,第一处理模块具体用于:接收到来自上一级DHCP relay的报文,提取原始DHCP relay的giaddr,并将其填充在Link-selection sub-option中;同时将报文中的giaddr字段替换为当前接收到报文的级联DHCP relay的giaddr;将处理后的报文输出给转发模块。

其中,对于单层级联DHCP relay的组网方式,上一级DHCP中继为第一级DHCP中继;对于多层级联DHCP relay的组网方式,上一级DHCP中继为第一级DHCP中继或级联DHCP中继。

本发明DHCP relay还包括第二处理模块,用于接收到DHCP服务器或自身所在DHCP中继的下一级DHCP中继返回的响应报文,将代理服务器地址更改为之前记录的自身所在DHCP中继的上一级DHCP中继的地址后输出给转发模块。

图5为本发明用户接入控制方法的实施例流程示意图,如图5所示,本实施例以单层级联DHCP relay的组网方式为例,并假设DHCP relay1为第一级DHCP relay,DHCP relay2为级联DHCP relay;具体实现包括:

步骤500:DHCP client向第一级DHCP relay即DHCP relay1发送DHCP发现(DHCP DISCOVER)请求报文。

步骤501:DHCP relay1接收DHCP DISCOVER请求报文,将自身的代理服务器地址填充到giaddr字段,同时选择下一级DHCP relay继续发送DHCP DISCOVER。

步骤502~步骤503:级联DHCP relay DHCP relay2接收DHCP DISCOVER请求报文,提取DHCP relay1的giaddr并将其填充到填充在Link-selection sub-option中,同时将giaddr字段信息替换为DHCP relay2自身的giaddr。选择下一级DHCP relay或DHCP服务器转发报文。

通过本步骤的处理,按照DHCP标准协议DHCP server根据giaddr字段实现了报文的响应可以返回到级联DHCP relay上;

并将第一级giaddr即原始giaddr填充到Link-selection sub-option中,使得根据标准协议可以正确的分配地址,同时选择下一级DHCP relay/server继续发送DHCPDISCOVER;

步骤504~步骤505:DHCP server收到DHCP DISCOVER后返回DHCP接受(DHCP OFFER)响应报文,其中,目的地址为giaddr字段所携带的代理服务器地址。

步骤506~步骤507:DHCP relay2接收DHCP OFFER响应报文,记录用 户信息如接入的端口信息,将giaddr字段的信息恢复为步骤502~步骤503中记录的第一级DHCP relay即DHCP relay1的giaddr信息;继续转发DHCP OFFER,此时的目的地址为DHCP relay1的giaddr。

步骤508:DHCP relay1接收DHCP OFFER响应报文,按标准协议处理后转发给DHCP Client。

步骤509:DHCP client向DHCP relay1返回DHCP索求(DHCP REQUEST)请求报文。

步骤510:DHCP relay1接收DHCP REQUEST请求报文,将自身的代理服务器地址填充到giaddr字段,同时选择下一级DHCP relay继续发送DHCP REQUEST;

步骤511~512:DHCP relay2接收DHCP REQUEST请求报文,检查报文如对接入信息的检查(具体实现属于本领域技术人员的公知技术,这里不再赘述),提取DHCP relay1的giaddr并将其填充到新增的link-selection选项字段中,同时将giaddr字段信息替换为DHCP relay2自身的giaddr。选择下一级DHCP relay或DHCP服务器转发报文。

步骤513~步骤514:DHCP server收到DHCP REQUEST后,返回DHCP回应(DHCP ACK)响应报文,其中,目的地址为giaddr字段所携带的代理服务器地址。

步骤515~步骤516:DHCP relay2接收DHCP ACK响应报文,记录用户信息如接入的端口信息,将giaddr字段的信息恢复为步骤511~步骤512中记录的上一级DHCP relay即DHCP relay1的giaddr信息;继续转发DHCP ACK,此时的目的地址为DHCP relay1的giaddr。

步骤517:DHCP relay1接收DHCP ACK响应报文,按标准协议处理后转发给DHCP Client。

以上所述,仅为本发明的较佳实例而已,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1