首页> 中国专利> 一种网络互连协议IP地址获取方法、装置和系统

一种网络互连协议IP地址获取方法、装置和系统

摘要

本申请提出一种网络互连协议IP地址获取方法、装置和系统,包括:获取动态主机配置协议DHCP客户机发送的DHCP发现报文进行处理,其中,所述处理过程包括:获取配置文件中记录的为所述DHCP客户机所在子网规划的IP网段,根据所获取的IP网段填充所述DHCP发现报文中的代理IP字段;将经过处理操作后的DHCP发现报文上报给DHCP服务器;接收所述DHCP服务器针对所述DHCP发现报文下发的携带有为所述DHCP客户机分配的动态IP地址的DHCP响应报文,其中,所述动态IP地址由所述DHCP服务器依据所述DHCP发现报文中的所述代理IP字段确定;基于所述DHCP响应报文中的目的MAC地址,将所述DHCP响应报文转发至所述DHCP客户机。

著录项

  • 公开/公告号CN106878481A

    专利类型发明专利

  • 公开/公告日2017-06-20

    原文格式PDF

  • 申请/专利权人 瑞斯康达科技发展股份有限公司;

    申请/专利号CN201611261189.5

  • 发明设计人 武玲玲;

    申请日2016-12-30

  • 分类号H04L29/12;

  • 代理机构北京安信方达知识产权代理有限公司;

  • 代理人李红爽

  • 地址 100094 北京市海淀区西北旺东路10号院东区11号楼一至五层

  • 入库时间 2023-06-19 02:38:37

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2020-08-18

    授权

    授权

  • 2017-07-14

    实质审查的生效 IPC(主分类):H04L29/12 申请日:20161230

    实质审查的生效

  • 2017-06-20

    公开

    公开

说明书

技术领域

本发明涉及DHCP(Dynamic Host Configuration Protocol,动态主机配置协议)中继应用领域,具体涉及一种网络互连协议IP地址获取方法、装置和系统。

背景技术

使用交换机的DHCP Relay(DHCP中继,或DHCP中继代理)可以去掉在每个物理网段都要有DHCP服务器的必要,使和DHCP服务器不在同一物理网段的DHCP客户机也可以动态申请到IP地址,此时的交换机可以被称之为DHCP中继设备。相关技术中,DHCP Relay在交换机上存在一个可以和DHCP服务器互通的IP地址(称之为服务器侧IP地址),并将服务器IP地址做为该中继的target-ip(目的IP)地址进行设置,同时交换机上也要存在一个可以和DHCP客户机互通的IP地址(称之为客户机侧IP地址),交换机下挂的所有DHCP客户机会获取到这个IP地址,使得DHCP客户机可以直接访问到此交换机。具体的,现有技术中,DHCP客户机通过同一网段中的交换机从位于其他网段的DHCP服务器动态申请IP地址的流程,具体流程包括如下操作:

(1)交换机截取到DHCP客户机广播的DHCP DISCOVER(发现)报文之后,将该报文中的目的IP字段值修改为target-ip地址,将该广播报文修改为单播报文,并将客户机侧IP地址填充在DHCP DISCOVER报文的agent-ip(代理IP)字段上,然后将此报文定向发送给DHCP服务器;

(2)DHCP服务器接收到此报文之后,分配一个与agent-ip字段值相同网段的IP地址,并以agent-ip地址为目的IP地址,将OFFER报文(也即DHCP响应报文)发送出来,其中OFFER报文携带了所分配的IP地址;

(3)交换机接收到DHCP服务器发送的OFFER报文后,根据此OFFER报文的目的IP地址直接将该报文定向转发到之前广播所述DISCOVER报文的DHCP客户机。

由于交换机的客户机侧IP地址暴露给DHCP客户机,使得DHCP客户机可以直接访问到此交换机,甚至可以访问到DHCP服务器(DHCP Relay设备支持三层转发的话),这样的话,交换机和DHCP服务器容易遭到下端DHCP客户机设备的攻击,存在很大的风险。

发明内容

本发明为了实现客户机跨网段申请IP地址,满足DHCP客户机和DHCP服务器隔离的要求,提供一种网络互连协议IP地址获取方法、装置和系统。

为了实现上述发明目的,本发明采取的技术方案如下:

一种网络互连协议IP地址获取方法,包括:

获取动态主机配置协议DHCP客户机发送的DHCP发现报文进行处理,其中,所述处理过程包括:获取配置文件中记录的为所述DHCP客户机所在子网规划的IP网段,根据所获取的IP网段填充所述DHCP发现报文中的代理IP字段;

将经过处理操作后的DHCP发现报文上报给DHCP服务器;

接收所述DHCP服务器针对所述DHCP发现报文下发的携带有为所述DHCP客户机分配的动态IP地址的DHCP响应报文,其中,所述动态IP地址由所述DHCP服务器依据所述DHCP发现报文中的所述代理IP字段确定;

基于所述DHCP响应报文中的目的MAC地址,将所述DHCP响应报文转发至所述DHCP客户机。

可选地,根据所获取的IP网段填充所述DHCP发现报文中的代理IP字段,包括:

基于预先设置的选取机制,选取所获取的IP网段中的一个IP地址;将所选取的IP地址作为DHCP发现报文中的代理IP字段值,填充至所述DHCP发现报文;或者,

将所获取的IP网段唯一对应的标识值,作为DHCP发现报文中的代理IP字段值,填充至所述DHCP发现报文。

可选地,在获取DHCP发现报文进行处理之前,还包括:

通过用户侧物理端口接收DHCP客户机以广播方式发送的DHCP发现报文;

根据所述DHCP发现报文中的虚拟局域网VLAN信息,将用户侧物理端口收到的DHCP发现报文上送给对应的用户侧IP接口以进行处理;

其中,所述用户侧IP接口仅绑定有VLAN信息。

可选地,在将用户侧物理端口收到的DHCP发现报文上送给对应的用户侧IP接口之后,还包括:

建立所述用户侧物理端口、用户侧IP接口与所述DHCP发现报文中的源MAC地址之间的对应关系;

基于所述DHCP响应报文中的目的MAC地址,将所述DHCP响应报文转发至所述DHCP客户机,包括:

基于所述对应关系,确定所述DHCP响应报文中的目的MAC地址对应的用户侧IP接口和物理端口;

通过所述用户侧IP接口和物理端口将所述DHCP响应报文转发至所述DHCP客户机。

可选地,所述处理过程还包括:

获取DHCP服务器的IP地址,填充所述DHCP发现报文中的目的IP字段;

将所述DHCP发现报文中的广播标识值修改为单播标识值。

为解决上述技术问题,本发明还提供一种网络互连协议IP地址获取装置,包括:

处理模块,设置为获取动态主机配置协议DHCP客户机发送的DHCP发现报文进行处理,其中,所述处理过程包括:获取配置文件中记录的为所述DHCP客户机所在子网规划的IP网段,根据所获取的IP网段填充所述DHCP发现报文中的代理IP字段;

上报模块,设置为将经过处理操作后的DHCP发现报文上报给DHCP服务器;

接收模块,设置为接收所述DHCP服务器针对所述DHCP发现报文下发的携带有为所述DHCP客户机分配的动态IP地址的DHCP响应报文,其中,所述动态IP地址由所述DHCP服务器依据所述DHCP发现报文中的所述代理IP字段确定;

转发模块,设置为基于所述DHCP响应报文中的目的MAC地址,将所述DHCP响应报文转发至所述DHCP客户机。

可选地,所述处理模块根据所获取的IP网段填充所述DHCP发现报文中的代理IP字段,包括:

基于预先设置的选取机制,选取所获取的IP网段中的一个IP地址;将所选取的IP地址作为DHCP发现报文中的代理IP字段值,填充至所述DHCP发现报文;或者,

将所获取的IP网段唯一对应的标识值,作为DHCP发现报文中的代理IP字段值,填充至所述DHCP发现报文。

可选地,所述的装置还包括:

