WO2019227891A1 - Method and apparatus for implementing communication between nodes, and electronic device - Google Patents
Method and apparatus for implementing communication between nodes, and electronic device Download PDFInfo
- Publication number
- WO2019227891A1 WO2019227891A1 PCT/CN2018/120069 CN2018120069W WO2019227891A1 WO 2019227891 A1 WO2019227891 A1 WO 2019227891A1 CN 2018120069 W CN2018120069 W CN 2018120069W WO 2019227891 A1 WO2019227891 A1 WO 2019227891A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- sas
- physical channel
- ethernet
- message
- hba
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/38—Information transfer, e.g. on bus
- G06F13/42—Bus transfer protocol, e.g. handshake; Synchronisation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/38—Information transfer, e.g. on bus
- G06F13/42—Bus transfer protocol, e.g. handshake; Synchronisation
- G06F13/4282—Bus transfer protocol, e.g. handshake; Synchronisation on a serial bus, e.g. I2C bus, SPI bus
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L49/00—Packet switching elements
- H04L49/90—Buffering arrangements
- H04L49/9057—Arrangements for supporting packet reassembly or resequencing
-
- 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/26—Special purpose or proprietary protocols or architectures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2213/00—Indexing scheme relating to interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F2213/0028—Serial attached SCSI [SAS]
Definitions
- the present application relates to the field of data communication technology, and in particular, to a method, a device, and an electronic device for implementing communication between nodes.
- SAS Serial Attached SCSI
- Serial Attached SCSI is a new generation of SCSI (Small Computer System Interface) technology.
- SAS uses serial technology to achieve higher transmission speeds, and improves internal space by shortening the connection lines.
- SCSI is an independent processor standard for a system-level interface between a computer and an intelligent device (hard disk, floppy drive, optical drive, printer, scanner, etc.).
- SAS-HBA HyperText Bus Adapter, host bus adapter
- the communication interface adopted by the application layer of the user node is a SAS communication interface.
- the purpose of the embodiments of the present application is to provide a method, an apparatus, and an electronic device for implementing inter-node communication, so as to achieve an Ethernet-compatible communication interface of a SAS network system, thereby reducing the coupling between the application layer and the data transmission layer of a user node.
- an embodiment of the present application provides a method for implementing inter-node communication, which is applied to a serially connected user node in a small computer system interface SAS network system; the method includes:
- target data to be transmitted from the target program wherein the target program is a program that depends on the communication interface of the Ethernet;
- the SAS-HBA is a host bus adapter adopting the SAS protocol.
- the step of encapsulating the Ethernet packet into a SAS protocol packet includes:
- a SAS header is added to the Ethernet packet, and an Ethernet frame header field in the Ethernet packet is assigned to obtain a SAS protocol packet.
- the step of encapsulating the Ethernet packet into a SAS protocol packet includes:
- a SAS header is added to the aggregated Ethernet packet, and an Ethernet frame header field in the Ethernet packet is assigned to obtain a SAS protocol packet.
- the sending the SAS protocol message to a SAS-HBA in the user node so that the SAS-HBA sends the SAS protocol message to a data receiver as a data receiver through a forwarding node.
- the steps for the destination user node include:
- the initial SAS address of each physical channel in the SAS-HBA is different.
- the method further includes:
- the target physical channel that meets the predetermined idle condition wherein the first physical channel is the Any physical channel or predetermined physical channel;
- the SAS address of the target physical channel is reset to the SAS address of the first physical channel.
- the step of resetting the SAS address of the target physical channel to the SAS address of the first physical channel includes:
- the target physical channel is enabled.
- an embodiment of the present application provides a device for implementing inter-node communication, which is applied to a serially connected user node in a small computer system interface SAS network system; the device includes:
- An Ethernet message constructing unit configured to construct an Ethernet message carrying the target data
- a message encapsulation unit configured to encapsulate the Ethernet message into a SAS protocol message
- a message sending unit configured to send the SAS protocol message to a SAS-HBA in the user node, so that the SAS-HBA sends the SAS protocol message to a data receiver through a forwarding node A destination user node; wherein when the destination user node receives the SAS protocol message, it decapsulates the SAS protocol message into the Ethernet message, and decapsulates the Ethernet message Is the target data; wherein, the SAS-HBA is a host bus adapter using the SAS protocol.
- the message encapsulation unit includes:
- the first packet encapsulation subunit is configured to add a SAS header to the Ethernet packet, and assign a value to an Ethernet frame header field in the Ethernet packet to obtain a SAS protocol packet.
- the message encapsulation unit includes:
- An aggregation subunit configured to aggregate multiple Ethernet packets to be transmitted including the Ethernet packet to obtain an aggregated Ethernet packet; wherein the multiple Ethernet packets to be transmitted correspond to the same data The receiver, and the data amount of the plurality of Ethernet packets to be transmitted is not greater than a predetermined data amount threshold;
- the second message encapsulation subunit is configured to add a SAS header to the aggregated Ethernet packet, and assign a value to an Ethernet frame header field in the Ethernet packet to obtain a SAS protocol packet.
- the message sending unit is specifically configured to:
- the initial SAS address of each physical channel in the SAS-HBA is different.
- the apparatus further includes:
- a physical channel searching unit configured to find a target physical channel that meets a predetermined idle condition when detecting that the data traffic of the first physical channel in the SAS-HBA meets a predetermined channel busy condition; wherein the first physical channel is Any physical channel or a predetermined physical channel in the SAS-HBA;
- the address resetting unit is configured to reset the SAS address of the target physical channel to the SAS address of the first physical channel when the target physical channel is found.
- the address resetting unit is specifically configured to:
- the target physical channel is enabled.
- an embodiment of the present application provides an electronic device.
- the electronic device is a user node in a serial connection small computer system interface SAS network system, and includes a processor, a communication interface, a memory, and a communication bus. Device, communication interface, and memory to complete mutual communication through the communication bus;
- the processor is configured to implement a method for implementing communication between nodes provided in the embodiments of the present application when a program stored in a memory is executed.
- an embodiment of the present application provides a computer-readable storage medium, where the computer-readable storage medium stores a computer program, and when the computer program is executed by a processor, a computer program provided by the embodiment of the application is implemented.
- an embodiment of the present application further provides an executable program code, where the executable program code is used to run to execute a method step of implementing communication between nodes provided by the embodiment of the present application.
- the user node after the user node obtains the target data to be transmitted from the target program, it first encapsulates the target data into an Ethernet message, and then constructs a SAS protocol message and transmits the SAS protocol message. So that the program relying on the communication interface of Ethernet can be applied to the user node. Therefore, through this solution, the communication interface compatible with the Ethernet of the SAS network system can be realized, thereby reducing the purpose of coupling the application layer and the data transmission layer of the user node.
- FIG. 1 is a flowchart of a method for implementing communication between nodes according to an embodiment of the present application
- FIG. 3 (a) is a schematic diagram of a physical channel included in a SAS port before dynamic adjustment
- FIG. 3 (b) is a schematic diagram of a physical channel included in a SAS port after dynamic adjustment
- FIG. 4 is a schematic diagram of a topology of a SAS network system according to an embodiment of the present application.
- FIG. 5 is a schematic structural diagram of a device for implementing communication between nodes according to an embodiment of the present application
- FIG. 6 is a schematic structural diagram of an electronic device according to an embodiment of the present application.
- the embodiments of the present application provide a method, a device, and an electronic device for implementing communication between nodes.
- the method for implementing communication between nodes is applied to a user node in a SAS network system.
- the device type of the user node may be: a computer, a printer, a scanner, and the like.
- the SAS network system described in the embodiment of the present application may be a local area network system. In this local area network system, each user node may perform data transfer through a SAS switch.
- the SAS network system described in the embodiment of the present application may also be a wide area network system. In this wide area network system, each user node may perform data transfer through a SAS switch and a SAS gateway.
- the user node in the SAS network system is a device that uses the SAS protocol for data transmission at the data transmission layer, which is specifically reflected in the use of SAS-HBA as the network card device.
- a SAS switch is a switch that uses the SAS protocol for data transmission at the data transmission layer
- a SAS gateway is a gateway that uses the SAS protocol for data transmission at the data transmission layer.
- a method for implementing communication between nodes may include the following steps:
- the target program is a program that depends on the communication interface of the Ethernet.
- the user node can obtain the target data to be transmitted from the target program, and then perform subsequent processing on the target data.
- target data sent by the target program can be: user data generated based on user operations, or data generated by the program itself, which are all reasonable.
- the target data to be transmitted sent by the target program is application layer data
- the target program is a program that depends on the communication interface of Ethernet
- the user node is acquiring the target
- an Ethernet message carrying the target data can be constructed.
- the data transmission protocol of the Ethernet can be a TCP / IP protocol
- the Ethernet packet can be a TCP / IP protocol packet.
- TCP / IP protocol short for Transmission Control Protocol / Internet Protocol
- Chinese translation is called Transmission Control Protocol / Internet Interconnection Protocol, also known as network communication protocol. It is the most basic protocol of the Internet, the basis of the Internet, It consists of the IP protocol at the layer and the TCP protocol at the transport layer.
- the specific construction method of constructing the Ethernet packet carrying the target data is the same as that in the prior art.
- the Ethernet packet carries an active IP address and a destination IP address, wherein the source IP address is the IP address of the user node, and the destination IP address is the IP address of the destination user node as a data receiver.
- the IP address is Internet Protocol Address, which is a method of addressing hosts on the Internet, also known as an Internet Protocol address.
- the user node can encapsulate the Ethernet message into a SAS protocol message, where the SAS protocol message is compliant SAS transmission specification message.
- the SAS protocol packet carries the source SAS address and the destination SAS address.
- the source SAS address is: the SAS address of the user node that is the sender of the data, specifically: the SAS address of the physical channel in the first SAS-HBA (Host Bus Adapter).
- the first SAS-HBA is SAS-HBA installed on a user node as a data sender.
- the destination SAS address is: the SAS address of the user node as the data receiver, specifically the SAS address of the physical channel in the second SAS-HBA, which is installed on the user node as the data receiver SAS-HBA.
- each user node in a SAS network system when a user node in a SAS network system joins the SAS network system, it reads the SAS address from its corresponding SAS-HBA and broadcasts it to the SAS network system. Other user nodes in. In this way, each user node in the SAS network system can store the SAS address of each user node in the SAS network system in the address chain table.
- any SAS-HBA may include multiple physical channels, and each physical channel is provided with an 8-byte SAS address.
- the physical channels with the same SAS address belong to one SAS port. In this way, the number of SAS ports is the same as the number of SAS addresses. It should be noted that in one implementation, the initial SAS address of each physical channel in any SAS-HBA can be different. At this time, one SAS port includes one physical channel. In this way, the same number of physical channels can be constructed. Network card device to achieve physical isolation between TCP / IP channels.
- the step of encapsulating the Ethernet packet into a SAS protocol packet may include:
- a SAS header is added to the Ethernet packet, and an Ethernet frame header field in the Ethernet packet is assigned to obtain a SAS protocol packet.
- the fields included in the SAS header added to the Ethernet packet are the same as the fields included in the header of the SAS protocol packet in the prior art. Specifically, the fields may include at least the source SAS address, the destination SAS address, SAS body length, SAS header length, etc.
- Figure 2 shows the message format of the SAS protocol message. As shown in Figure 2, the SAS header is the SAS header. The Ethernet frame header, IP header, TCP header, data, and frame check sequence form the SAS protocol message. The style of the message.
- the value of the source MAC (Media Access Control) address in the Ethernet frame header field may be: the lower 6 bits of the source SAS address; and the value of the destination MAC address in the Ethernet frame header field may be For: The lower 6 bits of the destination SAS address are of course not limited to this.
- the source MAC address is the MAC address of the user node, and the destination MAC address is the MAC address of the destination user node.
- the step of encapsulating the Ethernet packet into a SAS protocol packet may include:
- Aggregating multiple Ethernet packets to be transmitted including the Ethernet packet to obtain an aggregated Ethernet packet; wherein the multiple Ethernet packets to be transmitted correspond to the same data receiver, and the multiple The data volume of the transmitted Ethernet packets is not greater than the predetermined data volume threshold;
- a SAS header is added to the aggregated Ethernet packet, and an Ethernet frame header field in the Ethernet packet is assigned to obtain a SAS protocol packet.
- the plurality of Ethernet packets are packets extracted according to a transmission order, that is, the plurality of Ethernet packets are a plurality of packets transmitted continuously.
- the predetermined data amount threshold can be set according to actual conditions.
- for a specific implementation manner of adding a SAS header to the aggregated Ethernet packet and assigning values to the Ethernet frame header field in the Ethernet packet refer to the related content described above.
- S104 Send the SAS protocol message to the SAS-HBA in the user node, so that the SAS-HBA sends the SAS protocol message to the destination user node as a data receiver through the forwarding node.
- the user node may send the SAS protocol message to the SAS-HBA in the user node, so that the SAS-HBA sends the SAS protocol message to the data as a data through the forwarding node.
- the destination user node of the receiver Further, when receiving the SAS protocol message, the destination user node decapsulates the SAS protocol message into the Ethernet message, and decapsulates the Ethernet message into the target data.
- the user node sends the SAS protocol message to the SAS-HBA in the user node, so that the SAS-HBA uses a physical channel having a source SAS address in the SAS protocol message, and forwards the The SAS protocol message is sent to the destination user node as the data receiver.
- the SAS-HBA in the destination user node can receive the SAS protocol message sent by the forwarding device, and then the destination user node decapsulates the SAS protocol message twice, and finally obtains the target data.
- the forwarding node is a SAS switch.
- the SAS-HBA sends the SAS protocol message to a SAS switch using a physical channel having a source SAS address in the SAS protocol message, and the SAS switch sends the SAS protocol message to a destination node.
- the process of forwarding the SAS protocol message is the same as the process of forwarding the SAS protocol message after the SAS switch of the prior art SAS network system receives a SAS protocol message. It is the same and will not be repeated here.
- the user node after the user node obtains the target data to be transmitted from the target program, it first encapsulates the target data into an Ethernet message, and then constructs a SAS protocol message and transmits the SAS protocol message. So that the program relying on the communication interface of Ethernet can be applied to the user node. Therefore, through this solution, the communication interface compatible with the Ethernet of the SAS network system can be realized, thereby reducing the purpose of coupling the application layer and the data transmission layer of the user node.
- the method for implementing communication between nodes may further include the following steps A and B:
- Step A When detecting that the data flow of the first physical channel in the SAS-HBA meets the predetermined channel busy condition, find a target physical channel that meets the predetermined idle condition; wherein the first physical channel is in the SAS-HBA Any physical channel or scheduled physical channel;
- the user node can detect the data traffic of each physical channel in its SAS-HBA through real-time detection, timing detection or polling detection, and then when detecting its own SAS-HBA When the data traffic of the first physical channel meets the busy condition of the predetermined channel, the target physical channel that meets the predetermined idle condition is searched, where the first physical channel is any physical channel in the SAS-HBA.
- the user node can detect the data traffic of a predetermined physical channel in its SAS-HBA, and then the predetermined physical channel is the first physical channel; further, when the predetermined physical channel is detected When the data traffic meets the predetermined channel busy condition, find the target physical channel that meets the predetermined idle condition.
- the predetermined channel busy condition and the predetermined idle condition can be set according to actual conditions.
- the predetermined channel busy condition can be that the unit data traffic exceeds the predetermined traffic upper limit value
- the predetermined idle condition can be that the unit data traffic is low.
- the lower limit of the predetermined flow rate is of course not limited to this.
- Step B When the target physical channel is found, reset the SAS address of the target physical channel to the SAS address of the first physical channel.
- the user node can reset the SAS address of the target physical channel to the SAS address of the first physical channel, so that the number of physical channels in the SAS port where the busy physical channel is located can be obtained. Increase, that is, the port gets aggregated. By dynamically adjusting the number of physical channels included in the SAS port, the communication bandwidth can be dynamically controlled.
- the step of resetting the SAS address of the target physical channel to the SAS address of the first physical channel may include:
- each physical channel belongs to a different SAS port.
- SAS port port1 includes physical channel phy1
- SAS port port2 includes physical channel phy2
- port3 includes a physical channel phy3
- SAS port port4 includes a physical channel phy4.
- the included physical channels are adjusted from only including phy1 to phy1, 2, 3, and 4, that is, phy1, phy2, phy3, and phy4 are aggregated into port1, as shown in Figure 3 (b), so as to achieve the purpose of dynamically controlling the communication bandwidth.
- the SAS addresses of phy2, phy3, and phy4 are deleted from the address list, and the SAS address of phy1 is regarded as belonging to the same SAS port.
- the SAS addresses of phy2, phy3, and phy4 are kept in the address list.
- the user node retransmits the untransmitted packets from phy2, phy3, and phy4 before the aggregation.
- the SAS address corresponding to port1 is used for retransmission.
- the retransmitted packets can be transmitted through four physical channels.
- FIG. 4 is a schematic diagram of a topology of a SAS network system according to an embodiment of the present application. As shown in FIG. 4, a method for implementing communication between nodes may include the following steps:
- the application layer of node-1 After receiving the socket communication request, the application layer of node-1 obtains the application layer data packet corresponding to the socket communication request and sends the application layer data packet to the TCP / IP stack of node-1 belonging to the software;
- the TCP / IP stack of node-1 constructs an Ethernet message carrying the application layer data packet, and sends the Ethernet message to the virtual Ethernet driver of node-1 belonging to the software;
- the virtual Ethernet driver of node-1 encapsulates the Ethernet message into a SAS protocol message and sends the SAS protocol message to the SAS-HBA driver of node-1 belonging to the software;
- the SAS-HBA driver of node-1 sends the SAS protocol packet to the SAS-HBA of node-1 belonging to the hardware;
- the SAS-HBA belonging to the node-n belonging to the hardware receives the SAS protocol packet forwarded by the SAS switch and passes it to the SAS-HBA driver belonging to the node-n belonging to the software;
- the SAS-HBA driver of node-n sends the received SAS protocol message to the virtual Ethernet driver of node-n belonging to the software;
- the virtual Ethernet driver of node-n decapsulates the SAS protocol message into an Ethernet message, and passes the Ethernet message to the TCP / IP protocol stack belonging to the software;
- the TCP-IP protocol stack of node-n parses the Ethernet message into an application layer data packet.
- the node-1 and node-n SAS-HBAs can monitor the data traffic of each physical channel or a predetermined physical channel, and then dynamically adjust the number of physical channels in the SAS port to achieve dynamic control of TCP / IP communication bandwidth.
- an Ethernet-compatible communication interface of the SAS network system can be realized, thereby reducing the purpose of coupling the application layer and the data transmission layer of the user node.
- an embodiment of the present application provides a device for implementing inter-node communication, which is applied to a serially connected user node in a small computer system interface SAS network system.
- the device for implementing communication between nodes may include:
- the data obtaining unit 510 is configured to obtain target data to be transmitted sent by the target program, where the target program is a program that depends on a communication interface of the Ethernet;
- An Ethernet packet constructing unit 520 configured to construct an Ethernet packet carrying the target data
- a packet encapsulating unit 530 configured to encapsulate the Ethernet packet into a SAS protocol packet
- a message sending unit 540 configured to send the SAS protocol message to a SAS-HBA in the user node, so that the SAS-HBA sends the SAS protocol message to the data receiver through a forwarding node
- the destination user node of the party when the destination user node receives the SAS protocol message, it decapsulates the SAS protocol message into the Ethernet message, and decompresses the Ethernet message
- the package is the target data; wherein, the SAS-HBA is a host bus adapter using the SAS protocol.
- the user node after the user node obtains the target data to be transmitted from the target program, it first encapsulates the target data into an Ethernet message, and then constructs a SAS protocol message and transmits the SAS protocol message. So that the program relying on the communication interface of Ethernet can be applied to the user node. Therefore, through this solution, the communication interface compatible with Ethernet of the SAS network system can be realized, thereby reducing the coupling between the application layer and the data transmission layer of the user node.
- the message encapsulation unit 530 may include:
- the first packet encapsulation subunit is configured to add a SAS header to the Ethernet packet, and assign a value to an Ethernet frame header field in the Ethernet packet to obtain a SAS protocol packet.
- the message encapsulation unit 530 may include:
- An aggregation subunit configured to aggregate multiple Ethernet packets to be transmitted including the Ethernet packet to obtain an aggregated Ethernet packet; wherein the multiple Ethernet packets to be transmitted correspond to the same data The receiver, and the data amount of the plurality of Ethernet packets to be transmitted is not greater than a predetermined data amount threshold;
- the second message encapsulation subunit is configured to add a SAS header to the aggregated Ethernet packet, and assign a value to an Ethernet frame header field in the Ethernet packet to obtain a SAS protocol packet.
- the message sending unit 540 is specifically configured to:
- the initial SAS address of each physical channel in the SAS-HBA is different.
- the apparatus further includes:
- a physical channel searching unit configured to find a target physical channel that meets a predetermined idle condition when detecting that the data traffic of the first physical channel in the SAS-HBA meets a predetermined channel busy condition; wherein the first physical channel is Any physical channel or a predetermined physical channel in the SAS-HBA;
- the address resetting unit is configured to reset the SAS address of the target physical channel to the SAS address of the first physical channel when the target physical channel is found.
- the address resetting unit is specifically configured to:
- the target physical channel is enabled.
- An embodiment of the present application further provides an electronic device, as shown in FIG. 6, including a processor 610, a communication interface 620, a memory 630, and a communication bus 640, where the processor 610, the communication interface 620, and the memory 630 pass the communication bus 640.
- a memory 630 configured to store a computer program
- the processor 610 is configured to implement a method step for implementing communication between nodes provided in the embodiment of the present application when a program stored in the memory 630 is executed.
- the communication bus mentioned in the above electronic device may be a Peripheral Component Interconnect (PCI) bus or an Extended Industry Standard Architecture (EISA) bus, etc.
- PCI Peripheral Component Interconnect
- EISA Extended Industry Standard Architecture
- the communication bus can be divided into an address bus, a data bus, a control bus, and the like. For ease of representation, the figure only uses a thick line, but it does not mean that there is only one bus or one type of bus.
- the communication interface is used for communication between the aforementioned electronic device and other devices.
- the memory may include random access memory (Random Access Memory, RAM), and may also include non-volatile memory (Non-Volatile Memory, NVM), such as at least one disk memory.
- NVM non-Volatile Memory
- the memory may also be at least one storage device located far from the foregoing processor.
- the above processor may be a general-purpose processor, including a central processing unit (CPU), a network processor (NP), etc .; it may also be a digital signal processor (Digital Signal Processing, DSP), special integration Circuit (Application Specific Integrated Circuit, ASIC), Field-Programmable Gate Array (FPGA) or other programmable logic devices, discrete gate or transistor logic devices, discrete hardware components.
- CPU central processing unit
- NP network processor
- DSP Digital Signal Processing
- ASIC Application Specific Integrated Circuit
- FPGA Field-Programmable Gate Array
- an embodiment of the present application further provides a computer-readable storage medium.
- the computer-readable storage medium stores a computer program, and the computer program is executed by a processor to implement an implementation provided by the embodiment of the present application. Method steps for communication between nodes.
- the embodiment of the present application also provides an executable program code, where the executable program code is used to be executed to perform a method step of implementing communication between nodes provided by the embodiment of the present application.
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computing Systems (AREA)
- Computer Security & Cryptography (AREA)
- Computer And Data Communications (AREA)
Abstract
Description
Claims (17)
- 一种实现节点间通讯的方法,其特征在于,应用于串行连接小型计算机系统接口SAS网络系统中的用户节点;所述方法包括:A method for implementing communication between nodes, which is characterized in that it is applied to a user node in a serial connection small computer system interface SAS network system; the method includes:获得目标程序发出的待传输的目标数据;其中,该目标程序为依赖以太网的通讯接口的程序;Obtaining target data to be transmitted from the target program; wherein the target program is a program that depends on the communication interface of the Ethernet;构建携带有所述目标数据的以太网报文;Constructing an Ethernet message carrying the target data;将所述以太网报文封装为SAS协议报文;Encapsulating the Ethernet message into a SAS protocol message;将所述SAS协议报文发送给所述用户节点中的SAS-HBA,以使得所述SAS-HBA通过转发节点,将所述SAS协议报文发送至作为数据接收方的目的用户节点;其中,所述目的用户节点在接收到所述SAS协议报文时,将所述SAS协议报文解封装为所述以太网报文,并将所述以太网报文解封装为所述目标数据;其中,所述SAS-HBA为采用SAS协议的主机总线适配器。Sending the SAS protocol message to a SAS-HBA in the user node, so that the SAS-HBA sends the SAS protocol message to a destination user node as a data receiver through a forwarding node; wherein, When receiving the SAS protocol message, the destination user node decapsulates the SAS protocol message into the Ethernet message, and decapsulates the Ethernet message into the target data; wherein The SAS-HBA is a host bus adapter adopting the SAS protocol.
- 根据权利要求1所述的方法,其特征在于,所述将所述以太网报文封装为SAS协议报文的步骤,包括:The method according to claim 1, wherein the step of encapsulating the Ethernet packet into a SAS protocol packet comprises:对所述以太网报文添加SAS报头,并为所述以太网报文中的以太网帧头字段进行赋值,得到SAS协议报文。A SAS header is added to the Ethernet packet, and an Ethernet frame header field in the Ethernet packet is assigned to obtain a SAS protocol packet.
- 根据权利要求1所述的方法,其特征在于,所述将所述以太网报文封装为SAS协议报文的步骤,包括:The method according to claim 1, wherein the step of encapsulating the Ethernet packet into a SAS protocol packet comprises:将包含所述以太网报文的多个待传输以太网报文进行聚合,得到聚合后的以太网报文;其中,所述多个待传输以太网报文对应同一数据接收方,且所述多个待传输以太网报文的数据量不大于预定数据量阈值;Aggregating a plurality of Ethernet packets to be transmitted including the Ethernet packet to obtain an aggregated Ethernet packet; wherein the plurality of Ethernet packets to be transmitted correspond to a same data receiver, and the The data volume of multiple Ethernet packets to be transmitted is not greater than a predetermined data volume threshold;对所述聚合后的以太网报文添加SAS报头,并为所述以太网报文中的以太网帧头字段进行赋值,得到SAS协议报文。A SAS header is added to the aggregated Ethernet packet, and an Ethernet frame header field in the Ethernet packet is assigned to obtain a SAS protocol packet.
- 根据权利要求1所述的方法,其特征在于,所述将所述SAS协议报文发送给所述用户节点中的SAS-HBA,以使得所述SAS-HBA通过转发节点,将所述SAS协议报文发送至作为数据接收方的目的用户节点的步骤,包括:The method according to claim 1, wherein the sending the SAS protocol message to a SAS-HBA in the user node, so that the SAS-HBA passes the SAS protocol through a forwarding node The steps for sending the message to the destination user node as the data receiver include:将所述SAS协议报文发送给该用户节点中的SAS-HBA,以使得所述 SAS-HBA利用具有所述SAS协议报文中源SAS地址的物理通道,通过转发节点,将所述SAS协议报文发送至作为数据接收方的目的用户节点。Sending the SAS protocol message to the SAS-HBA in the user node, so that the SAS-HBA uses the physical channel with the source SAS address in the SAS protocol message to forward the SAS protocol through the forwarding node The message is sent to the destination user node as the data receiver.
- 根据权利要求4所述的方法,其特征在于,所述SAS-HBA中的每个物理通道的初始SAS地址不同。The method according to claim 4, wherein an initial SAS address of each physical channel in the SAS-HBA is different.
- 根据权利要求4或5所述的方法,其特征在于,所述方法还包括:The method according to claim 4 or 5, further comprising:当检测到自身的SAS-HBA中的第一物理通道的数据流量符合预定通道忙碌条件时,查找符合预定空闲条件的目标物理通道;其中,所述第一物理通道为所述SAS-HBA中的任一物理通道或预定物理通道;When it is detected that the data flow of the first physical channel in the SAS-HBA meets the predetermined channel busy condition, find the target physical channel that meets the predetermined idle condition; wherein the first physical channel is the Any physical channel or predetermined physical channel;当查找到所述目标物理通道时,将所述目标物理通道的SAS地址重设为所述第一物理通道的SAS地址。When the target physical channel is found, the SAS address of the target physical channel is reset to the SAS address of the first physical channel.
- 根据权利要求6所述的方法,其特征在于,所述将所述目标物理通道的SAS地址重设为所述第一物理通道的SAS地址的步骤,包括:The method according to claim 6, wherein the step of resetting the SAS address of the target physical channel to the SAS address of the first physical channel comprises:将所述目标物理通道进行禁用;Disable the target physical channel;将所述目标物理通道的SAS地址设置为所述第一物理通道的SAS地址;Setting the SAS address of the target physical channel to the SAS address of the first physical channel;在设置完成后,将所述目标物理通道进行使能。After the setting is completed, the target physical channel is enabled.
- 一种实现节点间通讯的装置,其特征在于,应用于串行连接小型计算机系统接口SAS网络系统中的用户节点;所述装置包括:A device for implementing inter-node communication is characterized in that it is applied to a user node in a serial connection small computer system interface SAS network system; the device includes:数据获得单元,用于获得目标程序发出的待传输的目标数据;其中,该目标程序为依赖以太网的通讯接口的程序;A data obtaining unit for obtaining target data to be transmitted from the target program; wherein the target program is a program that depends on a communication interface of the Ethernet;以太网报文构建单元,用于构建携带有所述目标数据的以太网报文;An Ethernet message constructing unit, configured to construct an Ethernet message carrying the target data;报文封装单元,用于将所述以太网报文封装为SAS协议报文;A message encapsulation unit, configured to encapsulate the Ethernet message into a SAS protocol message;报文发送单元,用于将所述SAS协议报文发送给所述用户节点中的SAS-HBA,以使得所述SAS-HBA通过转发节点,将所述SAS协议报文发送至作为数据接收方的目的用户节点;其中,所述目的用户节点在接收到所述SAS协议报文时,将所述SAS协议报文解封装为所述以太网报文,并将所述以太网报文解封装为所述目标数据;其中,所述SAS-HBA为采用SAS协议的主机总 线适配器。A message sending unit, configured to send the SAS protocol message to a SAS-HBA in the user node, so that the SAS-HBA sends the SAS protocol message to a data receiver through a forwarding node A destination user node; wherein when the destination user node receives the SAS protocol message, it decapsulates the SAS protocol message into the Ethernet message, and decapsulates the Ethernet message Is the target data; wherein, the SAS-HBA is a host bus adapter using the SAS protocol.
- 根据权利要求8所述的装置,其特征在于,所述报文封装单元包括:The apparatus according to claim 8, wherein the message encapsulation unit comprises:第一报文封装子单元,用于对所述以太网报文添加SAS报头,并为所述以太网报文中的以太网帧头字段进行赋值,得到SAS协议报文。The first packet encapsulation subunit is configured to add a SAS header to the Ethernet packet, and assign a value to an Ethernet frame header field in the Ethernet packet to obtain a SAS protocol packet.
- 根据权利要求8所述的装置,其特征在于,所述报文封装单元包括:The apparatus according to claim 8, wherein the message encapsulation unit comprises:聚合子单元,用于将包含所述以太网报文的多个待传输以太网报文进行聚合,得到聚合后的以太网报文;其中,所述多个待传输以太网报文对应同一数据接收方,且所述多个待传输以太网报文的数据量不大于预定数据量阈值;An aggregation subunit, configured to aggregate multiple Ethernet packets to be transmitted including the Ethernet packet to obtain an aggregated Ethernet packet; wherein the multiple Ethernet packets to be transmitted correspond to the same data The receiver, and the data amount of the plurality of Ethernet packets to be transmitted is not greater than a predetermined data amount threshold;第二报文封装子单元,用于对所述聚合后的以太网报文添加SAS报头,并为所述以太网报文中的以太网帧头字段进行赋值,得到SAS协议报文。The second message encapsulation subunit is configured to add a SAS header to the aggregated Ethernet packet, and assign a value to an Ethernet frame header field in the Ethernet packet to obtain a SAS protocol packet.
- 根据权利要求8所述的装置,其特征在于,所述报文发送单元具体用于:The apparatus according to claim 8, wherein the message sending unit is specifically configured to:将所述SAS协议报文发送给该用户节点中的SAS-HBA,以使得所述SAS-HBA利用具有所述SAS协议报文中源SAS地址的物理通道,通过转发节点,将所述SAS协议报文发送至作为数据接收方的目的用户节点。Sending the SAS protocol message to the SAS-HBA in the user node, so that the SAS-HBA uses the physical channel with the source SAS address in the SAS protocol message to forward the SAS protocol through the forwarding node The message is sent to the destination user node as the data receiver.
- 根据权利要求11所述的装置,其特征在于,所述SAS-HBA中的每个物理通道的初始SAS地址不同。The apparatus according to claim 11, wherein an initial SAS address of each physical channel in the SAS-HBA is different.
- 根据权利要求11或12所述的装置,其特征在于,所述装置还包括:The device according to claim 11 or 12, wherein the device further comprises:物理通道查找单元,用于当检测到自身的SAS-HBA中的第一物理通道的数据流量符合预定通道忙碌条件时,查找符合预定空闲条件的目标物理通道;其中,所述第一物理通道为所述SAS-HBA中的任一物理通道或预定物理通道;A physical channel searching unit, configured to find a target physical channel that meets a predetermined idle condition when detecting that the data traffic of the first physical channel in the SAS-HBA meets a predetermined channel busy condition; wherein the first physical channel is Any physical channel or a predetermined physical channel in the SAS-HBA;地址重设单元,用于当查找到所述目标物理通道时,将所述目标物理通道的SAS地址重设为所述第一物理通道的SAS地址。The address resetting unit is configured to reset the SAS address of the target physical channel to the SAS address of the first physical channel when the target physical channel is found.
- 根据权利要求13所述的装置,其特征在于,所述地址重设单元具体用于:The apparatus according to claim 13, wherein the address resetting unit is specifically configured to:当查找到所述目标物理通道时,将所述目标物理通道进行禁用;When the target physical channel is found, disable the target physical channel;将所述目标物理通道的SAS地址设置为所述第一物理通道的SAS地址;Setting the SAS address of the target physical channel to the SAS address of the first physical channel;在设置完成后,将所述目标物理通道进行使能。After the setting is completed, the target physical channel is enabled.
- 一种电子设备,所述电子设备为串行连接小型计算机系统接口SAS网络系统中的用户节点,其特征在于,包括处理器、通信接口、存储器和通信总线,其中,处理器,通信接口,存储器通过通信总线完成相互间的通信;An electronic device is a user node in a serial connection small computer system interface SAS network system, characterized in that it includes a processor, a communication interface, a memory, and a communication bus, wherein the processor, the communication interface, and the memory Complete communication with each other through the communication bus;存储器,用于存放计算机程序;Memory for storing computer programs;处理器,用于执行存储器上所存放的程序时,实现权利要求1-7任一所述的方法步骤。The processor is configured to implement the method steps according to any one of claims 1 to 7 when executing a program stored in the memory.
- 一种计算机可读存储介质,其特征在于,所述计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现权利要求1-7任一所述的方法步骤。A computer-readable storage medium, characterized in that a computer program is stored in the computer-readable storage medium, and when the computer program is executed by a processor, the method steps according to any one of claims 1-7 are implemented.
- 一种可执行程序代码,其特征在于,所述可执行程序代码用于被运行以执行权利要求1-7任一所述的方法步骤。An executable program code, wherein the executable program code is used to be executed to execute the method steps according to any one of claims 1-7.
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810550194.0A CN110557354B (en) | 2018-05-31 | 2018-05-31 | Method and device for realizing communication between nodes and electronic equipment |
CN201810550194.0 | 2018-05-31 |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2019227891A1 true WO2019227891A1 (en) | 2019-12-05 |
Family
ID=68698600
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/CN2018/120069 WO2019227891A1 (en) | 2018-05-31 | 2018-12-10 | Method and apparatus for implementing communication between nodes, and electronic device |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN110557354B (en) |
WO (1) | WO2019227891A1 (en) |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112636789A (en) * | 2020-12-31 | 2021-04-09 | 广东电网有限责任公司电力调度控制中心 | Virtual MAC method and device for power line communication |
CN114157684A (en) * | 2020-08-18 | 2022-03-08 | 华为终端有限公司 | Message processing method, device and storage medium |
CN114338262A (en) * | 2021-11-26 | 2022-04-12 | 国网信息通信产业集团有限公司 | Energy cabin communication method and system and electronic equipment |
CN114928589A (en) * | 2022-03-17 | 2022-08-19 | 京东科技信息技术有限公司 | Data transmission method, data transmission device, computer readable medium and equipment |
CN115086446A (en) * | 2022-08-16 | 2022-09-20 | 国能日新科技股份有限公司 | Data transmission method, system, device, equipment and computer readable storage medium |
CN116016725A (en) * | 2023-03-24 | 2023-04-25 | 深圳开鸿数字产业发展有限公司 | Information transmission method, computer device and storage medium |
CN116436994A (en) * | 2023-06-15 | 2023-07-14 | 杭州禾芯半导体有限公司 | Profinet protocol message transmission method, device, equipment and medium |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114338798B (en) * | 2021-12-27 | 2023-04-25 | 北京神经元网络技术有限公司 | Data transmission method, device, system, equipment and storage medium |
CN118018352A (en) * | 2023-08-25 | 2024-05-10 | 深圳市汇顶科技股份有限公司 | Chip, networking system and electronic equipment |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20090222569A1 (en) * | 2008-02-29 | 2009-09-03 | Atrato, Inc. | Storage system front end |
US20120303701A1 (en) * | 2011-05-25 | 2012-11-29 | Lsi Corporation | Transmitting internet protocol over scsi in a high availability cluster |
CN103116504A (en) * | 2011-11-16 | 2013-05-22 | Lsi公司 | Method and system to enable pre-boot executable environment operating system install using switch in scalable direct attached storage environment |
US20140122766A1 (en) * | 2012-10-26 | 2014-05-01 | International Business Machines Corporation | High speed differential wiring strategy for serially attached scsi systems |
CN103812777A (en) * | 2012-11-01 | 2014-05-21 | 国际商业机器公司 | Efficient data transmission system and method in overlay virtualized network |
US20150301964A1 (en) * | 2014-02-18 | 2015-10-22 | Alistair Mark Brinicombe | Methods and systems of multi-memory, control and data plane architecture |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4347351B2 (en) * | 2007-02-15 | 2009-10-21 | 富士通株式会社 | Data encryption apparatus, data decryption apparatus, data encryption method, data decryption method, and data relay apparatus |
US8140696B2 (en) * | 2007-03-12 | 2012-03-20 | International Business Machines Corporation | Layering serial attached small computer system interface (SAS) over ethernet |
CN101729580A (en) * | 2008-10-24 | 2010-06-09 | 成都市华为赛门铁克科技有限公司 | Storage method and system, terminal service panel, control panel and storage channel panel |
CN105867843A (en) * | 2016-03-25 | 2016-08-17 | 天津书生云科技有限公司 | Data transmission method and device |
CN105472047B (en) * | 2016-02-03 | 2019-05-14 | 天津书生云科技有限公司 | Storage system |
JP2014026529A (en) * | 2012-07-27 | 2014-02-06 | Fujitsu Ltd | Storage system and control method thereof |
CN104111805B (en) * | 2014-07-15 | 2017-06-13 | 华为技术有限公司 | A kind of I/O request processing methods and storage system |
CN104657316B (en) * | 2015-03-06 | 2018-01-19 | 北京百度网讯科技有限公司 | Server |
-
2018
- 2018-05-31 CN CN201810550194.0A patent/CN110557354B/en active Active
- 2018-12-10 WO PCT/CN2018/120069 patent/WO2019227891A1/en active Application Filing
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20090222569A1 (en) * | 2008-02-29 | 2009-09-03 | Atrato, Inc. | Storage system front end |
US20120303701A1 (en) * | 2011-05-25 | 2012-11-29 | Lsi Corporation | Transmitting internet protocol over scsi in a high availability cluster |
CN103116504A (en) * | 2011-11-16 | 2013-05-22 | Lsi公司 | Method and system to enable pre-boot executable environment operating system install using switch in scalable direct attached storage environment |
US20140122766A1 (en) * | 2012-10-26 | 2014-05-01 | International Business Machines Corporation | High speed differential wiring strategy for serially attached scsi systems |
CN103812777A (en) * | 2012-11-01 | 2014-05-21 | 国际商业机器公司 | Efficient data transmission system and method in overlay virtualized network |
US20150301964A1 (en) * | 2014-02-18 | 2015-10-22 | Alistair Mark Brinicombe | Methods and systems of multi-memory, control and data plane architecture |
Cited By (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114157684B (en) * | 2020-08-18 | 2024-01-02 | 华为终端有限公司 | Message processing method, device and storage medium |
CN114157684A (en) * | 2020-08-18 | 2022-03-08 | 华为终端有限公司 | Message processing method, device and storage medium |
CN112636789A (en) * | 2020-12-31 | 2021-04-09 | 广东电网有限责任公司电力调度控制中心 | Virtual MAC method and device for power line communication |
CN114338262A (en) * | 2021-11-26 | 2022-04-12 | 国网信息通信产业集团有限公司 | Energy cabin communication method and system and electronic equipment |
CN114338262B (en) * | 2021-11-26 | 2024-02-20 | 国网信息通信产业集团有限公司 | Energy cabin communication method and system and electronic equipment |
CN114928589A (en) * | 2022-03-17 | 2022-08-19 | 京东科技信息技术有限公司 | Data transmission method, data transmission device, computer readable medium and equipment |
CN114928589B (en) * | 2022-03-17 | 2024-04-12 | 京东科技信息技术有限公司 | Data transmission method, data transmission device, computer readable medium and apparatus |
CN115086446A (en) * | 2022-08-16 | 2022-09-20 | 国能日新科技股份有限公司 | Data transmission method, system, device, equipment and computer readable storage medium |
CN115086446B (en) * | 2022-08-16 | 2022-12-02 | 国能日新科技股份有限公司 | Data transmission method, system, device, equipment and computer readable storage medium |
CN116016725A (en) * | 2023-03-24 | 2023-04-25 | 深圳开鸿数字产业发展有限公司 | Information transmission method, computer device and storage medium |
CN116016725B (en) * | 2023-03-24 | 2023-06-13 | 深圳开鸿数字产业发展有限公司 | Information transmission method, computer device and storage medium |
CN116436994B (en) * | 2023-06-15 | 2023-08-25 | 杭州禾芯半导体有限公司 | Profinet protocol message transmission method, device, equipment and medium |
CN116436994A (en) * | 2023-06-15 | 2023-07-14 | 杭州禾芯半导体有限公司 | Profinet protocol message transmission method, device, equipment and medium |
Also Published As
Publication number | Publication date |
---|---|
CN110557354B (en) | 2020-10-13 |
CN110557354A (en) | 2019-12-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
WO2019227891A1 (en) | Method and apparatus for implementing communication between nodes, and electronic device | |
CN107046542B (en) | Method for realizing consensus verification by adopting hardware at network level | |
US8189584B2 (en) | Multicast traffic management in a network interface | |
WO2019134383A1 (en) | Method for controlling network congestion, access device, and computer readable storage medium | |
WO2020000489A1 (en) | Pcie sending and receiving method, apparatus, device and system | |
US10812292B2 (en) | Packet processing method and device | |
RU2010147816A (en) | LOCAL IP ACCESS DIAGRAM | |
WO2017054576A1 (en) | Unicast tunnel building method, apparatus and system | |
WO2016184283A1 (en) | Data stream management method and system for virtual machine | |
KR102025680B1 (en) | SDN based ARP implementation method and device | |
WO2020073907A1 (en) | Method and apparatus for updating forwarding entry | |
US20190020570A1 (en) | Link discovery method and apparatus | |
WO2019100794A1 (en) | Message processing method and apparatus | |
WO2022257763A1 (en) | Routing method and apparatus, device, and storage medium | |
CN111835764A (en) | ARP anti-spoofing method, tunnel endpoint and electronic equipment | |
WO2022028342A1 (en) | Method for processing congestion flow and device | |
WO2018177353A1 (en) | Multicast data forwarding method and apparatus | |
WO2012146139A1 (en) | Message filtering method and access device | |
US12003417B2 (en) | Communication method and apparatus | |
WO2021031092A1 (en) | Packet processing method and network device | |
CN108833284B (en) | Communication method and device for cloud platform and IDC network | |
WO2020007278A1 (en) | Data transmitting method and device, and data receiving method and device | |
WO2023173876A1 (en) | Data communication method and apparatus, device and medium | |
CN107547691B (en) | Address resolution protocol message proxy method and device | |
US20080056263A1 (en) | Efficient transport layer processing of incoming packets |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
121 | Ep: the epo has been informed by wipo that ep was designated in this application |
Ref document number: 18920880 Country of ref document: EP Kind code of ref document: A1 |
|
NENP | Non-entry into the national phase |
Ref country code: DE |
|
122 | Ep: pct application non-entry in european phase |
Ref document number: 18920880 Country of ref document: EP Kind code of ref document: A1 |
|
122 | Ep: pct application non-entry in european phase |
Ref document number: 18920880 Country of ref document: EP Kind code of ref document: A1 |
|
32PN | Ep: public notification in the ep bulletin as address of the adressee cannot be established |
Free format text: NOTING OF LOSS OF RIGHTS PURSUANT TO RULE 112(1) EPC (EPO FORM 1205A DATED 16/06/2021) |
|
122 | Ep: pct application non-entry in european phase |
Ref document number: 18920880 Country of ref document: EP Kind code of ref document: A1 |