网络地址分配方法、装置和设备与流程

文档序号:26759471发布日期:2021-09-25 05:20阅读:93来源:国知局
网络地址分配方法、装置和设备与流程

1.本发明涉及通信技术领域,具体涉及一种网络地址分配方法、装置和设备。


背景技术:

2.在虚拟扩展局域网(virtual extensible lan,vxlan)网络中,vxlan可以基于已有的服务提供商或企业ip网络,为分散的物理站点提供二层互联,并能够为不同的租户提供业务隔离。
3.在以太虚拟专用网络(ethernet virtual private network,evpn)的组网场景中,作为动态主机配置协议(dynamic hostconfiguration protocol,dhcp)服务器的中继设备,该中继设备的下挂客户端申请互联网协议(internet protocoladdress,ip)时,可以向中继设备发送dhcp发现discover报文,如果攻击者伪造不同的物理地址(media access control address,mac)地址连续高强度发送dhcp discover报文,容易导致dhcp服务器将把大量的ip地址分配给攻击者,进而导致预分配的ip地址一直处于锁定状态,不能分配其它合法下挂客户端,造成ip地址资源池的枯竭,合法的客户端开机后将获取不到ip地址。
4.解决将ip地址分配给不合法的攻击者客户端时造成网络地址锁定,从而导致的合法的下挂客户端开机后将获取不到ip地址的问题


技术实现要素:

5.为此,本发明提供一种网络地址分配方法、装置和设备,以解决现有技术中由于将ip地址分配给不合法的攻击者客户端时造成网络地址锁定,从而导致的合法的下挂客户端开机后将获取不到ip地址的问题。
6.为了实现上述目的,本发明第一方面提供一种网络地址分配方法,包括:接收通过路由器转发的动态主机配置协议dhcp发现报文;其中,所述dhcp发现报文来自dhcp中继设备的下联网络接口,并通过所述dhcp中继设备发送至所述路由器;
7.生成预分配至所述下联网络接口的网络地址,并设置所述预分配的网络地址为锁定状态;
8.发送dhcp提供报文至所述路由器,以使所述路由器通过所述dhcp中继设备转发所述dhcp提供报文至所述下联网络接口;
9.启动定时器,并监测在所述定时器计时超过预定时长之前是否接收到所述路由器转发的dhcp请求报文,所述dhcp请求报文来自所述下联网络接口,并通过所述dhcp中继设备发送至所述路由器;
10.根据所述dhcp请求报文的监测结果确定所述下联网络接口的合法性,以根据所述下联网络接口的合法性对预分配的所述网络地址进行相应处理,得到所述网络地址的分配处理结果。
11.本发明第二方面提供一种网络地址分配装置,包括:
12.报文接收模块,用于接收通过路由器转发的动态主机配置协议dhcp发现报文;其
中,所述dhcp发现报文来自dhcp中继设备的下联网络接口,并通过所述dhcp中继设备发送至所述路由器;
13.地址生成模块,用于生成预分配至所述下联网络接口的网络地址,并设置所述预分配的网络地址为锁定状态;
14.报文发送模块,用于发送dhcp提供报文至所述路由器,以使所述路由器通过所述dhcp中继设备转发所述dhcp提供报文至所述下联网络接口;
15.报文监测模块,用于启动定时器,并监测在所述定时器计时超过预定时长之前是否接收到所述路由器转发的dhcp请求报文,所述dhcp请求报文来自所述下联网络接口,并通过所述dhcp中继设备发送至所述路由器;
16.分配处理模块,用于根据所述dhcp请求报文的监测结果确定所述下联网络接口的合法性,以根据所述下联网络接口的合法性对预分配的所述网络地址进行相应处理,得到所述网络地址的分配处理结果。
17.本发明第三方面提供一种网络设备,包括:一个或多个处理器;存储器,其上存储有一个或多个程序,当一个或多个程序被一个或多个处理器执行,使得一个或多个处理器实现本技术实施例中的任意一种网络地址分配方法。
18.本发明具有如下优点:根据本发明实施例中的网络地址分配方法、装置和设备,dhcp服务器分配ip地址后发送dhcp offer报文,并启动定时器,监测在所述定时器计时超过预定时长之前是否接收到所述路由器转发的dhcp请求报文,根据检测结果确定所述下联网络接口的合法性,从而可以根据下联网络接口的合法性对分配的ip地址进行相应处理,得到网络地址的分配处理结果。
19.在该网络地址分配方法中,可以根据dhcp服务器所连接的中继设备的下联网络接口的合法性进行ip地址分配,从而可以避免将ip地址分配给不合法的攻击者客户端,解决将ip地址分配给不合法的攻击者客户端时造成ip地址被锁定,从而导致的合法的下挂客户端开机后将获取不到ip地址的问题。
附图说明
20.附图是用来提供对本发明的进一步理解,并且构成说明书的一部分,与下面的具体实施方式一起用于解释本发明,但并不构成对本发明的限制。
21.图1为本发明一个实施例提供的网络地址分配方法的流程图;
22.图2为本发明另一实施例的网络地址分配方法的详细流程图;
23.图3为本发明实施例提供的网络地址分配装置的结构示意图;
24.图4为本发明实施例提供的能够实现网络地址分配方法和装置的计算设备的示例性硬件架构的结构图。
具体实施方式
25.以下结合附图对本发明的具体实施方式进行详细说明。应当理解的是,此处所描述的具体实施方式仅用于说明和解释本发明,并不用于限制本发明。对于本领域技术人员来说,本发明可以在不需要这些具体细节中的一些细节的情况下实施。下面对实施例的描述仅仅是为了通过示出本发明的示例来提供对本发明更好的理解。
26.需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括
……”
限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
27.在本技术实施例中,vxlan(virtual extensible lan,可扩展虚拟局域网络)是基于ip网络、采用在用户数据报协议中封装媒体接入控制(media access control in user datagram protocol,mac

in udp)封装形式的二层虚拟专用网络(virtual private network,vpn)技术。vxlan可以基于已有的服务提供商或企业ip网络,为分散的物理站点提供二层互联,并能够为不同的租户提供业务隔离。vxlan主要应用于数据中心网络。
28.vxlan具有如下特点:第一、可支持大量的租户:使用24位的标识符,最多可支持2的24次方(16777216)个vxlan,使支持的租户数目大规模增加,解决了传统二层网络vlan资源不足的问题。第二、易于维护:基于ip网络组建大二层网络,使得网络部署和维护更加容易,并且可以充分地利用现有的ip网络技术,例如利用等价路由进行负载分担等;只有ip核心网络的边缘设备需要进行vxlan处理,网络中间设备只需根据ip头转发报文,降低了网络部署的难度和费用。
29.vxlan技术将已有的三层物理网络作为下层的、基础架构(underlay)网络,在其上构建出虚拟的二层网络,即上层的、用户层面(overlay)网络。overlay网络通过封装技术、利用underlay网络提供的三层转发路径,实现租户二层报文跨越三层网络在不同站点间传递。对于租户来说,underlay网络是透明的,同一租户的不同站点就像工作在一个局域网中。
30.vxlan的典型网络模型包括如下几部分:虚拟机(virtual machine,vm)、vxlan隧道端点(vxlan tunnel end point,vtep)、vxlan隧道、核心设备、虚拟交换实例(virtual switch instance,vsi)、接入电路(attachment circuit,ac)和以太网虚拟专用网络(ethernet virtual private network,evpn)。
31.其中,在一台服务器上可以创建多台虚拟机,不同的虚拟机可以属于不同的vxlan。属于相同vxlan的虚拟机处于同一个逻辑二层网络,彼此之间二层互通;属于不同vxlan的虚拟机之间二层隔离。vxlan通过vxlan标识(identity,id)来标识,vxlan id又称网络标识符(vxlan network identifier,vxlan vni),其长度为24比特。
32.vtep是vxlan的边缘设备,vxlan的相关处理都在vtep上进行,例如识别以太网数据帧所属的vxlan、基于vxlan对数据帧进行二层转发、封装/解封装报文等。vtep可以是一台独立的物理设备,也可以是虚拟机所在的服务器。
33.vxlan隧道是两个vtep之间的点到点逻辑隧道。vtep为数据帧封装vxlan头、udp头和ip头后,通过vxlan隧道将封装后的报文转发给远端vtep,远端vtep对其进行解封装。
34.核心设备是ip核心网络中的设备。核心设备不参与vxlan处理,仅需要根据封装后报文的目的ip地址对报文进行三层转发。
35.vsi是vtep上为一个vxlan提供二层交换服务的虚拟交换实例。vsi可以看做是vtep上的一台基于vxlan进行二层转发的虚拟交换机,它具有传统以太网交换机的所有功能,包括源mac地址学习、mac地址老化、泛洪等。vsi与vxlan一一对应。
offer报文,并启动定时器,监测在定时器计时超过预定时长之前是否接收到路由器转发的dhcp请求报文,根据检测结果确定下联网络接口的合法性,从而可以根据下联网络接口的合法性对分配的ip地址进行相应处理,得到网络地址的分配处理结果。根据dhcp服务器所连接的中继设备的下联网络接口的合法性进行ip地址分配,以避免将ip地址分配给不合法的攻击者客户端,解决将ip地址分配给不合法的攻击者客户端并锁定ip地址,而导致的合法的下挂客户端开机后将获取不到ip地址的问题。
50.在一些实施例中,启动定时器可以发送dhcp提供报文至路由器同时进行,或者在发送dhcp提供报文至路由器之后的预定时长阈值范围内启动定时器。
51.应理解,定时器设置的预定时长可以根据实际应用场景中的网络连接情况例如网络延迟等进行设置,定时器设置的预定时长例如也可以是经验值,本技术实施例不做具体限定。
52.在一些实施例中,dhcp中继设备为虚拟扩展局域网隧道终端vtep节点设备。
53.在一些实施例中,若监测结果为在定时器计时超过预定时长之前接收到dhcp请求报文,则步骤s140可以包括:s11,确定下联网络接口合法;s12,发送dhcp确认字符报文至路由器,以通过路由器转发dhcp确认字符报文至下联网络接口;s13,关闭定时器。
54.在该实施例中,如果下联网络接口所连接的客户端合法,下联网络接口所连接的客户端接收到dhcp offer报文后发送dhcp request报文进行正式申请,vtep1接收到dhcp request报文后把报文转发给路由器r1,路由器r1把dhcp request报文发送给dhcp服务器,dhcp服务器发送dhcp ack报文,并关闭定时器,完成网络地址的正式分配。
55.在一些实施例中,若监测结果为在定时器计时超过预定时长之前未接收到dhcp请求报文,则步骤s140可以包括:s21,确定下联网络接口不合法;s22,设置预分配的网络地址为解锁状态。
56.在该实施例中,如果下联网络接口所连接的客户端不合法,例如下联网络接口所连接的客户端的mac地址是攻击者伪造的mac地址,dhcp服务器将接收不到dhcp request报文,当定时器到达预设的阈值后,dhcp服务器把预分配给vm1的ip地址从锁定状态中进行解锁,以避免预分配的ip地址一直被锁定,从而及时解锁被攻击者获取的ip地址,保障合法下联网络接口上的客户端获得ip地址。
57.在一些实施例中,dhcp中继设备通过下联网络接口连接有虚拟机;网络地址分配方法还可以包括:s23,释放预先存储的虚拟机的相关信息。
58.在该实施例中,若下联网络接口所连接的客户端为虚拟机,则在确定该虚拟机不合法的情况下,设置预分配的网络地址为解锁状态后,可以释放预先存储的虚拟机的相关信息。
59.根据本技术实施例的网络地址分配方法,dhcp服务器发送dhcp offer报文并启动定时器,监测在定时器计时超过预定时长之前是否接收到路由器转发的dhcp请求报文,根据检测结果确定下联网络接口的合法性。
60.根据dhcp服务器所连接的中继设备的下联网络接口的合法性进行ip地址分配,以避免将ip地址分配给不合法的攻击者客户端,解决将ip地址分配给不合法的攻击者客户端并锁定ip地址,而导致的合法的下挂客户端开机后将获取不到ip地址的问题。
61.图2示出根据本技术示例性实施例的网络地址分配方法的详细流程图。如图2所
示,该网络地址分配方法包括如下步骤。
62.s201,虚拟机vm1开机后向中继设备vtep1发送dhcp discover报文。
63.s202,中继设备vtep1接收虚拟机vm1发送的dhcp discover报文,并向路由器r1转发dhcp discover报文。
64.在该步骤中,中继设备vtep1接收虚拟机vm1发送的dhcp discover报文,并学习虚拟机vm1的mac,vni和报文入接口(即二层子接口对应的物理接口)的对应关系,并记录在本地mac表中。
65.s203,路由器r1把报文发送给dhcp服务器。
66.s204,dhcp服务器分配ip地址后发送dhcp offer报文,并启动定时器。
67.s205,路由器r1转发dhcp offer报文给中继设备vtep1。
68.s206,中继设备vtep1发送给虚拟机vm1。
69.s207,如果虚拟机vm1是合法虚拟机,虚拟机vm1接收到dhcp offer报文后发送dhcp request报文进行正式申请。
70.s208,中继设备vtep1接收到dhcp request报文后把报文转发给路由器r1。
71.s209,路由器r1把报文发送给dhcp服务器。
72.s210,dhcp服务器发送dhcp ack报文,并关闭定时器。
73.s211,如果虚拟机vm1的mac地址是攻击者伪造的mac地址,dhcp服务器将接收不到dhcp request报文,当定时器到达预设的阈值后,dhcp服务器把预分配给虚拟机vm1的ip地址从锁定状态中进行解锁,并释放存储的虚拟机vm1的相关信息。
74.通过上述步骤s201

