CN109951365B - Network communication method, system and controller combining PCIe bus and Ethernet - Google Patents

Network communication method, system and controller combining PCIe bus and Ethernet Download PDF

Info

Publication number
CN109951365B
CN109951365B CN201711394199.0A CN201711394199A CN109951365B CN 109951365 B CN109951365 B CN 109951365B CN 201711394199 A CN201711394199 A CN 201711394199A CN 109951365 B CN109951365 B CN 109951365B
Authority
CN
China
Prior art keywords
packet
host
port
rule
controller
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
Application number
CN201711394199.0A
Other languages
Chinese (zh)
Other versions
CN109951365A (en
Inventor
王姿琳
李育纬
阙志克
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Industrial Technology Research Institute ITRI
Original Assignee
Industrial Technology Research Institute ITRI
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Industrial Technology Research Institute ITRI filed Critical Industrial Technology Research Institute ITRI
Priority to CN201711394199.0A priority Critical patent/CN109951365B/en
Priority to TW107100467A priority patent/TWI649985B/en
Publication of CN109951365A publication Critical patent/CN109951365A/en
Application granted granted Critical
Publication of CN109951365B publication Critical patent/CN109951365B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Small-Scale Networks (AREA)

Abstract

A network communication method, a system and a controller combining a PCIe bus and an Ethernet. In the network communication method, packets are transmitted or received through a Network Interface Card (NIC), wherein the packets are propagated for propagation to the same cabinet via a peripheral component interconnect express (PCIe) based Ethernet over PCIe (EoP) port using an EoP architecture based on the EoP bus, and the packets are propagated for propagation to different cabinets via Ethernet ports. If the transmitted packet is a broadcast packet, the network interface card receiving the packet will either discard the packet or transmit the packet to the controller without rebroadcasting the packet.

Description

Network communication method, system and controller combining PCIe bus and Ethernet
Technical Field
The disclosure relates to a network communication method, system and controller combining a PCI express bus and an Ethernet.
Background
The Peripheral Component Interconnect Express (PCIe) bus is an industry standard computer expansion technology developed by the PCI Special Interest Group (PCI-SIG). PCIe was originally designed as a local bus interconnect technology (local bus interconnect technology) for connecting CPU, GPU and I/O devices within a machine, and evolved from this to a fully mature switched network (switched network) with point-to-point links (point-to-point links), hop-by-hop flow control (hop-by-hop flow control), end-to-end retransmission (end-to-end retransmission), etc. features. PCIe can also serve as an expansion interface to connect machines to external devices (e.g., storage cartridges).
A PCIe network is a switched network with serial point-to-point full duplex channels (serial point-to-point duplex lanes). PCIe devices connect to this PCIe network through links consisting of one or more channels. Recently, extended PCIe that interconnects multiple servers (servers) or virtualized I/O devices (virtualized I/O devices) using PCIe interfaces has become standard. For example, applications for PCIe may be further extended to intra-rack interconnects (intra-rack interconnects). PCIe switches can replace standard top of rack (ToR) Ethernet switches, i.e., PCIe can connect multiple hosts (servers, for example) within the same cabinet. Input/output (I/O) devices connected to the PCIe switch are also allowed to share all servers within the same enclosure. All servers in the rack may also communicate with each other via PCIe links.
At present, packet propagation among a plurality of servers in the same cabinet in a PCIe network cannot be carried out across cabinets, and Ethernet type broadcasting behavior is not supported.
Disclosure of Invention
The present disclosure provides a network communication method combining a PCI express bus and an Ethernet network, which comprises the following steps. The method includes transmitting or receiving a packet through a network interface card, wherein if the packet is unicast, the packet is transmitted through an Ethernet (Ethernet over PCIe) port based on a peripheral component interconnect express (PCIe) bus for propagation to the same cabinet, and the packet is transmitted through the Ethernet port for propagation to a different cabinet, and if the packet is broadcast, the packet is discarded, or the packet is transmitted to a controller in response to the packet.
The present disclosure provides a network communication system combining a PCI express bus and an Ethernet network, which includes a network interface card and a controller. The network interface card is coupled to the controller and configured to: transmitting or receiving packets, wherein the packets are transmitted by adopting an Ethernet EoP architecture through an Ethernet EoP port based on a PCI express bus aiming at the transmission of the same cabinet, and the packets are transmitted by adopting the Ethernet port aiming at the transmission of different cabinets; and if the packet is broadcast, discarding the packet, or sending the packet to a controller in response to the packet.
The present disclosure provides a controller suitable for use in a network communication system that combines a PCI express bus with an Ethernet network. The controller includes a memory and a processor. The processor is coupled to the memory and is used for managing propagation between the same cabinet and a plurality of hosts in different cabinets, the processor is used for receiving a packet, wherein the packet comes from a network interface card of an external destination host, and judging that the packet does not match all rules in a rule table according to the rule table, and the packet comprises connection port information; determining whether the connection port information is associated with an Ethernet over the peripheral component interconnect express (EoP) port or an Ethernet port based on the connection port information to generate determination information; and generating a rule according to the judgment information and the packet and transmitting the rule to the external destination host, wherein the external destination host stores the rule in the rule table and responds to an external source host, and the external source host does not rebroadcast the packet.
Based on the above, the hosts in multiple cabinets may use EoP ports for propagation in the cabinets and Ethernet ports for propagation between cabinets, while using the maximum bandwidth of the PCIe bus to speed up the propagation of the hosts in the cabinets.
In order to make the aforementioned and other features and advantages of the invention more comprehensible, embodiments accompanied with figures are described in detail below.
Drawings
FIG. 1 is a block diagram illustrating a memory mapping system according to an exemplary embodiment of the present disclosure.
Fig. 2 is a flowchart illustrating a memory mapping method according to an exemplary embodiment of the present disclosure.
Fig. 3 is a block diagram illustrating a network communication system within a cabinet according to an exemplary embodiment of the present disclosure.
Fig. 4 is a block diagram illustrating a network communication system between cabinets according to an exemplary embodiment of the present disclosure.
Fig. 5 is a block diagram illustrating a controller according to an exemplary embodiment of the present disclosure.
Fig. 6 is a schematic diagram illustrating a rule table according to an exemplary embodiment of the present disclosure.
Fig. 7 is a flowchart illustrating a transmitting end of single point propagation according to an exemplary embodiment of the present disclosure.
Fig. 8 is a flowchart illustrating a receiving end of single point propagation according to an exemplary embodiment of the present disclosure.
Fig. 9 is a flowchart illustrating a destination host of broadcast propagation according to an exemplary embodiment of the present disclosure.
Fig. 10 is a flowchart illustrating a source host of a broadcast propagation according to an exemplary embodiment of the present disclosure.
Fig. 11 is a schematic diagram illustrating a network communication system within a cabinet according to an exemplary embodiment of the present disclosure.
Fig. 12 is a schematic diagram illustrating an inter-cabinet network communication system according to an exemplary embodiment of the present disclosure.
Fig. 13 is a flowchart illustrating a network communication method combining PCIe and Ethernet according to an exemplary embodiment of the present disclosure.
[ notation ] to show
100: memory mapping system
110: management host
112:CPU
114: memory device
116: memory mapping controller
118a to 118 n: SR-IOV device
120a to 120 n: server
130: PCIe bus
140a to 140 n: non-transparent bridge (NTB)
S201 to S207: step (ii) of
300: network system
310: controller
320a to 320 n: main unit
330: PCIe switch
340: ethernet exchanger
400: network system
410: controller
420a to 420 n: machine cabinet
430: ethernet exchanger
500: controller
510: processor with a memory having a plurality of memory cells
520: memory device
530: input/output interface
600: rule table
610a to 610 n: MAC address field
620a to 620 n: connection port field
S701 to S705: step (ii) of
S801 to S809: step (ii) of
S901 to S913: step (ii) of
S1001 to S1009: step (ii) of
1100: network system
1110a to 1110 d: main unit
1200: network system
1210a to 1210 c: main unit
1220a to 1220 c: main unit
S1301-S1303: step (ii) of
Detailed Description
Exemplary embodiments of the present disclosure may include any one or more of the novel features described herein (including those described in the detailed description) and/or shown in the accompanying drawings. As used herein, "at least one," "one or more," and/or "are open-ended expressions that are both connected and separated in operation. For example, each of the expressions "at least one of A, B and C", "at least one of A, B or C", "one or more of A, B and C", "one or more of A, B or C", and "A, B and/or C" means a alone, B alone, C, A alone and B together, a and C together, B and C together, or A, B and C together.
It should be noted that the terms "a" or "an" entity refer to one or more of the described entities. Thus, the terms "a", "an", "one or more" and "at least one" may be used interchangeably herein.
Exemplary embodiments of the present disclosure provide a hybrid network communication system and method that combines a PCIe-based Ethernet over PCIe (Ethernet over PCIe, hereinafter abbreviated as EoP) technology and an Ethernet (Ethernet under abbreviated as Ethernet) technology, so that the EoP technology that originally only supports packet propagation in the same enclosure also supports data propagation across the enclosure after the hybrid network communication system and method provided by exemplary embodiments of the present disclosure are combined.
In the hybrid Network communication system and method according to the exemplary embodiments of the disclosure, at least one or a part of the plurality of implementation examples may include a Controller (Controller) and a Network Interface (NIC), the NIC is built with an Ethernet (EoP) and an Ethernet (Ethernet) supporting a pci express bus, and the NIC sets a Rule (Flow Rule) through the Controller so that packets can be transmitted between machines in different cabinets, and thus, the NIC is also a Super Network Interface Card (Super Network Interface Card). In addition, the system also provides the broadcasting service of Ethernet behavior, and simultaneously avoids the occurrence of broadcasting storm. In one embodiment, the controller may be implemented in a management host of a network system, or in another embodiment, may be implemented in any host in the same cabinet, depending on the environment to be used, and is not limited thereto.
In the hybrid peripheral component interconnect express (PCIe) and Ethernet network communication system and method according to the exemplary embodiment of the present disclosure, a network originally supporting only the EoP technology can also perform packet propagation between the same cabinet and different cabinets in a hybrid or compatible Ethernet network environment.
The strategy for enabling a network supporting the EoP technology to perform packet propagation between a cabinet and a different cabinet in a hybrid or compatible Ethernet network environment includes, for example, letting a user (network manager) issue rules through a controller. To achieve this, the controller first performs a Medium Access Control (MAC) learning action, and then the controller applies rules to the corresponding NIC. And then, when the Host (Host) carries out data transmission with the same cabinet or different cabinets, the data transmission can be carried out according to a single point (Unicast) transmission rule issued by a user (network manager). To avoid broadcast storm, the hybrid network communication system and method according to the exemplary embodiments of the disclosure also prescribe broadcast (broadcast) rules such that the NIC does not perform the broadcast action of the packet after dropping (Drop) the packet according to the rules or sending the packet to the host and the controller.
In the present disclosure, Ethernet over pci express (EoP) ports are used to speed up the propagation of hosts in the enclosure, and in combination with Ethernet ports to perform inter-enclosure propagation. Further, the EoP port is a PCIe port using a memory mapping method, and may be a connection port implemented by using a software Driver (Driver); in another embodiment, the EoP port may also be a physical/hardware connection port.
Exemplary embodiments of the invention are described in detail below with reference to the drawings, wherein like reference numerals are used to refer to the same or similar parts throughout the drawings and the description.
FIG. 1 is a block diagram illustrating a memory mapping system according to an exemplary embodiment of the present disclosure.
Referring to FIG. 1, a memory mapping system 100 includes a management host 110, a PCIe bus 130, and a plurality of servers 120 a-120 n. Servers 120 a-120 n may be coupled to management host 110 via PCIe bus 130, and a Non-Transparent Bridge (hereinafter NTB) over PCIe bus 130 (i.e., 140 a-140 n) performs memory address mapping between management host 110 and servers 120 a-120 n. Specifically, each NTB 140 a-140 n has two endpoints, and each endpoint is responsible for memory address mapping in one direction. The management host 110 includes a Central Processing Unit (CPU) 112, a memory 114, a memory mapping controller 116, and Single Root directory I/O Virtualization (SR-IOV) devices 118 a-118 n. The memory mapping controller 116 may control the management of memory address mapping between the host 110 and the servers 120 a-120 n. SR-IOV devices 118 a-118 n (e.g., 10G Ethernet cards) may be plugged onto the management host 110, and virtual functions of the SR-IOV devices 118 a-118 n may be shared to the servers 120 a-120 n via the PCIe bus 130.
In an exemplary embodiment, an endpoint of NTB 140a may map the address space of management host 110 to server 120a via PCIe bus 130, while another endpoint of NTB 140a may map the address space of server 120a to management host 110 via PCIe bus 130. In this approach, accesses to memory of the managing host 110 may be directed to the mapped memory addresses of the server 120a, and accesses to memory of the server 120a may be directed to the mapped memory addresses of the managing host 110.
In various example implementations, the memory-mapped controller 116 may be implemented as a software module or program code. For example, when a new server is detected on the PCIe bus, program code may be loaded into memory 114 and executed by CPU 112 such that mapping information between management host 110 and the server is updated. However, the present disclosure is not limited thereto. In some implementation examples, the memory mapping controller 116 may also be implemented as hardware circuitry that controls the management of memory address mappings between the host 110 and the servers 120 a-120 n.
Fig. 2 is a flowchart illustrating a memory mapping method according to an exemplary embodiment of the present disclosure.
Referring to fig. 2, in step S201, a management host having a memory address configures an extended memory address.
In step S203, the NTB of the PCIe bus maps the extended memory address of the management host corresponding to each server to the memory address of each of the servers, respectively.
In step S205, each server configures an extended memory address.
In step S207, the NTB maps the extended memory address of each server to the memory address of the management host and the extended memory address, wherein the extended memory address of each server corresponds to the server and the management host.
As described above, the memory mapping method constructs a global memory mapping structure in the server and the management host, so that the server can share virtual functions of the SR-IOV device and communicate with each other through global memory address mapping using the BAR of each NTB while utilizing the maximum bandwidth of the PCIe bus. Accordingly, the present disclosure implements an EoP port by this memory mapping method, thereby increasing the propagation bandwidth of data and reducing the propagation delay. In other words, the present disclosure may combine PCIe ports with a management host as EoP ports in the form of software modules or program code.
Fig. 3 is a block diagram illustrating a network communication system within a cabinet according to an exemplary embodiment of the present disclosure.
Referring to fig. 3, a network system 300 includes a controller 310, a plurality of hosts 320a to 320n, a PCIe switch 330, and an Ethernet switch 340. Each host 320 a-320 n includes an Ethernet port Eth and an EoP port, which are coupled to PCIe switch 330. The hosts 320a to 320n may be servers or virtual servers, and the EoP ports may be connection ports or physical connection ports of the memory mapping system implemented in software as described in fig. 1 and 2. It is noted that the Ethernet port Eth and the EoP port may be combined into a Network Interface Card (NIC) by a software module or program code. Based on this, the NIC may be a virtual switch, a driver module, or other various virtual modules, etc., and the NIC may have at least one rule table to transmit or receive packets according to the rules of the rule table. The controller 310 is coupled to the NICs of the multiple hosts 320a through 320n and the NICs of the hosts of different cabinets, thereby monitoring the hosts in and out of the cabinets in real time. Specifically, a management network is formed between the controller 310 and the hosts of each cabinet, and this network is completely independent of the network between the hosts. It should be noted that the controller 310 may be disposed in the cabinet, in the host, or outside the cabinet, but the disclosure is not limited thereto. PCIe switch 330 is coupled to Ethernet switch 340 for handling the propagation in the cabinet, and may propagate or receive packets to or from different cabinets through Ethernet switch 340. In various embodiments, PCIe switch 330 may be disposed inside the cabinet, in the host, or outside the cabinet, but the disclosure is not limited thereto.
Fig. 4 is a block diagram illustrating a network communication system between cabinets according to an exemplary embodiment of the present disclosure.
Referring to fig. 4, the network system 400 includes a controller 410, racks 420a to 420n, and an Ethernet switch 430, and the controller 410 and the Ethernet switch 430 are independent of the racks 420a to 420n, and each rack 420a to 420n has at least one host. The controller 410 is coupled to the racks 420a through 420n to monitor and manage the hosts within each rack. In other words, the controller 410 and the cabinets 420a to 420n have formed a management network. The cabinets 420a to 420n are coupled to the Ethernet switch 430 to perform propagation between cabinets. In other words, when the hosts in different cabinets communicate with each other, the data needs to be transmitted or received by the Ethernet switch 430, and the Ethernet switch 430 and the cabinets 420a to 420n form a data network independent of the management network.
Referring to fig. 3 and 4, the NIC of the host of each of the cabinets 420a to 420n may transmit or receive a packet, wherein the packet is propagated through the EoP port using the PCIe-based EoP architecture for propagation to the same cabinet, and the packet is propagated through the Ethernet port Eth for propagation to a different cabinet. If the packet is broadcast, the packet is discarded or transmitted to the controller.
Fig. 5 is a block diagram illustrating a controller according to an exemplary embodiment of the present disclosure.
Referring to fig. 5, the controller 500 includes a processor 510, a memory 520, and an input/output interface 530. The processor 510 may be coupled to the memory 520 and the io interface 530, and the processor 510 stores the EoP port and the Ethernet port in the memory 520 in advance corresponding to the number of ports and which hosts are in the same cabinet. In other words, the memory 520 stores a cabinet mapping table and a port mapping table, wherein the port mapping table has the mapping relationship between the ports of the hosts and the EoP port and the Ethernet port, and the cabinet mapping table records which cabinet the hosts are installed in. The processor 510 modifies the port mapping table in real time whenever the relationship between the ports of the hosts and the EoP and Ethernet ports changes. The processor 510 modifies the cabinet mapping table in real time whenever a host is added or removed from the cabinet. When the controller 500 receives a packet through the i/o interface 530, the processor 510 analyzes the packet to obtain a Media Access Control (MAC) address and port information, wherein the i/o interface 530 may be a wired nic or a wireless nic, and the port information may be a pin for the host to receive the packet. In addition, the processor 510 reads the port mapping table of the memory 520, and determines whether the port information is related to the Ethernet port or the EoP port according to the port mapping table to generate the determination information, and further generates a rule according to the mac address and the determination information to further return the rule. For example: when the connection port information is the 15 th pin of the host, the 15 th pin is determined to be an EoP port according to the connection port mapping table, and the processor 510 sets the EoP port as the determination information.
Further, when the external source host broadcasts a packet to the external destination host, the processor 510 may receive the packet via the io interface 530, wherein the packet is from the NIC of the external destination host, and the NIC determines that the packet does not match all rules in the rule table according to the rule table, wherein the packet includes the MAC address and the port information of the source host. Then, the processor 510 determines the connection port information related to the EoP port or the Ethernet port of the NIC of the external destination host according to the connection port information to generate determination information, and further generates another rule according to the determination information and the packet and transmits the rule to the external destination host through the io interface 530, wherein the external destination host stores the another rule in the rule table and responds to the external source host, and the external source host does not rebroadcast the packet.
Fig. 6 is a schematic diagram illustrating a rule table according to an exemplary embodiment of the present disclosure.
Referring to fig. 6, a rule table 600 includes at least one rule, and each rule has at least a MAC address field 610a through 610n and a corresponding connection port field 620a through 620n of a host. In addition, each rule may have a priority field. Specifically, when each host wants to transmit a packet, the MAC address of the destination host is searched to find a corresponding port field, and the packet is transmitted to the destination host through the corresponding port, where the port field is the judgment information generated by the controller. If the MAC address of the destination host is found to correspond to two rules, the priority fields of the two rules are compared to select the rule with higher priority, wherein the connection port field can store an Ethernet port or an EoP port. When each host receives the packet, the corresponding rule is determined according to the MAC address of the source host by searching the rule table. If the corresponding rule already exists and the packet is broadcast, the packet is discarded or returned to the controller according to the rule. If there is no corresponding rule, the connection port information of the packet is added to the packet to be transmitted to the controller, wherein the connection port information may be a pin of the host receiving the packet.
Fig. 7 is a flowchart illustrating a transmitting end of a single point transmission (unicast transmission) according to an exemplary embodiment of the present disclosure.
Referring to fig. 7, in step S701, the source host compares the MAC address of the destination host of the packet with a rule table. In other words, the MAC address of the destination host in the packet is directly extracted and compared with all rules of the rule table.
In step S703, a connection port corresponding to the destination host is obtained in accordance with the rule matching the packet. Specifically, when the MAC address of the destination host within the packet matches a rule of the rule table, the connection port field of this rule will be read to obtain the connection port corresponding to the MAC address of the destination host, where the connection port may be an EoP port or an Ethernet port. In various embodiments, if the MAC address of the destination host matches two rules, the connection port corresponding to the MAC address of the destination host is determined according to the priority field in the rules.
In step S705, the packet is transmitted through the corresponding connection port. Specifically, if the corresponding connection port is an EoP port, the packet is transmitted to the destination host in the same cabinet through the EoP port. If the corresponding connection port is an Ethernet port, the packet is transmitted to the destination host of a different cabinet through the Ethernet port.
Fig. 8 is a flowchart illustrating a receiving end of single point propagation according to an exemplary embodiment of the present disclosure.
Referring to fig. 8, in step S801, the destination host determines whether there is a rule matching the packet according to the rule table and the packet. Specifically, the destination host reads the MAC address in the packet and reads the MAC address column of the rules table to compare if the MAC addresses in the packet match.
In step S803, if there is no match, the destination host adds the MAC address of the source host and the connection port information of the connection port to the packet to transmit to the controller. Specifically, the NIC of the destination host determines the pin of the received packet to generate the connection port information with the pin information, and adds the connection port information and the MAC address of the source host into the packet to be transmitted to the controller.
In step S805, the controller generates and returns the rule to the destination host. Specifically, the controller determines that the connection port information belongs to the EoP port or the Ethernet port according to the connection port mapping table to generate determination information (at least having information of the EoP port or the Ethernet port), and generates a rule according to the MAC address of the source host of the packet and the determination information, and then transmits the rule back to the destination host.
In step S807, the destination host stores the rule in a rule table. Further, the NIC of the destination host has a preset rule table, and whenever the NIC receives a new rule, the NIC adds the rule to the rule table.
In step S809, the unicast of the destination is ended.
Fig. 9 is a flowchart illustrating a destination host of broadcast propagation according to an exemplary embodiment of the present disclosure.
Referring to fig. 9, in step S901, a destination host receives a broadcasted packet. In other words, at least one destination host receives an Address Resolution Protocol (ARP) packet broadcast by a source host.
In step S903, the destination host determines whether there is a rule matching the packet according to the rule table. Specifically, the destination host may present the MAC address in the packet to compare the MAC address with the rules in the rule table one by one, and further determine whether matching is complete.
In step S905, if matching is completed, the packet is discarded.
In step S907, if the matching is not completed, the MAC address of the source host and the connection port information of the connection port related to the received packet are added to the packet to be transmitted to the controller. Specifically, the NIC of the destination host determines the pin of the received packet to generate the connection port information with the pin information, and adds the connection port information and the MAC address of the source host into the packet to be transmitted to the controller.
In step S909, the controller generates and returns the rule to the destination host. Specifically, the controller determines that the connection port information belongs to an EoP port or an Ethernet port according to the connection port mapping table to generate determination information, and generates a rule according to the MAC address of the source host of the packet and the determination information, and then transmits the rule back to the destination host.
In step S911, the destination host stores the rule to send the response packet back to the source host according to the rule. Specifically, the NIC of the destination host stores the rule in the rule table, and generates a response packet according to the rule and the MAC address of the destination host, and the destination host selects the connection port according to the connection port column of the corresponding rule to return the response packet. It should be noted that, if two rules in the rule table have the same MAC address, the rule with EoP in the connection port column is set to have higher priority, and the destination host transmits the response packet preferentially according to the connection port with higher priority. If the port with higher priority is damaged, the destination host will transmit the response packet through the port with lower priority.
In step S913, the destination host will end address resolution.
Fig. 10 is a flowchart illustrating a source host of a broadcast propagation according to an exemplary embodiment of the present disclosure.
Referring to fig. 10, in step S1001, to complete address resolution, a source host broadcasts a packet. Specifically, the controller transmits the broadcast rule to the source host to generate the rule table having the broadcast rule when the source host is in the initial state. The source host generates an ARP packet based on the rule table and the MAC address of the source host to transmit the packet from the EoP port and the Ethernet port. Therefore, the destination host of the same cabinet will receive the packet by the EoP port and the Ethernet port, and the destination host of the different cabinet will receive the packet only by the Ethernet port. Wherein the destination host discards or forwards the packet to the controller according to the rules table of its NIC.
In step S1003, the source host receives a response packet from the destination host. Specifically, the source host will receive the response packet of the destination host of the same enclosure from the EoP port, and receive the response packet of the destination host of a different enclosure from the Ethernet port.
In step S1005, the source host adds the MAC address of the destination host and the connection port information of the connection port with respect to the reception response packet to the response packet to transmit to the controller. Specifically, the NIC of the source host detects the connection port receiving the response packet to generate connection port information, and adds the connection port information and the MAC address of the destination host to the response packet to transmit to the controller.
In step S1007, the controller generates and returns a rule. Specifically, the controller determines that the connection port information of the response packet belongs to the EoP port or the Ethernet port according to the connection port mapping table to generate the determination information, and generates a rule according to the MAC address of the destination host of the response packet and the determination information, and then returns the rule to the source host.
In step S1009, the source host stores the rule in the rule table. Specifically, the NIC of the source host receives the rules to store the rules in the rule table, thereby completing address resolution.
A practical application of an exemplary embodiment of the present disclosure will be described below with reference to FIGS. 11 and 12, wherein like reference numerals are used to refer to the same or similar parts throughout the drawings and description. Fig. 11 is a schematic diagram illustrating a network communication system within a cabinet according to an exemplary embodiment of the present disclosure. Fig. 12 is a schematic diagram illustrating an inter-cabinet network communication system according to an exemplary embodiment of the present disclosure.
Referring to FIG. 11, a network system 1100 within a cabinet may have a plurality of hosts 1110 a-1110 d, a controller, and a PCIe switch, where each host 1110 a-1110 d has a NIC. When the transmission in the cabinet is needed, the packet can be transmitted through the EoP port of the NIC of the host and transmitted to the EoP port of the NIC of another host through the PCIe switch. For example: when the host 1110a transmits a packet to the host 1110b, the host 1110c, or the host 1110d, the packet may be transmitted through the EoP port of the NIC of the host 1110a and received through the EoP port of the NIC of the host 1110b, the host 1110c, or the host 1110 d.
Referring to FIG. 12, an inter-enclosure network system 1200 may have network systems within multiple enclosures and PCIe switches. Referring to fig. 11 and 12, for example: hosts 1210a through 1210c belong to the same enclosure, while hosts 1220a through 1220c belong to another enclosure. When the propagation between the cabinets is required, the packet can be transmitted through the Ethernet port of the NIC of the host and transmitted to the Ethernet port of the NIC of the host of another cabinet through the Ethernet switch. For example: when the host 1210a transmits a packet to the host 1220a, 1220b, or 1220c of another cabinet, the packet may be transmitted through the Ethernet port of the NIC of the host 1210a and received through the Ethernet port of the NIC of the host 1220a, 1220b, or 1220 c. In addition, the host NIC determines whether rules have been stored with respect to the received packet, whether propagation is occurring within or between enclosures. If it is determined that there are no rules associated with the received packet, the NIC may notify the controller to generate a new rule and store the new rule in the NIC.
Fig. 13 is a flowchart illustrating a network communication method combining PCIe and Ethernet according to an exemplary embodiment of the present disclosure.
Referring to fig. 13, in step S1301, a packet is transmitted or received through a network interface card, wherein the packet is propagated through an EoP port for propagation to the same cabinet, and the packet is propagated through an Ethernet port for propagation to a different cabinet.
In step S1303, if the packet is broadcast, the packet is discarded or transmitted to the controller in response to the packet.
In summary, the network communication method of the present disclosure constructs a propagation structure combining the pci express bus and the Ethernet network between the hosts in the cabinet or between the cabinets, so that the hosts in the cabinet use the EoP port for communication with each other, and the hosts between the cabinets use the Ethernet port for connection. The system can integrate the functions into one network card, simultaneously utilizes the maximum bandwidth of a PCIe bus, and does not need to arrange redundant network cards to accelerate the propagation among cabinets. The previously described exemplary embodiments of the present disclosure have the foregoing advantages, which are not required by all forms of the present disclosure.
Although the present invention has been described with reference to the above embodiments, it should be understood that various changes and modifications can be made therein by those skilled in the art without departing from the spirit and scope of the invention.

Claims (13)

1. A method for network communication in conjunction with an ethernet network and a pci express bus, comprising:
transmitting or receiving packets between a plurality of hosts in a same cabinet and in different cabinets, wherein each host includes a network interface card combining an Ethernet port and an Ethernet EoP port based on PCI express bus, wherein
For propagation between a source host and a destination host in the same cabinet, transmitting the packet via the EoP port of the source host using an EoP fabric, and receiving the packet via the EoP port of the destination host using an EoP fabric,
for propagation between a source host and a destination host of different cabinets, transmitting the packet via the Ethernet port of the source host and receiving the packet via the Ethernet port of the destination host; and
if the packet is broadcast, the destination host discards the packet or sends the packet to the controller in response to the packet.
2. The method of claim 1, wherein the step of discarding the packet if the packet is broadcast, or sending the packet to the controller in response to the packet, comprises:
the packet is no longer rebroadcast; and
the packet is discarded or transmitted according to the rule table of the network interface card.
3. The method of claim 2, wherein the rule table is stored in the NIC, and the step of discarding or transmitting the packet according to the rule table comprises:
judging whether the packet matches the rule table by the network interface card; and
if the packet matches the rule table, discarding the packet, and if the packet does not match the rule table, adding the MAC address and the port information of the source host to the packet to transmit to the controller, wherein the controller controls the destination host according to the packet in response to the source host.
4. The method of claim 3, wherein the step of the controller controlling the destination host in response to the source host according to the packet comprises:
judging whether the connection port information is related to the EoP port or the Ethernet port according to a connection port corresponding table of the controller to generate judgment information, and storing the judgment information in the controller; and
generating a rule according to the judgment information, the media access control address of the source host and the connection port information and transmitting the rule to the destination host, wherein the destination host stores the rule in the rule table to respond to the source host according to the rule.
5. A network communication system combining a pci express bus and an ethernet network, comprising:
a controller; and
a plurality of hosts, each host having a network interface card coupled to the controller, wherein the network interface card combines the Ethernet port with an Ethernet EoP port based on PCI express bus, and is configured to perform the following operations:
transmitting or receiving packets, wherein
For propagation between a source host and a destination host in the same cabinet, transmitting the packet via the EoP port of the source host using an EoP fabric, and receiving the packet via the EoP port of the destination host using an EoP fabric,
for propagation between a source host and a destination host of different cabinets, transmitting the packet via the Ethernet port of the source host and receiving the packet via the Ethernet port of the destination host; and
if the packet is broadcast, the destination host discards the packet or sends the packet to the controller in response to the packet.
6. The network communication system of claim 5, wherein the NIC is one of a virtual switch, a driver module, or a virtual module.
7. The network communication system of claim 5, wherein the step of discarding the packet if the packet is broadcast or sending the packet to the controller in response to the packet comprises:
the packet is no longer rebroadcast; and
the packet is discarded or transmitted to the controller according to the rule table of the NIC.
8. The network communication system of claim 7, wherein the NIC determines whether the packet matches the rule table, and if the packet matches the rule table, the NIC discards the packet, and if the packet does not match the rule table, the NIC adds MAC address and port information of the source host to the packet for transmission to the controller, wherein the controller controls the destination host in response to the source host according to the packet.
9. The network communication system of claim 8, wherein the controller determines whether the port information is associated with the EoP port or the ethernet port according to a port mapping table of the controller to generate determination information, and stores the determination information to generate a rule according to the determination information and the mac address of the source host and the port information and transmit the rule to the destination host, wherein the destination host stores the rule in the rule table to respond to the source host according to the rule.
10. The network communication system as claimed in claim 9, wherein the rule has at least the mac address of the source host and the judgment information.
11. A controller adapted for use in a network communication system that combines a pci express bus with an ethernet network, comprising:
a memory for storing a connection port correspondence table; and
a processor, coupled to the memory, for managing propagation between multiple hosts within the same enclosure and different enclosures, the processor configured to perform:
receiving a packet, wherein the packet comes from a network interface card of an external destination host, and the network interface card judges that the packet does not match with all rules in a rule table according to the rule table, wherein the packet comprises a media access control address and connection port information of the external source host;
judging whether the connection interface information is related to an Ethernet EoP port or an Ethernet port based on a fast peripheral component interconnect bus according to the connection port corresponding table to generate judgment information; and
generating a rule according to the judgment information and the packet and transmitting the rule to the external destination host, wherein the external destination host stores the rule in the rule table and responds to the external source host, and the external source host does not rebroadcast the packet.
12. The controller of claim 11, wherein the NIC discards or forwards the packet according to the rule table.
13. The controller according to claim 12, wherein the rule has at least a MAC address of the externally sourced host and the determination information.
CN201711394199.0A 2017-12-21 2017-12-21 Network communication method, system and controller combining PCIe bus and Ethernet Active CN109951365B (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN201711394199.0A CN109951365B (en) 2017-12-21 2017-12-21 Network communication method, system and controller combining PCIe bus and Ethernet
TW107100467A TWI649985B (en) 2017-12-21 2018-01-05 NETWORK COMMUNICATION METHOD, SYSTEM AND CONTROLLER OF PCIe AND ETHERNET HYBRID NETWORKS

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201711394199.0A CN109951365B (en) 2017-12-21 2017-12-21 Network communication method, system and controller combining PCIe bus and Ethernet

Publications (2)

Publication Number Publication Date
CN109951365A CN109951365A (en) 2019-06-28
CN109951365B true CN109951365B (en) 2021-12-28

Family

ID=66213861

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201711394199.0A Active CN109951365B (en) 2017-12-21 2017-12-21 Network communication method, system and controller combining PCIe bus and Ethernet

Country Status (2)

Country Link
CN (1) CN109951365B (en)
TW (1) TWI649985B (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112612733A (en) * 2020-12-17 2021-04-06 联想长风科技(北京)有限公司 Device and method for sharing RAID (redundant array of independent disks) function by multiple machines

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7965714B2 (en) * 2008-02-29 2011-06-21 Oracle America, Inc. Method and system for offloading network processing
US9246846B2 (en) * 2011-09-02 2016-01-26 Mediatek Co. Network processor
US9280504B2 (en) * 2012-08-24 2016-03-08 Intel Corporation Methods and apparatus for sharing a network interface controller
CN102880540A (en) * 2012-08-27 2013-01-16 南京智达康无线通信科技股份有限公司 Method for ensuring normal operation of access controller (AC) under high load
US8880771B2 (en) * 2012-10-25 2014-11-04 Plx Technology, Inc. Method and apparatus for securing and segregating host to host messaging on PCIe fabric
US9152593B2 (en) * 2013-09-06 2015-10-06 Cisco Technology, Inc. Universal PCI express port
US9253028B2 (en) * 2013-12-13 2016-02-02 International Business Machines Corporation Software-defined networking tunneling extensions
US20150281126A1 (en) * 2014-03-31 2015-10-01 Plx Technology, Inc. METHODS AND APPARATUS FOR A HIGH PERFORMANCE MESSAGING ENGINE INTEGRATED WITHIN A PCIe SWITCH
US20160335209A1 (en) * 2015-05-11 2016-11-17 Quanta Computer Inc. High-speed data transmission using pcie protocol
CN107391409B (en) * 2016-05-17 2020-02-18 新华三技术有限公司 PCI-E network controller, network equipment and data transmission method

Also Published As

Publication number Publication date
TW201929494A (en) 2019-07-16
CN109951365A (en) 2019-06-28
TWI649985B (en) 2019-02-01

Similar Documents

Publication Publication Date Title
US11429550B2 (en) System and method for extended peripheral component interconnect express fabrics
US9025495B1 (en) Flexible routing engine for a PCI express switch and method of use
US8995302B1 (en) Method and apparatus for translated routing in an interconnect switch
JP5601601B2 (en) Communication control system, switch node, and communication control method
US7752360B2 (en) Method and system to map virtual PCIe I/O devices and resources to a standard I/O bus
US7028106B2 (en) Remapping routing information entries in an expander
US9838300B2 (en) Temperature sensitive routing of data in a computer system
US11829309B2 (en) Data forwarding chip and server
US9146890B1 (en) Method and apparatus for mapped I/O routing in an interconnect switch
US8645594B2 (en) Driver-assisted base address register mapping
US20140195634A1 (en) System and Method for Multiservice Input/Output
US9734115B2 (en) Memory mapping method and memory mapping system
US9087162B2 (en) Using a PCI standard hot plug controller to modify the hierarchy of a distributed switch
CN103828332B (en) Data processing method, device, storage control and rack
CN105765545B (en) PCIe I/O collaborative shares method and apparatus and interacted system
US10599600B2 (en) Peripheral Component Interconnect Express (PCIe) switching for multi-host computing system deployments
US10430364B2 (en) Packet forwarding
Kwon et al. Gen-z memory pool system architecture
CN109951365B (en) Network communication method, system and controller combining PCIe bus and Ethernet
US20230016684A1 (en) Communications Method and Related Apparatus
US10523457B2 (en) Network communication method, system and controller of PCIe and Ethernet hybrid networks
US11824752B2 (en) Port-to-port network routing using a storage device
US9547613B2 (en) Dynamic universal port mode assignment
CN102855208B (en) System and method for achieving file interaction
US20240104045A1 (en) System and method for ghost bridging

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