CN111800337B - 基于数据中心的方法、装置、电子设备及存储介质 - Google Patents
基于数据中心的方法、装置、电子设备及存储介质 Download PDFInfo
- Publication number
- CN111800337B CN111800337B CN202010524187.0A CN202010524187A CN111800337B CN 111800337 B CN111800337 B CN 111800337B CN 202010524187 A CN202010524187 A CN 202010524187A CN 111800337 B CN111800337 B CN 111800337B
- Authority
- CN
- China
- Prior art keywords
- message
- link
- arp
- type
- sent
- 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
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/24—Multipath
- H04L45/245—Link aggregation, e.g. trunking
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/02—Details
- H04L12/16—Arrangements for providing special services to substations
- H04L12/18—Arrangements for providing special services to substations for broadcast or conference, e.g. multicast
-
- 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/09—Mapping addresses
- H04L61/10—Mapping addresses of different types
- H04L61/103—Mapping addresses of different types across network layers, e.g. resolution of network layer into physical layer addresses or address resolution protocol [ARP]
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明公开了一种基于数据中心的报文转发方法及装置,该方法包括:确定待发送报文的类型是否是ARP广播报文;若是,则镜像待发送报文,分别通过聚合链路包括的各个链路发送一个得到的镜像报文,以使接收到镜像报文的网络设备基于镜像报文更新转发表、将虚拟系统的第一链路状态表中传输镜像报文的第一链路的链路状态更新为可用后向虚拟系统的其他网络设备同步第一链路的链路状态、并通过第一链路返回ARP响应报文;若通过第一链路接收到ARP响应报文,则将自身的第二链路状态表中第一链路的链路状态更新为可用;若不是,则通过第二链路状态表中链路状态为可用的第二链路转发待发送报文。该方案可以确保不会产生丢包,进而可以大大提升用户体验。
Description
技术领域
本发明涉及通信技术领域,尤指一种基于数据中心的方法、装置、电子设备及储存介质。
背景技术
目前数据中心的应用越来越广泛,数据中心常见的架构图如图1所示,数据中心通常包括至少两个服务器和至少两个网络设备,图1中仅示出了一台服务器为例,网络设备1、……、网络设备N可以组成一个虚拟系统,服务器与各个网络设备之间分别通过一个链路连接,服务器与各个网络设备连接的各个链路设置为一个聚合链路。
通常各个网络设备与服务器之间需要转发各种报文,例如,地址解析协议(Address Resolution Protocol,ARP)广播报文、数据报文等等,服务器会通过聚合链路中的一个链路发送数据报文或者ARP广播报文,网络设备接收到ARP广播报文后可以学习到转发表项,再向其他的网络设备同步学习到的转发表项,网络设备接收到数据报文转向互联网转发或者将互联网来的数据报文转发给服务器。
上述基于数据中心的报文转发方法中,由于服务器仅通过一个链路发送ARP广播报文或者数据报文,如果该链路故障,若转发的是ARP广播报文,则所有的网络设备都无法学习到该服务器对应的转发表项,就会导致后续无法转发该服务器的数据报文,产生丢包现象,并且大大降低用户体验;若转发的是数据报文,则网络设备无法接收到该数据报文,也就无法继续向互联网转发该数据报文,产生丢包现象,从而大大降低用户体验。因此,上述基于数据中心的报文转发方法,会产生丢包现象,从而大大降低用户体验。
发明内容
本发明实施例提供一种基于数据中心的方法、装置、电子设备及储存介质,用以解决现有技术中存在的丢包现象,并且大大降低用户体验的问题。
根据本发明实施例,提供一种基于数据中心的报文转发方法,应用于所述数据中心包括的至少两个服务器中,所述数据中心还包括由至少两个网络设备组成的虚拟系统,各个服务器与各个网络设备之间分别通过一个链路连接,同一服务器与各个网络设备连接的各个链路设置为一个聚合链路,所述方法包括:
确定待发送报文的类型是否是ARP广播报文;
若确定所述待发送报文的类型是ARP广播报文,则按照自身的聚合链路包括的各个链路的链路数量镜像所述待发送报文,分别通过所述聚合链路包括的各个链路发送一个得到的镜像报文,以使接收到所述镜像报文的网络设备基于所述镜像报文更新转发表、将所述虚拟系统的第一链路状态表中传输所述镜像报文的第一链路的链路状态更新为可用后向所述虚拟系统的其他网络设备同步所述第一链路的链路状态、并通过所述第一链路返回ARP响应报文;若通过所述第一链路接收到所述ARP响应报文,则将自身的第二链路状态表中所述第一链路的链路状态更新为可用;
若确定所述待发送报文的类型不是ARP广播报文,则通过所述第二链路状态表中链路状态为可用的第二链路转发所述待发送报文。
具体的,确定待发送报文的类型是否是ARP广播报文,具体包括:
确定所述待发送报文的目的MAC地址是否是广播地址;
若确定所述目的MAC地址不是广播地址,则确定所述待发送报文的类型不是ARP广播报文;
若确定所述目的MAC地址是广播地址,则确定所述待发送报文的协议类型是否是ARP,若确定所述协议类型不是ARP,则确定所述待发送报文的类型不是ARP广播报文;若确定所述协议类型是ARP,则确定所述待发送报文的类型是ARP广播报文。
根据本发明实施例,还提供一种基于数据中心的报文转发方法,应用于数据中心包括的虚拟系统的至少两个网络设备中,所述数据中心还包括至少两个服务器,各个服务器与各个网络设备之间分别通过一个链路连接,同一服务器与各个网络设备连接的各个链路设置为一个聚合链路,所述方法包括:
确定接收的报文的类型是否是ARP广播报文;
若确定所述报文的类型是ARP广播报文,则基于所述报文更新转发表、将所述虚拟系统的第一链路状态表中传输所述报文的第一链路的链路状态更新为可用后将所述第一链路的链路状态同步给所述虚拟系统的其他网络设备、并通过所述第一链路返回ARP响应报文,以使接收到所述ARP响应报文的第一服务器将自身的第二链路状态表中所述第一链路的链路状态更新为可用,其中,所述报文是所述第一服务器按照自身的聚合链路包括的各个链路的链路数量镜像所述报文对应的待发送报文并通过所述聚合链路包括的每个链路发送的;
若确定所述报文的类型不是ARP广播报文,则确定所述报文的目的设备,若确定所述目的设备为第二服务器,则通过所述第一链路状态表中与所述第二服务器连接的且链路状态为可用的第三链路传输所述报文。
具体的,确定接收的报文的类型是否是ARP广播报文,具体包括:
确定所述报文的目的MAC地址是否是广播地址;
若确定所述目的MAC地址不是广播地址,则确定所述报文的类型不是ARP广播报文;
若确定所述目的MAC地址是广播地址,则确定所述报文的协议类型是否是ARP,若确定所述协议类型不是ARP,则确定所述报文的类型不是ARP广播报文;若确定所述协议类型是ARP,则确定所述报文的类型是ARP广播报文。
根据本发明实施例,还提供一种基于数据中心的报文转发装置,应用于所述数据中心包括的至少两个服务器中,所述数据中心还包括由至少两个网络设备组成的虚拟系统,各个服务器与各个网络设备之间分别通过一个链路连接,同一服务器与各个网络设备连接的各个链路设置为一个聚合链路,所述装置包括:
确定模块,用于确定待发送报文的类型是否是ARP广播报文;
转发模块,用于若确定所述待发送报文的类型是ARP广播报文,则按照自身的聚合链路包括的各个链路的链路数量镜像所述待发送报文,分别通过所述聚合链路包括的各个链路发送一个得到的镜像报文,以使接收到所述镜像报文的网络设备基于所述镜像报文更新转发表、将所述虚拟系统的第一链路状态表中传输所述镜像报文的第一链路的链路状态更新为可用后向所述虚拟系统的其他网络设备同步所述第一链路的链路状态、并通过所述第一链路返回ARP响应报文;若通过所述第一链路接收到所述ARP响应报文,则将自身的第二链路状态表中所述第一链路的链路状态更新为可用;若确定所述待发送报文的类型不是ARP广播报文,则通过所述第二链路状态表中链路状态为可用的第二链路转发所述待发送报文。
具体的,所述确定模块,用于确定待发送报文的类型是否是ARP广播报文,具体用于:
确定所述待发送报文的目的MAC地址是否是广播地址;
若确定所述目的MAC地址不是广播地址,则确定所述待发送报文的类型不是ARP广播报文;
若确定所述目的MAC地址是广播地址,则确定所述待发送报文的协议类型是否是ARP,若确定所述协议类型不是ARP,则确定所述待发送报文的类型不是ARP广播报文;若确定所述协议类型是ARP,则确定所述待发送报文的类型是ARP广播报文。
根据本发明实施例,提供一种基于数据中心的报文转发装置,应用于数据中心包括的虚拟系统的至少两个网络设备中,所述数据中心还包括至少两个服务器,各个服务器与各个网络设备之间分别通过一个链路连接,同一服务器与各个网络设备连接的各个链路设置为一个聚合链路,所述装置包括:
确定模块,用于确定接收的报文的类型是否是ARP广播报文;
转发模块,用于若确定所述报文的类型是ARP广播报文,则基于所述报文更新转发表、将所述虚拟系统的第一链路状态表中传输所述报文的第一链路的链路状态更新为可用后将所述第一链路的链路状态同步给所述虚拟系统的其他网络设备、并通过所述第一链路返回ARP响应报文,以使接收到所述ARP响应报文的第一服务器将自身的第二链路状态表中所述第一链路的链路状态更新为可用,其中,所述报文是所述第一服务器按照自身的聚合链路包括的各个链路的链路数量镜像所述报文对应的待发送报文并通过所述聚合链路包括的每个链路发送的;若确定所述报文的类型不是ARP广播报文,则确定所述报文的目的设备,若确定所述目的设备为第二服务器,则通过所述第一链路状态表中与所述第二服务器连接的且链路状态为可用的第三链路传输所述报文。
具体的,所述确定模块,用于确定接收的报文的类型是否是ARP广播报文,具体用于:
确定所述报文的目的MAC地址是否是广播地址;
若确定所述目的MAC地址不是广播地址,则确定所述报文的类型不是ARP广播报文;
若确定所述目的MAC地址是广播地址,则确定所述报文的协议类型是否是ARP,若确定所述协议类型不是ARP,则确定所述报文的类型不是ARP广播报文;若确定所述协议类型是ARP,则确定所述报文的类型是ARP广播报文。
根据本发明实施例,还提供一种电子设备,所述电子设备包括处理器、通信接口、存储器和通信总线,其中,处理器,通信接口,存储器通过通信总线完成相互间的通信;
存储器,用于存放计算机程序;
处理器,用于执行存储器上所存储的程序时,实现上述的方法步骤。
根据本发明实施例,还提供一种计算机可读存储介质,所述计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现上述的方法步骤。
本发明有益效果如下:
本发明实施例提供一种基于数据中心的方法、装置、电子设备及储存介质,通过确定待发送报文的类型是否是ARP广播报文;若确定所述待发送报文的类型是ARP广播报文,则按照自身的聚合链路包括的各个链路的链路数量镜像所述待发送报文,分别通过所述聚合链路包括的各个链路发送一个得到的镜像报文,以使接收到所述镜像报文的网络设备基于所述镜像报文更新转发表、将所述虚拟系统的第一链路状态表中传输所述镜像报文的第一链路的链路状态更新为可用后向所述虚拟系统的其他网络设备同步所述第一链路的链路状态、并通过所述第一链路返回ARP响应报文;若通过所述第一链路接收到所述ARP响应报文,则将自身的第二链路状态表中所述第一链路的链路状态更新为可用;若确定所述待发送报文的类型不是ARP广播报文,则通过所述第二链路状态表中链路状态为可用的第二链路转发所述待发送报文。该方案中,服务器会通过聚合链路包括的各个链路发送ARP广播报文,每个网络设备都可以独自学习转发表项,无需再向其他网络设备同步,避免因链路故障一个网络设备接收不到ARP广播报文、所有的网络设备都无法学习到转发表项导致后续无法向该服务器转发数据报文的问题,网络设备还会将接收到ARP广播报文的链路的链路状态更新为可用,并将该链路状态同步给虚拟系统的其他网络设备,同时还会向服务器返回ARP响应报文,以便于后续各个网络设备会通过聚合链路中可用的链路向服务器转发数据报文,从而可以确保不会产生丢包;服务器也会将接收到ARP响应报文的链路的链路状态更新为可用,以便于后续通过聚合链路中可用的链路向虚拟系统发送数据报文,从而可以确保不会产生丢包,进而可以大大提升用户体验。
附图说明
图1为现有技术中的数据中心的架构图;
图2为本发明实施例中一种以服务器为执行主体的基于数据中心的报文转发方法的流程图;
图3为本发明实施例中一种以网络设备为执行主体的基于数据中心的报文转发方法的流程图;
图4为本发明实施例中与图2对应的基于数据中心的报文转发装置的结构示意图;
图5为本发明实施例中与图3对应的基于数据中心的报文转发装置的结构示意图;
图6为本申请示出的一种电子设备的结构示意图。
具体实施方式
针对现有技术中存在的丢包现象,并且大大降低用户体验的问题,本发明实施例提供一种基于数据中心的报文转发方法,下面分别以如图1所示的服务器和网络设备为执行主体介绍该方法。
首先,介绍以图1所示的服务器为执行主体的基于数据中心的报文转发方法,该方法的流程如图2所示,执行步骤如下:
S21:流程开始。
S22:确定待发送报文的类型是否是ARP广播报文,若确定待发送报文的类型是ARP广播报文,则执行S23;若确定待发送报文的类型不是ARP广播报文,则执行S24。
服务器可能会向虚拟系统发送数据报文或者ARP广播报文,对于ARP广播报文需要由特殊的处理方式,因此,在获取到待发送报文后,首先需要确定待发送报文的类型是否是ARP广播报文。
S23:按照自身的聚合链路包括的各个链路的链路数量镜像待发送报文,分别通过聚合链路包括的各个链路发送一个得到的镜像报文,以使接收到镜像报文的网络设备基于镜像报文更新转发表、将虚拟系统的第一链路状态表中传输镜像报文的第一链路的链路状态更新为可用后向虚拟系统的其他网络设备同步第一链路的链路状态、并通过第一链路返回ARP响应报文;若通过第一链路接收到ARP响应报文,则将自身的第二链路状态表中第一链路的链路状态更新为可用。
若确定待发送报文的类型是ARP广播报文,则按照自身的聚合链路包括的各个链路的链路数量镜像待发送报文,得到该链路数量的镜像报文,然后分别通过聚合链路包括的各个链路发送一个镜像报文,接收到镜像报文的网络设备会基于镜像报文更新转发表、将虚拟系统的第一链路状态表中传输镜像报文的第一链路的链路状态更新为可用后向虚拟系统的其他网络设备同步第一链路的链路状态、并通过第一链路返回ARP响应报文,由于服务器向虚拟系统的每个网络设备都发送了镜像报文,则虚拟系统的各个网络设备接收到ARP广播报文并学习转发表项后无需向其他网络设备同步,而只是同步第一链路的链路状态即可。若服务器通过第一链路接收到ARP响应报文,则将自身的第二链路状态表中第一链路的链路状态更新为可用。
其中,聚合链路可以但不限于采用链路汇聚控制协议(Link AggregationControl Protocol,LACP)。
S24:通过第二链路状态表中链路状态为可用的第二链路转发待发送报文。
若确定待发送报文的类型不是ARP广播报文,则可以通过第二链路状态表中链路状态为可用的一个链路转发待发送报文,该链路可以定义为第二链路。
需要说明的是,第一链路与第二链路可能相同也可能不同。
该方案中,服务器会通过聚合链路包括的各个链路发送ARP广播报文,每个网络设备都可以独自学习转发表项,无需再向其他网络设备同步,避免因链路故障一个网络设备接收不到ARP广播报文、所有的网络设备都无法学习到转发表项导致后续无法向该服务器转发数据报文的问题,网络设备还会将接收到ARP广播报文的链路的链路状态更新为可用,并将该链路状态同步给虚拟系统的其他网络设备,同时还会向服务器返回ARP响应报文,以便于后续各个网络设备会通过聚合链路中可用的链路向服务器转发数据报文,从而可以确保不会产生丢包;服务器也会将接收到ARP响应报文的链路的链路状态更新为可用,以便于后续通过聚合链路中可用的链路向虚拟系统发送数据报文,从而可以确保不会产生丢包,进而可以大大提升用户体验。
具体的,上述S22中确定待发送报文的类型是否是ARP广播报文,实现过程具体包括:
确定待发送报文的目的媒体访问控制(Media Access Control,MAC)地址是否是广播地址;
若确定目的MAC地址不是广播地址,则确定待发送报文的类型不是ARP广播报文;
若确定目的MAC地址是广播地址,则确定待发送报文的协议类型是否是ARP,若确定协议类型不是ARP,则确定待发送报文的类型不是ARP广播报文;若确定协议类型是ARP,则确定待发送报文的类型是ARP广播报文。
可以基于待发送报文的目的MAC地址和类型来确定待发送报文是否是ARP广播报文,待发送报文的目的MAC地址是广播地址且类型是ARP时,可以确定待发送报文是ARP广播报文。
以上介绍了以图1所示的服务器为执行主体的基于数据中心的报文转发方法,下面介绍以图1所示的任一网络设备为执行主体的基于数据中心的报文转发方法,该方法的流程如图3所示,执行步骤如下:
S31:流程开始。
S32:确定接收的报文的类型是否是ARP广播报文,若确定报文的类型是ARP广播报文,则执行S33;若确定报文的类型不是ARP广播报文,则执行S34。
网络设备接收到的报文可能是数据报文或者ARP广播报文,对于ARP广播报文需要由特殊的处理方式,因此,在接收到报文后,首先需要确定该报文的类型是否是ARP广播报文。
S33:基于报文更新转发表、将虚拟系统的第一链路状态表中传输报文的第一链路的链路状态更新为可用后将第一链路的链路状态同步给虚拟系统的其他网络设备、并通过第一链路返回ARP响应报文,以使接收到ARP响应报文的第一服务器将自身的第二链路状态表中第一链路的链路状态更新为可用。
若确定报文的类型是ARP广播报文,则更新转发表、将虚拟系统的第一链路状态表中传输镜像报文的第一链路的链路状态更新为可用后向虚拟系统的其他网络设备同步第一链路的链路状态、并通过第一链路返回ARP响应报文,由于服务器向虚拟系统的每个网络设备都发送了镜像报文,则虚拟系统的各个网络设备接收到ARP广播报文并学习转发表项后无需向其他网络设备同步,而只是同步第一链路的链路状态即可。
其中,报文是第一服务器按照自身的聚合链路包括的各个链路的链路数量镜像报文对应的待发送报文并通过聚合链路包括的每个链路发送的;
S34:确定报文的目的设备,若确定目的设备为第二服务器,则通过第一链路状态表中与第二服务器连接的且链路状态为可用的第三链路传输报文。
若确定报文的类型不是ARP广播报文,则可以进一步确定报文的目的设备,如果该目的设备是服务器,该服务器可以定义为第二服务器,可以第一链路状态表中与第二服务器连接的且链路状态为可用的一个链路传输报文,该链路可以定义为第三链路。
需要说明的是,第三链路与第一链路可能相同,也可能不同。
该方案中,服务器会通过聚合链路包括的各个链路发送ARP广播报文,每个网络设备都可以独自学习转发表项,无需再向其他网络设备同步,避免因链路故障一个网络设备接收不到ARP广播报文、所有的网络设备都无法学习到转发表项导致后续无法向该服务器转发数据报文的问题,网络设备还会将接收到ARP广播报文的链路的链路状态更新为可用,并将该链路状态同步给虚拟系统的其他网络设备,同时还会向服务器返回ARP响应报文,以便于后续各个网络设备会通过聚合链路中可用的链路向服务器转发数据报文,从而可以确保不会产生丢包;服务器也会将接收到ARP响应报文的链路的链路状态更新为可用,以便于后续通过聚合链路中可用的链路向虚拟系统发送数据报文,从而可以确保不会产生丢包,进而可以大大提升用户体验。
具体的,上述S32中确定接收的报文的类型是否是ARP广播报文,实现过程具体包括:
确定报文的目的MAC地址是否是广播地址;
若确定目的MAC地址不是广播地址,则确定报文的类型不是ARP广播报文;
若确定目的MAC地址是广播地址,则确定报文的协议类型是否是ARP,若确定协议类型不是ARP,则确定报文的类型不是ARP广播报文;若确定协议类型是ARP,则确定报文的类型是ARP广播报文。
可以基于报文的目的MAC地址和类型来确定报文是否是ARP广播报文,报文的目的MAC地址是广播地址且类型是ARP时,可以确定报文是ARP广播报文。
基于同一发明构思,本发明实施例提供一种基于数据中心的报文转发装置,应用于如图1所示的数据中心包括的至少两个服务器中,数据中心还包括由至少两个网络设备组成的虚拟系统,各个服务器与各个网络设备之间分别通过一个链路连接,同一服务器与各个网络设备连接的各个链路设置为一个聚合链路,该装置与如图2所示的方法相对应,该装置的结构如图4所示,包括:
确定模块41,用于确定待发送报文的类型是否是ARP广播报文;
转发模块42,用于若确定待发送报文的类型是ARP广播报文,则按照自身的聚合链路包括的各个链路的链路数量镜像待发送报文,分别通过聚合链路包括的各个链路发送一个得到的镜像报文,以使接收到镜像报文的网络设备基于镜像报文更新转发表、将虚拟系统的第一链路状态表中传输镜像报文的第一链路的链路状态更新为可用后向虚拟系统的其他网络设备同步第一链路的链路状态、并通过第一链路返回ARP响应报文;若通过第一链路接收到ARP响应报文,则将自身的第二链路状态表中第一链路的链路状态更新为可用;若确定待发送报文的类型不是ARP广播报文,则通过第二链路状态表中链路状态为可用的第二链路转发待发送报文。
该方案中,服务器会通过聚合链路包括的各个链路发送ARP广播报文,每个网络设备都可以独自学习转发表项,无需再向其他网络设备同步,避免因链路故障一个网络设备接收不到ARP广播报文、所有的网络设备都无法学习到转发表项导致后续无法向该服务器转发数据报文的问题,网络设备还会将接收到ARP广播报文的链路的链路状态更新为可用,并将该链路状态同步给虚拟系统的其他网络设备,同时还会向服务器返回ARP响应报文,以便于后续各个网络设备会通过聚合链路中可用的链路向服务器转发数据报文,从而可以确保不会产生丢包;服务器也会将接收到ARP响应报文的链路的链路状态更新为可用,以便于后续通过聚合链路中可用的链路向虚拟系统发送数据报文,从而可以确保不会产生丢包,进而可以大大提升用户体验。
具体的,确定模块41,用于确定待发送报文的类型是否是ARP广播报文,具体用于:
确定待发送报文的目的MAC地址是否是广播地址;
若确定目的MAC地址不是广播地址,则确定待发送报文的类型不是ARP广播报文;
若确定目的MAC地址是广播地址,则确定待发送报文的协议类型是否是ARP,若确定协议类型不是ARP,则确定待发送报文的类型不是ARP广播报文;若确定协议类型是ARP,则确定待发送报文的类型是ARP广播报文。
基于同一发明构思,本发明实施例提供一种基于数据中心的报文转发装置,应用于如图1所示的数据中心包括的虚拟系统的至少两个网络设备中,数据中心还包括至少两个服务器,各个服务器与各个网络设备之间分别通过一个链路连接,同一服务器与各个网络设备连接的各个链路设置为一个聚合链路,该装置与如图3所示的方法相对应,该装置的结构如图5所示,包括:
确定模块51,用于确定接收的报文的类型是否是ARP广播报文;
转发模块52,用于若确定报文的类型是ARP广播报文,则基于报文更新转发表、将虚拟系统的第一链路状态表中传输报文的第一链路的链路状态更新为可用后将第一链路的链路状态同步给虚拟系统的其他网络设备、并通过第一链路返回ARP响应报文,以使接收到ARP响应报文的第一服务器将自身的第二链路状态表中第一链路的链路状态更新为可用,其中,报文是第一服务器按照自身的聚合链路包括的各个链路的链路数量镜像报文对应的待发送报文并通过聚合链路包括的每个链路发送的;若确定报文的类型不是ARP广播报文,则确定报文的目的设备,若确定目的设备为第二服务器,则通过第一链路状态表中与第二服务器连接的且链路状态为可用的第三链路传输报文。
该方案中,服务器会通过聚合链路包括的各个链路发送ARP广播报文,每个网络设备都可以独自学习转发表项,无需再向其他网络设备同步,避免因链路故障一个网络设备接收不到ARP广播报文、所有的网络设备都无法学习到转发表项导致后续无法向该服务器转发数据报文的问题,网络设备还会将接收到ARP广播报文的链路的链路状态更新为可用,并将该链路状态同步给虚拟系统的其他网络设备,同时还会向服务器返回ARP响应报文,以便于后续各个网络设备会通过聚合链路中可用的链路向服务器转发数据报文,从而可以确保不会产生丢包;服务器也会将接收到ARP响应报文的链路的链路状态更新为可用,以便于后续通过聚合链路中可用的链路向虚拟系统发送数据报文,从而可以确保不会产生丢包,进而可以大大提升用户体验。
具体的,确定模块51,用于确定接收的报文的类型是否是ARP广播报文,具体用于:
确定报文的目的MAC地址是否是广播地址;
若确定目的MAC地址不是广播地址,则确定报文的类型不是ARP广播报文;
若确定目的MAC地址是广播地址,则确定报文的协议类型是否是ARP,若确定协议类型不是ARP,则确定报文的类型不是ARP广播报文;若确定协议类型是ARP,则确定报文的类型是ARP广播报文。
本申请实施例还提供了一种电子设备,请参见图6所示,包括处理器610、通信接口620、存储器630和通信总线640,其中,处理器610,通信接口620,存储器630通过通信总线640完成相互间的通信。
存储器630,用于存放计算机程序;
处理器610,用于执行存储器630上所存放的程序时,实现上述实施例中任一所述的基于数据中心的报文转发方法。
通信接口620用于上述电子设备与其他设备之间的通信。
存储器可以包括随机存取存储器(Random Access Memory,RAM),也可以包括非易失性存储器(Non-Volatile Memory,NVM),例如至少一个磁盘存储器。可选的,存储器还可以是至少一个位于远离前述处理器的存储装置。
上述的处理器可以是通用处理器,包括中央处理器(Central Processing Unit,CPU)、网络处理器(Network Processor,NP)等;还可以是数字信号处理器(Digital SignalProcessing,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。
该方案中,服务器会通过聚合链路包括的各个链路发送ARP广播报文,每个网络设备都可以独自学习转发表项,无需再向其他网络设备同步,避免因链路故障一个网络设备接收不到ARP广播报文、所有的网络设备都无法学习到转发表项导致后续无法向该服务器转发数据报文的问题,网络设备还会将接收到ARP广播报文的链路的链路状态更新为可用,并将该链路状态同步给虚拟系统的其他网络设备,同时还会向服务器返回ARP响应报文,以便于后续各个网络设备会通过聚合链路中可用的链路向服务器转发数据报文,从而可以确保不会产生丢包;服务器也会将接收到ARP响应报文的链路的链路状态更新为可用,以便于后续通过聚合链路中可用的链路向虚拟系统发送数据报文,从而可以确保不会产生丢包,进而可以大大提升用户体验。
相应地,本申请实施例还提供一种计算机可读存储介质,该计算机可读存储介质中存储有指令,当其在计算机上运行时,使得计算机执行上述实施例中任一所述的基于数据中心的报文转发方法。
该方案中,服务器会通过聚合链路包括的各个链路发送ARP广播报文,每个网络设备都可以独自学习转发表项,无需再向其他网络设备同步,避免因链路故障一个网络设备接收不到ARP广播报文、所有的网络设备都无法学习到转发表项导致后续无法向该服务器转发数据报文的问题,网络设备还会将接收到ARP广播报文的链路的链路状态更新为可用,并将该链路状态同步给虚拟系统的其他网络设备,同时还会向服务器返回ARP响应报文,以便于后续各个网络设备会通过聚合链路中可用的链路向服务器转发数据报文,从而可以确保不会产生丢包;服务器也会将接收到ARP响应报文的链路的链路状态更新为可用,以便于后续通过聚合链路中可用的链路向虚拟系统发送数据报文,从而可以确保不会产生丢包,进而可以大大提升用户体验。
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
尽管已描述了本发明的可选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括可选实施例以及落入本发明范围的所有变更和修改。
显然,本领域的技术人员可以对本发明实施例进行各种改动和变型而不脱离本发明实施例的精神和范围。这样,倘若本发明实施例的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。
Claims (10)
1.一种基于数据中心的报文转发方法,应用于所述数据中心包括的至少两个服务器中,所述数据中心还包括由至少两个网络设备组成的虚拟系统,各个服务器与各个网络设备之间分别通过一个链路连接,同一服务器与各个网络设备连接的各个链路设置为一个聚合链路,其特征在于,所述方法包括:
确定待发送报文的类型是否是地址解析协议ARP广播报文;
若确定所述待发送报文的类型是ARP广播报文,则按照自身的聚合链路包括的各个链路的链路数量镜像所述待发送报文,分别通过所述聚合链路包括的各个链路发送一个得到的镜像报文,以使接收到所述镜像报文的网络设备基于所述镜像报文更新转发表、将所述虚拟系统的第一链路状态表中传输所述镜像报文的第一链路的链路状态更新为可用后向所述虚拟系统的其他网络设备同步所述第一链路的链路状态、并通过所述第一链路返回ARP响应报文;若通过所述第一链路接收到所述ARP响应报文,则将自身的第二链路状态表中所述第一链路的链路状态更新为可用;
若确定所述待发送报文的类型不是ARP广播报文,则通过所述第二链路状态表中链路状态为可用的第二链路转发所述待发送报文。
2.如权利要求1所述的方法,其特征在于,确定待发送报文的类型是否是ARP广播报文,具体包括:
确定所述待发送报文的目的媒体访问控制MAC地址是否是广播地址;
若确定所述目的MAC地址不是广播地址,则确定所述待发送报文的类型不是ARP广播报文;
若确定所述目的MAC地址是广播地址,则确定所述待发送报文的协议类型是否是ARP,若确定所述协议类型不是ARP,则确定所述待发送报文的类型不是ARP广播报文;若确定所述协议类型是ARP,则确定所述待发送报文的类型是ARP广播报文。
3.一种基于数据中心的报文转发方法,应用于数据中心包括的虚拟系统的至少两个网络设备中,所述数据中心还包括至少两个服务器,各个服务器与各个网络设备之间分别通过一个链路连接,同一服务器与各个网络设备连接的各个链路设置为一个聚合链路,其特征在于,所述方法包括:
确定接收的报文的类型是否是ARP广播报文;
若确定所述报文的类型是ARP广播报文,则基于所述报文更新转发表、将所述虚拟系统的第一链路状态表中传输所述报文的第一链路的链路状态更新为可用后将所述第一链路的链路状态同步给所述虚拟系统的其他网络设备、并通过所述第一链路返回ARP响应报文,以使接收到所述ARP响应报文的第一服务器将自身的第二链路状态表中所述第一链路的链路状态更新为可用,其中,所述报文是所述第一服务器按照自身的聚合链路包括的各个链路的链路数量镜像所述报文对应的待发送报文并通过所述聚合链路包括的每个链路发送的;
若确定所述报文的类型不是ARP广播报文,则确定所述报文的目的设备,若确定所述目的设备为第二服务器,则通过所述第一链路状态表中与所述第二服务器连接的且链路状态为可用的第三链路传输所述报文。
4.如权利要求3所述的方法,其特征在于,确定接收的报文的类型是否是ARP广播报文,具体包括:
确定所述报文的目的MAC地址是否是广播地址;
若确定所述目的MAC地址不是广播地址,则确定所述报文的类型不是ARP广播报文;
若确定所述目的MAC地址是广播地址,则确定所述报文的协议类型是否是ARP,若确定所述协议类型不是ARP,则确定所述报文的类型不是ARP广播报文;若确定所述协议类型是ARP,则确定所述报文的类型是ARP广播报文。
5.一种基于数据中心的报文转发装置,应用于所述数据中心包括的至少两个服务器中,所述数据中心还包括由至少两个网络设备组成的虚拟系统,各个服务器与各个网络设备之间分别通过一个链路连接,同一服务器与各个网络设备连接的各个链路设置为一个聚合链路,其特征在于,所述装置包括:
确定模块,用于确定待发送报文的类型是否是ARP广播报文;
转发模块,用于若确定所述待发送报文的类型是ARP广播报文,则按照自身的聚合链路包括的各个链路的链路数量镜像所述待发送报文,分别通过所述聚合链路包括的各个链路发送一个得到的镜像报文,以使接收到所述镜像报文的网络设备基于所述镜像报文更新转发表、将所述虚拟系统的第一链路状态表中传输所述镜像报文的第一链路的链路状态更新为可用后向所述虚拟系统的其他网络设备同步所述第一链路的链路状态、并通过所述第一链路返回ARP响应报文;若通过所述第一链路接收到所述ARP响应报文,则将自身的第二链路状态表中所述第一链路的链路状态更新为可用;若确定所述待发送报文的类型不是ARP广播报文,则通过所述第二链路状态表中链路状态为可用的第二链路转发所述待发送报文。
6.如权利要求5所述的装置,其特征在于,所述确定模块,用于确定待发送报文的类型是否是ARP广播报文,具体用于:
确定所述待发送报文的目的MAC地址是否是广播地址;
若确定所述目的MAC地址不是广播地址,则确定所述待发送报文的类型不是ARP广播报文;
若确定所述目的MAC地址是广播地址,则确定所述待发送报文的协议类型是否是ARP,若确定所述协议类型不是ARP,则确定所述待发送报文的类型不是ARP广播报文;若确定所述协议类型是ARP,则确定所述待发送报文的类型是ARP广播报文。
7.一种基于数据中心的报文转发装置,应用于数据中心包括的虚拟系统的至少两个网络设备中,所述数据中心还包括至少两个服务器,各个服务器与各个网络设备之间分别通过一个链路连接,同一服务器与各个网络设备连接的各个链路设置为一个聚合链路,其特征在于,所述装置包括:
确定模块,用于确定接收的报文的类型是否是ARP广播报文;
转发模块,用于若确定所述报文的类型是ARP广播报文,则基于所述报文更新转发表、将所述虚拟系统的第一链路状态表中传输所述报文的第一链路的链路状态更新为可用后将所述第一链路的链路状态同步给所述虚拟系统的其他网络设备、并通过所述第一链路返回ARP响应报文,以使接收到所述ARP响应报文的第一服务器将自身的第二链路状态表中所述第一链路的链路状态更新为可用,其中,所述报文是所述第一服务器按照自身的聚合链路包括的各个链路的链路数量镜像所述报文对应的待发送报文并通过所述聚合链路包括的每个链路发送的;若确定所述报文的类型不是ARP广播报文,则确定所述报文的目的设备,若确定所述目的设备为第二服务器,则通过所述第一链路状态表中与所述第二服务器连接的且链路状态为可用的第三链路传输所述报文。
8.如权利要求7所述的装置,其特征在于,所述确定模块,用于确定接收的报文的类型是否是ARP广播报文,具体用于:
确定所述报文的目的MAC地址是否是广播地址;
若确定所述目的MAC地址不是广播地址,则确定所述报文的类型不是ARP广播报文;
若确定所述目的MAC地址是广播地址,则确定所述报文的协议类型是否是ARP,若确定所述协议类型不是ARP,则确定所述报文的类型不是ARP广播报文;若确定所述协议类型是ARP,则确定所述报文的类型是ARP广播报文。
9.一种电子设备,其特征在于,所述电子设备包括处理器、通信接口、存储器和通信总线,其中,处理器,通信接口,存储器通过通信总线完成相互间的通信;
存储器,用于存放计算机程序;
处理器,用于执行存储器上所存储的程序时,实现权利要求1-4任一所述的方法步骤。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现权利要求1-4任一所述的方法步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010524187.0A CN111800337B (zh) | 2020-06-10 | 2020-06-10 | 基于数据中心的方法、装置、电子设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010524187.0A CN111800337B (zh) | 2020-06-10 | 2020-06-10 | 基于数据中心的方法、装置、电子设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111800337A CN111800337A (zh) | 2020-10-20 |
CN111800337B true CN111800337B (zh) | 2022-06-21 |
Family
ID=72804788
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010524187.0A Active CN111800337B (zh) | 2020-06-10 | 2020-06-10 | 基于数据中心的方法、装置、电子设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111800337B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114553761B (zh) * | 2022-01-14 | 2024-02-09 | 新华三技术有限公司合肥分公司 | 一种异常处理方法、装置、网络设备及存储介质 |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6556574B1 (en) * | 1999-03-31 | 2003-04-29 | Cisco Technology, Inc. | Duplicate ignore delay timer for ARP like protocol messages using are protocol |
CN100486197C (zh) * | 2006-11-09 | 2009-05-06 | 杭州华三通信技术有限公司 | 一种无线局域网地址解析协议广播方法及接入控制器 |
US7885180B2 (en) * | 2006-12-15 | 2011-02-08 | Check Point Software Technologies Inc. | Address resolution request mirroring |
CN101610535B (zh) * | 2009-07-30 | 2012-03-14 | 杭州华三通信技术有限公司 | 多链路直连场景下保证bfd会话稳定性的方法、系统及装置 |
CN102843274B (zh) * | 2012-08-31 | 2016-06-22 | 杭州华三通信技术有限公司 | 一种多链路故障检测的方法及装置 |
US9191271B2 (en) * | 2013-04-29 | 2015-11-17 | Telefonaktiebolaget L M Ericsson (Publ) | Fast traffic recovery in VRRP based routers |
CN109547368B (zh) * | 2018-11-19 | 2021-05-18 | 锐捷网络股份有限公司 | 基于数据中心的去堆叠适配方法及装置 |
-
2020
- 2020-06-10 CN CN202010524187.0A patent/CN111800337B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
CN111800337A (zh) | 2020-10-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109391655B (zh) | 服务灰度发布方法、装置、系统及存储介质 | |
US9621483B2 (en) | Ethercat packet forwarding with distributed clocking | |
US9875126B2 (en) | Hash-based load balancing for bonded network interfaces | |
CN107124365B (zh) | 一种基于机器学习的路由策略的获取系统 | |
CN114297296B (zh) | 一种广播用的服务器主备切换系统 | |
CN103631652A (zh) | 虚拟机迁移的实现方法及系统 | |
CN112118322B (zh) | 一种网络设备的数据同步方法、网络设备及系统 | |
CN111800337B (zh) | 基于数据中心的方法、装置、电子设备及存储介质 | |
US9246797B2 (en) | PORT based redundant link protection | |
CN114285695B (zh) | 通信方法、装置、设备、系统和存储介质 | |
US10091288B2 (en) | Ordered execution of tasks | |
US7680034B2 (en) | Redundant control systems and methods | |
CN113810511A (zh) | Arp表的更新方法及装置 | |
US20230198648A1 (en) | Time synchronization method, device and apparatus, and storage medium | |
CN112217735A (zh) | 信息同步方法与负载均衡系统 | |
TWI575920B (zh) | 通訊方法、接收器裝置及通訊系統 | |
CN111416851A (zh) | 在多个负载均衡器之间进行会话同步的方法和负载均衡器 | |
CN113346983B (zh) | 具有镜像冗余的epa设备和epa系统 | |
US20050262224A1 (en) | Method for modifying one or more parameters for the operation of a network and subscribers for carrying out this method | |
CN110011914B (zh) | 管理报文的转发方法及装置 | |
CN112152975B (zh) | 音频数据的处理方法和装置 | |
WO2013107087A1 (zh) | 一种分布式逻辑地址与物理地址互换方法、装置及设备 | |
CN115002020B (zh) | 基于ospf的数据处理方法及装置 | |
CN114979037B (zh) | 一种组播方法、装置、交换机和存储介质 | |
CN111107006B (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 |