s211,dhcp服务器接收到虚拟机dhcp discover报文后分配ip地址并发送dhcp offer报文,同时启动定时器。在定时器到达预设的阈值后,如果dhcp服务器接收不到dhcp request报文,把预分配给虚拟机的ip地址从锁定状态中进行解锁,并释放存储的虚拟机的相关信息,从而可以避免将ip地址分配给不合法的攻击者客户端,解决将ip地址分配给不合法的攻击者客户端并锁定ip地址,而导致的合法的下挂客户端开机后将获取不到ip地址的问题。
75.下面结合附图,详细介绍根据本发明实施例的网络地址分配装置。图3示出了根据本发明一实施例提供的网络地址分配装置的结构示意图。如图3所示,网络地址分配装置可以包括如下模块。
76.报文接收模块310,用于接收通过路由器转发的动态主机配置协议dhcp发现报文;其中,dhcp发现报文来自dhcp中继设备的下联网络接口,并通过dhcp中继设备发送至路由器。
77.地址生成模块320,用于生成预分配至下联网络接口的网络地址,并设置预分配的网络地址为锁定状态。
78.报文发送模块330,用于发送dhcp提供报文至路由器,以使路由器通过dhcp中继设备转发dhcp提供报文至下联网络接口。
79.报文监测模块340,用于启动定时器,并监测在定时器计时超过预定时长之前是否接收到路由器转发的dhcp请求报文,dhcp请求报文来自下联网络接口,并通过dhcp中继设备发送至路由器。
80.分配处理模块350,用于根据dhcp请求报文的监测结果,对分配的网络地址进行相
应处理,得到网络地址的分配处理结果。
81.在一些实施例中,若监测结果为在定时器计时超过预定时长之前接收到dhcp请求报文,则分配处理模块,具体用于:确定下联网络接口合法,发送dhcp确认字符报文至路由器,以通过路由器转发dhcp确认字符报文至下联网络接口,以及,关闭定时器。
82.在一些实施例中,若监测结果为在定时器计时超过预定时长之前未接收到dhcp请求报文,则分配处理模块,具体用于:确定下联网络接口不合法,以及,设置预分配的网络地址为解锁状态。
83.在一些实施例中,dhcp中继设备通过下联网络接口连接有虚拟机;装置还包括:信息释放模块,用于释放预先存储的虚拟机的相关信息。
84.根据本技术实施例的网络地址分配装置,dhcp服务器接收到虚拟机dhcp discover报文后分配ip地址并发送dhcp offer报文,同时启动定时器。在定时器到达预设的阈值后,如果dhcp服务器接收不到dhcp request报文,把预分配给虚拟机的ip地址从锁定状态中进行解锁,并释放存储的虚拟机的相关信息,从而可以避免将ip地址分配给不合法的攻击者客户端,解决将ip地址分配给不合法的攻击者客户端并锁定ip地址,而导致的合法的下挂客户端开机后将获取不到ip地址的问题。
85.需要明确的是,本发明并不局限于上文实施例中所描述并在图中示出的特定配置和处理。为了描述的方便和简洁,这里省略了对已知方法的详细描述,并且上述描述的系统、模块和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
86.图4是示出能够实现根据本发明实施例的网络地址分配方法和装置的计算设备的示例性硬件架构的结构图。
87.如图4所示,计算设备400包括输入设备401、输入接口402、中央处理器403、存储器404、输出接口405、以及输出设备406。其中,输入接口402、中央处理器403、存储器404、以及输出接口405通过总线410相互连接,输入设备401和输出设备406分别通过输入接口402和输出接口405与总线410连接,进而与计算设备400的其他组件连接。
88.具体地,输入设备401接收来自外部的输入信息,并通过输入接口402将输入信息传送到中央处理器403;中央处理器403基于存储器404中存储的计算机可执行指令对输入信息进行处理以生成输出信息,将输出信息临时或者永久地存储在存储器404中,然后通过输出接口405将输出信息传送到输出设备406;输出设备406将输出信息输出到计算设备400的外部供用户使用。
89.在一个实施例中,图4所示的计算设备400可以被实现为一种网络设备,该网络设备可以包括:存储器,被配置为存储程序;处理器,被配置为运行存储器中存储的程序,以执行上述实施例描述的网络地址分配方法。
90.根据本发明的实施例,上文参考流程图描述的过程可以被实现为计算机软件程序。例如,本发明的实施例包括一种计算机程序产品,其包括有形地包含在机器可读介质上的计算机程序,计算机程序包含用于执行流程图所示的方法的程序代码。在这样的实施例中,该计算机程序可以从网络上被下载和安装,和/或从可拆卸存储介质被安装。
91.在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令,当其在计算机上运行时,使得计算机执行上述各个实施
例中描述的方法。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本发明实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(dsl))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,dvd)、或者半导体介质(例如固态硬盘)等。
92.以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。
93.可以理解的是,以上实施方式仅仅是为了说明本发明的原理而采用的示例性实施方式,然而本发明并不局限于此。对于本领域内的普通技术人员而言,在不脱离本发明的精神和实质的情况下,可以做出各种变型和改进,这些变型和改进也视为本发明的保护范围。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1