CN117978758A - 用于数据处理单元的适配方法、计算机设备及介质 - Google Patents
用于数据处理单元的适配方法、计算机设备及介质 Download PDFInfo
- Publication number
- CN117978758A CN117978758A CN202410370120.4A CN202410370120A CN117978758A CN 117978758 A CN117978758 A CN 117978758A CN 202410370120 A CN202410370120 A CN 202410370120A CN 117978758 A CN117978758 A CN 117978758A
- Authority
- CN
- China
- Prior art keywords
- message
- forwarding
- processing unit
- data processing
- access
- 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.)
- Granted
Links
- 238000012545 processing Methods 0.000 title claims abstract description 155
- 238000000034 method Methods 0.000 title claims abstract description 94
- 230000006978 adaptation Effects 0.000 title claims abstract description 46
- 230000008569 process Effects 0.000 claims abstract description 34
- 238000004590 computer program Methods 0.000 claims description 14
- 230000002776 aggregation Effects 0.000 claims description 13
- 238000004220 aggregation Methods 0.000 claims description 13
- 238000003860 storage Methods 0.000 claims description 13
- 230000008859 change Effects 0.000 claims description 10
- 210000001503 joint Anatomy 0.000 claims description 9
- 238000004088 simulation Methods 0.000 claims description 6
- 238000001514 detection method Methods 0.000 claims description 4
- 230000004048 modification Effects 0.000 abstract description 19
- 238000012986 modification Methods 0.000 abstract description 19
- 230000009286 beneficial effect Effects 0.000 abstract description 9
- 230000006870 function Effects 0.000 description 20
- 230000002093 peripheral effect Effects 0.000 description 13
- 238000004891 communication Methods 0.000 description 12
- 238000010586 diagram Methods 0.000 description 10
- 230000006855 networking Effects 0.000 description 8
- 238000013461 design Methods 0.000 description 5
- 238000003032 molecular docking Methods 0.000 description 4
- 238000005457 optimization Methods 0.000 description 4
- 230000008447 perception Effects 0.000 description 4
- 230000001360 synchronised effect Effects 0.000 description 4
- 238000012217 deletion Methods 0.000 description 3
- 230000037430 deletion Effects 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 3
- 230000005856 abnormality Effects 0.000 description 2
- 238000013528 artificial neural network Methods 0.000 description 2
- 230000001427 coherent effect Effects 0.000 description 2
- 230000010485 coping Effects 0.000 description 2
- 230000010354 integration Effects 0.000 description 2
- 238000012544 monitoring process Methods 0.000 description 2
- 238000011084 recovery Methods 0.000 description 2
- 239000004065 semiconductor Substances 0.000 description 2
- 230000003068 static effect Effects 0.000 description 2
- 230000004075 alteration Effects 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000009826 distribution Methods 0.000 description 1
- 230000009977 dual effect Effects 0.000 description 1
- 238000000802 evaporation-induced self-assembly Methods 0.000 description 1
- 239000000835 fiber Substances 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 238000007726 management method Methods 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 239000002184 metal Substances 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000004064 recycling Methods 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 238000011144 upstream manufacturing Methods 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L49/00—Packet switching elements
- H04L49/30—Peripheral units, e.g. input or output ports
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L49/00—Packet switching elements
- H04L49/25—Routing or path finding in a switch fabric
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本申请涉及计算机技术领域并提供一种用于数据处理单元的适配方法、计算机设备及介质。方法包括:确定报文特征转发表中的多个出接口组中与第一报文的第一报文特征匹配的第一出接口组;基于转发策略表,确定与所述第一出接口组对应的第一成员口组以及与所述第一出接口组对应的第一转发策略;通过所述数据处理单元模拟生成的网络交换机,按照所述第一转发策略转发所述第一报文到所述第一成员口组。如此,不涉及到宿主机的驱动侧的内核改动,实现了灵活适配宿主机的驱动侧的软件和需求以及接入设备的接入需求,有利于简化数据处理单元的上架流程,还可以根据用户需求定制报文特征,提高业务稳定性。
Description
技术领域
本申请涉及计算机技术领域,尤其涉及一种用于数据处理单元的适配方法、计算机设备及介质。
背景技术
随着云计算、数据中心等新基建相关技术的发展,数据中心需要为各种用户提供定制化的输入输出资源。数据处理单元(Data Processing Unit,DPU)为裸金属、容器、虚拟机提供按需发放的网络和存储等外设虚拟化资源池,通过快捷外围组件互连(PeripheralComponent Interconnect express,PCIe)交换机拓扑,利用热插拔能力实现PCIe设备的动态发放和回收,例如网络设备、存储设备的动态发放,便于对输入输出资源进行定制。基于DPU实现的定制化输入输出资源需要接入上联的设备例如交换机,因此满足一定的接入需求。现有技术中,为了满足特定接入需求例如接入去堆叠交换机,需要进行驱动调整,这样导致DPU的适配难度大且时间耗费高,不利于快速响应和提升数据转发性能,因此,现有技术中,DPU默认出厂是标卡模式且一般不支持对接去堆叠交换机。而随着大型数据中心越来越广泛的采用去堆叠模式作为接入方式,现有技术中的不支持对接去堆叠交换机的DPU的厂商标卡模式,增加了在网卡部署之后的内核改动和驱动调整的损耗,也增加了业务中断的风险。
为此,本申请提供了一种用于数据处理单元的适配方法、计算机设备及介质,用于应对现有技术中的技术难题。
发明内容
第一方面,本申请提供了一种用于数据处理单元的适配方法。所述数据处理单元位于宿主机的逻辑侧并且通过位于所述宿主机的驱动侧的多个网口接口接收来自所述宿主机的报文,所述适配方法包括:确定报文特征转发表中的多个出接口组中与第一报文的第一报文特征匹配的第一出接口组,其中,所述多个出接口组中的每一个出接口组所匹配的报文特征包括与该出接口组对应的报文类型和所述多个网口接口中与该出接口组对应的网口接口,所述数据处理单元通过所述多个网口接口中与所述第一出接口组对应的网口接口接收所述第一报文;基于转发策略表,确定与所述第一出接口组对应的第一成员口组以及与所述第一出接口组对应的第一转发策略,其中,所述转发策略表包括与所述多个出接口组一一对应的多个成员口组以及与所述多个出接口组一一对应的多个转发策略,所述第一成员口组属于所述多个成员口组并且包括一个或者多个成员口;通过所述数据处理单元模拟生成的网络交换机,按照所述第一转发策略转发所述第一报文到所述第一成员口组,其中,所述第一出接口组所匹配的报文特征所包括的与所述第一出接口组对应的报文类型以及所述第一转发策略均可基于与所述一个或者多个成员口对接的接入设备的接入需求调整。
通过本申请的第一方面,通过配置由数据处理单元生成的网络交换机,也即通过在宿主机的逻辑侧上对数据处理单元做出的配置方面的调整,不涉及到宿主机的驱动侧的内核改动,不仅实现了灵活适配宿主机的驱动侧的具体的软件和操作系统的需求。而且实现了灵活适配接入设备的接入需求,有利于简化数据处理单元的上架流程,使得数据处理单元可以按照标准网卡方式部署,还可以根据用户需求定制报文特征以及定制从宿主机的驱动侧的网口接口到宿主机的逻辑侧的以太口之间的对应关系,这样有利于实现更灵活的转发策略,有助于快速感知链路故障和故障切换,提高业务稳定性。
在本申请的第一方面的一种可能的实现方式中,当与所述一个或者多个成员口对接的接入设备的接入需求是去堆叠模式时,所述第一出接口组所匹配的报文特征所包括的与所述第一出接口组对应的报文类型是地址解析协议报文或者邻居发现协议报文,所述第一转发策略是对所述一个或者多个成员口中的所有成员口进行组播转发。
在本申请的第一方面的一种可能的实现方式中,当与所述一个或者多个成员口对接的接入设备的接入需求是去堆叠模式时,与所述一个或者多个成员口对接的接入设备是互不连接的去堆叠交换机。
在本申请的第一方面的一种可能的实现方式中,当与所述一个或者多个成员口对接的接入设备的接入需求是堆叠模式或者跨设备链路聚合模式时,所述第一出接口组所匹配的报文特征所包括的与所述第一出接口组对应的报文类型是任意报文,所述第一转发策略是根据哈希算法选择所述一个或者多个成员口中的单个成员口进行转发。
在本申请的第一方面的一种可能的实现方式中,当与所述一个或者多个成员口对接的接入设备的接入需求是堆叠模式或者跨设备链路聚合模式时,与所述一个或者多个成员口对接的接入设备之间互联。
在本申请的第一方面的一种可能的实现方式中,所述一个或者多个成员口是两个以太口,与所述两个以太口对接的接入设备是互不连接的两个去堆叠交换机,所述第一出接口组所匹配的报文特征所包括的与所述第一出接口组对应的报文类型是地址解析协议报文或者邻居发现协议报文,所述第一转发策略是对所述两个以太口进行组播转发。
在本申请的第一方面的一种可能的实现方式中,所述第一出接口组所匹配的报文特征所包括的所述多个网口接口中与所述第一出接口组对应的网口接口是两个网口接口,所述两个网口接口被配置为同一个绑定口,通过所述两个网口接口中的任一网口接口下发到所述数据处理单元的地址解析协议报文或者邻居发现协议报文在所述两个以太口进行组播转发,以便使得所述数据处理单元对所述地址解析协议报文和所述邻居发现协议报文进行双发处理。
在本申请的第一方面的一种可能的实现方式中,所述一个或者多个成员口是三个以太口,与所述三个以太口对接的接入设备是互不连接的三个去堆叠交换机,所述第一出接口组所匹配的报文特征所包括的与所述第一出接口组对应的报文类型是地址解析协议报文或者邻居发现协议报文,所述第一转发策略是对所述三个以太口进行组播转发。
在本申请的第一方面的一种可能的实现方式中,所述第一出接口组所匹配的报文特征所包括的所述多个网口接口中与所述第一出接口组对应的网口接口是三个网口接口,所述三个网口接口被配置为同一个绑定口,通过所述三个网口接口中的任一网口接口下发到所述数据处理单元的地址解析协议报文或者邻居发现协议报文在所述三个以太口进行组播转发,以便使得所述数据处理单元对所述地址解析协议报文和所述邻居发现协议报文进行三发处理。
在本申请的第一方面的一种可能的实现方式中,当与所述一个或者多个成员口对接的接入设备的接入需求是去堆叠模式时,所述第一出接口组所匹配的报文特征所包括的所述多个网口接口中与所述第一出接口组对应的网口接口的数量与所述一个或者多个成员口所包括的以太口的数量相等。
在本申请的第一方面的一种可能的实现方式中,所述第一成员口组被配置为可基于链路检测结果对所述一个或者多个成员口进行移除操作。
在本申请的第一方面的一种可能的实现方式中,所述多个出接口组中的每一个出接口组所匹配的报文特征还包括报文长度和报文五元组。
在本申请的第一方面的一种可能的实现方式中,所述报文特征转发表和所述转发策略表均由所述网络交换机提供,所述网络交换机由所述数据处理单元的系统模拟器的控制组件配置。
在本申请的第一方面的一种可能的实现方式中,所述一个或者多个成员口与所述第一出接口组所匹配的报文特征所包括的所述多个网口接口中与所述第一出接口组对应的网口接口之间的对应关系通过所述数据处理单元的上架流程设定,并且,在所述数据处理单元的上架流程结束之后,通过调整所述报文特征转发表和所述转发策略表以便调整所述第一出接口组所匹配的报文特征所包括的与所述第一出接口组对应的报文类型以及所述第一转发策略。
在本申请的第一方面的一种可能的实现方式中,所述适配方法还包括:响应于与所述一个或者多个成员口对接的接入设备的接入需求在所述数据处理单元的上架流程结束之后的变化,通过配置所述网络交换机至少调整一次所述报文特征转发表和所述转发策略表。
第二方面,本申请实施例还提供了一种计算机设备,所述计算机设备包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现根据上述任一方面的任一种实现方式的方法。
第三方面,本申请实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机指令,当所述计算机指令在计算机设备上运行时使得所述计算机设备执行根据上述任一方面的任一种实现方式的方法。
第四方面,本申请实施例还提供了一种计算机程序产品,所述计算机程序产品包括存储在计算机可读存储介质上的指令,当所述指令在计算机设备上运行时使得所述计算机设备执行根据上述任一方面的任一种实现方式的方法。
附图说明
为了更清楚地说明本申请实施例技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本申请实施例提供的一种用于数据处理单元的适配方法的流程示意图;
图2为本申请实施例提供的一种数据处理单元的示意图;
图3为本申请实施例提供的一种计算设备的结构示意图。
具体实施方式
下面将结合附图对本申请实施例作进一步地详细描述。
应当理解的是,在本申请的描述中,“至少一个”指一个或一个以上,“多个”指两个或两个以上。另外,“第一”、“第二”等词汇,除非另有说明,否则仅用于区分描述的目的,而不能理解为指示或暗示相对重要性,也不能理解为指示或暗示顺序。
图1为本申请实施例提供的一种用于数据处理单元的适配方法的流程示意图。所述数据处理单元位于宿主机的逻辑侧并且通过位于所述宿主机的驱动侧的多个网口接口接收来自所述宿主机的报文。如图1所示,所述适配方法包括以下步骤。
步骤S110:确定报文特征转发表中的多个出接口组中与第一报文的第一报文特征匹配的第一出接口组,其中,所述多个出接口组中的每一个出接口组所匹配的报文特征包括与该出接口组对应的报文类型和所述多个网口接口中与该出接口组对应的网口接口,所述数据处理单元通过所述多个网口接口中与所述第一出接口组对应的网口接口接收所述第一报文。
步骤S120:基于转发策略表,确定与所述第一出接口组对应的第一成员口组以及与所述第一出接口组对应的第一转发策略,其中,所述转发策略表包括与所述多个出接口组一一对应的多个成员口组以及与所述多个出接口组一一对应的多个转发策略,所述第一成员口组属于所述多个成员口组并且包括一个或者多个成员口。
步骤S130:通过所述数据处理单元模拟生成的网络交换机,按照所述第一转发策略转发所述第一报文到所述第一成员口组。
参阅图1,所述第一出接口组所匹配的报文特征所包括的与所述第一出接口组对应的报文类型以及所述第一转发策略均可基于与所述一个或者多个成员口对接的接入设备的接入需求调整。这里,接入设备的接入需求是可能根据应用场景和用户需求发生变化的。数据处理单元部署在宿主机的逻辑侧,宿主机可能作为服务器上联接入交换机进而接入网络,因此,数据处理单元作为协助宿主机的中央处理器来处理网络传输和报文上下行的硬件,需要考虑宿主机通过成员口对接的接入设备的接入需求。以大型数据中心架构为例,一般采用堆叠模式和去堆叠模式这两种接入方式。其中,堆叠模式意味着将多台交换机通过堆叠方式虚拟成一台设备,这样可以增加交换机端口密度以满足更多的接入终端数量的接入需求(堆叠模式发生在接入终端的接入设备层),或者,可以增加核心交换机的转发能力(堆叠模式发生在转发设备层)。堆叠模式的好处是有利于简化设备管理,在维持端口数量不变的同时(上行端口和下行端口在堆叠后相当于整合到同一台设备上),减少了需要登录和操作的设备数量以及操作时间,以及提高了系统可靠性。但是,堆叠模式的不足是造成软件更新和业务中断的风险,在堆叠模式下的互联的多台交换机各自的系统升级需要同时进行,因此需要中断业务且同时重启,另外,堆叠模式下的互联的多台交换机之间的堆叠线路出现异常会导致堆叠分裂,也就造成分裂后出现了两台配置完全相同的交换机,造成网络配置冲突。与采用堆叠模式的接入方式相对,采用去堆叠模式的接入方式,意味着将原本互联的两台交换机之间的堆叠线路移除,这两台交换机实质上是彼此独立的两台设备。因此,基于通信协议的需求以及组网功能需求,可以采用堆叠模式和去堆叠模式来建立起从宿主机到各种交换机之间的对接关系。考虑到宿主机可能需要对接多个交换机,而这些交换机中有一些交换机可能采用堆叠模式作为接入方式,而另一些交换机采用去堆叠模式作为接入方式,因此,需要使得数据处理单元能够灵活地且便利地适配各种可能的接入需求组合。
继续参阅图1,采用堆叠模式和去堆叠模式这两种接入方式来构建如高性能计算中心、大型数据中心的组网相关功能,需要考虑到交换机之间的互联情况来提供报文处理方面的优化。并且,对于互联网大型数据中心架构,仍然受到堆叠技术的影响,因此通信协议和组网功能仍然体现了堆叠模式的特点。例如,服务器采用双网卡双上联到两台交换机的连接方式,网卡模式设置为动态链路聚合,也就是说,聚合口的地址解析协议(AddressResolution Protocol,ARP)报文(或者说地址解析协议请求)只会转发给一个物理口。为了保证协议正常运行,在去堆叠模式下的两台交换机之间不互联的情况下,需要让服务器(或者说接入终端)认为上联的这两台交换机仍然是一台设备而不是两台独立设备,也就是确保实质上独立的且没有互联的两台交换机收到服务器的地址解析协议报文。与地址解析协议报文类似,邻居发现(Neighbor Discovery,ND)协议报文也只会转发给一个物理口,因此,也需要确保实质上独立的且没有互联的两台交换机收到服务器的邻居发现协议报文。图1所示的用于数据处理单元的适配方法,使得数据处理单元能够灵活地且便利地适配各种可能的接入需求组合,因此可以针对如地址解析协议报文和邻居发现协议报文进行报文处理方面的优化。在服务器上部署网络接口卡(Network Interface Card,NIC)或者说网卡时,例如,将两个网口组成一个绑定口。为了让服务器的网口的绑定口对接交换机,在去堆叠模式下,为了保证通信协议和组网功能的正常运行,需要让服务器认为上联的两个交换机是一台设备,因此需要在服务器发送地址解析协议报文和邻居发现协议报文时,主动在两个物理口例如以太口进行组播,因此服务器进行双发处理,也就是主动将地址解析协议报文和邻居发现协议报文同时发送给两个以太口,这样确保实质上独立的且没有互联的两台交换机收到服务器的地址解析协议报文和邻居发现协议报文。一方面,基于通信协议的需求以及组网功能需求,可以采用堆叠模式和去堆叠模式来建立起从宿主机到各种交换机之间的对接关系,因此,需要考虑具体的接入设备的接入需求以及需要考虑在应用过程中接入需求的变化。另一方面,在宿主机例如服务器上,可能运行任意合适的虚拟化或者半虚拟化架构,例如网口可以是virtio架构下的virtio-net网口,这意味着在服务器或者说宿主机上的驱动侧需要考虑适配各种操作系统、软件的需求。
继续参阅图1,例如,在宿主机上部署网卡,并且将网卡作为接入终端来接入上联的在去堆叠模式下的两台交换机(这意味着两台交换机之间没有互联)时,网卡提供两个物理口也即两个以太口对接两台交换机,为了保证通信协议和组网功能的正常运行,需要使得宿主机下发给网卡的地址解析协议报文和邻居发现协议报文,通过双发处理来主动在两个以太口之间进行组播。考虑到宿主机的驱动侧可能运行各种操作系统、软件,以及可能运行任意合适的虚拟化或者半虚拟化架构,因此,如果在宿主机的驱动侧来进行改动以满足接入设备的接入需求,例如通过双发处理来主动在两个以太口之间进行组播,这样可能导致对系统内核的改动,从而导致调整周期长,而且适配性差,也不利于应对复杂多变的应用环境。为此,图1所示的用于数据处理单元的适配方法,通过配置由数据处理单元生成的网络交换机,也即通过在宿主机的逻辑侧上对数据处理单元做出的配置方面的调整,不涉及到宿主机的驱动侧的内核改动,不仅实现了灵活适配宿主机的驱动侧的具体的软件和操作系统的需求。而且实现了灵活适配接入设备的接入需求。下面结合图1进一步详细说明。
继续参阅图1,用于数据处理单元的适配方法,应用于位于宿主机的逻辑侧的数据处理单元,该数据处理单元通过位于所述宿主机的驱动侧的多个网口接口接收来自所述宿主机的报文。在一些实施例中,通过快捷外围组件互连(Peripheral ComponentInterconnect express,PCIe)交换机拓扑,利用热插拔能力实现PCIe设备的动态发放和回收。因此,数据处理单元通过快捷外围组件互连总线和快捷外围组件互连交换机拓扑来实现与宿主机的驱动侧的数据互联,以及通过热插拔能力和数据处理单元的虚拟化功能实现快捷外围组件互连设备的动态发放和回收。在一些实施例中,数据处理单元按照网卡模式在宿主机上架,例如插入数据处理单元所在的板卡到宿主机服务器上的插槽。在步骤S110,确定报文特征转发表中的多个出接口组中与第一报文的第一报文特征匹配的第一出接口组。这里,所述多个出接口组中的每一个出接口组所匹配的报文特征包括与该出接口组对应的报文类型和所述多个网口接口中与该出接口组对应的网口接口,所述数据处理单元通过所述多个网口接口中与所述第一出接口组对应的网口接口接收所述第一报文。接着,在步骤S120,基于转发策略表,确定与所述第一出接口组对应的第一成员口组以及与所述第一出接口组对应的第一转发策略。最后,在步骤S130,通过所述数据处理单元模拟生成的网络交换机,按照所述第一转发策略转发所述第一报文到所述第一成员口组。这里,所述转发策略表包括与所述多个出接口组一一对应的多个成员口组以及与所述多个出接口组一一对应的多个转发策略,所述第一成员口组属于所述多个成员口组并且包括一个或者多个成员口。如此,利用报文特征转发表和转发策略表,构建了两级的中间层次,该中间层次在宿主机的驱动侧的网口接口和宿主机的逻辑侧的成员口之间。数据处理单元通过位于所述宿主机的驱动侧的多个网口接口接收来自所述宿主机的报文,然后以特定的方式通过宿主机的逻辑侧的成员口发送报文,从而满足特定的接入设备的接入需求。例如,在网卡作为接入终端来接入上联的在去堆叠模式下的两台交换机的情况,针对如地址解析协议报文和邻居发现协议报文进行报文处理方面的优化,使得宿主机下发给网卡的地址解析协议报文和邻居发现协议报文,通过双发处理来主动在两个以太口之间进行组播。通过利用报文特征转发表和转发策略表来构建的两级的中间层次,可以分别针对宿主机的驱动侧的操作系统、软件的需求以及针对宿主机的逻辑侧的要对接的接入设备的接入需求分别进行适配,并且最后整合到一起,通过所述数据处理单元模拟生成的网络交换机,按照所述第一转发策略转发所述第一报文到所述第一成员口组。因此,利用报文特征转发表和转发策略表来构建的两级的中间层次,有利于实现设计上的简化和控制上的解耦。
继续参阅图1,当宿主机的驱动侧的操作系统、软件的需求发生变化时,可以通过报文特征转发表的配置,从而可以根据第一报文的第一报文特征匹配对应的出接口组,这里,所述多个出接口组中的每一个出接口组所匹配的报文特征包括与该出接口组对应的报文类型和所述多个网口接口中与该出接口组对应的网口接口,因此,可以通过配置对应的报文类型和对应的网口接口,实现了对宿主机的驱动侧的操作系统、软件的需求的适配。例如,通过监控宿主机通过特定网口接口下发给网卡的地址解析协议报文和邻居发现协议报文,可以匹配到对应的出接口组,接着,可以确定对应的成员口组和转发策略,从而按照转发策略转发地址解析协议报文和邻居发现协议报文到成员口组,这样实现了通过双发处理来主动在两个以太口之间进行组播,可以确保实质上独立的且没有互联的两台交换机收到服务器的地址解析协议报文和邻居发现协议报文,也即支持了去堆叠交换机。因此,通过配置报文特征转发表中的多个出接口组中的每一个出接口组所匹配的报文特征,包括配置与该出接口组对应的报文类型和所述多个网口接口中与该出接口组对应的网口接口,可以监控通过特定网口接口下发的特定报文类型,例如监控通过所述多个网口接口中与所述第一出接口组对应的网口接口下发的地址解析协议报文和邻居发现协议报文,这样实现了对宿主机的驱动侧的操作系统、软件的需求的适配,以及可以适配宿主机的驱动侧的操作系统、软件的需求的变化。进一步地,利用第一报文的第一报文特征匹配的第一出接口组,基于转发策略表,确定与所述第一出接口组对应的第一成员口组以及与所述第一出接口组对应的第一转发策略。因此,可以通过配置转发策略表,实现了匹配对应的成员口组和对应的转发策略,这样可以灵活地结合接入设备方面的变化来确定从网口接口到成员口(例如以太口或者其他物理接口)之间的对应关系,因此可以更好地适配接入设备的接入需求。例如,通过配置转发策略表,可以增加或者删除第一成员口组的组成也即确定所述第一成员口组所包括的一个或者多个成员口,这样可以适配接入设备的增加或者删除。再例如,通过配置转发策略表,可以基于接入需求来设定转发策略,例如采用组播方式或者其他方式来转发报文。再例如,通过配置转发策略表,可以在发生组网结构变化或者网络业务异常如网络链路异常和网络拥塞时,实现要对接的交换机的切换,从而有利于保证网络业务的稳定性。应当理解的是,这些调整是通过配置报文特征转发表以及通过配置转发策略表来实现的,因此可以通过配置由数据处理单元生成的网络交换机,也即通过在宿主机的逻辑侧上对数据处理单元做出配置方面的调整,从而不涉及到宿主机的驱动侧的内核改动,不仅实现了灵活适配宿主机的驱动侧的具体的软件和操作系统的需求。而且实现了灵活适配接入设备的接入需求。
继续参阅图1,所述第一出接口组所匹配的报文特征所包括的与所述第一出接口组对应的报文类型以及所述第一转发策略均可基于与所述一个或者多个成员口对接的接入设备的接入需求调整。上面提到,通过配置报文特征转发表,可以监控通过特定网口接口下发的特定报文类型,例如监控通过所述多个网口接口中与所述第一出接口组对应的网口接口下发的地址解析协议报文和邻居发现协议报文,这样实现了对宿主机的驱动侧的操作系统、软件的需求的适配。这里,与所述第一出接口组对应的报文类型是基于与所述一个或者多个成员口对接的接入设备的接入需求调整,因此这意味着在配置报文特征转发表时结合了接入设备的接入需求来做出调整。另外,所述第一转发策略基于与所述一个或者多个成员口对接的接入设备的接入需求调整,这意味着在配置转发策略表时结合了接入设备的接入需求来做出调整。如此,基于与所述一个或者多个成员口对接的接入设备的接入需求,可以影响配置报文特征转发表和配置转发策略表,这样有利于实现了,通过利用报文特征转发表和转发策略表来构建的两级的中间层次,可以分别针对宿主机的驱动侧的操作系统、软件的需求以及针对宿主机的逻辑侧的要对接的接入设备的接入需求分别进行适配,最后整合后可以按照转发策略所限定的特定的方式通过宿主机的逻辑侧的成员口发送报文,如此满足了特定的接入设备的接入需求。应当理解的是,基于接入设备的接入需求来影响配置报文特征转发表和配置转发策略表,可以发生在数据处理单元的上架流程中,或者发生在数据处理单元的上架流程结束之后,例如可以发生在数据处理单元的使用过程中,因此,数据处理单元可以按照标准网卡的方式部署在宿主机,然后根据需要来进行数据处理单元的适配以在硬件上实现对例如地址解析协议报文和邻居发现协议报文通过组播能力实现双发或者多发,从而可以支持去堆叠交换机。并且,因为不涉及到宿主机的驱动侧的参与,尤其不涉及到对系统内核的改动(例如,不需要修改Virtio-net的开源驱动),这样简化了设计复杂度,还可以根据用户需求定制报文特征以及定制从宿主机的驱动侧的网口接口到宿主机的逻辑侧的以太口之间的对应关系,这样有利于实现更灵活的转发策略,有助于快速感知链路故障和故障切换,提高业务稳定性。
总之,图1所示的用于数据处理单元的适配方法,通过配置由数据处理单元生成的网络交换机,也即通过在宿主机的逻辑侧上对数据处理单元做出的配置方面的调整,不涉及到宿主机的驱动侧的内核改动,不仅实现了灵活适配宿主机的驱动侧的具体的软件和操作系统的需求。而且实现了灵活适配接入设备的接入需求,有利于简化数据处理单元的上架流程,使得数据处理单元可以按照标准网卡方式部署,还可以根据用户需求定制报文特征以及定制从宿主机的驱动侧的网口接口到宿主机的逻辑侧的以太口之间的对应关系,这样有利于实现更灵活的转发策略,有助于快速感知链路故障和故障切换,提高业务稳定性。
图2为本申请实施例提供的一种数据处理单元的示意图。如图2所示,所述数据处理单元位于宿主机逻辑侧202并且通过位于宿主机驱动侧200的多个网口接口(图2中示例性示出了网口接口A210和网口接口B212)接收来自所述宿主机的报文。所述适配方法包括:确定报文特征转发表220中的多个出接口组中与第一报文的第一报文特征匹配的第一出接口组,其中,所述多个出接口组中的每一个出接口组所匹配的报文特征包括与该出接口组对应的报文类型和所述多个网口接口中与该出接口组对应的网口接口,所述数据处理单元通过所述多个网口接口中与所述第一出接口组对应的网口接口接收所述第一报文;基于转发策略表222,确定与所述第一出接口组对应的第一成员口组以及与所述第一出接口组对应的第一转发策略,其中,所述转发策略表包括与所述多个出接口组一一对应的多个成员口组以及与所述多个出接口组一一对应的多个转发策略,所述第一成员口组属于所述多个成员口组并且包括一个或者多个成员口(图2中示例性示出了以太口A230和以太口B232);通过数据处理单元模拟生成的网络交换机206,按照所述第一转发策略转发所述第一报文到所述第一成员口组。其中,所述第一出接口组所匹配的报文特征所包括的与所述第一出接口组对应的报文类型以及所述第一转发策略均可基于与所述一个或者多个成员口对接的接入设备的接入需求调整。应当理解的是,图2中所示的网口接口的数量和以太口的数量仅为示例性。
继续参阅图2,宿主机驱动侧200通过网口接口A210和网口接口B212下发报文到数据处理单元模拟生成的网络交换机206,也即数据处理单元通过网口接口A210和网口接口B212接收来自所述宿主机的报文。数据处理单元模拟生成的网络交换机206通过在宿主机逻辑侧202的以太口A230和以太口B232来对接上联的接入设备例如交换机。这里,图2中示例性示出了以太口A230和以太口B232,因此存在两个物理口对接两台交换机(未示出)。取决于与所述一个或者多个成员口对接的接入设备的接入需求,可以通过配置数据处理单元模拟生成的网络交换机206,进而可以配置报文特征转发表220和配置转发策略表222,不仅实现了灵活适配宿主机驱动侧200的软件204的需求。而且实现了灵活适配接入设备的接入需求,有利于简化数据处理单元的上架流程,使得数据处理单元可以按照标准网卡方式部署,还可以根据用户需求定制报文特征以及定制从宿主机驱动侧200的网口接口到宿主机逻辑侧202的以太口之间的对应关系,这样有利于实现更灵活的转发策略,有助于快速感知链路故障和故障切换,提高业务稳定性。例如,为了支持去堆叠交换机的接入需求,图2所示的以太口A230和以太口B232可以对接没有互联的两台交换机,然后,为了保证通信协议和组网功能的正常运行,使得宿主机下发给网卡的地址解析协议报文和邻居发现协议报文,通过双发处理来主动在以太口A230和以太口B232这两个以太口之间进行组播。
总之,图2所示的数据处理单元,不涉及到宿主机的驱动侧的内核改动,不仅实现了灵活适配宿主机的驱动侧的具体的软件和操作系统的需求。而且实现了灵活适配接入设备的接入需求,有利于简化数据处理单元的上架流程,使得数据处理单元可以按照标准网卡方式部署,还可以根据用户需求定制报文特征以及定制从宿主机驱动侧200的网口接口到宿主机逻辑侧202的以太口之间的对应关系,这样有利于实现更灵活的转发策略,有助于快速感知链路故障和故障切换,提高业务稳定性。
参阅图1和图2,在一种可能的实施方式中,当与所述一个或者多个成员口对接的接入设备的接入需求是去堆叠模式时,所述第一出接口组所匹配的报文特征所包括的与所述第一出接口组对应的报文类型是地址解析协议报文或者邻居发现协议报文,所述第一转发策略是对所述一个或者多个成员口中的所有成员口进行组播转发。例如,在网卡作为接入终端来接入上联的在去堆叠模式下的两台交换机的情况,针对如地址解析协议报文和邻居发现协议报文进行报文处理方面的优化,使得宿主机下发给网卡的地址解析协议报文和邻居发现协议报文,通过双发处理来主动在两个以太口之间进行组播。通过监控宿主机通过特定网口接口下发给网卡的地址解析协议报文和邻居发现协议报文,可以匹配到对应的出接口组,接着,可以确定对应的成员口组和转发策略,从而按照转发策略转发地址解析协议报文和邻居发现协议报文到成员口组,这样实现了通过双发处理来主动在两个以太口之间进行组播,可以确保实质上独立的且没有互联的两台交换机收到服务器的地址解析协议报文和邻居发现协议报文,也即支持了去堆叠交换机。如此,实现了对宿主机的驱动侧的操作系统、软件的需求的适配,以及可以适配宿主机的驱动侧的操作系统、软件的需求的变化,可以应用于与所述一个或者多个成员口对接的接入设备的接入需求是去堆叠模式的情况,因此实现了灵活适配接入设备的接入需求,有利于简化数据处理单元的上架流程。
在一些实施例中,当与所述一个或者多个成员口对接的接入设备的接入需求是去堆叠模式时,与所述一个或者多个成员口对接的接入设备是互不连接的去堆叠交换机。如此,不涉及到宿主机的驱动侧的内核改动,不仅实现了灵活适配宿主机的驱动侧的具体的软件和操作系统的需求。而且实现了灵活适配接入设备的接入需求,有利于简化数据处理单元的上架流程。
在一些实施例中,当与所述一个或者多个成员口对接的接入设备的接入需求是堆叠模式或者跨设备链路聚合模式时,所述第一出接口组所匹配的报文特征所包括的与所述第一出接口组对应的报文类型是任意报文,所述第一转发策略是根据哈希算法选择所述一个或者多个成员口中的单个成员口进行转发。这里,堆叠模式意味着将多台交换机通过堆叠方式虚拟成一台设备,这样可以增加交换机端口密度以满足更多的接入终端数量的接入需求(堆叠模式发生在接入终端的接入设备层),或者,可以增加核心交换机的转发能力(堆叠模式发生在转发设备层)。跨设备链路聚合(Multichassis Link Aggregation Group,M-LAG)模式通过将两台接入交换机以同一个状态和用户侧设备或服务器进行跨设备的链路聚合,把链路的可靠性从单板级提升到设备级,因此跨设备链路聚合模式也意味着两台接入交换机之间通过聚合链路互联。因此,当与所述一个或者多个成员口对接的接入设备的接入需求是堆叠模式或者跨设备链路聚合模式时,可以定制报文特征为对应任意报文类型,以及定制转发策略为根据哈希算法选择所述一个或者多个成员口中的单个成员口进行转发。如此,硬件收到报文后,根据报文特征,算出哈希结果,从而选择对应的以太口,报文从该以太口转发,避免故障切换时间长,有利于提升转发性能。在一些实施例中,当与所述一个或者多个成员口对接的接入设备的接入需求是堆叠模式或者跨设备链路聚合模式时,与所述一个或者多个成员口对接的接入设备之间互联。如此,不涉及到宿主机的驱动侧的内核改动,不仅实现了灵活适配宿主机的驱动侧的具体的软件和操作系统的需求。而且实现了灵活适配接入设备的接入需求,有利于简化数据处理单元的上架流程。
在一种可能的实施方式中,所述一个或者多个成员口是两个以太口,与所述两个以太口对接的接入设备是互不连接的两个去堆叠交换机,所述第一出接口组所匹配的报文特征所包括的与所述第一出接口组对应的报文类型是地址解析协议报文或者邻居发现协议报文,所述第一转发策略是对所述两个以太口进行组播转发。在网卡作为接入终端来接入上联的在去堆叠模式下的两台交换机的情况,针对如地址解析协议报文和邻居发现协议报文进行报文处理方面的优化,使得宿主机下发给网卡的地址解析协议报文和邻居发现协议报文,通过双发处理来主动在两个以太口之间进行组播。通过利用报文特征转发表和转发策略表来构建的两级的中间层次,可以分别针对宿主机的驱动侧的操作系统、软件的需求以及针对宿主机的逻辑侧的要对接的接入设备的接入需求分别进行适配,并且最后整合到一起,通过所述数据处理单元模拟生成的网络交换机,按照所述第一转发策略转发所述第一报文到所述第一成员口组。因此,利用报文特征转发表和转发策略表来构建的两级的中间层次,有利于实现设计上的简化和控制上的解耦。如此,不涉及到宿主机的驱动侧的内核改动,不仅实现了灵活适配宿主机的驱动侧的具体的软件和操作系统的需求。而且实现了灵活适配接入设备的接入需求,有利于简化数据处理单元的上架流程。
在一些实施例中,所述第一出接口组所匹配的报文特征所包括的所述多个网口接口中与所述第一出接口组对应的网口接口是两个网口接口,所述两个网口接口被配置为同一个绑定口,通过所述两个网口接口中的任一网口接口下发到所述数据处理单元的地址解析协议报文或者邻居发现协议报文在所述两个以太口进行组播转发,以便使得所述数据处理单元对所述地址解析协议报文和所述邻居发现协议报文进行双发处理。如此,不涉及到宿主机的驱动侧的内核改动,不仅实现了灵活适配宿主机的驱动侧的具体的软件和操作系统的需求。而且实现了灵活适配接入设备的接入需求,有利于简化数据处理单元的上架流程。
在一种可能的实施方式中,所述一个或者多个成员口是三个以太口,与所述三个以太口对接的接入设备是互不连接的三个去堆叠交换机,所述第一出接口组所匹配的报文特征所包括的与所述第一出接口组对应的报文类型是地址解析协议报文或者邻居发现协议报文,所述第一转发策略是对所述三个以太口进行组播转发。如此,基于与所述一个或者多个成员口对接的接入设备的接入需求,可以影响配置报文特征转发表和配置转发策略表,这样有利于实现了,通过利用报文特征转发表和转发策略表来构建的两级的中间层次,可以分别针对宿主机的驱动侧的操作系统、软件的需求以及针对宿主机的逻辑侧的要对接的接入设备的接入需求分别进行适配,最后整合后可以按照转发策略所限定的特定的方式通过宿主机的逻辑侧的成员口发送报文,如此满足了特定的接入设备的接入需求。在一些实施例中,所述一个或者多个成员口可以包括三个以太口或者更多的物理接口,通过增加或者删除物理接口可以对应接入设备的增加或者删除的变化。如此,不涉及到宿主机的驱动侧的内核改动,不仅实现了灵活适配宿主机的驱动侧的具体的软件和操作系统的需求。而且实现了灵活适配接入设备的接入需求,有利于简化数据处理单元的上架流程。
在一些实施例中,所述第一出接口组所匹配的报文特征所包括的所述多个网口接口中与所述第一出接口组对应的网口接口是三个网口接口,所述三个网口接口被配置为同一个绑定口,通过所述三个网口接口中的任一网口接口下发到所述数据处理单元的地址解析协议报文或者邻居发现协议报文在所述三个以太口进行组播转发,以便使得所述数据处理单元对所述地址解析协议报文和所述邻居发现协议报文进行三发处理。如此,数据处理单元可以按照标准网卡的方式部署在宿主机,然后根据需要来进行数据处理单元的适配以在硬件上实现对例如地址解析协议报文和邻居发现协议报文通过组播能力实现双发或者多发,从而可以支持去堆叠交换机。
在一种可能的实施方式中,当与所述一个或者多个成员口对接的接入设备的接入需求是去堆叠模式时,所述第一出接口组所匹配的报文特征所包括的所述多个网口接口中与所述第一出接口组对应的网口接口的数量与所述一个或者多个成员口所包括的以太口的数量相等。如此,基于通信协议的需求以及组网功能需求,可以采用去堆叠模式来建立起从宿主机到各种交换机之间的对接关系,并且,考虑具体的接入设备的接入需求以及需要考虑在应用过程中接入需求的变化。例如,两个网口接口与两个以太口对应,可以通过双发处理来主动在两个以太口之间进行组播;再例如,三个网口接口与三个以太口对应,可以通过三发处理来主动在三个以太口之间进行组播。通过定制网口接口与以太口之间的对接关系,可以更好地适配接入需求。
在一种可能的实施方式中,所述第一成员口组被配置为可基于链路检测结果对所述一个或者多个成员口进行移除操作。实际应用中,可能发生交换机故障或者系统升级(去堆叠模式下,一般不存在两个交换机同时故障或者同时升级,而是交替升级),为了服务器到数据处理单元方向的流量快速收敛,例如,服务器协议栈感知以太链路下行时路径较长,但是在协议栈还没感知到下行链路故障时,可能将报文通过哈希算法转发到对应的网口,从而导致丢包。为此,所述第一成员口组被配置为可基于链路检测结果对所述一个或者多个成员口进行移除操作。如此,可以通过数据处理单元的系统模拟器,例如系统模拟器的虚拟化网络控制器,快速感知到对应的以太口链路故障,从而进行移除操作,也就避免了将报文转发到被感知到发生了以太口链路故障的成员口,从而避免了丢包,有助于提升业务性能。并且,因为不涉及到宿主机的驱动侧的参与,尤其不涉及到对系统内核的改动(例如,不需要修改Virtio-net的开源驱动),这样简化了设计复杂度,通过配置由数据处理单元生成的网络交换机,也即通过在宿主机的逻辑侧上对数据处理单元做出的配置方面的调整,就可以实现快速感知链路故障和故障切换,提高业务稳定性。
在一种可能的实施方式中,所述多个出接口组中的每一个出接口组所匹配的报文特征还包括报文长度和报文五元组。如此,实现了根据用户需求定制报文特征以及定制从宿主机的驱动侧的网口接口到宿主机的逻辑侧的以太口之间的对应关系,这样有利于实现更灵活的转发策略,有助于快速感知链路故障和故障切换,提高业务稳定性。另外,通过配置报文长度和报文五元组,在基于报文类型来确定相匹配的出接口组的基础上,这意味着更灵活丰富的匹配机制,因此可以结合应用场景的需求来设计相应匹配规则以及进一步确定成员口组和转发策略,不仅实现了灵活适配宿主机的驱动侧的具体的软件和操作系统的需求。而且实现了灵活适配接入设备的接入需求。
在一种可能的实施方式中,所述报文特征转发表和所述转发策略表均由所述网络交换机提供,所述网络交换机由所述数据处理单元的系统模拟器的控制组件配置。如此,通过配置由数据处理单元生成的网络交换机,也即通过在宿主机的逻辑侧上对数据处理单元做出的配置方面的调整,不涉及到宿主机的驱动侧的内核改动,不仅实现了灵活适配宿主机的驱动侧的具体的软件和操作系统的需求。而且实现了灵活适配接入设备的接入需求。
在一些实施例中,所述一个或者多个成员口与所述第一出接口组所匹配的报文特征所包括的所述多个网口接口中与所述第一出接口组对应的网口接口之间的对应关系通过所述数据处理单元的上架流程设定,并且,在所述数据处理单元的上架流程结束之后,通过调整所述报文特征转发表和所述转发策略表以便调整所述第一出接口组所匹配的报文特征所包括的与所述第一出接口组对应的报文类型以及所述第一转发策略。这里,数据处理单元的上架流程,也就是部署数据处理单元到宿主机的逻辑侧的过程。数据处理单元通过快捷外围组件互连总线和快捷外围组件互连交换机拓扑来实现与宿主机的驱动侧的数据互联,以及通过热插拔能力和数据处理单元的虚拟化功能实现快捷外围组件互连设备的动态发放和回收。因此,数据处理单元的上架流程涉及到快捷外围组件互连资源的分配,这意味着所述数据处理单元的上架流程结束之后,一般确定了以太口与网口接口之间的对应关系。图1所示的用于数据处理单元的适配方法,以及图2所示的数据处理单元,基于接入设备的接入需求来影响配置报文特征转发表和配置转发策略表,可以发生在数据处理单元的上架流程中,或者发生在数据处理单元的上架流程结束之后,例如可以发生在数据处理单元的使用过程中,因此,数据处理单元可以按照标准网卡的方式部署在宿主机,然后根据需要来进行数据处理单元的适配。也即,在所述数据处理单元的上架流程结束之后,通过调整所述报文特征转发表和所述转发策略表以便调整所述第一出接口组所匹配的报文特征所包括的与所述第一出接口组对应的报文类型以及所述第一转发策略,如此,在部署数据处理单元之后也就是上架流程结束后,可以通过调整网络交换机中的报文特征转发表和转发策略表来灵活地适配接入需求的变化。
在一些实施例中,所述适配方法还包括:响应于与所述一个或者多个成员口对接的接入设备的接入需求在所述数据处理单元的上架流程结束之后的变化,通过配置所述网络交换机至少调整一次所述报文特征转发表和所述转发策略表。如此,在部署数据处理单元之后也就是上架流程结束后,可以通过调整网络交换机中的报文特征转发表和转发策略表来灵活地适配接入需求的变化。并且,因为不涉及到宿主机的驱动侧的参与,尤其不涉及到对系统内核的改动(例如,不需要修改Virtio-net的开源驱动),这样简化了设计复杂度,还可以根据用户需求定制报文特征以及定制从宿主机的驱动侧的网口接口到宿主机的逻辑侧的以太口之间的对应关系,这样有利于实现更灵活的转发策略,有助于快速感知链路故障和故障切换,提高业务稳定性。
图3是本申请实施例提供的一种计算设备的结构示意图,该计算设备300包括:一个或者多个处理器310、通信接口320以及存储器330。所述处理器310、通信接口320以及存储器330通过总线340相互连接。可选地,该计算设备300还可以包括输入/输出接口350,输入/输出接口350连接有输入/输出设备,用于接收用户设置的参数等。该计算设备300能够用于实现上述的本申请实施例中设备实施例或者系统实施例的部分或者全部功能;处理器310还能够用于实现上述的本申请实施例中方法实施例的部分或者全部操作步骤。例如,该计算设备300执行各种操作的具体实现可参照上述实施例中的具体细节,如处理器310用于执行上述方法实施例中部分或者全部步骤或者上述方法实施例中的部分或者全部操作。再例如,本申请实施例中,计算设备300可用于实现上述装置实施例中一个或者多个部件的部分或者全部功能,此外通信接口320具体可用于为了实现这些装置、部件的功能所必须的通讯功能等,以及处理器310具体可用于为了实现这些装置、部件的功能所必须的处理功能等。
应当理解的是,图3的计算设备300可以包括一个或者多个处理器310,并且多个处理器310可以按照并行化连接方式、串行化连接方式、串并行连接方式或者任意连接方式来协同提供处理能力,或者多个处理器310可以构成处理器序列或者处理器阵列,或者多个处理器310之间可以分成主处理器和辅助处理器,或者多个处理器310之间可以具有不同的架构如采用异构计算架构。另外,图3所示的计算设备300,相关的结构性描述及功能性描述是示例性且非限制性的。在一些示例性实施例中,计算设备300可以包括比图3所示的更多或更少的部件,或者组合某些部件,或者拆分某些部件,或者具有不同的部件布置。
处理器310可以有多种具体实现形式,例如处理器310可以包括中央处理器(central processing unit,CPU)、图形处理器(graphic processing unit,GPU)、神经网络处理器(neural-network processing unit,NPU)、张量处理器(tensor processingunit,TPU)或数据处理器(data processing unit,DPU)等一种或多种的组合,本申请实施例不做具体限定。处理器310还可以是单核处理器或多核处理器。处理器310可以由CPU和硬件芯片的组合。上述硬件芯片可以是专用集成电路(application-specific integratedcircuit,ASIC),可编程逻辑器件(programmable logic device,PLD)或其组合。上述PLD可以是复杂可编程逻辑器件(complex programmable logic device,CPLD),现场可编程逻辑门阵列(field-programmable gate array,FPGA),通用阵列逻辑(generic array logic,GAL)或其任意组合。处理器310也可以单独采用内置处理逻辑的逻辑器件来实现,例如FPGA或数字信号处理器(digital signal processor,DSP)等。通信接口320可以为有线接口或无线接口,用于与其他模块或设备进行通信,有线接口可以是以太接口、局域互联网络(local interconnect network,LIN)等,无线接口可以是蜂窝网络接口或使用无线局域网接口等。
存储器330可以是非易失性存储器,例如,只读存储器(read-only memory,ROM)、可编程只读存储器(programmable ROM,PROM)、可擦除可编程只读存储器(erasable PROM,EPROM)、电可擦除可编程只读存储器(electrically EPROM,EEPROM)或闪存。存储器330也可以是易失性存储器,易失性存储器可以是随机存取存储器(random access memory,RAM),其用作外部高速缓存。通过示例性但不是限制性说明,许多形式的RAM可用,例如静态随机存取存储器(static RAM,SRAM)、动态随机存取存储器(dynamic RAM,DRAM)、同步动态随机存取存储器(synchronous DRAM,SDRAM)、双倍数据速率同步动态随机存取存储器(double data rate SDRAM,DDR SDRAM)、增强型同步动态随机存取存储器(enhancedSDRAM,ESDRAM)、同步连接动态随机存取存储器(synchlink DRAM,SLDRAM)和直接内存总线随机存取存储器(direct rambus RAM,DR RAM)。存储器330也可用于存储程序代码和数据,以便于处理器310调用存储器330中存储的程序代码执行上述方法实施例中的部分或者全部操作步骤,或者执行上述设备实施例中的相应功能。此外,计算设备300可能包含相比于图3展示的更多或者更少的组件,或者有不同的组件配置方式。
总线340可以是快捷外围部件互连标准(peripheral component interconnectexpress,PCIe)总线,或扩展工业标准结构(extended industry standard architecture,EISA)总线、统一总线(unified bus,Ubus或UB)、计算机快速链接(compute express link,CXL)、缓存一致互联协议(cache coherent interconnect for accelerators,CCIX)等。总线340可以分为地址总线、数据总线、控制总线等。总线340除包括数据总线之外,还可以包括电源总线、控制总线和状态信号总线等。但是为了清楚说明起见,图3中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
本申请实施例提供的方法和设备是基于同一发明构思的,由于方法及设备解决问题的原理相似,因此方法与设备的实施例、实施方式、示例或实现方式可以相互参见,其中重复之处不再赘述。本申请实施例还提供一种系统,该系统包括多个计算设备,每个计算设备的结构可以参照上述所描述的计算设备的结构。该系统可实现的功能或者操作可以参照上述方法实施例中的具体实现步骤和/或上述装置实施例中所描述的具体功能,在此不再赘述。
本申请实施例还提供一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机指令,当所述计算机指令在计算机设备(如一个或者多个处理器)上运行时可以实现上述方法实施例中的方法步骤。所述计算机可读存储介质的处理器在执行上述方法步骤的具体实现可参照上述方法实施例中所描述的具体操作和/或上述装置实施例中所描述的具体功能,在此不再赘述。
本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。本申请实施例可以全部或部分地通过软件、硬件、固件或其他任意组合来实现。当使用软件实现时,上述实施例可以全部或部分地以计算机程序产品的形式实现。本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质上实施的计算机程序产品的形式。所述计算机程序产品包括一个或多个计算机指令。在计算机上加载或执行所述计算机程序指令时,全部或部分地产生按照本申请实施例所述的流程或功能。所述计算机可以为通用计算机、专用计算机、计算机网络、或者其他可编程装置。计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线)或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集合的服务器、数据中心等数据存储设备。可用介质可以是磁性介质(如软盘、硬盘、磁带)、光介质、或者半导体介质。半导体介质可以是固态硬盘,也可以是随机存取存储器,闪存,只读存储器,可擦可编程只读存储器,电可擦可编程只读存储器,寄存器或任何其他形式的合适存储介质。
本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述。可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其它实施例的相关描述。显然,本领域的技术人员可以对本申请实施例进行各种改动和变型而不脱离本申请实施例的精神和范围。本申请实施例方法中的步骤可以根据实际需要进行顺序调整、合并或删减;本申请实施例系统中的模块可以根据实际需要进行划分、合并或删减。如果本申请实施例的这些修改和变型属于本申请权利要求及其等同技术的范围之内,则本申请也意图包含这些改动和变型在内。
Claims (17)
1.一种用于数据处理单元的适配方法,其特征在于,所述数据处理单元位于宿主机的逻辑侧并且通过位于所述宿主机的驱动侧的多个网口接口接收来自所述宿主机的报文,所述适配方法包括:
确定报文特征转发表中的多个出接口组中与第一报文的第一报文特征匹配的第一出接口组,其中,所述多个出接口组中的每一个出接口组所匹配的报文特征包括与该出接口组对应的报文类型和所述多个网口接口中与该出接口组对应的网口接口,所述数据处理单元通过所述多个网口接口中与所述第一出接口组对应的网口接口接收所述第一报文;
基于转发策略表,确定与所述第一出接口组对应的第一成员口组以及与所述第一出接口组对应的第一转发策略,其中,所述转发策略表包括与所述多个出接口组一一对应的多个成员口组以及与所述多个出接口组一一对应的多个转发策略,所述第一成员口组属于所述多个成员口组并且包括一个或者多个成员口;
通过所述数据处理单元模拟生成的网络交换机,按照所述第一转发策略转发所述第一报文到所述第一成员口组,
其中,所述第一出接口组所匹配的报文特征所包括的与所述第一出接口组对应的报文类型以及所述第一转发策略均可基于与所述一个或者多个成员口对接的接入设备的接入需求调整。
2.根据权利要求1所述的适配方法,其特征在于,当与所述一个或者多个成员口对接的接入设备的接入需求是去堆叠模式时,所述第一出接口组所匹配的报文特征所包括的与所述第一出接口组对应的报文类型是地址解析协议报文或者邻居发现协议报文,所述第一转发策略是对所述一个或者多个成员口中的所有成员口进行组播转发。
3.根据权利要求2所述的适配方法,其特征在于,当与所述一个或者多个成员口对接的接入设备的接入需求是去堆叠模式时,与所述一个或者多个成员口对接的接入设备是互不连接的去堆叠交换机。
4.根据权利要求2所述的适配方法,其特征在于,当与所述一个或者多个成员口对接的接入设备的接入需求是堆叠模式或者跨设备链路聚合模式时,所述第一出接口组所匹配的报文特征所包括的与所述第一出接口组对应的报文类型是任意报文,所述第一转发策略是根据哈希算法选择所述一个或者多个成员口中的单个成员口进行转发。
5.根据权利要求4所述的适配方法,其特征在于,当与所述一个或者多个成员口对接的接入设备的接入需求是堆叠模式或者跨设备链路聚合模式时,与所述一个或者多个成员口对接的接入设备之间互联。
6.根据权利要求1所述的适配方法,其特征在于,所述一个或者多个成员口是两个以太口,与所述两个以太口对接的接入设备是互不连接的两个去堆叠交换机,所述第一出接口组所匹配的报文特征所包括的与所述第一出接口组对应的报文类型是地址解析协议报文或者邻居发现协议报文,所述第一转发策略是对所述两个以太口进行组播转发。
7.根据权利要求6所述的适配方法,其特征在于,所述第一出接口组所匹配的报文特征所包括的所述多个网口接口中与所述第一出接口组对应的网口接口是两个网口接口,所述两个网口接口被配置为同一个绑定口,通过所述两个网口接口中的任一网口接口下发到所述数据处理单元的地址解析协议报文或者邻居发现协议报文在所述两个以太口进行组播转发,以便使得所述数据处理单元对所述地址解析协议报文和所述邻居发现协议报文进行双发处理。
8.根据权利要求1所述的适配方法,其特征在于,所述一个或者多个成员口是三个以太口,与所述三个以太口对接的接入设备是互不连接的三个去堆叠交换机,所述第一出接口组所匹配的报文特征所包括的与所述第一出接口组对应的报文类型是地址解析协议报文或者邻居发现协议报文,所述第一转发策略是对所述三个以太口进行组播转发。
9.根据权利要求8所述的适配方法,其特征在于,所述第一出接口组所匹配的报文特征所包括的所述多个网口接口中与所述第一出接口组对应的网口接口是三个网口接口,所述三个网口接口被配置为同一个绑定口,通过所述三个网口接口中的任一网口接口下发到所述数据处理单元的地址解析协议报文或者邻居发现协议报文在所述三个以太口进行组播转发,以便使得所述数据处理单元对所述地址解析协议报文和所述邻居发现协议报文进行三发处理。
10.根据权利要求1所述的适配方法,其特征在于,当与所述一个或者多个成员口对接的接入设备的接入需求是去堆叠模式时,所述第一出接口组所匹配的报文特征所包括的所述多个网口接口中与所述第一出接口组对应的网口接口的数量与所述一个或者多个成员口所包括的以太口的数量相等。
11.根据权利要求1所述的适配方法,其特征在于,所述第一成员口组被配置为可基于链路检测结果对所述一个或者多个成员口进行移除操作。
12.根据权利要求1所述的适配方法,其特征在于,所述多个出接口组中的每一个出接口组所匹配的报文特征还包括报文长度和报文五元组。
13.根据权利要求1所述的适配方法,其特征在于,所述报文特征转发表和所述转发策略表均由所述网络交换机提供,所述网络交换机由所述数据处理单元的系统模拟器的控制组件配置。
14.根据权利要求13所述的适配方法,其特征在于,所述一个或者多个成员口与所述第一出接口组所匹配的报文特征所包括的所述多个网口接口中与所述第一出接口组对应的网口接口之间的对应关系通过所述数据处理单元的上架流程设定,并且,在所述数据处理单元的上架流程结束之后,通过调整所述报文特征转发表和所述转发策略表以便调整所述第一出接口组所匹配的报文特征所包括的与所述第一出接口组对应的报文类型以及所述第一转发策略。
15.根据权利要求14所述的适配方法,其特征在于,所述适配方法还包括:
响应于与所述一个或者多个成员口对接的接入设备的接入需求在所述数据处理单元的上架流程结束之后的变化,通过配置所述网络交换机至少调整一次所述报文特征转发表和所述转发策略表。
16.一种计算机设备,其特征在于,所述计算机设备包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现根据权利要求1至15中任一项所述的方法。
17.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机指令,当所述计算机指令在计算机设备上运行时使得所述计算机设备执行根据权利要求1至15中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202410370120.4A CN117978758B (zh) | 2024-03-29 | 2024-03-29 | 用于数据处理单元的适配方法、计算机设备及介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202410370120.4A CN117978758B (zh) | 2024-03-29 | 2024-03-29 | 用于数据处理单元的适配方法、计算机设备及介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN117978758A true CN117978758A (zh) | 2024-05-03 |
CN117978758B CN117978758B (zh) | 2024-06-07 |
Family
ID=90862985
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202410370120.4A Active CN117978758B (zh) | 2024-03-29 | 2024-03-29 | 用于数据处理单元的适配方法、计算机设备及介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117978758B (zh) |
Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2007064648A2 (en) * | 2005-11-30 | 2007-06-07 | Tellabs Bedford, Inc. | Communications distribution system |
US20170052857A1 (en) * | 2015-08-20 | 2017-02-23 | Qsigma, Inc. | Simultaneous Multi-Processor Apparatus Applicable to Acheiving Exascale Performance for Algorithms and Program Systems |
CN111211931A (zh) * | 2020-02-20 | 2020-05-29 | 深圳市风云实业有限公司 | 一种基于可重构技术的报文转发系统 |
CN111245904A (zh) * | 2019-12-31 | 2020-06-05 | 国家计算机网络与信息安全管理中心 | 一种多网口服务器集群的负载均衡调度系统及方法 |
CN112532594A (zh) * | 2020-11-16 | 2021-03-19 | 杭州迪普科技股份有限公司 | 一种聚合组创建和报文转发的方法及装置 |
WO2022057647A1 (zh) * | 2020-09-15 | 2022-03-24 | 华为技术有限公司 | 一种报文的处理方法、系统及设备 |
WO2022146588A1 (en) * | 2020-12-30 | 2022-07-07 | Oracle International Corporation | Layer-2 networking storm control in a virtualized cloud environment |
CN114745255A (zh) * | 2022-04-12 | 2022-07-12 | 深圳星云智联科技有限公司 | 硬件芯片、dpu、服务器、通信方法及相关装置 |
CN117632497A (zh) * | 2023-11-30 | 2024-03-01 | 珠海星云智联科技有限公司 | 一种基于dpu的数据处理方法及相关设备 |
-
2024
- 2024-03-29 CN CN202410370120.4A patent/CN117978758B/zh active Active
Patent Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2007064648A2 (en) * | 2005-11-30 | 2007-06-07 | Tellabs Bedford, Inc. | Communications distribution system |
US20170052857A1 (en) * | 2015-08-20 | 2017-02-23 | Qsigma, Inc. | Simultaneous Multi-Processor Apparatus Applicable to Acheiving Exascale Performance for Algorithms and Program Systems |
CN111245904A (zh) * | 2019-12-31 | 2020-06-05 | 国家计算机网络与信息安全管理中心 | 一种多网口服务器集群的负载均衡调度系统及方法 |
CN111211931A (zh) * | 2020-02-20 | 2020-05-29 | 深圳市风云实业有限公司 | 一种基于可重构技术的报文转发系统 |
WO2022057647A1 (zh) * | 2020-09-15 | 2022-03-24 | 华为技术有限公司 | 一种报文的处理方法、系统及设备 |
CN112532594A (zh) * | 2020-11-16 | 2021-03-19 | 杭州迪普科技股份有限公司 | 一种聚合组创建和报文转发的方法及装置 |
WO2022146588A1 (en) * | 2020-12-30 | 2022-07-07 | Oracle International Corporation | Layer-2 networking storm control in a virtualized cloud environment |
CN114745255A (zh) * | 2022-04-12 | 2022-07-12 | 深圳星云智联科技有限公司 | 硬件芯片、dpu、服务器、通信方法及相关装置 |
CN117632497A (zh) * | 2023-11-30 | 2024-03-01 | 珠海星云智联科技有限公司 | 一种基于dpu的数据处理方法及相关设备 |
Non-Patent Citations (1)
Title |
---|
黄嘉;聂炜玲;李艳俊;: "核心网云化后的设备可靠性保障机制分析", 互联网天地, no. 11, 15 November 2016 (2016-11-15) * |
Also Published As
Publication number | Publication date |
---|---|
CN117978758B (zh) | 2024-06-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9264346B2 (en) | Resilient duplicate link aggregation emulation | |
US11394607B2 (en) | Method and system for network configuration | |
US8787152B2 (en) | Virtual switch interconnect for hybrid enterprise servers | |
US10530636B2 (en) | Link management method, device and system in virtual machine environment | |
WO2011151222A1 (en) | Path error correction in storage area networks | |
CN113709220B (zh) | 虚拟负载均衡器的高可用实现方法、系统及电子设备 | |
JP7190569B2 (ja) | データセンターのトラフィック共有方法、装置、デバイスおよび記憶媒体 | |
EP3316555A1 (en) | Mac address synchronization method, device and system | |
CN110830574B (zh) | 一种基于docker容器实现内网负载均衡的方法 | |
CN116055426B (zh) | 用于多绑定模式下流量卸载转发的方法、设备及介质 | |
CN115858102A (zh) | 一种用于部署支持虚拟化硬件加速的虚拟机的方法 | |
CN115801750A (zh) | 虚拟机通信方法及装置 | |
EP4344158A1 (en) | Network interface card management system, packet processing method, and device | |
US8937885B2 (en) | Methods and apparatus for dynamic mapping of power outlets | |
KR20150002426A (ko) | 네크워크 입출력 가상화 환경에서 가상 머신의 이동성 지원 방법 및 이를 수행하는 장치 | |
CN117978758B (zh) | 用于数据处理单元的适配方法、计算机设备及介质 | |
CN116204448A (zh) | 一种多端口固态硬盘及其控制方法、装置、介质、服务器 | |
Konglar et al. | Load distribution of software-defined networking based on controller performance | |
CN107145408A (zh) | 一种实现主备集群部署的方法及系统 | |
CN118282851B (zh) | 用于网络控制器边带接口协议的配置方法、设备及介质 | |
CN113709018A (zh) | 基于Vxlan接入虚拟化网络的方法和系统 | |
CN118233414B (zh) | 数据处理单元点对点通信方法、计算机设备及介质 | |
CN118394420B (zh) | 一种驱动方法、计算机设备及介质 | |
CN113630330B (zh) | 软件定义网络多控制器负载均衡方法及系统 | |
CN117499293B (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 |