CN113286011B - 基于vxlan的ip地址分配方法及装置 - Google Patents
基于vxlan的ip地址分配方法及装置 Download PDFInfo
- Publication number
- CN113286011B CN113286011B CN202110459492.0A CN202110459492A CN113286011B CN 113286011 B CN113286011 B CN 113286011B CN 202110459492 A CN202110459492 A CN 202110459492A CN 113286011 B CN113286011 B CN 113286011B
- Authority
- CN
- China
- Prior art keywords
- dhcp
- request message
- vxlan tunnel
- address
- dhcp request
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L61/00—Network arrangements, protocols or services for addressing or naming
- H04L61/50—Address allocation
- H04L61/5007—Internet protocol [IP] addresses
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L61/00—Network arrangements, protocols or services for addressing or naming
- H04L61/50—Address allocation
- H04L61/5007—Internet protocol [IP] addresses
- H04L61/5014—Internet protocol [IP] addresses using dynamic host configuration protocol [DHCP] or bootstrap protocol [BOOTP]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L2101/00—Indexing scheme associated with group H04L61/00
- H04L2101/60—Types of network addresses
- H04L2101/618—Details of network addresses
- H04L2101/622—Layer-2 addresses, e.g. medium access control [MAC] addresses
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D30/00—Reducing energy consumption in communication networks
- Y02D30/50—Reducing energy consumption in communication networks in wire-line communication networks, e.g. low power modes or reduced link rate
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明公开了一种基于VXLAN的IP地址分配方法及装置,该方法包括:接收连接的各个终端广播的第一DHCP请求报文后,在第一媒体访问控制MAC地址表中学习所述第一DHCP请求报文的源MAC地址;若确定连接的第一VXLAN隧道的DHCP请求报文转发功能为关闭状态,则向连接的第一DHCP服务器转发所述第一DHCP请求报文,以使所述第一DHCP服务器接收到所述第一DHCP请求报文后根据第一本地IP地址库分配第一IP地址、并返回携带所述第一IP地址的第一DHCP响应报文;接收所述第一DHCP响应报文后,基于所述第一MAC地址表转发所述第一DHCP响应报文。该方案可以减少VXLAN隧道转发DHCP请求报文的数量,减轻VXLAN隧道的报文转发负担。
Description
技术领域
本发明涉及通信技术领域,尤指一种基于虚拟可扩展局域网(VirtualeXtensibleLocal Area Network,VXLAN)的互联网协议(Internet Protocol,IP)地址分配方法及装置。
背景技术
VXLAN是一种建立在IP网络之上的叠加(Overlay)网络技术,其使用媒体访问控制(Media Access Control,MAC)在(in)用户数据报协议(User Datagram Protocol,UDP)的方法进行封装,即将普通以太网报文封装在UDP报文里,普通以太网报文当作UDP数据传输。
虚拟可扩展局域网隧道终端(VXLAN Tunnel End Point,VTEP)是VXLAN的边缘设备,与物理网络相连,分配有物理网络的IP地址,该地址用于VXLAN报文的封装和解封装,两个VTEP之间在IP网络上建立VXLAN隧道,这些隧道实现了VXLAN报文穿越IP网络的传输服务。每个VTEP可以连接至少一个终端(如服务器等)和一个动态主机配置协议(DynamicHostConfiguration Protocol,DHCP)服务器,终端的IP地址由DHCP服务器分配。
如图1所示为两个VTEP连接的示意图,终端PC1和PC2位于同一虚拟局域网内,分别与VTEP1和VTEP2连接,DHCP SERVER1和DHCP SERVER2可以为主备DHCP服务器,分别与VTEP1和VTEP2连接,VXLAN Tunnel为VTEP1和VTEP2之间的VXLAN隧道,PC1和PC2需要获取IP地址时,会广播DHCP请求报文,VTEP1和VTEP2接收到DHCP请求报文会在MAC地址表中学习DHCP请求报文的源MAC地址后,向VXLAN隧道和连接的DHCP服务器广播DHCP请求报文,DHCPSERVER1和DHCP SERVER2接收到DHCP请求报文后,会根据自身的角色与对端协商后从地址池中分配IP地址,然后向连接的VTEP发送DHCP响应报文,VTEP接收到DHCP响应报文后,基于MAC地址表转发DHCP响应报文,接收的终端就可以通过DHCP响应报文获取IP地址。
上述基于VXLAN的IP地址分配方法中,如果有大量的终端需要分配IP地址就会有大量的DHCP请求报文通过VXLAN隧道来广播,VXLAN隧道的报文转发负担加重。
发明内容
本发明实施例提供一种基于VXLAN的IP地址分配方法及装置,用以解决现有技术中存在的VXLAN隧道的报文转发负担加重的问题。
根据本发明实施例,提供一种基于VXLAN的IP地址分配方法,应用于VXLAN的各个VXLAN隧道两端的虚拟可扩展局域网隧道终端VTEP中,所述VXLAN还包括各个VXLAN隧道两端的VTEP连接的动态主机配置协议DHCP服务器,所述方法包括:
接收连接的各个终端广播的第一DHCP请求报文后,在第一媒体访问控制MAC地址表中学习所述第一DHCP请求报文的源MAC地址;
若确定连接的第一VXLAN隧道的DHCP请求报文转发功能为关闭状态,则向连接的第一DHCP服务器转发所述第一DHCP请求报文,以使所述第一DHCP服务器接收到所述第一DHCP请求报文后根据第一本地IP地址库分配第一IP地址、并返回携带所述第一IP地址的第一DHCP响应报文;
接收所述第一DHCP响应报文后,基于所述第一MAC地址表转发所述第一DHCP响应报文。
可选的,还包括:
通过所述第一VXLAN隧道接收到所述第一VXLAN隧道对端连接的VTEP发送的携带第二IP地址和第一MAC地址的以太网虚拟私有网络EVPN报文后,向所述第一DHCP服务器发送携带所述第二IP地址和所述第一MAC地址的同步请求报文,以使所述第一DHCP服务器接收到所述同步请求报文后在所述第一本地IP地址库中保存所述第一IP地址和所述第一MAC地址、并返回对应的同步响应报文;
若在设定时长内接收到所述同步响应报文且所述第一VXLAN隧道的DHCP请求报文转发功能为开启状态,则将所述第一VXLAN隧道的DHCP请求报文转发功能更改为关闭状态;若在所述设定时长内未接收到所述同步响应报文且所述第一VXLAN隧道的DHCP请求报文转发功能为关闭状态,则将所述第一VXLAN隧道的DHCP请求报文转发功能更改为开启状态。
可选的,还包括:
通过所述第一VXLAN隧道接收到第二DHCP请求报文,则在所述第一MAC地址表学习所述第二DHCP请求报文的源MAC地址后,向所述第一DHCP服务器转发所述第二DHCP请求报文,以使所述第一DHCP服务器接收所述第二DHCP请求报文后根据所述第一本地IP地址库分配第二IP地址、并返回携带所述第二IP地址的第二DHCP响应报文;
接收所述第二DHCP响应报文后,基于所述第一MAC地址表转发所述第二DHCP响应报文。
可选的,还包括:
若确定所述第一VXLAN隧道的DHCP请求报文转发功能为开启状态,则通过所述第一VXLAN隧道转发所述第一DHCP请求报文,以使所述第一VXLAN隧道对端连接的VTEP在第二MAC地址表学习所述第一DHCP请求报文的源MAC地址后向连接的第二DHCP服务器转发所述第一DHCP请求报文,由所述第二DHCP服务器接收到所述第一DHCP请求报文后根据第二本地IP地址库分配第三IP地址、并返回携带所述第三IP地址的第三DHCP响应报文,再由所述第一VXLAN隧道对端连接的VTEP根据所述第二MAC地址表转发所述第三DHCP响应报文;
通过所述第一VXLAN隧道接收所述第三DHCP响应报文后,根据所述第一MAC地址表转发所述第三DHCP响应报文。
可选的,还包括:
若确定所述第一VXLAN隧道的DHCP请求报文转发功能为开启状态,则尝试与所述第一DHCP服务器建立通信连接;
若成功与所述第一DHCP服务器建立通信连接,则将所述第一VXLAN隧道的DHCP请求报文转发功能更改为关闭状态。
根据本发明实施例,还提供一种基于VXLAN的IP地址分配装置,应用于VXLAN的各个VXLAN隧道两端的VTEP中,所述VXLAN还包括各个VXLAN隧道两端的VTEP连接的DHCP服务器,包括:
学习模块,用于接收连接的各个终端广播的第一DHCP请求报文后,在第一媒体访问控制MAC地址表中学习所述第一DHCP请求报文的源MAC地址;
收发模块,用于若确定连接的第一VXLAN隧道的DHCP请求报文转发功能为关闭状态,则向连接的第一DHCP服务器转发所述第一DHCP请求报文,以使所述第一DHCP服务器接收到所述第一DHCP请求报文后根据第一本地IP地址库分配第一IP地址、并返回携带所述第一IP地址的第一DHCP响应报文;接收所述第一DHCP响应报文后,基于所述第一MAC地址表转发所述第一DHCP响应报文。
可选的,还包括更改模块,其中:
所述收发模块,还用于通过所述第一VXLAN隧道接收到所述第一VXLAN隧道对端连接的VTEP发送的携带第二IP地址和第一MAC地址的以太网虚拟私有网络EVPN报文后,向所述第一DHCP服务器发送携带所述第二IP地址和所述第一MAC地址的同步请求报文,以使所述第一DHCP服务器接收到所述同步请求报文后在所述第一本地IP地址库中保存所述第一IP地址和所述第一MAC地址、并返回对应的同步响应报文;
所述更改模块,用于若在设定时长内接收到所述同步响应报文且所述第一VXLAN隧道的DHCP请求报文转发功能为开启状态,则将所述第一VXLAN隧道的DHCP请求报文转发功能更改为关闭状态;若在所述设定时长内未接收到所述同步响应报文且所述第一VXLAN隧道的DHCP请求报文转发功能为关闭状态,则将所述第一VXLAN隧道的DHCP请求报文转发功能更改为开启状态。
可选的,所述学习模块,还用于通过所述第一VXLAN隧道接收到第二DHCP请求报文,则在所述第一MAC地址表学习所述第二DHCP请求报文的源MAC地址;
所述收发模块,还用于向所述第一DHCP服务器转发所述第二DHCP请求报文,以使所述第一DHCP服务器接收所述第二DHCP请求报文后根据所述第一本地IP地址库分配第二IP地址、并返回携带所述第二IP地址的第二DHCP响应报文;接收所述第二DHCP响应报文后,基于所述第一MAC地址表转发所述第二DHCP响应报文。
可选的,所述收发模块,还用于:
若确定所述第一VXLAN隧道的DHCP请求报文转发功能为开启状态,则通过所述第一VXLAN隧道转发所述第一DHCP请求报文,以使所述第一VXLAN隧道对端连接的VTEP在第二MAC地址表学习所述第一DHCP请求报文的源MAC地址后向连接的第二DHCP服务器转发所述第一DHCP请求报文,由所述第二DHCP服务器接收到所述第一DHCP请求报文后根据第二本地IP地址库分配第三IP地址、并返回携带所述第三IP地址的第三DHCP响应报文,再由所述第一VXLAN隧道对端连接的VTEP根据所述第二MAC地址表转发所述第三DHCP响应报文;
通过所述第一VXLAN隧道接收所述第三DHCP响应报文后,根据所述第一MAC地址表转发所述第三DHCP响应报文。
可选的,还包括建立模块,其中:
所述建立模块,用于若确定所述第一VXLAN隧道的DHCP请求报文转发功能为开启状态,则尝试与所述第一DHCP服务器建立通信连接;
所述更改模块,还用于若成功与所述第一DHCP服务器建立通信连接,则将所述第一VXLAN隧道的DHCP请求报文转发功能更改为关闭状态。
根据本发明实施例,还提供一种电子设备,所述电子设备包括处理器、通信接口、存储器和通信总线,其中,处理器,通信接口,存储器通过通信总线完成相互间的通信;
存储器,用于存放计算机程序;
处理器,用于执行存储器上所存储的程序时,实现上述的方法步骤。
根据本发明实施例,还提供一种计算机可读存储介质,所述计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现上述的方法步骤。
本发明有益效果如下:
本发明实施例提供一种基于VXLAN的IP地址分配方法及装置,通过接收连接的各个终端广播的第一DHCP请求报文后,在第一媒体访问控制MAC地址表中学习所述第一DHCP请求报文的源MAC地址;若确定连接的第一VXLAN隧道的DHCP请求报文转发功能为关闭状态,则向连接的第一DHCP服务器转发所述第一DHCP请求报文,以使所述第一DHCP服务器接收到所述第一DHCP请求报文后根据第一本地IP地址库分配第一IP地址、并返回携带所述第一IP地址的第一DHCP响应报文;接收所述第一DHCP响应报文后,基于所述第一MAC地址表转发所述第一DHCP响应报文。该方案中,接收连接的各个终端广播的第一DHCP请求报文后,若确定连接的第一VXLAN隧道的DHCP请求报文转发功能为关闭状态,也就是说在确定第一DHCP服务器可用后,则向连接的第一DHCP服务器转发第一DHCP请求报文,并不会通过第一VXLAN隧道转发第一DHCP请求报文,从而可以减少VXLAN隧道转发DHCP请求报文的数量,减轻VXLAN隧道的报文转发负担。
附图说明
图1为现有技术中两个VTEP连接的示意图;
图2为本发明实施例中一种基于VXLAN的IP地址分配方法的流程图;
图3为本发明实施例中一种基于VXLAN的IP地址分配装置的结构示意图;
图4为本申请示出的一种电子设备的结构示意图。
具体实施方式
针对现有技术中存在的VXLAN隧道的报文转发负担加重的问题,本发明实施例提供一种基于VXLAN的IP地址分配方法,应用于VXLAN的各个VXLAN隧道两端的VTEP中,VXLAN还包括各个VXLAN隧道两端的VTEP连接的DHCP服务器该方法的流程如图2所示,执行步骤如下:
S21:接收连接的各个终端广播的第一DHCP请求报文后,在第一MAC地址表中学习第一DHCP请求报文的源MAC地址。
VTEP连接的终端需要获取IP地址时,会广播DHCP请求报文,这些DHCP请求报文可以定义为第一DHCP请求报文。VTEP接收到第一DHCP请求报文后,首先需要在自身的MAC地址表中学习第一DHCP请求报文的源MAC地址,自身的MAC地址表可以定义为第一MAC表。
S22:若确定连接的第一VXLAN隧道的DHCP请求报文转发功能为关闭状态,则向连接的第一DHCP服务器转发第一DHCP请求报文,以使第一DHCP服务器接收到第一DHCP请求报文后根据第一本地IP地址库分配第一IP地址、并返回携带第一IP地址的第一DHCP响应报文。
VTEP连接的VXLAN隧道可以定义为第一VXLAN隧道,第一VXLAN隧道可以设置DHCP请求报文转发功能,DHCP请求报文转发功能可以但不限于通过设置第一VXLAN隧道的转发表项实现,DHCP请求报文转发功能可以为开启状态或关闭状态,DHCP请求报文转发功能为开启状态时,可以通过第一VXLAN隧道转发DHCP请求报文,DHCP请求报文转发功能为关闭状态时,停止通过第一VXLAN隧道转发DHCP请求报文,因此,VTEP若确定连接的第一VXLAN隧道的DHCP请求报文转发功能为关闭状态,则向连接的第一DHCP服务器转发第一DHCP请求报文,而不会通过第一VXLAN隧道转发第一DHCP请求报文。
VTEP连接的DHCP服务器可以定义为第一DHCP服务器,第一DHCP服务器接收到第一DHCP请求报文后,根据第一本地IP地址库分配第一IP地址,并返回携带第一IP地址的第一DHCP响应报文,在这里第一DHCP服务器与第一VXLAN隧道另一端的VTEP连接的DHCP服务器(可以定义为第二DHCP服务器)并没有主备关系,因此,可以基于本地IP地址库(可以定义为第一本地IP地址库)分配第一IP地址,然后向连接的VTEP返回携带第一IP地址的DHCP响应报文(可以定义为第一DHCP响应报文)。
S23:接收第一DHCP响应报文后,基于第一MAC地址表转发第一DHCP响应报文。
VTEP接收到第一DHCP响应报文后,会基于第一MAC地址表转发第一DHCP响应报文,也就是单播第一DHCP响应报文,那么,发送第一DHCP请求报文的终端就可以从第一DHCP响应报文中获取第一IP地址。
该方案中,接收连接的各个终端广播的第一DHCP请求报文后,若确定连接的第一VXLAN隧道的DHCP请求报文转发功能为关闭状态,也就是说在确定第一DHCP服务器可用后,则向连接的第一DHCP服务器转发第一DHCP请求报文,并不会通过第一VXLAN隧道转发第一DHCP请求报文,从而可以减少VXLAN隧道转发DHCP请求报文的数量,减轻VXLAN隧道的报文转发负担。
可选的,还包括:
通过第一VXLAN隧道接收到第一VXLAN隧道对端连接的VTEP发送的携带第二IP地址和第一MAC地址的以太网虚拟私有网络(Ethernet Virtual Private Network,EVPN)报文后,向第一DHCP服务器发送携带第二IP地址和第一MAC地址的同步请求报文,以使第一DHCP服务器接收到同步请求报文后在第一本地IP地址库中保存第一IP地址和第一MAC地址、并返回对应的同步响应报文;
若在设定时长内接收到同步响应报文且第一VXLAN隧道的DHCP请求报文转发功能为开启状态,则将第一VXLAN隧道的DHCP请求报文转发功能更改为关闭状态;若在设定时长内未接收到同步响应报文且第一VXLAN隧道的DHCP请求报文转发功能为关闭状态,则将第一VXLAN隧道的DHCP请求报文转发功能更改为开启状态。
EVPN是一种用于二层网络互联的VPN技术,VXLAN引入了EVPN作为控制平面,通过在VTEP之间交换边界网关协议(Border Gateway Protocol,BGP)EVPN路由实现VTEP的自动发现、主机信息相互通告等功能,从而避免了不必要的数据流量泛洪。
VTEP通过第一VXLAN隧道接收到第一VXLAN隧道对端连接的VTEP发送的EVPN报文,EVPN报文会携带IP地址和媒体访问控制(Media Access Control Address,MAC)地址,该IP地址可以定义为第二IP地址,该MAC地址可以定义为第一MAC地址,VTEP可以向第一DHCP服务器发送携带第二IP地址和第一MAC地址的同步请求报文,第一DHCP服务器接收到同步请求报文后,在第一本地IP地址库中保存第一IP地址和第一MAC地址,从而实现对于第一本地IP地址库的更新,以便于后续分配IP地址时避免IP地址冲突,并返回对应的同步响应报文。
VTEP可以监控在设定时长内是否接收到同步响应报文,若在设定时长内接收到同步响应报文且第一VXLAN隧道的DHCP请求报文转发功能为开启状态,由于在设定时长内接收到同步响应报文,说明与第一DHCP服务器之间的通信连接正常,可以通过第一DHCP服务器为终端分配IP地址,无需通过第一VXLAN隧道另一端的VTEP连接的第二DHCP服务器分配IP地址,则将第一VXLAN隧道的DHCP请求报文转发功能更改为关闭状态,停止通过第一VXLAN隧道转发DHCP请求报文;若在设定时长内未接收到同步响应报文且第一VXLAN隧道的DHCP请求报文转发功能为关闭状态,由于在设定时长内未接收到同步响应报文,说明与第一DHCP服务器之间的通信连接异常,不能通过第一DHCP服务器为终端分配IP地址,需要通过第一VXLAN隧道另一端的VTEP连接的第二DHCP服务器分配IP地址,则将第一VXLAN隧道的DHCP请求报文转发功能更改为开启状态,通过第一VXLAN隧道转发DHCP请求报文。
其中,设定时长可以根据实际需要进行设置,例如,可以设置为0.5秒、1秒等等。
可选的,还包括:
通过第一VXLAN隧道接收到第二DHCP请求报文,则在第一MAC地址表学习第二DHCP请求报文的源MAC地址后,向第一DHCP服务器转发第二DHCP请求报文,以使第一DHCP服务器接收第二DHCP请求报文后根据第一本地IP地址库分配第二IP地址、并返回携带第二IP地址的第二DHCP响应报文;
接收第二DHCP响应报文后,基于第一MAC地址表转发第二DHCP响应报文。
通过第一VXLAN隧道接收到DHCP请求报文,该DHCP请求报文可以定义为第二DHCP请求报文,说明此时第一VXLAN隧道另一端的VTEP与连接的第二DHCP服务器之间的通信异常,则向第一DHCP服务器转发第二DHCP请求报文,第一DHCP服务器接收第二DHCP请求报文后根据第一本地IP地址库分配第二IP地址、并返回携带第二IP地址的第二DHCP响应报文;接收第二DHCP响应报文后,基于第一MAC地址表转发第二DHCP响应报文,发送第二DHCP请求报文的终端可以获取到需要的IP地址。
可选的,还包括:
若确定第一VXLAN隧道的DHCP请求报文转发功能为开启状态,则通过第一VXLAN隧道转发第一DHCP请求报文,以使第一VXLAN隧道对端连接的VTEP在第二MAC地址表学习第一DHCP请求报文的源MAC地址后向连接的第二DHCP服务器转发第一DHCP请求报文,由第二DHCP服务器接收到第一DHCP请求报文后根据第二本地IP地址库分配第三IP地址、并返回携带第三IP地址的第三DHCP响应报文,再由第一VXLAN隧道对端连接的VTEP根据第二MAC地址表转发第三DHCP响应报文;
通过第一VXLAN隧道接收第三DHCP响应报文后,根据第一MAC地址表转发第三DHCP响应报文。
若确定第一VXLAN隧道的DHCP请求报文转发功能为开启状态,说明与第一DHCP服务器之间的通信连接异常,则通过第一VXLAN隧道转发第一DHCP请求报文,由第一VXLAN隧道对端连接的VTEP在自身的MAC地址表(可以定义为第二MAC地址表)学习第一DHCP请求报文的源MAC地址后向连接的第二DHCP服务器转发第一DHCP请求报文,再由第二DHCP服务器接收到第一DHCP请求报文后根据第二本地IP地址库分配第三IP地址、并返回携带第三IP地址的第三DHCP响应报文,再由第一VXLAN隧道对端连接的VTEP根据第二MAC地址表转发第三DHCP响应报文;通过第一VXLAN隧道接收第三DHCP响应报文后,根据第一MAC地址表转发第三DHCP响应报文,发送第一DHCP请求报文的终端获取到分配的IP地址。
可选的,还包括:
若确定第一VXLAN隧道的DHCP请求报文转发功能为开启状态,则尝试与第一DHCP服务器建立通信连接;
若成功与第一DHCP服务器建立通信连接,则将第一VXLAN隧道的DHCP请求报文转发功能更改为关闭状态。
若确定第一VXLAN隧道的DHCP请求报文转发功能为开启状态,说明与第一DHCP服务器之间的通信连接异常,则尝试与第一DHCP服务器建立通信连接;若成功与第一DHCP服务器建立通信连接,则将第一VXLAN隧道的DHCP请求报文转发功能更改为关闭状态,从而暂停通过第一VXLAN隧道转发DHCP请求报文;若未能成功与第一DHCP服务器建立通信连接,则可以继续尝试与第一DHCP服务器建立通信连接。
基于同一发明构思,本发明实施例提供一种基于VXLAN的IP地址分配装置,应用于VXLAN的各个VXLAN隧道两端的VTEP中,VXLAN还包括各个VXLAN隧道两端的VTEP连接的动DHCP服务器,该装置的结构如图3所示,包括:
学习模块31,用于接收连接的各个终端广播的第一DHCP请求报文后,在第一MAC地址表中学习第一DHCP请求报文的源MAC地址;
收发模块32,用于若确定连接的第一VXLAN隧道的DHCP请求报文转发功能为关闭状态,则向连接的第一DHCP服务器转发第一DHCP请求报文,以使第一DHCP服务器接收到第一DHCP请求报文后根据第一本地IP地址库分配第一IP地址、并返回携带第一IP地址的第一DHCP响应报文;接收第一DHCP响应报文后,基于第一MAC地址表转发第一DHCP响应报文。
该方案中,接收连接的各个终端广播的第一DHCP请求报文后,若确定连接的第一VXLAN隧道的DHCP请求报文转发功能为关闭状态,也就是说在确定第一DHCP服务器可用后,则向连接的第一DHCP服务器转发第一DHCP请求报文,并不会通过第一VXLAN隧道转发第一DHCP请求报文,从而可以减少VXLAN隧道转发DHCP请求报文的数量,减轻VXLAN隧道的报文转发负担。
可选的,还包括更改模块,其中:
收发模块,还用于通过第一VXLAN隧道接收到第一VXLAN隧道对端连接的VTEP发送的携带第二IP地址和第一MAC地址的以太网虚拟私有网络EVPN报文后,向第一DHCP服务器发送携带第二IP地址和第一MAC地址的同步请求报文,以使第一DHCP服务器接收到同步请求报文后在第一本地IP地址库中保存第一IP地址和第一MAC地址、并返回对应的同步响应报文;
更改模块,用于若在设定时长内接收到同步响应报文且第一VXLAN隧道的DHCP请求报文转发功能为开启状态,则将第一VXLAN隧道的DHCP请求报文转发功能更改为关闭状态;若在设定时长内未接收到同步响应报文且第一VXLAN隧道的DHCP请求报文转发功能为关闭状态,则将第一VXLAN隧道的DHCP请求报文转发功能更改为开启状态。
可选的,学习模块,还用于通过第一VXLAN隧道接收到第二DHCP请求报文,则在第一MAC地址表学习第二DHCP请求报文的源MAC地址;
收发模块,还用于向第一DHCP服务器转发第二DHCP请求报文,以使第一DHCP服务器接收第二DHCP请求报文后根据第一本地IP地址库分配第二IP地址、并返回携带第二IP地址的第二DHCP响应报文;接收第二DHCP响应报文后,基于第一MAC地址表转发第二DHCP响应报文。
可选的,收发模块,还用于:
若确定第一VXLAN隧道的DHCP请求报文转发功能为开启状态,则通过第一VXLAN隧道转发第一DHCP请求报文,以使第一VXLAN隧道对端连接的VTEP在第二MAC地址表学习第一DHCP请求报文的源MAC地址后向连接的第二DHCP服务器转发第一DHCP请求报文,由第二DHCP服务器接收到第一DHCP请求报文后根据第二本地IP地址库分配第三IP地址、并返回携带第三IP地址的第三DHCP响应报文,再由第一VXLAN隧道对端连接的VTEP根据第二MAC地址表转发第三DHCP响应报文;
通过第一VXLAN隧道接收第三DHCP响应报文后,根据第一MAC地址表转发第三DHCP响应报文。
可选的,还包括建立模块,其中:
建立模块,用于若确定第一VXLAN隧道的DHCP请求报文转发功能为开启状态,则尝试与第一DHCP服务器建立通信连接;
更改模块,还用于若成功与第一DHCP服务器建立通信连接,则将第一VXLAN隧道的DHCP请求报文转发功能更改为关闭状态。
本申请实施例还提供了一种电子设备,请参见图4所示,包括处理器410、通信接口420、存储器430和通信总线440,其中,处理器410,通信接口420,存储器430通过通信总线440完成相互间的通信。
存储器430,用于存放计算机程序;
处理器410,用于执行存储器430上所存放的程序时,实现上述实施例中任一所述的基于VXLAN的IP地址分配方法。
通信接口420用于上述电子设备与其他设备之间的通信。
存储器可以包括随机存取存储器(Random Access Memory,RAM),也可以包括非易失性存储器(Non-Volatile Memory,NVM),例如至少一个磁盘存储器。可选的,存储器还可以是至少一个位于远离前述处理器的存储装置。
上述的处理器可以是通用处理器,包括中央处理器(Central Processing Unit,CPU)、网络处理器(Network Processor,NP)等;还可以是数字信号处理器(DigitalSignalProcessing,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。
该方案中,接收连接的各个终端广播的第一DHCP请求报文后,若确定连接的第一VXLAN隧道的DHCP请求报文转发功能为关闭状态,也就是说在确定第一DHCP服务器可用后,则向连接的第一DHCP服务器转发第一DHCP请求报文,并不会通过第一VXLAN隧道转发第一DHCP请求报文,从而可以减少VXLAN隧道转发DHCP请求报文的数量,减轻VXLAN隧道的报文转发负担。
相应地,本申请实施例还提供一种计算机可读存储介质,该计算机可读存储介质中存储有指令,当其在计算机上运行时,使得计算机执行上述实施例中任一所述的基于VXLAN的IP地址分配方法。
该方案中,接收连接的各个终端广播的第一DHCP请求报文后,若确定连接的第一VXLAN隧道的DHCP请求报文转发功能为关闭状态,也就是说在确定第一DHCP服务器可用后,则向连接的第一DHCP服务器转发第一DHCP请求报文,并不会通过第一VXLAN隧道转发第一DHCP请求报文,从而可以减少VXLAN隧道转发DHCP请求报文的数量,减轻VXLAN隧道的报文转发负担。
本发明是参照根据本发明实施例的方法、设备(***)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
尽管已描述了本发明的可选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括可选实施例以及落入本发明范围的所有变更和修改。
显然,本领域的技术人员可以对本发明实施例进行各种改动和变型而不脱离本发明实施例的精神和范围。这样,倘若本发明实施例的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。
Claims (10)
1.一种基于虚拟可扩展局域网VXLAN的互联网协议IP地址分配方法,应用于VXLAN的各个VXLAN隧道两端的虚拟可扩展局域网隧道终端VTEP中,所述VXLAN还包括各个VXLAN隧道两端的VTEP连接的动态主机配置协议DHCP服务器,其特征在于,所述方法包括:
接收连接的各个终端广播的第一DHCP请求报文后,在第一媒体访问控制MAC地址表中学习所述第一DHCP请求报文的源MAC地址;
若确定连接的第一VXLAN隧道的DHCP请求报文转发功能为关闭状态,则向连接的第一DHCP服务器转发所述第一DHCP请求报文,以使所述第一DHCP服务器接收到所述第一DHCP请求报文后根据第一本地IP地址库分配第一IP地址、并返回携带所述第一IP地址的第一DHCP响应报文;
接收所述第一DHCP响应报文后,基于所述第一MAC地址表转发所述第一DHCP响应报文;
还包括:
通过所述第一VXLAN隧道接收到所述第一VXLAN隧道对端连接的VTEP发送的携带第二IP地址和第一MAC地址的以太网虚拟私有网络EVPN报文后,向所述第一DHCP服务器发送携带所述第二IP地址和所述第一MAC地址的同步请求报文,以使所述第一DHCP服务器接收到所述同步请求报文后在所述第一本地IP地址库中保存所述第一IP地址和所述第一MAC地址、并返回对应的同步响应报文;
其中,若在设定时长内接收到所述同步响应报文且所述第一VXLAN隧道的DHCP请求报文转发功能为开启状态,则将所述第一VXLAN隧道的DHCP请求报文转发功能更改为关闭状态;若在所述设定时长内未接收到所述同步响应报文且所述第一VXLAN隧道的DHCP请求报文转发功能为关闭状态,则将所述第一VXLAN隧道的DHCP请求报文转发功能更改为开启状态。
2.如权利要求1所述的方法,其特征在于,还包括:
通过所述第一VXLAN隧道接收到第二DHCP请求报文,则在所述第一MAC地址表学习所述第二DHCP请求报文的源MAC地址后,向所述第一DHCP服务器转发所述第二DHCP请求报文,以使所述第一DHCP服务器接收所述第二DHCP请求报文后根据所述第一本地IP地址库分配第二IP地址、并返回携带所述第二IP地址的第二DHCP响应报文;
接收所述第二DHCP响应报文后,基于所述第一MAC地址表转发所述第二DHCP响应报文。
3.如权利要求1所述的方法,其特征在于,还包括:
若确定所述第一VXLAN隧道的DHCP请求报文转发功能为开启状态,则通过所述第一VXLAN隧道转发所述第一DHCP请求报文,以使所述第一VXLAN隧道对端连接的VTEP在第二MAC地址表学习所述第一DHCP请求报文的源MAC地址后向连接的第二DHCP服务器转发所述第一DHCP请求报文,由所述第二DHCP服务器接收到所述第一DHCP请求报文后根据第二本地IP地址库分配第三IP地址、并返回携带所述第三IP地址的第三DHCP响应报文,再由所述第一VXLAN隧道对端连接的VTEP根据所述第二MAC地址表转发所述第三DHCP响应报文;
通过所述第一VXLAN隧道接收所述第三DHCP响应报文后,根据所述第一MAC地址表转发所述第三DHCP响应报文。
4.如权利要求1-3任一所述的方法,其特征在于,还包括:
若确定所述第一VXLAN隧道的DHCP请求报文转发功能为开启状态,则尝试与所述第一DHCP服务器建立通信连接;
若成功与所述第一DHCP服务器建立通信连接,则将所述第一VXLAN隧道的DHCP请求报文转发功能更改为关闭状态。
5.一种基于VXLAN的IP地址分配装置,应用于VXLAN的各个VXLAN隧道两端的VTEP中,所述VXLAN还包括各个VXLAN隧道两端的VTEP连接的DHCP服务器,其特征在于,包括:
学习模块,用于接收连接的各个终端广播的第一DHCP请求报文后,在第一媒体访问控制MAC地址表中学习所述第一DHCP请求报文的源MAC地址;
收发模块,用于若确定连接的第一VXLAN隧道的DHCP请求报文转发功能为关闭状态,则向连接的第一DHCP服务器转发所述第一DHCP请求报文,以使所述第一DHCP服务器接收到所述第一DHCP请求报文后根据第一本地IP地址库分配第一IP地址、并返回携带所述第一IP地址的第一DHCP响应报文;接收所述第一DHCP响应报文后,基于所述第一MAC地址表转发所述第一DHCP响应报文;
还包括更改模块,其中:
所述收发模块,还用于通过所述第一VXLAN隧道接收到所述第一VXLAN隧道对端连接的VTEP发送的携带第二IP地址和第一MAC地址的以太网虚拟私有网络EVPN报文后,向所述第一DHCP服务器发送携带所述第二IP地址和所述第一MAC地址的同步请求报文,以使所述第一DHCP服务器接收到所述同步请求报文后在所述第一本地IP地址库中保存所述第一IP地址和所述第一MAC地址、并返回对应的同步响应报文;
所述更改模块,用于若在设定时长内接收到所述同步响应报文且所述第一VXLAN隧道的DHCP请求报文转发功能为开启状态,则将所述第一VXLAN隧道的DHCP请求报文转发功能更改为关闭状态;若在所述设定时长内未接收到所述同步响应报文且所述第一VXLAN隧道的DHCP请求报文转发功能为关闭状态,则将所述第一VXLAN隧道的DHCP请求报文转发功能更改为开启状态。
6.如权利要求5所述的装置,其特征在于,所述学习模块,还用于通过所述第一VXLAN隧道接收到第二DHCP请求报文,则在所述第一MAC地址表学习所述第二DHCP请求报文的源MAC地址;
所述收发模块,还用于向所述第一DHCP服务器转发所述第二DHCP请求报文,以使所述第一DHCP服务器接收所述第二DHCP请求报文后根据所述第一本地IP地址库分配第二IP地址、并返回携带所述第二IP地址的第二DHCP响应报文;接收所述第二DHCP响应报文后,基于所述第一MAC地址表转发所述第二DHCP响应报文。
7.如权利要求5所述的装置,其特征在于,所述收发模块,还用于:
若确定所述第一VXLAN隧道的DHCP请求报文转发功能为开启状态,则通过所述第一VXLAN隧道转发所述第一DHCP请求报文,以使所述第一VXLAN隧道对端连接的VTEP在第二MAC地址表学习所述第一DHCP请求报文的源MAC地址后向连接的第二DHCP服务器转发所述第一DHCP请求报文,由所述第二DHCP服务器接收到所述第一DHCP请求报文后根据第二本地IP地址库分配第三IP地址、并返回携带所述第三IP地址的第三DHCP响应报文,再由所述第一VXLAN隧道对端连接的VTEP根据所述第二MAC地址表转发所述第三DHCP响应报文;
通过所述第一VXLAN隧道接收所述第三DHCP响应报文后,根据所述第一MAC地址表转发所述第三DHCP响应报文。
8.如权利要求5-7任一所述的装置,其特征在于,还包括建立模块,其中:
所述建立模块,用于若确定所述第一VXLAN隧道的DHCP请求报文转发功能为开启状态,则尝试与所述第一DHCP服务器建立通信连接;
所述更改模块,还用于若成功与所述第一DHCP服务器建立通信连接,则将所述第一VXLAN隧道的DHCP请求报文转发功能更改为关闭状态。
9.一种电子设备,其特征在于,所述电子设备包括处理器、通信接口、存储器和通信总线,其中,处理器,通信接口,存储器通过通信总线完成相互间的通信;
存储器,用于存放计算机程序;
处理器,用于执行存储器上所存储的程序时,实现权利要求1-4任一所述的方法步骤。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现权利要求1-4任一所述的方法步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110459492.0A CN113286011B (zh) | 2021-04-27 | 2021-04-27 | 基于vxlan的ip地址分配方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110459492.0A CN113286011B (zh) | 2021-04-27 | 2021-04-27 | 基于vxlan的ip地址分配方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113286011A CN113286011A (zh) | 2021-08-20 |
CN113286011B true CN113286011B (zh) | 2023-08-22 |
Family
ID=77277464
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110459492.0A Active CN113286011B (zh) | 2021-04-27 | 2021-04-27 | 基于vxlan的ip地址分配方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113286011B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115348238A (zh) * | 2022-08-16 | 2022-11-15 | 中国联合网络通信集团有限公司 | Dhcp中继的方法、vtep网关、电子设备及介质 |
Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102843667A (zh) * | 2012-09-17 | 2012-12-26 | 北京交通大学 | 一种在分离机制移动性管理***中部署子网移动的方法 |
CN104243630A (zh) * | 2014-09-29 | 2014-12-24 | 杭州华三通信技术有限公司 | Vxlan网络中的mac地址学习方法及装置 |
WO2015085788A1 (zh) * | 2013-12-10 | 2015-06-18 | 华为技术有限公司 | 一种动态主机配置协议报文处理方法及装置 |
CN105657081A (zh) * | 2016-04-07 | 2016-06-08 | 华为技术有限公司 | 提供dhcp服务的方法、装置及*** |
CN106209643A (zh) * | 2016-07-14 | 2016-12-07 | 杭州华三通信技术有限公司 | 报文转发方法及装置 |
CN106559292A (zh) * | 2015-09-29 | 2017-04-05 | 杭州华三通信技术有限公司 | 一种宽带接入方法和装置 |
CN106936943A (zh) * | 2017-03-21 | 2017-07-07 | 深信服科技股份有限公司 | 虚拟机地址的分配方法及*** |
WO2018177353A1 (zh) * | 2017-03-29 | 2018-10-04 | 中兴通讯股份有限公司 | 组播数据的转发方法和装置 |
CN109067784A (zh) * | 2018-09-19 | 2018-12-21 | 迈普通信技术股份有限公司 | 一种vxlan中防欺骗的方法和设备 |
CN110460684A (zh) * | 2019-07-10 | 2019-11-15 | 锐捷网络股份有限公司 | Vxlan同网段的广播域隔离方法及装置 |
WO2020108531A1 (zh) * | 2018-11-27 | 2020-06-04 | 新华三技术有限公司 | 报文转发 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9391881B2 (en) * | 2013-02-20 | 2016-07-12 | Ip Technology Labs, Llc | System and methods for dynamic network address modification |
US9819511B2 (en) * | 2015-01-16 | 2017-11-14 | Alcatel Lucent | Bidirectional forwarding detection over a virtual extensible local area network |
CN107846342B (zh) * | 2016-09-20 | 2020-11-06 | 华为技术有限公司 | 一种vxlan报文的转发方法、设备及*** |
-
2021
- 2021-04-27 CN CN202110459492.0A patent/CN113286011B/zh active Active
Patent Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102843667A (zh) * | 2012-09-17 | 2012-12-26 | 北京交通大学 | 一种在分离机制移动性管理***中部署子网移动的方法 |
WO2015085788A1 (zh) * | 2013-12-10 | 2015-06-18 | 华为技术有限公司 | 一种动态主机配置协议报文处理方法及装置 |
CN104243630A (zh) * | 2014-09-29 | 2014-12-24 | 杭州华三通信技术有限公司 | Vxlan网络中的mac地址学习方法及装置 |
CN106559292A (zh) * | 2015-09-29 | 2017-04-05 | 杭州华三通信技术有限公司 | 一种宽带接入方法和装置 |
CN105657081A (zh) * | 2016-04-07 | 2016-06-08 | 华为技术有限公司 | 提供dhcp服务的方法、装置及*** |
CN106209643A (zh) * | 2016-07-14 | 2016-12-07 | 杭州华三通信技术有限公司 | 报文转发方法及装置 |
CN106936943A (zh) * | 2017-03-21 | 2017-07-07 | 深信服科技股份有限公司 | 虚拟机地址的分配方法及*** |
WO2018177353A1 (zh) * | 2017-03-29 | 2018-10-04 | 中兴通讯股份有限公司 | 组播数据的转发方法和装置 |
CN109067784A (zh) * | 2018-09-19 | 2018-12-21 | 迈普通信技术股份有限公司 | 一种vxlan中防欺骗的方法和设备 |
WO2020108531A1 (zh) * | 2018-11-27 | 2020-06-04 | 新华三技术有限公司 | 报文转发 |
CN110460684A (zh) * | 2019-07-10 | 2019-11-15 | 锐捷网络股份有限公司 | Vxlan同网段的广播域隔离方法及装置 |
Non-Patent Citations (1)
Title |
---|
VXLAN技术在数据中心的应用;刘圣;;金融科技时代(11);全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN113286011A (zh) | 2021-08-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10833995B2 (en) | Method and apparatus for datacenter congestion control based on software defined network | |
CN105763359A (zh) | 用于交织结构交换机集群的分布式双向转发检测协议(d-bfd) | |
CN105264493A (zh) | 信息中心网络上的动态虚拟机迁移 | |
KR101694223B1 (ko) | 패킷을 전송하는 방법, 라우팅 브리지, 및 시스템 | |
CN108512755B (zh) | 一种路由信息的学习方法及装置 | |
CN106357542B (zh) | 提供组播业务的方法和软件定义网络控制器 | |
CN109474507B (zh) | 一种报文转发方法及装置 | |
CN113438174B (zh) | 一种报文转发方法及装置 | |
CN112769959B (zh) | 会话同步方法、装置、第一节点、第二节点、***及介质 | |
CN110460684A (zh) | Vxlan同网段的广播域隔离方法及装置 | |
CN111934969B (zh) | Mac转发表的维护方法及装置 | |
CN113132155B (zh) | 一种虚拟交换机分布式逃生方法、装置及存储介质 | |
CN113364660B (zh) | Lvs负载均衡中的数据包处理方法及装置 | |
CN104580029A (zh) | 地址分配方法及装置 | |
CN110691110B (zh) | 一种通信方法、装置、***、终端、设备及介质 | |
CN108966363B (zh) | 一种连接建立方法及装置 | |
CN113286011B (zh) | 基于vxlan的ip地址分配方法及装置 | |
CN111669333A (zh) | 数据传输方法、装置、计算设备和存储介质 | |
CN112910704B (zh) | 一种支持动态自适应网络配置的局域网***、方法和装置 | |
US7028104B1 (en) | Network access device having internetworking driver with active control | |
CN109818869B (zh) | 组播流量转发端口的生成方法及相关设备 | |
CN112511401B (zh) | 一种网络连接方法、装置、设备及介质 | |
CN113676493A (zh) | 一种基于mobike协议的通信方法及电子设备 | |
CN106789650B (zh) | 基于ip的广域网加速方法及装置 | |
CN110690990B (zh) | 一种服务器升级的方法及装置、电子设备、存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |