CN115001627B - A method and system for processing InfiniBand network subnet management messages - Google Patents
A method and system for processing InfiniBand network subnet management messages Download PDFInfo
- Publication number
- CN115001627B CN115001627B CN202210599429.1A CN202210599429A CN115001627B CN 115001627 B CN115001627 B CN 115001627B CN 202210599429 A CN202210599429 A CN 202210599429A CN 115001627 B CN115001627 B CN 115001627B
- Authority
- CN
- China
- Prior art keywords
- subnet management
- management data
- data packet
- module
- subnet
- 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
- H04L1/00—Arrangements for detecting or preventing errors in the information received
- H04L1/0001—Systems modifying transmission characteristics according to link quality, e.g. power backoff
- H04L1/0006—Systems modifying transmission characteristics according to link quality, e.g. power backoff by adapting the transmission format
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L1/00—Arrangements for detecting or preventing errors in the information received
- H04L1/004—Arrangements for detecting or preventing errors in the information received by using forward error control
- H04L1/0056—Systems characterized by the type of code used
- H04L1/0061—Error detection codes
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/06—Notations for structuring of protocol data, e.g. abstract syntax notation one [ASN.1]
-
- 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
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Security & Cryptography (AREA)
- Quality & Reliability (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明属于网络通信领域,提供了一种InfiniBand网络子网管理报文处理方法及系统,包括实时监控IB物理层获取原始子网管理数据包;根据当前与IB物理层对接的接口通道数、数据宽度及编码方式,存储原始子网管理数据包,得到完整的子网管理数据包;将完整的子网管理数据包进行CRC校验;如果CRC校验无误,向上层子网管理代理和上层子网管理接口通过统一的子网管理数据接口发送检验无误的子网管理数据包;如果CRC校验有误,则丢弃该完整的子网管理数据包;本发明将下层物理层多变的数据接口统一化,统一为根据IB网络链路层子网管理数据包SMP格式的子网管理数据接口,进而简化上层链路层子网管理相关开发流程及开发效率。
The invention belongs to the field of network communication, and provides a method and system for processing InfiniBand network subnet management messages, including real-time monitoring of the IB physical layer to obtain the original subnet management data packets; Width and encoding method, store the original subnet management data packet, and obtain the complete subnet management data packet; perform CRC check on the complete subnet management data packet; The network management interface sends the correct subnet management data packet through the unified subnet management data interface; if the CRC check is wrong, the complete subnet management data packet is discarded; the present invention uses the changeable data interface of the lower physical layer Unification, unified into a subnet management data interface in the SMP format of the IB network link layer subnet management packet, thereby simplifying the development process and development efficiency related to the upper link layer subnet management.
Description
技术领域technical field
本发明属于网络通信技术领域,具体涉及一种InfiniBand网络子网管理报文处理方法及系统。The invention belongs to the technical field of network communication, and in particular relates to a method and system for processing InfiniBand network subnet management messages.
背景技术Background technique
本部分的陈述仅仅是提供了与本发明相关的背景技术信息,不必然构成在先技术。The statements in this section merely provide background information related to the present invention and do not necessarily constitute prior art.
高速串行收发器使大量数据点对点进行传输成为可能,这种串行通信技术充分利用传输媒体的信道容量,与并行数据总线相比,减少了所需的传输信道和器件引脚数目,从而大大降低通信成本。一个性能优秀的收发器应具备低功耗、小尺寸、易配置、高效率等优点,以使其容易用于实现网络通信领域相关技术。High-speed serial transceivers make it possible to transmit a large amount of data point-to-point. This serial communication technology makes full use of the channel capacity of the transmission medium. Compared with the parallel data bus, it reduces the number of required transmission channels and device pins, thus greatly Reduce communication costs. A transceiver with excellent performance should have the advantages of low power consumption, small size, easy configuration, and high efficiency, so that it can be easily used to implement related technologies in the field of network communication.
InfiniBand(简称IB)是一个用于高性能计算的计算机网络通信标准,它具有极高的吞吐量和极低的延迟,用于计算机与计算机之间的数据互连。InfiniBand 也用作服务器与存储系统之间的直接或交换互连,以及存储系统之间的互连。InfiniBand (abbreviated as IB) is a computer network communication standard for high-performance computing. It has extremely high throughput and low latency, and is used for data interconnection between computers. InfiniBand is also used as a direct or switched interconnect between servers and storage systems, and as an interconnect between storage systems.
IB网络拓扑中子网是其重要的组成部分。在子网中主子网管理起到重要作用。主子网管理负责探寻子网内物理拓扑、为子网内结点、交换机、路由器分发Local Identifier(LID)、维持子网内各结点可能路径、实时监控扫描子网拓扑变化。The subnet is an important part of the IB network topology. Master subnet management plays an important role in subnetting. The main subnet management is responsible for exploring the physical topology in the subnet, distributing Local Identifiers (LIDs) for nodes, switches, and routers in the subnet, maintaining possible paths for each node in the subnet, and monitoring and scanning subnet topology changes in real time.
子网管理代理(SMA)附着于子网内各结点监控结点内部情况并与主子网管理相互通信。子网管理接口(SMI)在子网内结点尚未完成分发LID初始化过程中为子网内通信数据包提供路由功能。The subnet management agent (SMA) attaches to each node in the subnet to monitor the internal conditions of the node and communicate with the main subnet management. The subnet management interface (SMI) provides the routing function for the communication data packets in the subnet when the nodes in the subnet have not completed the initialization process of distributing LID.
IB网络按传输速率可分为SDR、DDR、QDR、FDR、EDR等,各速率又可分为单通道、双通道、四通道、八通道以及十二通道。按物理层编码规则分, QDR及其以下速率支持8B/10B编码,FDR及其以上速率支持64/66B编码。The IB network can be divided into SDR, DDR, QDR, FDR, EDR, etc. according to the transmission rate, and each rate can be divided into single-channel, dual-channel, four-channel, eight-channel and twelve-channel. According to the coding rules of the physical layer, the rate of QDR and below supports 8B/10B encoding, and the rate of FDR and above supports 64/66B encoding.
虽然高速串行收发器易配置的优点适合进行IB网络复杂物理层环境开发,但也会因此改变上层子网管理设计,而无论物理层环境如何,上层子网管理相关操作都是一致的,但是在基于高速串行收发器设计IB物理层与上层子网管理相关操作时容易出现耦合,导致子网管理相关模块设计变得繁琐。Although the advantages of easy configuration of high-speed serial transceivers are suitable for the development of complex physical layer environments of IB networks, it will also change the design of upper-layer subnet management. Regardless of the physical layer environment, the operations related to upper-layer subnet management are consistent, but When designing IB physical layer and upper-layer subnet management-related operations based on high-speed serial transceivers, it is easy to be coupled, which makes the design of subnet management-related modules cumbersome.
发明内容Contents of the invention
为了解决上述问题,本发明提出了一种InfiniBand网络子网管理报文处理方法及系统,本发明将下层物理层多变的数据接口统一化,统一为根据IB网络链路层子网管理数据包SMP格式的子网管理数据接口,进而简化上层链路层子网管理相关开发流程及开发效率。In order to solve the above-mentioned problems, the present invention proposes a method and system for processing InfiniBand network subnet management messages. The present invention unifies the changeable data interfaces of the lower physical layer and unifies them into a subnet management packet according to the IB network link layer. The subnet management data interface in SMP format simplifies the development process and development efficiency related to the upper link layer subnet management.
根据一些实施例,本发明的第一方案提供了一种InfiniBand网络子网管理报文处理方法,采用如下技术方案:According to some embodiments, the first solution of the present invention provides a method for processing InfiniBand network subnet management messages, using the following technical solutions:
一种InfiniBand网络子网管理报文处理方法,包括:A method for processing InfiniBand network subnet management messages, comprising:
实时监控IB物理层获取原始子网管理数据包;Real-time monitoring of the IB physical layer to obtain the original subnet management data packets;
根据当前与IB物理层对接的接口通道数、数据宽度及编码方式,存储原始子网管理数据包,得到完整的子网管理数据包;According to the current number of interface channels, data width and encoding method connected with the IB physical layer, the original subnet management data packet is stored to obtain a complete subnet management data packet;
将完整的子网管理数据包进行CRC校验;Perform CRC check on the complete subnet management data packet;
如果CRC校验无误,向上层子网管理代理和上层子网管理接口通过统一的子网管理数据接口发送检验无误的子网管理数据包;If the CRC verification is correct, send the verified subnet management data packet to the upper subnet management agent and the upper subnet management interface through the unified subnet management data interface;
如果CRC校验有误,则丢弃该完整的子网管理数据包。If the CRC check is incorrect, the complete subnet management data packet is discarded.
根据一些实施例,本发明的第二方案提供了一种InfiniBand网络子网管理报文处理系统,采用如下技术方案:According to some embodiments, the second solution of the present invention provides a system for processing InfiniBand network subnet management messages, which adopts the following technical solution:
一种InfiniBand网络子网管理报文处理系统,包括:A system for processing InfiniBand network subnet management messages, comprising:
监控模块,被配置为实时监控IB物理层获取原始子网管理数据包;The monitoring module is configured to monitor the IB physical layer in real time to obtain the original subnet management data packet;
编码模块,被配置为根据当前与IB物理层对接的接口通道数、数据宽度及编码方式,存储子网管理数据包,得到完整的子网管理数据包;The encoding module is configured to store the subnet management data packet according to the number of interface channels, data width and encoding mode currently connected to the IB physical layer, and obtain a complete subnet management data packet;
校验模块,被配置为将完整的子网管理数据包进行CRC校验;A verification module configured to perform CRC verification on the complete subnet management data packet;
如果CRC校验无误,向上层子网管理代理和上层子网管理接口通过统一的子网管理数据接口发送检验无误的子网管理数据包;If the CRC verification is correct, send the verified subnet management data packet to the upper subnet management agent and the upper subnet management interface through the unified subnet management data interface;
如果CRC校验有误,则丢弃该完整的子网管理数据包。If the CRC check is incorrect, the complete subnet management data packet is discarded.
根据一些实施例,本发明的第三方案提供了一种InfiniBand网络子网管理报文处理系统,采用如下技术方案:According to some embodiments, the third solution of the present invention provides a system for processing InfiniBand network subnet management messages, which adopts the following technical solution:
一种InfiniBand网络子网管理报文处理系统,包括:A system for processing InfiniBand network subnet management messages, comprising:
IB物理层模块,用于向上层子网管理层发送原始子网管理数据包;The IB physical layer module is used to send the original subnet management data packet to the upper subnet management layer;
SMPReceive模块,用于实时监控IB物理层获取原始子网管理数据包,并将原始子网管理数据包根据当前与IB物理层对接的接口的格式存储,得到完整的子网管理数据包,并通过统一的子网管理数据接口向上层子网管理模块发送校验无误的子网管理数据包;The SMPReceive module is used to monitor the IB physical layer in real time to obtain the original subnet management data packet, and store the original subnet management data packet according to the format of the interface currently connected to the IB physical layer to obtain a complete subnet management data packet, and pass The unified subnet management data interface sends the verified subnet management data packet to the upper layer subnet management module;
上层子网管理模块,用于实时监控统一的子网管理数据接口,从校验无误的子网管理数据包中截获上层子网管理数据包,对上层子网管理数据包中对应字段进行修正,得到修正后的子网管理数据包;The upper-layer subnet management module is used to monitor the unified subnet management data interface in real time, intercept the upper-layer subnet management data packet from the verified subnet management data packet, and correct the corresponding fields in the upper-layer subnet management data packet, Get the corrected subnet management packet;
SMPSend模块,用于对修正后的子网管理数据包进行仲裁传输。The SMPSend module is used for arbitrating the modified subnet management data packets.
进一步地,所述SMPReceive模块实时监控IB物理层获取原始子网管理数据包,并将原始子网管理数据包根据当前与IB物理层对接的接口的格式存储,得到完整的原始子网管理数据包,包括:Further, the SMPReceive module monitors the IB physical layer in real time to obtain the original subnet management data packet, and stores the original subnet management data packet according to the format of the interface currently docked with the IB physical layer to obtain a complete original subnet management data packet ,include:
实时监控IB物理层获取原始子网管理数据包;Real-time monitoring of the IB physical layer to obtain the original subnet management data packets;
根据当前与IB物理层对接的接口通道数、数据宽度及编码方式,存储原始子网管理数据包,得到完整的子网管理数据包。According to the current number of interface channels, data width and encoding method connected with the IB physical layer, the original subnet management data packet is stored to obtain a complete subnet management data packet.
进一步地,所述通过统一的子网管理数据接口向上层子网管理模块发送校验无误的子网管理数据包,具体为:Further, the sending of the verified subnet management data packet to the upper layer subnet management module through the unified subnet management data interface is specifically:
将完整的子网管理数据包进行CRC校验;Perform CRC check on the complete subnet management data packet;
如果CRC校验无误,向上层子网管理模块发送校验无误的子网管理数据包;If the CRC verification is correct, send a subnet management data packet that is verified to be correct to the upper subnet management module;
如果CRC校验有误,则丢弃该完整的子网管理数据包。If the CRC check is incorrect, the complete subnet management data packet is discarded.
进一步地,所述上层子网管理模块包括第一上层子网管理模块和第二上层子网管理模块;Further, the upper-layer subnet management module includes a first upper-layer subnet management module and a second upper-layer subnet management module;
所述第一上层子网管理模块包括上层子网管理代理SMA模块和第一Buffer 模块;The first upper-layer subnet management module includes an upper-layer subnet management agent SMA module and a first Buffer module;
所述第二上层子网管理模块包括上层子网管理接口SMI模块和第二Buffer 模块。The second upper-layer subnet management module includes an upper-layer subnet management interface SMI module and a second Buffer module.
进一步地,所述上层子网管理代理SMA模块,用于实时监控统一的子网管理数据接口截获发送给自身SMA的上层子网管理数据包,包括:Further, the upper-layer subnet management agent SMA module is used for real-time monitoring of the unified subnet management data interface to intercept the upper-layer subnet management data packets sent to its own SMA, including:
判断发送给自身SMA的上层子网管理数据包的执行操作类型;Determine the execution operation type of the upper-layer subnet management data packet sent to its own SMA;
如果为Get方法,则根据发送给自身SMA的上层子网管理数据包中相应字段要求,将相应所需数据放置于子网管理数据包相应字段位置,然后再修改子网管理数据包有关子网路由字段相应内容,得到修正后的第一上层子网管理数据包,并将修正后的第一上层子网管理数据包向第一Buffer模块发送:If it is the Get method, according to the requirements of the corresponding fields in the upper layer subnet management data packet sent to its own SMA, place the corresponding required data in the corresponding field position of the subnet management data packet, and then modify the relevant subnet of the subnet management data packet Corresponding content of the route field, obtain the revised first upper-layer subnet management data packet, and send the revised first upper-layer subnet management data packet to the first Buffer module:
如果为Set方法,则根据发送给自身SMA的上层子网管理数据包中相应字段要求修改相应配置数据,然后再将修改后的配置数据放置于子网管理数据包相应字段位置,同时修改子网管理数据包有关子网路由字段相应内容,得到修正后的第一上层子网管理数据包,并将修正后的第一上层子网管理数据包向第一Buffer模块发送;If it is the Set method, modify the corresponding configuration data according to the corresponding field requirements in the upper layer subnet management data packet sent to its own SMA, and then place the modified configuration data in the corresponding field position of the subnet management data packet, and modify the subnet at the same time The corresponding content of the subnet routing field of the management data packet is obtained to obtain the revised first upper-layer subnet management data packet, and the revised first upper-layer subnet management data packet is sent to the first Buffer module;
所述第一Buffer模块,用于将修正后的第一上层子网管理数据包按照当前 IB物理层接口的格式重新划分,得到修正后的第一子网管理数据包,并将修正后的第一子网管理数据包发送给SMPSend模块。The first Buffer module is used to re-divide the revised first upper-layer subnet management data packet according to the format of the current IB physical layer interface, obtain the revised first subnet management data packet, and convert the revised first subnet management data packet A subnet management data packet is sent to the SMPSend module.
进一步地,所述上层子网管理接口SMI模块,用于实时监控统一的子网管理数据接口截获需要转发的子网管理数据包,包括:Further, the upper-layer subnet management interface SMI module is used for real-time monitoring of a unified subnet management data interface to intercept subnet management data packets that need to be forwarded, including:
根据IB网络SMI协议规定,修改需要转发的子网管理数据包有关子网路由字段相应内容,得到修正后的第二上层子网管理数据包,并将修正后的第二上层子网管理数据包向第二Buffer模块发送;According to the IB network SMI protocol, modify the corresponding content in the subnet routing field of the subnet management data packet that needs to be forwarded, obtain the revised second upper-layer subnet management data packet, and send the revised second upper-layer subnet management data packet Send to the second Buffer module;
所述第二Buffer模块,用于将修正后的第二上层子网管理数据包按照当前IB物理层接口的格式重新划分,得到修正后的第二子网管理数据包,并将修正后的第二子网管理数据包发送给SMPSend模块。The second Buffer module is used to re-divide the revised second upper-layer subnet management data packet according to the format of the current IB physical layer interface, obtain the revised second subnet management data packet, and convert the revised second upper-layer subnet management data packet The second subnet management data packet is sent to the SMPSend module.
进一步地,所述SMPSend模块对修正后的子网管理数据包进行仲裁传输,包括:Further, the SMPSend module performs arbitration transmission on the revised subnet management data packet, including:
获取第一Buffer模块发送来的修正后的第一子网管理数据包和第二Buffer 模块的发送来的修正后的第二子网管理数据包;Obtain the corrected first subnet management packet sent by the first Buffer module and the corrected second subnet management packet sent by the second Buffer module;
对修正后的第一子网管理数据包和修正后的第二子网管理数据包进行仲裁传输。Perform arbitration transmission on the modified first subnet management data packet and the modified second subnet management data packet.
进一步地,对修正后的第一子网管理数据包和修正后的第二子网管理数据包进行仲裁传输,具体为:Further, arbitration transmission is performed on the modified first subnet management data packet and the modified second subnet management data packet, specifically:
当修正后的第一子网管理数据包和修正后的第二子网管理数据包同时到来时,优先传输修正后的第二子网管理数据包。When the modified first subnet management data packet and the modified second subnet management data packet arrive at the same time, the modified second subnet management data packet is transmitted preferentially.
与现有技术相比,本发明的有益效果为:Compared with prior art, the beneficial effect of the present invention is:
本发明将下层物理层多变的数据接口统一化,统一为根据IB网络链路层子网管理数据包SMP格式的子网管理数据接口,进而简化上层链路层子网管理相关开发流程及开发效率,能在FPGA开发infiniband网络物理层及链路层时,有效解耦物理层及链路层。使链路层子网管理相关模块设计不再受限于物理层数据接口。The present invention unifies the changeable data interface of the lower physical layer into a subnet management data interface according to the SMP format of the IB network link layer subnet management data packet, and then simplifies the development process and development related to the upper link layer subnet management Efficiency, can effectively decouple the physical layer and link layer when FPGA develops the physical layer and link layer of infiniband network. The design of modules related to link layer subnet management is no longer limited to the physical layer data interface.
本发明在链路层子网管理相关模块统一数据接口之后,能加速SMA模块的报文属性扩展开发速度。结合FPGA灵活编程特性,能更方便快捷地添加、删除、修改相关报文属性,如虚拟交换机、虚拟路由器、虚拟网卡等。After the link layer subnetwork management related modules unify the data interface, the invention can accelerate the development speed of message attribute expansion of the SMA module. Combined with the flexible programming features of FPGA, it is more convenient and quick to add, delete, and modify related message attributes, such as virtual switches, virtual routers, and virtual network cards.
附图说明Description of drawings
构成本发明的一部分的说明书附图用来提供对本发明的进一步理解,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。The accompanying drawings constituting a part of the present invention are used to provide a further understanding of the present invention, and the schematic embodiments of the present invention and their descriptions are used to explain the present invention and do not constitute improper limitations to the present invention.
图1是本发明实施例三所述的一种InfiniBand网络子网管理报文处理系统的整体模块架构图;Fig. 1 is an overall module architecture diagram of a kind of InfiniBand network subnet management message processing system described in embodiment three of the present invention;
图2是本发明实施例一所述的一种InfiniBand网络子网管理报文处理方法;Fig. 2 is a kind of InfiniBand network subnet management message processing method described in Embodiment 1 of the present invention;
图3是本发明实施例三所述的子网管理代理SMA的报文处理流程图;FIG. 3 is a message processing flowchart of the subnet management agent SMA described in Embodiment 3 of the present invention;
图4是本发明实施例三所述的Buffer模块报文处理流程图。FIG. 4 is a flow chart of message processing of the Buffer module according to Embodiment 3 of the present invention.
具体实施方式Detailed ways
下面结合附图与实施例对本发明作进一步说明。The present invention will be further described below in conjunction with the accompanying drawings and embodiments.
应该指出,以下详细说明都是例示性的,旨在对本发明提供进一步的说明。除非另有指明,本文使用的所有技术和科学术语具有与本发明所属技术领域的普通技术人员通常理解的相同含义。It should be noted that the following detailed description is exemplary and intended to provide further explanation of the present invention. Unless defined otherwise, all technical and scientific terms used herein have the same meaning as commonly understood by one of ordinary skill in the art to which this invention belongs.
需要注意的是,这里所使用的术语仅是为了描述具体实施方式,而非意图限制根据本发明的示例性实施方式。如在这里所使用的,除非上下文另外明确指出,否则单数形式也意图包括复数形式,此外,还应当理解的是,当在本说明书中使用术语“包含”和/或“包括”时,其指明存在特征、步骤、操作、器件、组件和/或它们的组合。It should be noted that the terminology used here is only for describing specific embodiments, and is not intended to limit exemplary embodiments according to the present invention. As used herein, unless the context clearly dictates otherwise, the singular is intended to include the plural, and it should also be understood that when the terms "comprising" and/or "comprising" are used in this specification, they mean There are features, steps, operations, means, components and/or combinations thereof.
在不冲突的情况下,本发明中的实施例及实施例中的特征可以相互组合。In the case of no conflict, the embodiments and the features in the embodiments of the present invention can be combined with each other.
实施例一Embodiment one
如图2所示,本实施例提供了一种InfiniBand网络子网管理报文处理方法,本实施例以该方法应用于服务器进行举例说明,可以理解的是,该方法也可以应用于终端,还可以应用于包括终端和服务器和系统,并通过终端和服务器的交互实现。服务器可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式系统,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务器、云通信、中间件服务、域名服务、安全服务CDN、以及大数据和人工智能平台等基础云计算服务的云服务器。终端可以是智能手机、平板电脑、笔记本电脑、台式计算机、智能音箱、智能手表等,但并不局限于此。终端以及服务器可以通过有线或无线通信方式进行直接或间接地连接,本申请在此不做限制。本实施例中,该方法包括以下步骤:As shown in FIG. 2, this embodiment provides a method for processing InfiniBand network subnet management messages. This embodiment uses this method as an example for a server. It can be understood that this method can also be applied to a terminal. It can be applied to a terminal, a server and a system, and is realized through the interaction between the terminal and the server. The server can be an independent physical server, or a server cluster or distributed system composed of multiple physical servers, or it can provide cloud services, cloud databases, cloud computing, cloud functions, cloud storage, network servers, cloud communications, intermediate Cloud servers for basic cloud computing services such as software services, domain name services, security service CDN, and big data and artificial intelligence platforms. The terminal may be a smart phone, a tablet computer, a laptop computer, a desktop computer, a smart speaker, a smart watch, etc., but is not limited thereto. The terminal and the server may be connected directly or indirectly through wired or wireless communication, which is not limited in this application. In this embodiment, the method includes the following steps:
实时监控IB物理层获取原始子网管理数据包;Real-time monitoring of the IB physical layer to obtain the original subnet management data packets;
根据当前与IB物理层对接的接口通道数、数据宽度及编码方式,存储原始子网管理数据包,得到完整的子网管理数据包;According to the current number of interface channels, data width and encoding method connected with the IB physical layer, the original subnet management data packet is stored to obtain a complete subnet management data packet;
将完整的子网管理数据包进行CRC校验;Perform CRC check on the complete subnet management data packet;
如果CRC校验无误,向上层子网管理代理和上层子网管理接口通过统一的子网管理数据接口发送检验无误的子网管理数据包;If the CRC verification is correct, send the verified subnet management data packet to the upper subnet management agent and the upper subnet management interface through the unified subnet management data interface;
如果CRC校验有误,则丢弃该完整的子网管理数据包。If the CRC check is incorrect, the complete subnet management data packet is discarded.
实施例二Embodiment two
本实施例提供了一种InfiniBand网络子网管理报文处理系统,包括:This embodiment provides a system for processing InfiniBand network subnet management messages, including:
监控模块,被配置为实时监控IB物理层获取原始子网管理数据包;The monitoring module is configured to monitor the IB physical layer in real time to obtain the original subnet management data packet;
编码模块,被配置为根据当前与IB物理层对接的接口通道数、数据宽度及编码方式,存储子网管理数据包,得到完整的子网管理数据包;The encoding module is configured to store the subnet management data packet according to the number of interface channels, data width and encoding mode currently connected to the IB physical layer, and obtain a complete subnet management data packet;
校验模块,被配置为将完整的子网管理数据包进行CRC校验;A verification module configured to perform CRC verification on the complete subnet management data packet;
如果CRC校验无误,向上层子网管理代理和上层子网管理接口通过统一的子网管理数据接口发送检验无误的子网管理数据包;If the CRC verification is correct, send the verified subnet management data packet to the upper subnet management agent and the upper subnet management interface through the unified subnet management data interface;
如果CRC校验有误,则丢弃该完整的子网管理数据包。If the CRC check is incorrect, the complete subnet management data packet is discarded.
上述模块与对应的步骤所实现的示例和应用场景相同,但不限于上述实施例一所公开的内容。需要说明的是,上述模块作为系统的一部分可以在诸如一组计算机可执行指令的计算机系统中执行。The examples and application scenarios implemented by the above modules and corresponding steps are the same, but are not limited to the content disclosed in the first embodiment above. It should be noted that, as a part of the system, the above-mentioned modules can be executed in a computer system such as a set of computer-executable instructions.
上述实施例中对各个实施例的描述各有侧重,某个实施例中没有详述的部分可以参见其他实施例的相关描述。The description of each embodiment in the foregoing embodiments has its own emphases, and for parts not described in detail in a certain embodiment, reference may be made to relevant descriptions of other embodiments.
所提出的系统,可以通过其他的方式实现。例如以上所描述的系统实施例仅仅是示意性的,例如上述模块的划分,仅仅为一种逻辑功能划分,实际实现时,可以有另外的划分方式,例如多个模块可以结合或者可以集成到另外一个系统,或一些特征可以忽略,或不执行。The proposed system can be implemented in other ways. For example, the above-described system embodiments are only illustrative. For example, the division of the above modules is only a logical function division. In actual implementation, there may be other division methods, for example, multiple modules can be combined or integrated into another A system, or some feature, can be ignored, or not implemented.
实施例三Embodiment Three
如图1所示,本实施例提供了一种InfiniBand网络子网管理报文处理系统,采用如下技术方案:As shown in Figure 1, this embodiment provides a system for processing InfiniBand network subnet management messages, which adopts the following technical solutions:
一种InfiniBand网络子网管理报文处理系统,包括:A system for processing InfiniBand network subnet management messages, comprising:
IB物理层模块,用于向上层子网管理层发送原始子网管理数据包;The IB physical layer module is used to send the original subnet management data packet to the upper subnet management layer;
SMPReceive模块,用于实时监控IB物理层获取原始子网管理数据包,并将原始子网管理数据包根据当前与IB物理层对接的接口的格式存储,得到完整的子网管理数据包,并通过统一的子网管理数据接口向上层子网管理模块发送校验无误的子网管理数据包;The SMPReceive module is used to monitor the IB physical layer in real time to obtain the original subnet management data packet, and store the original subnet management data packet according to the format of the interface currently connected to the IB physical layer to obtain a complete subnet management data packet, and pass The unified subnet management data interface sends the verified subnet management data packet to the upper layer subnet management module;
上层子网管理模块,用于实时监控统一的子网管理数据接口,从校验无误的子网管理数据包中截获上层子网管理数据包,对上层子网管理数据包中对应字段进行修正,得到修正后的子网管理数据包;The upper-layer subnet management module is used to monitor the unified subnet management data interface in real time, intercept the upper-layer subnet management data packet from the verified subnet management data packet, and correct the corresponding fields in the upper-layer subnet management data packet, Get the corrected subnet management packet;
SMPSend模块,用于对修正后的子网管理数据包进行仲裁传输。The SMPSend module is used for arbitrating the modified subnet management data packets.
如图1所示,为实施例所述方案的完整关系图,其中由于IB网络物理层由于速率差异带来的物理层接口各种情况,IB物理层模块与SMPReceive模块之间,Buffer模块与SMPSend模块之间会因物理层速率不同导致需要对接不同的数据接口,如8B/10B 4x16、8B/10B 4x32等等。而由于IB网络链路层子网管理相关报文长度是固定的,因此为了使IB网络子网管理报文处理不受下层物理层接口情况影响,在链路层报文处理采用统一不变的子网管理数据接口。统一不变的子网管理数据接口是根据IB网络子网管理数据包格式设计。去除IB网络数据包的包头、包尾两个字节标识符,子网管理数据接口宽度是完整IB网络子网管理数据包,一共2272位宽、字节序为大端。也就是说,SMPReceive模块是将从不同的物理层获取的原始子网管理数据包存储成与统一的子网管理数据接口宽度相同的完整的子网管理数据包。As shown in Figure 1, it is a complete relationship diagram of the scheme described in the embodiment, wherein due to the various situations of the physical layer interface brought by the IB network physical layer due to the rate difference, between the IB physical layer module and the SMPReceive module, between the Buffer module and the SMPSend Due to the different physical layer rates, the modules need to be connected to different data interfaces, such as 8B/10B 4x16, 8B/10B 4x32 and so on. Since the length of the IB network link layer subnet management related packets is fixed, in order to prevent the IB network subnet management packet processing from being affected by the lower physical layer interface, a uniform and constant Subnet management data interface. The unified and unchanged subnet management data interface is designed according to the IB network subnet management data packet format. Remove the two byte identifiers of the header and tail of the IB network data packet, and the width of the subnet management data interface is the complete IB network subnet management data packet, with a total width of 2272 bits and a big-endian byte order. That is to say, the SMPReceive module stores the original subnet management data packets obtained from different physical layers into a complete subnet management data packet with the same width as the unified subnet management data interface.
IB物理层模块是根据IB网络物理层协议实现。由于物理层实时运行的速率、通道数、编码规则不同,会导致物理层数据接口宽度、通道数量有所不同。The IB physical layer module is implemented according to the IB network physical layer protocol. Due to the different real-time operation rate, number of channels, and coding rules of the physical layer, the data interface width and number of channels of the physical layer will be different.
SMPReceive模块是子网管理相关操作与下层物理层环境解耦的关键模块。其核心设计思路是为上层子网管理代理(SMA)模块与子网管理接口(SMI)模块提供统一不变的子网管理数据接口,同时根据下层物理层环境设计相应物理层数据接口。SMPRecive模块中还包含CRC校验检测单元,缓冲器单元,以便及时存储数据及转换时钟域(InfiniBand时钟域转换到子网管理处理时钟域)。The SMPReceive module is a key module for decoupling subnet management-related operations from the underlying physical layer environment. Its core design idea is to provide a unified subnet management data interface for the upper subnetwork management agent (SMA) module and subnetwork management interface (SMI) module, and design the corresponding physical layer data interface according to the lower physical layer environment. The SMPRecive module also includes a CRC check detection unit and a buffer unit to store data in time and switch the clock domain (the InfiniBand clock domain is converted to the subnetwork management processing clock domain).
如图2所示。SMPReceive模块首先是在监听物理层模块,检测是否有子网管理数据包。在检测到子网管理数据包之后,进行第二步操作。根据当前实时与物理层模块对接的接口通道数、数据宽度及编码方式,将子网管理数据包按对应的方式接收存储,同时进行数据包时钟域转换。如若当前物理层接口为4 通道,每通道16位宽度,编码方式为8B/10B,那么在这种情况下,存储子网管理数据就需要36个时钟周期。而若当前物理层接口为4通道,每通道32位宽度,编码方式不变情况下,存储子网管理数据就需要18个时钟周期。不同物理层接口通道数、数据宽度、编码方式,对于存储子网管理数据包时会需要不同周期数,不同存储格式,若不统一子网管理数据接口,则会影响到上层链路层处理子网管理数据包的设计开发。SMPReceive模块就对应不同的物理层接口情况,将数据按照对应的通道数、宽度、编码方式进行存储为统一的子网管理数据接口宽度。as shown in picture 2. The SMPReceive module first monitors the physical layer module to detect whether there is a subnet management packet. After detecting the subnet management packet, proceed to the second step. According to the number of interface channels, data width, and encoding method that are currently connected to the physical layer module in real time, the subnet management data packet is received and stored in a corresponding manner, and the data packet clock domain conversion is performed at the same time. If the current physical layer interface has 4 channels, each channel has a width of 16 bits, and the encoding method is 8B/10B, then in this case, 36 clock cycles are required to store the subnet management data. However, if the current physical layer interface has 4 channels, each channel has a width of 32 bits, and the encoding method remains the same, it takes 18 clock cycles to store the subnet management data. Different physical layer interface channel numbers, data widths, and encoding methods will require different cycle times and different storage formats for storing subnet management data packets. If the subnet management data interface is not unified, it will affect the processing of the upper link layer. Design and development of network management data package. The SMPReceive module corresponds to different physical layer interfaces, and stores data according to the corresponding channel number, width, and encoding method as a unified subnet management data interface width.
第三步就是将统一化的数据进行CRC校验,若CRC校验无误,向上层SMA 与SMI模块提供数据;有误则丢弃。The third step is to perform CRC check on the unified data. If the CRC check is correct, the data is provided to the upper layer SMA and SMI modules; if there is an error, it is discarded.
SMA模块,如图3所示,实时监控SMPReceive模块提供的子网管理数据接口,从中截获发送给自身SMA的子网管理数据包。在截获SMA类型的子网管理数据包之后,首先判断该数据包所要执行的操作类型。若为Get方法,那么下一步就根据子网管理数据包中相应字段要求,将相应所需数据放置于子网管理数据包相应字段位置,然后再修改子网管理数据包有关子网路由字段相应内容,最后将子网管理数据向上层Buffer模块提供;若为Set方法,则下一步先根据子网管理数据包中相应字段要求修改相应配置数据,然后再将修改后的配置数据放置于子网管理数据包相应字段位置,同时修改子网管理数据包有关子网路由字段相应内容,并将子网管理数据向上层Buffer模块提供。The SMA module, as shown in FIG. 3 , monitors the subnet management data interface provided by the SMPReceive module in real time, and intercepts the subnet management data packets sent to its own SMA. After intercepting the subnet management data packet of the SMA type, first determine the type of operation to be performed by the data packet. If it is the Get method, then the next step is to place the corresponding required data in the corresponding field position of the subnet management packet according to the requirements of the corresponding fields in the subnet management packet, and then modify the subnet routing field corresponding to the subnet management packet. content, and finally provide the subnet management data to the upper-layer Buffer module; if it is the Set method, the next step is to modify the corresponding configuration data according to the requirements of the corresponding fields in the subnet management packet, and then place the modified configuration data in the subnet The location of the corresponding field in the management data packet, and at the same time modify the corresponding content of the subnet routing field in the subnet management packet, and provide the subnet management data to the upper layer Buffer module.
SMI模块同样实时监控SMPReceive模块提供的子网管理数据接口,从中截获需要进行转发的子网管理数据包。SMI模块只需根据IB网络SMI协议规定,修改子网管理数据包有关子网路由字段相应内容,即可将子网管理数据向上层 Buffer模块提供。The SMI module also monitors the subnet management data interface provided by the SMPReceive module in real time, and intercepts the subnet management data packets that need to be forwarded. The SMI module only needs to modify the corresponding content of the subnet routing field in the subnet management data packet according to the IB network SMI protocol, and then provide the subnet management data to the upper layer Buffer module.
Buffer模块功能基本与SMPReceive模块一致,但是数据流向是相反的。如图4所示,首先接收下层SMI模块或SMA模块的子网管理数据并进行CRC校验,将得到CRC校验码放置于相应字段。第二步,对应不用的物理层接口情况,将子网管理数据按照对应的通道数、宽度、编码方式进行重新划分。第三步向上层SMPSend模块请求发送,得到上层SMPSend模块应答后发送数据。The function of the Buffer module is basically the same as that of the SMPReceive module, but the data flow is opposite. As shown in Figure 4, first receive the subnet management data of the lower layer SMI module or SMA module and perform CRC check, and place the obtained CRC check code in the corresponding field. In the second step, corresponding to the unused physical layer interface, the subnet management data is re-divided according to the corresponding channel number, width, and encoding method. The third step is to send a request to the upper-layer SMPSend module, and send the data after receiving the response from the upper-layer SMPSend module.
SMPSend模块负责对不同Buffer模块来的数据流进行仲裁传输,当SMI与 SMA数据流同时到来时,优先发送SMI数据流。The SMPSend module is responsible for arbitrating and transmitting the data streams from different Buffer modules. When the SMI and SMA data streams arrive at the same time, the SMI data stream is sent first.
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory, ROM)或随机存储记忆体(Random AccessMemory,RAM)等。Those of ordinary skill in the art can understand that all or part of the processes in the methods of the above embodiments can be implemented through computer programs to instruct related hardware, and the programs can be stored in a computer-readable storage medium. During execution, it may include the processes of the embodiments of the above-mentioned methods. Wherein, the storage medium may be a magnetic disk, an optical disk, a read-only memory (Read-Only Memory, ROM) or a random access memory (Random Access Memory, RAM) and the like.
上述虽然结合附图对本发明的具体实施方式进行了描述,但并非对本发明保护范围的限制,所属领域技术人员应该明白,在本发明的技术方案的基础上,本领域技术人员不需要付出创造性劳动即可做出的各种修改或变形仍在本发明的保护范围以内。Although the specific implementation of the present invention has been described above in conjunction with the accompanying drawings, it is not a limitation to the protection scope of the present invention. Those skilled in the art should understand that on the basis of the technical solution of the present invention, those skilled in the art do not need to pay creative work Various modifications or variations that can be made are still within the protection scope of the present invention.
Claims (10)
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210599429.1A CN115001627B (en) | 2022-05-30 | 2022-05-30 | A method and system for processing InfiniBand network subnet management messages |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210599429.1A CN115001627B (en) | 2022-05-30 | 2022-05-30 | A method and system for processing InfiniBand network subnet management messages |
Publications (2)
Publication Number | Publication Date |
---|---|
CN115001627A CN115001627A (en) | 2022-09-02 |
CN115001627B true CN115001627B (en) | 2023-06-09 |
Family
ID=83029052
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210599429.1A Active CN115001627B (en) | 2022-05-30 | 2022-05-30 | A method and system for processing InfiniBand network subnet management messages |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115001627B (en) |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6898752B2 (en) * | 2002-05-31 | 2005-05-24 | Agilent Technologies, Inc. | Apparatus and methods for combinational error detection in an InfiniBand switch |
US20040030763A1 (en) * | 2002-08-08 | 2004-02-12 | Manter Venitha L. | Method for implementing vendor-specific mangement in an inifiniband device |
US8037224B2 (en) * | 2002-10-08 | 2011-10-11 | Netlogic Microsystems, Inc. | Delegating network processor operations to star topology serial bus interfaces |
US7573876B2 (en) * | 2002-12-05 | 2009-08-11 | Intel Corporation | Interconnecting network processors with heterogeneous fabrics |
US20050018669A1 (en) * | 2003-07-25 | 2005-01-27 | International Business Machines Corporation | Infiniband subnet management queue pair emulation for multiple logical ports on a single physical port |
KR20110113420A (en) * | 2010-04-09 | 2011-10-17 | 삼성전자주식회사 | A method of storing data on a storage medium, a data storage device using the same, and a system including the same |
-
2022
- 2022-05-30 CN CN202210599429.1A patent/CN115001627B/en active Active
Also Published As
Publication number | Publication date |
---|---|
CN115001627A (en) | 2022-09-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8898222B2 (en) | Processing STREAMS messages over a system area network | |
CN112291293B (en) | Task processing method, related equipment and computer storage medium | |
CN114040467B (en) | A method, device, server and storage medium for determining a transmission path | |
CN106953853B (en) | A kind of network-on-chip Gigabit Ethernet resource node and working method thereof | |
CN106603420B (en) | It is a kind of in real time and failure tolerance network-on-chip router | |
WO2021052374A1 (en) | Network congestion control method, node, system and storage medium | |
CN118227343B (en) | A data processing method, system, device, equipment, medium and product | |
CN116760911A (en) | Heterogeneous protocol conversion system and method | |
CN114095901A (en) | Communication data processing method and device | |
CN108768667A (en) | A method of for internuclear network communication in multi-core processor piece | |
CN104598430B (en) | Network interface interconnection design and control system of CPU interconnection expansion system | |
CN113316212B (en) | Transmission method and device for base station forward data stream | |
CN109688071B (en) | A flexible Ethernet message forwarding method and device | |
CN115001627B (en) | A method and system for processing InfiniBand network subnet management messages | |
CN112887227B (en) | Method, system and related device for receiving messages in solid state disk | |
CN112291259B (en) | A protocol conversion method, gateway, device and readable storage medium | |
CN116489064B (en) | A method and device for constructing a multi-modal network test environment that combines internal and external fields | |
WO2014127633A1 (en) | Lldp packet transmission method and dcb device | |
WO2021103801A1 (en) | Information processing method and related device | |
WO2022160320A1 (en) | Communication device and data transmission method | |
CN118555252B (en) | Routing method, system, electronic device and storage medium | |
WO2022228401A1 (en) | Data transmission method, apparatus and system | |
WO2024174588A1 (en) | Forward path determination method and apparatus, electronic device and storage medium | |
CN208707664U (en) | A kind of shared ring networking module of real-time ethernet | |
WO2023202241A1 (en) | Communication method and related product |
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 |