获取模块,设置为通过用户侧物理端口接收DHCP客户机以广播方式发送的DHCP发现报文;

关联模块,设置为根据所述DHCP发现报文中的虚拟局域网VLAN信息,将用户侧物理端口收到的DHCP发现报文上送给对应的用户侧IP接口以进行处理;

其中,所述用户侧IP接口仅绑定有VLAN信息。

可选地,所述关联模块还设置为:

建立所述用户侧物理端口、用户侧IP接口与所述DHCP发现报文中的源MAC地址之间的对应关系;

所述转发模块基于所述DHCP响应报文中的目的MAC地址,将所述DHCP响应报文转发至所述DHCP客户机,包括:

基于所述对应关系,确定所述DHCP响应报文中的目的MAC地址对应的用户侧IP接口和物理端口;

通过所述用户侧IP接口和物理端口将所述DHCP响应报文转发至所述DHCP客户机。

可选地,所述处理模块还设置为:

获取DHCP服务器的IP地址,填充所述DHCP发现报文中的目的IP字段;

将所述DHCP发现报文中的广播标识值修改为单播标识值。

为解决上述技术问题,本发明还提供一种网络互连协议IP地址获取系统,包括:动态主机配置协议DHCP客户机、上述的网络互连协议IP地址获取装置所在的DHCP中继设备和DHCP服务器。

本发明和现有技术相比,具有如下有益效果:

本发明的技术方案可以使DHCP中继设备在客户机侧不配置IP地址的情况下,仍可以使DHCP客户机申请到与DHCP服务器侧不同网段的IP地址,起到了将DHCP客户机和DHCP中继设备,以及DHCP客户机和DHCP服务器隔离的目的。

附图说明

图1是本发明实施例的IP地址获取方法的流程图;

图2是本发明实施例的IP地址获取方法装置的结构示意图;

图3是本发明实施例的三层动态主机配置协议应用的系统组网示意图;

图4是本发明实施例的实现DHCP客户机跨网段申请IP地址的流程图。

具体实施方式

为使本发明的发明目的、技术方案和有益效果更加清楚明了,下面结合附图对本发明的实施例进行说明,需要说明的是,在不冲突的情况下,本申请中的实施例和实施例中的特征可以相互任意组合。

为解决背景技术提出的技术问题,本发明实施例提出一种IP地址获取方法,可以使DHCP中继设备在不配置和客户机侧互通的IP地址的情况下,仍可以使DHCP客户机申请到与DHCP服务器侧不同网段的IP地址,起到了将DHCP客户机和DHCP中继设备,以及DHCP客户机和DHCP服务器隔离的目的。

针对上面实现中特殊的配置需求,不允许DHCP中继设备配置客户机侧IP地址,此时DHCP发现报文的agent-ip字段通常会被填充为DHCP服务器侧的IP地址。但这样的话,DHCP客户机会被分配一个与DHCP服务器侧IP地址同网段的IP地址,就无法达到客户机跨网段申请本网段的IP地址了。所以需要重新实现agent-ip字段的填充机制。

如图1所示,本发明实施例提供的一种动态IP地址获取方法。该方法可应用于由一个或者多个DHCP客户机、DHCP中继设备以及DHCP服务器组成的网络架构。在该网络架构中:各DHCP客户机与DHCP中继设备为同一物理子网内的设备,DHCP中继设备能够与不在同一物理子网的DHCP服务器通信,以请求DHCP服务器为本物理子网内的任意DHCP客户机分配动态IP地址。典型的,DHCP中继设备为交换设备(例如为交换机)。具体的,该方法可以由DHCP中继设备执行,包括如下步骤101-104:

步骤101、获取DHCP客户机发送的DHCP发现报文进行处理,其中,该处理过程包括:获取配置文件中记录的为DHCP客户机所在子网规划的IP网段,根据所获取的IP网段填充DHCP发现报文中的代理IP字段;

步骤102、将经过处理操作后的DHCP发现报文上报给DHCP服务器;

步骤103、接收DHCP服务器针对DHCP发现报文下发的携带有为DHCP客户机分配的动态IP地址的DHCP响应报文,其中,动态IP地址由DHCP服务器依据DHCP发现报文中的代理IP字段生成;

步骤104、将DHCP响应报文基于该报文中的目的MAC地址转发至DHCP客户机。

因为DHCP服务器的IP地址对于DHCP客户机来说是未知的,所以客户机通过发送DHCP发现报文来寻找DHCP服务器,即向预设地址(本实施例中为255.255.255.255)发送特定的广播信息,以请求DHCP服务器为其动态分配IP地址。与DHCP客户机在同一物理子网的每一台安装了TCP/IP协议的设备都会接收到该广播信息,但只有DHCP中继设备才会将该广播信息进行处理后转发给DHCP服务器进行响应。

由于DHCP中继设备上可以与DHCP客户机互通的客户机侧IP地址已经不再存在,这样DHCP发现报文的agent-ip字段就只能填充DHCP服务器侧的IP地址。但是,DHCP服务器是根据agent-ip字段值分配IP地址的,这样就只能分配与DHCP服务器侧IP同一网段的地址。为了解决这个问题,本发明实施例中agent-ip字段所添加的IP地址必须从别的地方获取。具体的,可以预先生成一个配置文件,该文件可被视为一个网络规划配置文件,记录有为DHCP中继设备及下挂的客户机所在的物理子网规划的IP网段,根据该IP网段来填充DHCP发现报文中的agent-ip字段。

作为一种具体实施方式,该填充过程可以为:基于预先设置的选取机制,选取所获取的IP网段中的一个IP地址;将所选取的IP地址作为DHCP发现报文中的agent-ip字段值,填充至DHCP发现报文。

其中,所述选取机制可以是一种随机选择机制。每收到DHCP客户机发送的一个DHCP发现报文后,从所获取的IP网段中随机选取一个IP地址进行填充。当然,也可以固定的将IP网段的一个IP地址作为各DHCP发现报文的agent-ip字段值。

作为另一种具体实施方式,该填充过程也可为:将唯一标识所获取的IP网段的字符串,作为DHCP发现报文中的agent-ip字段值,填充至DHCP发现报文。

由于不同的IP网段对应的字符串标识不同,所以使得DHCP服务器可以根据DHCP发现报文携带的该字符串来确定本次发起IP地址分配请求的DHCP客户机具体所属的物理子网,进而访问与该物理子网对应的IP地址池,从该IP地址池中选取一个IP地址分配给所请求的DHCP客户机。

优选的,DHCP中继设备对DHCP发现报文的处理过程还包括:

获取DHCP服务器的IP地址,填充DHCP发现报文中的目的IP字段;

将DHCP发现报文中的广播标识值修改为单播标识值。

在没有客户机侧IP地址的情况下,针对DHCP服务器回复的DHCP响应报文这一单播报文,DHCP中继设备已无法根据报文中所携带的目的IP地址(DHCD服务器为发送DHCP发现报文的客户机分配的IP地址)转发到客户机侧的IP接口。但是,由于DHCP中继设备属于二层交换设备的特性,报文在跨越二层交换设备时,客户机的MAC地址并未发生变化,所以在本发明实施例中,DHCP中继设备可以根据DHCP响应报文的目的MAC地址将报文转发到客户机侧。

具体的,在获取DHCP发现报文进行处理之前,还包括:

通过用户侧物理端口接收DHCP客户机以广播方式发送的DHCP发现报文;

根据DHCP发现报文中的VLAN信息,将用户侧物理端口收到的DHCP发现报文上送给对应的用户侧IP接口以进行处理;

其中,用户侧IP接口仅绑定有VLAN信息。

具体的,在将用户侧物理端口收到的DHCP发现报文上送给对应的用户侧IP接口之后,还包括:

建立用户侧物理端口、用户侧IP接口与DHCP发现报文中的源MAC地址之间的对应关系;

将DHCP响应报文基于该报文中的目的MAC地址转发至DHCP客户机,包括:

基于所述对应关系,确定DHCP响应报文中的目的MAC地址对应的用户侧IP接口和物理端口;

通过所确定的用户侧IP接口和物理端口将DHCP响应报文转发至DHCP客户机。

其中,DHCP发现报文中的源MAC地址,以及,DHCP响应报文中的目的MAC地址,均为发送DHCP发现报文的DHCP客户机的MAC地址。

如图2所示,本发明实施例还提供一种网络互连协议IP地址获取装置,该装置可被配置在DHCP中继设备上。具体的,所述装置包括:

处理模块,设置为获取动态主机配置协议DHCP客户机发送的DHCP发现报文进行处理,其中,所述处理过程包括:获取配置文件中记录的为所述DHCP客户机所在子网规划的IP网段,根据所获取的IP网段填充所述DHCP发现报文中的代理IP字段;

上报模块,设置为将经过处理操作后的DHCP发现报文上报给DHCP服务器;

接收模块,设置为接收所述DHCP服务器针对所述DHCP发现报文下发的携带有为所述DHCP客户机分配的动态IP地址的DHCP响应报文,其中,所述动态IP地址由所述DHCP服务器依据所述DHCP发现报文中的所述代理IP字段确定;

转发模块,设置为基于所述DHCP响应报文中的目的MAC地址,将所述DHCP响应报文转发至所述DHCP客户机。

可选地,所述处理模块根据所获取的IP网段填充所述DHCP发现报文中的代理IP字段,包括:

基于预先设置的选取机制,选取所获取的IP网段中的一个IP地址;将所选取的IP地址作为DHCP发现报文中的代理IP字段值,填充至所述DHCP发现报文;或者,

将所获取的IP网段唯一对应的标识值,作为DHCP发现报文中的代理IP字段值,填充至所述DHCP发现报文。

可选地,所述的装置还包括:

获取模块,设置为通过用户侧物理端口接收DHCP客户机以广播方式发送的DHCP发现报文;

关联模块,设置为根据所述DHCP发现报文中的虚拟局域网VLAN信息,将用户侧物理端口收到的DHCP发现报文上送给对应的用户侧IP接口以进行处理;

其中,所述用户侧IP接口仅绑定有VLAN信息。

可选地,所述关联模块还设置为:

建立所述用户侧物理端口、用户侧IP接口与所述DHCP发现报文中的源MAC地址之间的对应关系;

所述转发模块基于所述DHCP响应报文中的目的MAC地址,将所述DHCP响应报文转发至所述DHCP客户机,包括:

基于所述对应关系,确定所述DHCP响应报文中的目的MAC地址对应的用户侧IP接口和物理端口;

通过所述用户侧IP接口和物理端口将所述DHCP响应报文转发至所述DHCP客户机。

所述处理模块还设置为:

获取DHCP服务器的IP地址,填充所述DHCP发现报文中的目的IP字段;

将所述DHCP发现报文中的广播标识值修改为单播标识值。

如图3所示,本发明实施例还提供一种网络互连协议IP地址获取系统,包括:动态主机配置协议DHCP客户机、DHCP中继设备和DHCP服务器;其中,

DHCP客户机,向DHCP中继设备发送DHCP发现报文;

DHCP中继设备,获取所述DHCP发现报文进行处理,其中,该处理过程包括:获取配置文件中记录的为DHCP客户机所在子网规划的IP网段,根据所获取的IP网段填充DHCP发现报文中的代理IP字段;

DHCP中继设备将经过处理操作后的DHCP发现报文上报给DHCP服务器;

DHCP服务器,针对DHCP发现报文向DHCP中继设备下发携带有为DHCP客户机分配的动态IP地址的DHCP响应报文,其中,动态IP地址由DHCP服务器依据DHCP发现报文中的代理IP字段生成;

DHCP中继设备将DHCP响应报文基于该报文中的目的MAC地址转发至DHCP客户机。

在上述技术方案的基础上,下面提供一优选实施例。

本实施例中,如图4所示,DHCP Relay设备通过截获DHCP客户机和DHCP服务器之间的交互报文,对相应字段进行修改,来实现DHCP客户机跨网段申请IP地址,具体过程如下:

S1:DHCP客户机发送的DHCP DISCOVER报文,被DHCP Relay设备截获;

S2:DHCP Relay设备学习收到报文的ARL信息(MAC地址+PORT号+VLAN标识与用户侧IP接口的对应关系);

其中,PORT为用户侧物理接口;VLAN(Virtual Local Area Network)又称虚拟局域网;

S3:DHCP Relay设备的用户侧IP接口,按照relay-ip修改DHCP DISCOVER报文的agent-ip字段值;获取DHCP服务器的IP地址,修改DHCP发现报文中的target-ip字段;将DHCP发现报文中的广播标识值修改为单播标识值;

S4:DHCP服务器接收到DHCP Relay设备单播发送的DHCP DISCOVER报文之后,按照agent-ip字段值,为DHCP客户机分配IP地址,并返回携带有分配的IP地址的OFFER报文;

S5:DHCP Relay设备截取OFFER报文,按照之前学习的ARL信息,将报文转发给DHCP客户机;

S6:DHCP客户机根据接收到OFFER报文配置IP地址,并进行后续确认。

其中,DHCP Relay设备根据预先生成的网络规划配置,获取客户机侧规划的IP网段,进而根据此网段在DHCP Relay设备上配置对应的IP地址,用于后续替代报文中的agent-ip地址。

取代之前绑定有客户机侧IP地址和VLAN信息的用户侧IP接口,当前需要在此接口上绑定VLAN信息,然后在此IP接口上配置一个relay-ip地址,此IP地址为上述通过网络规划的配置文件获取的IP地址,只做为软件记录保存在此用户侧IP接口上,并不做通信IP。后续接收到DHCP DISCOVER报文时,会根据接收报文的VLAN信息,将报文上送到此接口上来,并将此接口配置relay-ip地址做为agent-ip填充在报文中。这样既保证了DHCP服务器可以分配此网段的IP地址,也保证了与DHCP客户机之间的隔离。.

DHCP Relay设备收到DHCP客户机发送的DHCP DISCOVER报文后,进协议栈进行处理时,已针对该报文进行了ARL学习,记录了MAC地址、PORT号、VLAN标识和用户侧IP接口之间的对应关系。当DHCP Relay设备再次接收到DHCP服务器回复的报文时,可以通过MAC地址查找到对应的用户侧IP接口,然后将报文在此接口上发送出去。

需要说明的是,如果有多台DHCP服务器,所有DHCP服务器均通过DHCP中继设备向DHCP客户机发来DHCP响应报文,则DHCP客户机可以仅将第一个收到的DHCP响应报文中携带的所分配的IP地址作为自己的IP地址,然后进行IP地址确认流程。具体的,该确认流程包括:

DHCP中继设备接收DHCP客户机以广播方式发送的DHCP Request(请求)报文,该报文中包含向所选定的DHCP服务器请求分配IP地址的内容;

DHCP中继设备处理DHCP Request(请求)报文,其中该处理过程包括:根据之前从配置文件所获取的IP网段填充DHCP Request报文中的代理IP字段;

DHCP中继设备将经过处理操作后的DHCP Request报文上报给各DHCP服务器;

DHCP中继设备接收DHCP客户机所选定的DHCP服务器针对DHCP Request报文返回的DHCP ACK(应答)报文;

DHCP中继设备将DHCP ACK报文基于该报文中的目的MAC地址转发至DHCP客户机。

需要说明的是,对于上述IP地址确认流程中根据IP网段填充DHCP Request报文的代理IP字段,以及基于目的MAC地址转发DHCP ACK报文,其具体实现方式与上述步骤101和步骤104的实现方式为同一发明构思,在此不再赘述。

虽然本发明所揭示的实施方式如上,但其内容只是为了便于理解本发明的技术方案而采用的实施方式,并非用于限定本发明。任何本发明所属技术领域内的技术人员,在不脱离本发明所揭示的核心技术方案的前提下,可以在实施的形式和细节上做任何修改与变化,但本发明所限定的保护范围,仍须以所附的权利要求书限定的范围为准。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号