TW201929494A - Network communication method, system and controller of PCIe and ethernet hybrid networks - Google Patents

Network communication method, system and controller of PCIe and ethernet hybrid networks Download PDF

Info

Publication number
TW201929494A
TW201929494A TW107100467A TW107100467A TW201929494A TW 201929494 A TW201929494 A TW 201929494A TW 107100467 A TW107100467 A TW 107100467A TW 107100467 A TW107100467 A TW 107100467A TW 201929494 A TW201929494 A TW 201929494A
Authority
TW
Taiwan
Prior art keywords
packet
rule
controller
host
network
Prior art date
Application number
TW107100467A
Other languages
Chinese (zh)
Other versions
TWI649985B (en
Inventor
王姿琳
李育緯
闕志克
Original Assignee
財團法人工業技術研究院
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 財團法人工業技術研究院 filed Critical 財團法人工業技術研究院
Application granted granted Critical
Publication of TWI649985B publication Critical patent/TWI649985B/en
Publication of TW201929494A publication Critical patent/TW201929494A/en

Links

Landscapes

  • Small-Scale Networks (AREA)

Abstract

A network communication method, a system and a controller of PCIe and Ethernet hybrid networks are provided. In one example of the network communication method, a packet is transmitted or received via a network interface (NIC). The packet is transmitted via an Ethernet over PCIe (EoP) port by adopting a PCIe based EoP architecture based on a PCIe bus for an intra-rack transmission, and the packet is transmitted via an Ethernet port for an inter-rack transmission. If the transmitted packet belongs to a broadcast packet, the network interface receiving the packet discards the packet or transmits the packet to the controller without re-broadcasting the packet again.

Description

結合快速周邊元件互連匯流排與乙太網路的網路通訊方法、系統及控制器Network communication method, system and controller combining fast peripheral component interconnection bus and Ethernet

本揭露是有關於一種結合快速周邊元件互連匯流排與乙太網路的網路通訊方法、系統及控制器。The disclosure relates to a network communication method, system and controller for combining a fast peripheral component interconnection bus and an Ethernet network.

快速周邊元件互連(Peripheral Component Interconnect Express, PCIe)匯流排是由PCI特別興趣小組(PCI Special Interest Group, PCI-SIG)開發的工業標準計算機擴展技術。PCIe最初設計為一個局部匯流排互聯技術(local bus interconnect technology),用於連接一台機器內的CPU、GPU和I/O設備,並從此進展而成為具有點至點鏈接(point-to-point links)、逐中繼段流量控制(hop-by-hop flow control)、端至端的重發(end-to-end retransmission)等特徵的一個完全成熟的交換網路(switched network)。PCIe亦可作為連接機器與外部設備(例如存儲盒)的擴展接口。The Peripheral Component Interconnect Express (PCIe) bus is an industry standard computer extension technology developed by the PCI Special Interest Group (PCI-SIG). PCIe was originally designed as a local bus interconnect technology for connecting CPUs, GPUs, and I/O devices within a machine, and has evolved to become point-to-point (point-to-point) A fully-fledged switched network with features such as links, hop-by-hop flow control, and end-to-end retransmission. PCIe can also be used as an expansion interface for connecting machines to external devices such as storage boxes.

PCIe網路是具有串行點對點全雙工通道(serial point-to-point full duplex lanes)的交換式網路。PCIe設備通過由一個或多個通道所組成的鏈路而連接到此PCIe網路。近日,利用PCIe介面將多個伺服器(servers)或虛擬化I/O設備(virtualized I/O devices)互連的擴展PCIe已經成為標準。例如,PCIe的應用可以進一步擴展到機櫃內部互連(intra-rack interconnect)。PCIe交換機可以取代標準的機櫃頂部(top of rack, ToR)乙太網交換機(Ethernet switch),也就是PCIe可以在同一機櫃內連接多個主機(hosts,例如伺服器)。也允許連接到PCIe交換機的輸入輸出(I/O)設備,以分享同一個機櫃內所有伺服器。機櫃中的所有伺服器之間亦可以通過PCIe鏈路(PCIe links)彼此進行通信。A PCIe network is a switched network with serial point-to-point full duplex lanes. A PCIe device connects to this PCIe network through a link consisting of one or more channels. Recently, an extended PCIe that interconnects multiple servers or virtualized I/O devices using the PCIe interface has become a standard. For example, PCIe applications can be further extended to intra-rack interconnects. PCIe switches can replace standard top of rack (ToR) Ethernet switches, which means that PCIe can connect multiple hosts (such as servers) in the same cabinet. Input and output (I/O) devices connected to the PCIe switch are also allowed to share all servers in the same cabinet. All servers in the cabinet can also communicate with each other through PCIe links.

目前在PCIe網路中同一機櫃內的多個伺服器之間的封包傳播無法跨機櫃進行,也不支援乙太網路式的廣播行為。At present, packet propagation between multiple servers in the same cabinet in a PCIe network cannot be performed across the cabinet, nor does it support Ethernet broadcast behavior.

本揭露內容提供一種結合快速周邊元件互連匯流排與乙太網路的網路通訊方法,其包括下列步驟。透過網路介面卡傳送或接收封包,其中,若封包為單點傳播,則針對同機櫃的傳播經由基於快速周邊元件互連匯流排的乙太網路(PCIe based Ethernet over PCIe,EoP)埠傳播封包,而針對不同機櫃的傳播則經由乙太網路埠傳送封包,若封包為廣播傳播,則丟棄封包,或傳送封包至控制器以回應封包。The disclosure provides a network communication method for combining a fast peripheral component interconnection bus and an Ethernet network, which includes the following steps. Transmitting or receiving packets through a network interface card, wherein if the packets are unicast, the propagation to the same cabinet is propagated via a PCIe based Ethernet over PCIe (EoP) based on a fast peripheral component interconnect bus The packet is transmitted by the Ethernet for transmission to different cabinets. If the packet is broadcast, the packet is discarded, or the packet is transmitted to the controller to respond to the packet.

本揭露內容提供一種結合快速周邊元件互連匯流排與乙太網路的網路通訊系統,其包括網路介面卡以及控制器。網路介面卡耦接於控制器,並經由配置以執行如下操作:傳送或接收封包,其中針對同機櫃的傳播經由基於快速周邊元件互連匯流排的乙太網路EoP埠採用EoP架構傳播封包,而針對不同機櫃的傳播則經由乙太網路埠傳送封包;以及若封包為廣播傳播,則丟棄封包,或傳送封包至控制器以回應封包。The present disclosure provides a network communication system that combines a fast peripheral component interconnect bus and an Ethernet network, including a network interface card and a controller. The network interface card is coupled to the controller and configured to perform the following operations: transmitting or receiving a packet, wherein the propagation to the same cabinet is via an EoP-based EoP architecture based on a fast peripheral component interconnection bus. And for the propagation of different cabinets, the packet is transmitted via the Ethernet; and if the packet is broadcasted, the packet is discarded, or the packet is transmitted to the controller in response to the packet.

本揭露內容提供一種控制器,適用於結合快速周邊元件互連匯流排與乙太網路的網路通訊系統。此控制器包括記憶體以及處理器。所述處理器耦接於到記憶體,用以管理同機櫃與不同機櫃內的多個主機之間的傳播,此處理器用以接收封包,其中封包來自外部目的主機的網路介面卡,並根據規則表判斷封包不匹配規則表內的所有規則,其中封包內包括連接埠資訊;依據連接埠資訊判斷連接埠資訊相關於基於快速周邊元件互連匯流排的乙太網路(EoP)埠或乙太網路埠以產生的判斷資訊;以及依據判斷資訊與封包產生規則並傳送至外部目的主機,其中外部目的主機將規則儲存於規則表並回應外部來源主機,而外部來源主機不再重新廣播封包。The present disclosure provides a controller for a network communication system that combines a fast peripheral component interconnect bus and an Ethernet network. This controller includes a memory and a processor. The processor is coupled to the memory for managing propagation between the plurality of hosts in the cabinet and the different cabinets, and the processor is configured to receive the packet, wherein the packet is encapsulated from a network interface card of the external destination host, and according to The rule table determines that the packet does not match all the rules in the rule table, wherein the packet includes the connection information; the connection information is determined according to the connection information, and the information is related to the Ethernet (EoP) or B based on the fast peripheral component interconnection bus. The network generates the judgment information; and generates rules according to the judgment information and the packet and transmits the rules to the external destination host, wherein the external destination host stores the rules in the rule table and responds to the external source host, and the external source host does not re-broadcast the packet. .

基於上述,多個機櫃中的主機可針對機櫃中主機的傳播採用EoP埠,而針對機櫃間主機的傳播採用Ethernet埠,同時利用PCIe匯流排的最大頻寬以加快機櫃中主機的傳播。Based on the above, hosts in multiple cabinets can use EoP埠 for the propagation of hosts in the cabinet, and Ethernet埠 for the propagation of hosts between the cabinets, while utilizing the maximum bandwidth of the PCIe buss to accelerate the propagation of hosts in the cabinet.

為讓本發明的上述特徵和優點能更明顯易懂,下文特舉實施例,並配合所附圖式作詳細說明如下。The above described features and advantages of the invention will be apparent from the following description.

本揭露的示範性實施例可包括本文中所描述(包括具體實施方式中所描述)和/或圖式中所展示的新穎特徵中的任何一個或一個以上。如本文中所使用,“至少一個”、“一個或一個以上”和“和/或”為在操作中既連接又分離的開端表達。舉例來說,表達“A、B和C中的至少一個”、“A、B或C中的至少一個”、“A、B和C中的一個或一個以上”、“A、B或C中的一個或一個以上”和“A、B和/或C”中的每一個意味單獨A、單獨B、單獨C、A和B一起、A和C一起、B和C一起或A、B和C一起。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 illustrated in the drawings. As used herein, "at least one", "one or more" and "and/or" are used to mean both connected and separated in operation. For example, "at least one of A, B, and C", "at least one of A, B, or C", "one or more of A, B, and C", "A, B, or C" Each of one or more of "and A, B and/or C" means alone A, alone B, alone C, A and B together, A and C together, B and C together or A, B and C together.

應注意,術語“一”實體指一個或一個以上所述實體。因此,術語“一”、“一個或一個以上”和“至少一個”可在本文中互換使用。It should be noted that the term "a" entity refers to one or more of the entities. Thus, the terms "a", "an" or "an"

本揭露的示範性實施例提出一種結合基於快速周邊元件互連匯流排的乙太網路(PCIe based Ethernet over PCIe,底下簡稱EoP)技術與乙太網路(底下簡稱Ethernet)的混合式網路通訊系統與方法,讓原本僅支援同機櫃封包傳播的EoP技術,在結合本揭露的示範性實施例所提出混合式網路通訊系統與方法後,亦支援跨機櫃資料傳播。The exemplary embodiment of the present disclosure proposes a hybrid network combining a PCIe based Ethernet over PCIe (EoP) technology and an Ethernet (hereinafter referred to as Ethernet) based on a fast peripheral component interconnect bus. The communication system and method enable the EoP technology that originally only supports the transmission of the cabinet package, and also supports the cross-cabinet data transmission after combining the hybrid network communication system and method proposed by the exemplary embodiment of the present disclosure.

本揭露的示範性實施例所提出的混合式網路通訊系統與方法中,在多個實施範例中的至少一個或部分,可包含一個控制器(Controller)以及一張網路介面卡(Network Interface Card,底下簡稱NIC),此網路介面卡內建支援基於快速周邊元件互連匯流排的乙太網路(EoP)與乙太網路(Ethernet),透過控制器在NIC上設定規則(Flow Rule),使封包能在不同機櫃的機器之間進行傳播,因此,上述的網路介面卡(NIC)亦是一張超級網路介面卡(Super Network Interface Card)。此外,此系統亦提供Ethernet行為的廣播服務,同時避免廣播風暴發生。在一個實施範例中,控制器可以建構在一個網路系統的管理主機中,或是在另一個實施範例中也可能建構在任何一台同機櫃內的主機中,端視欲應用的環境而定,不以此為限制。In the hybrid network communication system and method proposed by the exemplary embodiments of the present disclosure, at least one or part of the multiple embodiments may include a controller and a network interface card. Card, hereinafter referred to as NIC), this network interface card is built-in to support Ethernet (EoP) and Ethernet (Ethernet) based on fast peripheral component interconnection bus, and set rules on the NIC through the controller (Flow) Rule), so that the packet can be transmitted between machines in different cabinets. Therefore, the above network interface card (NIC) is also a Super Network Interface Card. In addition, this system also provides broadcast services for Ethernet behavior while avoiding broadcast storms. In one embodiment, the controller may be built in a management host of a network system, or in another embodiment, may be built in any host in the same cabinet, depending on the environment to be applied. , not as a limit.

本揭露的示範性實施例所提出的快速周邊元件互連(PCIe)與Ethernet混合式網路通訊系統與方式中,透過本揭露的示範性實施例使原本僅支援EoP技術的網路亦能在混合或相容Ethernet網路環境下,進行同機櫃與不同機櫃的封包傳播。In the fast peripheral component interconnection (PCIe) and Ethernet hybrid network communication system and method proposed by the exemplary embodiments of the present disclosure, the network that originally only supports EoP technology can also be used in the exemplary embodiment disclosed by the present disclosure. In a mixed or compatible Ethernet network environment, packets are transmitted in the same cabinet and in different cabinets.

使支援EoP技術的網路在混合或相容Ethernet網路環境下,進行同機櫃與不同機櫃的封包傳播的策略包括例如讓使用者(網管)透過控制器下達規則。為達此目的,首先控制器會進行媒體存取控制(Medium Access Control,底下稱為MAC)學習行為,接著控制器會下達規則至相對應的NIC。之後主機(Host)進行同機櫃或是不同機櫃的資料傳播時,可以根據使用者(網管)下達的單點(Unicast)傳播規則進行資料傳播。而為了避免廣播風暴產生,本揭露的示範性實施例所提出的混合式網路通訊系統與方法也制訂了廣播(broadcast)規則,使得NIC根據規則丟棄(Drop)封包或將封包送至主機與控制器後,不再進行封包的廣播動作。The strategy for enabling EoP-enabled networks to spread packets in the same cabinet and in different cabinets in a mixed or compatible Ethernet network environment includes, for example, allowing users (network management) to issue rules through the controller. To achieve this goal, the controller first performs a Medium Access Control (MAC) learning behavior, and then the controller issues a rule to the corresponding NIC. After the host (Host) performs data transmission with the cabinet or different cabinets, the data can be transmitted according to the Unicast propagation rules issued by the user (network management). In order to avoid broadcast storms, the hybrid network communication system and method proposed by the exemplary embodiment of the present disclosure also formulates a broadcast rule, so that the NIC drops the packet according to the rule or sends the packet to the host and the packet. After the controller, the broadcast action of the packet is no longer performed.

在本揭露中,在快速周邊元件互連匯流排之上基於快速周邊元件互連匯流排的乙太網路(EoP)埠用以加快機櫃中主機的傳播,並結合Ethernet埠以執行機櫃間的傳播。進一步而言,EoP埠是一種採用記憶體映射方法的PCIe埠,可以採用軟體驅動器(Driver)加以實現的連接埠;在另一實施例中,EoP埠亦可是實體/硬體的連接埠。In the present disclosure, an Ethernet (EoP) based on a fast peripheral component interconnection bus on the fast peripheral component interconnection bus is used to speed up the propagation of the host in the cabinet, and combined with the Ethernet port to perform inter-cabinet propagation. Further, EoP埠 is a PCIe埠 method using a memory mapping method, and can be implemented by a software driver; in another embodiment, the EoP埠 can also be a physical/hardware port.

以下配合圖式詳細描述本發明的示範性實施例,其中相同元件符號在圖式及描述中用來表示相同或相似部分。Exemplary embodiments of the present invention are described in detail below with reference to the drawings.

圖1為說明根據本揭露的示範性實施例的記憶體映射系統的方塊圖。FIG. 1 is a block diagram illustrating a memory mapping system in accordance with an exemplary embodiment of the present disclosure.

參看圖1,記憶體映射系統100包括管理主機110、PCIe匯流排130和多個伺服器120a到120n。伺服器120a到120n可經由PCIe匯流排130而耦接到管理主機110,並且PCIe匯流排130上的非透明橋(Non-Transparent Bridge,底下稱為NTB)(即,140a~140n)會執行管理主機110與伺服器120a到120n之間的記憶體位址映射。具體來說,每一個NTB 140a~140n具有兩個端點,且每一端點負責一個方向的記憶體位址映射。管理主機110包括中央處理器(Central Processing Unit,底下稱為CPU) 112、記憶體114、記憶體映射控制器116和單一根目錄I/O 虛擬化(Single Root I/O Virtualization,底下稱為SR-IOV)裝置118a~118n。記憶體映射控制器116可控制管理主機110與伺服器120a到120n之間的記憶體位址映射。SR-IOV裝置118a~118n(例如,10G乙太網路卡)可插在管理主機110上,且SR-IOV裝置118a~118n的虛擬功能可經由PCIe匯流排130而分享到伺服器120a到120n。Referring to FIG. 1, a memory mapping system 100 includes a management host 110, a PCIe bus 130, and a plurality of servers 120a through 120n. The servers 120a to 120n may be coupled to the management host 110 via the PCIe bus 130, and the Non-Transparent Bridge (hereinafter referred to as NTB) (ie, 140a-140n) on the PCIe bus 130 performs management. Memory address mapping between host 110 and servers 120a through 120n. Specifically, each NTB 140a-140n has two endpoints, and each endpoint is responsible for memory address mapping in one direction. The management host 110 includes a central processing unit (Central Processing Unit, CPU) 112, a memory 114, a memory mapping controller 116, and a single root I/O virtualization (Single Root I/O Virtualization, hereinafter referred to as SR). -IOV) devices 118a~118n. The memory map controller 116 can control the memory address mapping between the management host 110 and the servers 120a through 120n. SR-IOV devices 118a-118n (e.g., 10G Ethernet cards) can be plugged into management host 110, and the virtual functions of SR-IOV devices 118a-118n can be shared to servers 120a through 120n via PCIe bus 130 .

在示範性實施例中,NTB 140a的端點可經由PCIe匯流排130而將管理主機110的位址空間映射到伺服器120a,而NTB 140a的另一端點可經由PCIe匯流排130而將伺服器120a的位址空間映射到管理主機110。在此方法中,對管理主機110的記憶體的存取可導向到伺服器120a的所映射的記憶體位址,且對伺服器120a的記憶體的存取可導向到管理主機110的所映射的記憶體位址。In an exemplary embodiment, the endpoint of NTB 140a may map the address space of management host 110 to server 120a via PCIe bus 130, while the other endpoint of NTB 140a may place the server via PCIe bus 130 The address space of 120a is mapped to the management host 110. In this method, access to the memory of the management host 110 can be directed to the mapped memory address of the server 120a, and access to the memory of the server 120a can be directed to the mapped map of the management host 110. Memory address.

在多個實施範例中,記憶體映射控制器116可實現為軟體模組或程式碼。舉例來說,當在PCIe匯流排上檢測到新的伺服器時,程式碼可被載入到記憶體114中且由CPU 112執行,以使得管理主機110與伺服器之間的映射資訊得以更新。然而,本揭露不限於此。在部分實施範例中,記憶體映射控制器116還可實現為控制管理主機110與伺服器120a到120n之間的記憶體位址映射的硬體電路。In various embodiments, the memory map controller 116 can be implemented as a software module or code. For example, when a new server is detected on the PCIe bus, the code can be loaded into the memory 114 and executed by the CPU 112 to update the mapping information between the management host 110 and the server. . However, the disclosure is not limited thereto. In some implementations, memory mapping controller 116 may also be implemented as a hardware circuit that controls memory address mapping between management host 110 and servers 120a through 120n.

圖2為說明根據本揭露的示範性實施例的記憶體映射方法的流程圖。2 is a flow chart illustrating a memory mapping method in accordance with an exemplary embodiment of the present disclosure.

參看圖2,在步驟S201中,具有記憶體位址的管理主機會配置延伸記憶體位址。Referring to FIG. 2, in step S201, the management host having the memory address configures the extended memory address.

在步驟S203中,PCIe匯流排的NTB將對應於每一伺服器的管理主機的延伸記憶體位址分別映射到伺服器中的每一個的記憶體位址。In step S203, the NTB of the PCIe bus bar maps the extended memory addresses corresponding to the management host of each server to the memory addresses of each of the servers, respectively.

在步驟S205中,每一伺服器配置延伸記憶體位址。In step S205, each server configures an extended memory address.

在步驟S207中,NTB將每一伺服器的延伸記憶體位址映射到管理主機的記憶體位址和延伸記憶體位址,其中每一伺服器的延伸記憶體位址是對應於伺服器和管理主機。In step S207, the NTB maps the extended memory address of each server to the memory address and the extended memory address of the management host, wherein the extended memory address of each server corresponds to the server and the management host.

如上所述,記憶體映射方法在伺服器和管理主機中建構全域記憶體映射結構,以使得伺服器可使用每一NTB的BAR通過全域記憶體位址映射而共用SR-IOV裝置的虛擬功能且相互通信,同時利用PCIe匯流排的最大頻寬。因此,本揭露藉由此記憶體映射方法實現EoP埠,進而增加資料的傳播頻寬以及降低傳播的延遲。換言之,本揭露可能以軟體模組或程式碼的方式將PCIe埠與管理主機結合成EoP埠。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 the virtual functions of the SR-IOV device through the global memory address mapping using the BAR of each NTB and mutual Communication while taking advantage of the maximum bandwidth of the PCIe bus. Therefore, the present disclosure implements EoP埠 by the memory mapping method, thereby increasing the propagation bandwidth of the data and reducing the propagation delay. In other words, the disclosure may combine PCIe埠 with the management host into an EoP埠 in the form of a software module or a code.

圖3為說明根據本揭露的示範性實施例的機櫃內的網路通訊系統的方塊圖。3 is a block diagram illustrating a network communication system within a cabinet in accordance with an exemplary embodiment of the present disclosure.

參看圖3,網路系統300包括控制器310、多個主機320a到320n、PCIe交換器330和Ethernet交換器340。每一主機320a到320n各包括Ethernet埠Eth與EoP埠,且Ethernet埠Eth與EoP埠會耦接至PCIe交換器330。其中主機320a到320n可以是伺服器或虛擬伺服器等,而EoP埠可以為圖1與圖2所描述的以軟體實現記憶體映射系統的連接埠或是實體的連接埠。值得注意的是,可藉由軟體模組或程式碼將Ethernet埠Eth與EoP埠結合為網路介面卡(NIC)。基於此,NIC可以是虛擬交換器、驅動模組或其他各種虛擬模組等,且NIC可具有至少一個規則表以依據規則表的規則傳送或接收封包。控制器310耦接至多個主機320a到320n的NIC以及不同機櫃的主機的NIC,進而實時地監控機櫃中與機櫃外的主機。具體來說,控制器310與每個機櫃的主機之間會形成管理網路,且此網路是完全獨立於主機間的網路。需要注意的是,控制器310可以是設置於機櫃中、主機中或機櫃外,但本揭露內容不以此為限。PCIe交換器330耦接至Ethernet交換器340,用以處理機櫃中的傳播,且可透過Ethernet交換器340向不同的機櫃傳播或接收封包。在多個實施範例中,PCIe交換器330可以是設置於機櫃內、主機中或機櫃外,但本揭露內容不以此為限。Referring to FIG. 3, network system 300 includes a controller 310, a plurality of hosts 320a through 320n, a PCIe switch 330, and an Ethernet switch 340. Each of the hosts 320a to 320n includes Ethernet埠Eth and EoP埠, and Ethernet埠Eth and EoP埠 are coupled to the PCIe switch 330. The host 320a to 320n may be a server or a virtual server, etc., and the EoP may be a connection or a physical port of the memory mapping system implemented by the software as described in FIG. 1 and FIG. It is worth noting that Ethernet 埠Eth and EoP埠 can be combined into a network interface card (NIC) by software module or code. Based on this, the NIC can be a virtual switch, a driver module, or other various virtual modules, etc., and the NIC can have at least one rule table to transmit or receive packets according to the rules of the rules table. The controller 310 is coupled to the NICs of the plurality of hosts 320a to 320n and the NICs of the hosts of different cabinets, thereby monitoring the hosts in the cabinet and outside the cabinet in real time. Specifically, a management network is formed between the controller 310 and the host of each cabinet, and the 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. The PCIe switch 330 is coupled to the Ethernet switch 340 for handling propagation in the cabinet and can transmit or receive packets to and from different cabinets via the Ethernet switch 340. In various embodiments, the PCIe switch 330 may be disposed in the cabinet, in the host, or outside the cabinet, but the disclosure is not limited thereto.

圖4為說明根據本揭露的示範性實施例的機櫃間的網路通訊系統的方塊圖。4 is a block diagram illustrating a network communication system between cabinets in accordance with an exemplary embodiment of the present disclosure.

參看圖4,網路系統400包括控制器410、機櫃420a到420n及Ethernet交換器430,且控制器410與Ethernet交換器430獨立於機櫃420a到420n,而各機櫃420a到420n具有至少一主機。控制器410耦接至機櫃420a到420n以監控並管理各機櫃內的主機。換言之,控制器410與機櫃420a到420n已形成一個管理網路。機櫃420a到420n耦接至Ethernet交換器430以執行機櫃間的傳播。換言之,當不同機櫃內的主機互相傳播資料時,需要藉由Ethernet交換器430傳送或接收資料,且Ethernet交換器430與機櫃420a到420n形成一個獨立於管理網路的資料網路。Referring to FIG. 4, the network system 400 includes a controller 410, cabinets 420a through 420n, and an Ethernet switch 430, and the controller 410 and the Ethernet switch 430 are independent of the cabinets 420a through 420n, and each of the cabinets 420a through 420n has at least one host. The controller 410 is coupled to the cabinets 420a through 420n to monitor and manage the hosts within each cabinet. In other words, controller 410 and cabinets 420a through 420n have formed a management network. The cabinets 420a through 420n are coupled to the Ethernet switch 430 to perform propagation between the cabinets. In other words, when hosts in different cabinets transmit data to each other, data is transmitted or received through the Ethernet switch 430, and the Ethernet switch 430 and the cabinets 420a to 420n form a data network independent of the management network.

參看圖3和圖4,各機櫃420a到420n的主機的NIC可傳送或接收封包,其中針對同機櫃的傳播經由EoP埠採用PCIe為基礎的EoP架構傳播封包,而針對不同機櫃傳播則經由Ethernet埠Eth傳播封包。若封包為廣播傳播,則丟棄封包,或傳送封包至控制器。Referring to Figures 3 and 4, the NICs of the hosts of the cabinets 420a through 420n can transmit or receive packets, wherein the propagation of the same cabinets is propagated via the EoP(R) PCIe-based EoP architecture, and for different cabinets via Ethernet. Eth spreads the packet. If the packet is broadcast, the packet is discarded, or the packet is transmitted to the controller.

圖5為說明根據本揭露的示範性實施例的控制器的方塊圖。FIG. 5 is a block diagram illustrating a controller in accordance with an exemplary embodiment of the present disclosure.

參看圖5,控制器500包括處理器510、記憶體520及輸出入介面530。處理器510可耦接至記憶體520及輸出入介面530,且處理器510會預先將EoP埠與Ethernet埠分別對應第幾個埠以及哪些主機在同一個機櫃儲存於記憶體520中。換言之,記憶體520會儲存一個機櫃對應表與一個連接埠對應表,其中連接埠對應表具有各主機的連接埠分別與EoP埠及Ethernet埠的對應關係,而機櫃對應表會記錄各主機設置於哪個機櫃。每當各主機的連接埠與EoP埠及Ethernet埠的關係改變,處理器510會實時地修改連接埠對應表。而每當機櫃新增或移除主機,處理器510同樣會實時地修改機櫃對應表。當控制器500經由輸出入介面530接收到封包,處理器510將分析封包以獲得媒體存取控制(Media Access Control,MAC)位址及連接埠資訊,其中輸出入介面530可以是有線網路介面卡或無線收發介面,而連接埠資訊可以是主機接收此封包的腳位。此外,處理器510讀取記憶體520的連接埠對應表,並依據連接埠對應表判斷連接埠資訊相關於Ethernet埠或EoP埠以產生判斷資訊,進而藉由媒體存取控制位址與判斷資訊產生一個規則以進一步回傳此規則。例如:當連接埠資訊為主機的第15腳位,依據連接埠對應表判斷第15腳位為EoP埠,而處理器510便將EoP埠設置為判斷資訊。Referring to FIG. 5, the controller 500 includes a processor 510, a memory 520, and an input/output interface 530. The processor 510 can be coupled to the memory 520 and the input/output interface 530, and the processor 510 pre-configures the EoP and the Ethernet port to correspond to the first port and the hosts in the same cabinet in the memory 520. In other words, the memory 520 stores a cabinet correspondence table and a connection port correspondence table, wherein the connection port corresponding table has a correspondence between each host port and EoP埠 and Ethernet埠, and the cabinet correspondence table records each host setting. Which cabinet. Whenever the connection between each host and the relationship between EoP and Ethernet is changed, the processor 510 modifies the connection table in real time. The processor 510 also modifies the cabinet correspondence table in real time whenever the host is added or removed from the cabinet. When the controller 500 receives the packet via the output interface 530, the processor 510 analyzes the packet to obtain a Media Access Control (MAC) address and port information, wherein the output interface 530 can be a wired network interface. The card or the wireless transceiver interface, and the connection information can be the host receiving the packet. In addition, the processor 510 reads the connection/correspondence table of the memory 520, and determines the connection information according to the connection/correspondence table to be related to the Ethernet埠 or EoP埠 to generate the judgment information, and then controls the address and the judgment information through the media access control. Generate a rule to further pass back this rule. For example, when the connection information is the 15th pin of the host, the 15th pin is determined as EoP埠 according to the connection table, and the processor 510 sets the EoP埠 as the judgment information.

進一步而言,當外部來源主機廣播封包至外部目的主機時,處理器510可經由輸出入介面530接收封包,其中此封包來自外部目的主機的NIC,且此NIC根據規則表判斷封包不匹配規則表內的所有規則,其中此封包內包括來源主機的MAC位址以及連接埠資訊。接著,處理器510會依據連接埠資訊判斷此連接埠資訊相關於外部目的主機的NIC的EoP埠或Ethernet埠以產生的判斷資訊,進而依據判斷資訊與封包產生另一規則並經由輸出入介面530傳送至外部目的主機,其中外部目的主機將另一規則儲存於規則表並回應外部來源主機,而外部來源主機不再重新廣播封包。Further, when the external source host broadcasts the packet to the external destination host, the processor 510 can receive the packet via the output interface 530, wherein the packet is from the NIC of the external destination host, and the NIC determines the packet mismatch rule table according to the rule table. All rules within, including the MAC address of the source host and the connection information. Then, the processor 510 determines, according to the connection information, the connection information related to the EoP or Ethernet of the NIC of the external destination host to generate the judgment information, and then generates another rule according to the judgment information and the packet and passes through the output interface 530. Transferred to an external destination host, where the external destination host stores another rule in the rules table and responds to the external source host, while the external source host no longer rebroadcasts the packet.

圖6為說明根據本揭露的示範性實施例的規則表的示意圖。FIG. 6 is a schematic diagram illustrating a rules table in accordance with an exemplary embodiment of the present disclosure.

參看圖6,規則表600包括至少一規則,且各規則至少具有主機的MAC位址欄位610a到610n與對應的連接埠欄位620a到620n。此外,各規則更可具有優先權欄位。具體而言,當各主機要傳送封包時,會依據目的主機的MAC位址查找規則表以找出對應的連接埠欄位,並將封包藉由對應的連接埠傳送至目的主機,其中此連接埠欄位為控制器所產生的判斷資訊。若發現目的主機的MAC位址對應到兩個規則,將比較兩規則的優先權欄位以挑選出優先權較高的規則,其中連接埠欄位可以儲存Ethernet埠或EoP埠。而當各主機接收封包時,會依據來源主機的MAC位址查找規則表以判斷是否已存在對應的規則。若已存在對應的規則且此封包為廣播傳播,將會丟棄此封包或依照規則回傳至控制器。若不存在對應的規則,將接收此封包的連接埠資訊加入封包以傳送至控制器,其中連接埠資訊可以是主機接收封包的腳位。Referring to Figure 6, the rules table 600 includes at least one rule, and each rule has at least a host MAC address field 610a through 610n and a corresponding port field 620a through 620n. In addition, each rule may have a priority field. Specifically, when each host wants to transmit a packet, the rule table is searched according to the MAC address of the destination host to find a corresponding connection field, and the packet is transmitted to the destination host through the corresponding connection port, wherein the connection is The 埠 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 a higher priority rule, and the connection field can store Ethernet埠 or EoP埠. When each host receives the packet, it searches the rule table according to the MAC address of the source host to determine whether the corresponding rule already exists. If the corresponding rule already exists and the packet is broadcast broadcast, the packet will be discarded or returned to the controller according to the rules. If there is no corresponding rule, the connection information of the receiving packet is added to the packet for transmission to the controller, wherein the connection information may be the pin of the host receiving the packet.

圖7為說明根據本揭露的示範性實施例的單點傳播(unicast transmission)的傳送端的流程圖。FIG. 7 is a flowchart illustrating a transmitting end of a unicast transmission according to an exemplary embodiment of the present disclosure.

參看圖7,在步驟S701中,來源主機將封包的目的主機的MAC位址與規則表作比對。換言之,將封包內的目的主機的MAC位址直接提出,並將此MAC位址與規則表的所有規則作比對。Referring to FIG. 7, in step S701, the source host compares the MAC address of the packet of the destination host with the rule table. In other words, the MAC address of the destination host in the packet is directly raised, and the MAC address is compared with all the rules of the rule table.

在步驟S703中,依據與封包匹配的規則獲得對應於目的主機的連接埠。具體而言,當封包內的目的主機的MAC位址與規則表的規則匹配時,將讀取此規則的連接埠欄位以獲得對應於目的主機的MAC位址的連接埠,其中連接埠可能是EoP埠或Ethernet埠。在多個實施範例中,若目的主機的MAC位址與兩個規則匹配,將依據規則中的優先權欄位判斷對應於目的主機的MAC位址的連接埠。In step S703, a connection port corresponding to the destination host is obtained according to the rule matching the packet. Specifically, when the MAC address of the destination host in the packet matches the rule of the rule table, the connection field of the rule is read to obtain a connection port corresponding to the MAC address of the destination host, where the connection may be It is an EoP埠 or Ethernet埠. In multiple implementations, if the MAC address of the destination host matches the two rules, the port corresponding to the MAC address of the destination host is determined according to the priority field in the rule.

在步驟S705中,藉由對應的連接埠傳送此封包。具體而言,若對應的連接埠為EoP埠,將藉由EoP埠傳送封包至同機櫃的目的主機。而若對應的連接埠為Ethernet埠,將藉由Ethernet埠傳送封包至不同機櫃的目的主機。In step S705, the packet is transmitted by the corresponding port. Specifically, if the corresponding port is EoP, the packet will be transmitted to the destination host in the same cabinet by EoP. If the corresponding port is Ethernet, the packet will be sent to the destination host in different cabinets by Ethernet.

圖8為說明根據本揭露的示範性實施例的單點傳播的接收端的流程圖。FIG. 8 is a flowchart illustrating a receiving end of a unicast according to an exemplary embodiment of the present disclosure.

參看圖8,在步驟S801中,目的主機依據規則表與封包判斷是否有匹配封包的規則。具體而言,目的主機會讀取封包內的MAC位址,並讀取規則表的規則的MAC位址欄以比對封包內的MAC位址是否匹配。Referring to FIG. 8, in step S801, the destination host determines whether there is a rule for 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 field of the rule of the rule table to match whether the MAC address in the packet matches.

在步驟S803中,若未匹配,目的主機將相關於接收封包的來源主機的MAC位址以及連接埠的連接埠資訊加入封包以傳送給控制器。具體而言,目的主機的NIC會判斷接收封包的腳位以產生具有腳位資訊的連接埠資訊,並將此連接埠資訊以及來源主機的MAC位址加入封包以傳送至控制器。In step S803, if there is no match, the destination host adds the MAC address of the source host receiving the packet and the port information of the port to the packet for transmission to the controller. Specifically, the destination host's NIC determines the pin of the received packet to generate the port information with the pin information, and adds the port information and the MAC address of the source host to the packet for transmission to the controller.

在步驟S805中,控制器產生並回傳規則至目的主機。具體而言,控制器依據連接埠對應表判斷連接埠資訊屬於EoP埠或Ethernet埠以產生判斷資訊(至少具有EoP埠或Ethernet埠的資訊),並以封包的來源主機的MAC位址與判斷資訊產生規則,進而將此規則回傳至目的主機。In step S805, the controller generates and returns a rule to the destination host. Specifically, the controller determines, according to the connection/correspondence table, that the connection information belongs to EoP埠 or Ethernet埠 to generate judgment information (at least information with EoP埠 or Ethernet埠), and uses the MAC address and judgment information of the source host of the packet. Generate a rule and pass it back to the destination host.

在步驟S807中,目的主機將此規則儲存於規則表中。進一步而言,目的主機的NIC具有預先設置好的規則表,而每當NIC接收到新的規則時,NIC將此規則加入規則表。In step S807, the destination host stores the rule in the rule table. Further, the NIC of the destination host has a preset rule table, and the NIC adds the rule to the rule table whenever the NIC receives the new rule.

在步驟S809中,結束目的端的單點傳播。In step S809, the unicast propagation of the destination is ended.

圖9為說明根據本揭露的示範性實施例的廣播傳播的目的主機的流程圖。9 is a flow diagram illustrating a destination host for broadcast propagation in accordance with an exemplary embodiment of the present disclosure.

參看圖9,在步驟S901中,目的主機接收所廣播的封包。換言之,至少一目的主機會接收到來源主機所廣播的位址解析協定(Address Resolution Protocol,ARP)封包。Referring to FIG. 9, in step S901, the destination host receives the broadcasted packet. In other words, at least one destination host receives an Address Resolution Protocol (ARP) packet broadcast by the source host.

在步驟S903中,目的主機依據規則表判斷是否有匹配封包的規則。具體而言,目的主機會提出封包內的MAC位址以將此MAC位址與規則表內的規則一一比對,進而判斷是否完成匹配。In step S903, the destination host determines, according to the rule table, whether there is a rule for matching the packet. Specifically, the destination host will propose a MAC address in the packet to compare the MAC address with the rules in the rule table to determine whether the matching is completed.

在步驟S905中,若完成匹配,將此封包丟棄。In step S905, if the matching is completed, the packet is discarded.

在步驟S907中,若未完成匹配,將相關於接收封包的來源主機的MAC位址以及連接埠的連接埠資訊加入封包以傳送給控制器。具體而言,目的主機的NIC會判斷接收封包的腳位以產生具有腳位資訊的連接埠資訊,並將此連接埠資訊以及來源主機的MAC位址加入封包以傳送至控制器。In step S907, if the matching is not completed, the MAC address of the source host that receives the packet and the port information of the port are added to the packet for transmission to the controller. Specifically, the destination host's NIC determines the pin of the received packet to generate the port information with the pin information, and adds the port information and the MAC address of the source host to the packet for transmission to the controller.

在步驟S909中,控制器產生並回傳規則至目的主機。具體而言,控制器依據連接埠對應表判斷連接埠資訊屬於EoP埠或Ethernet埠以產生判斷資訊,並以封包的來源主機的MAC位址與判斷資訊產生規則,進而將此規則回傳至目的主機。In step S909, the controller generates and returns a rule to the destination host. Specifically, the controller determines, according to the connection/correspondence table, that the connection information belongs to EoP埠 or Ethernet埠 to generate the judgment information, and generates a rule by using the MAC address of the source host of the packet and the judgment information, and then returns the rule to the destination. Host.

在步驟S911中,目的主機儲存規則以依據規則回傳回應封包至來源主機。具體而言,目的主機的NIC會將規則儲存至規則表中,並依據規則與目的主機的MAC位址產生回應封包,且目的主機依據對應的規則的連接埠欄選擇連接埠以回傳回應封包。需要注意的是,若規則表的兩個規則具有相同的MAC位址,將連接埠欄為EoP的規則設置為較高的優先權,且目的主機優先依據優先權較高的連接埠傳送回應封包。若具有較高優先權的連接埠損壞,目的主機才會藉由優先較低的連接埠傳送回應封包。In step S911, the destination host stores the rule to return the response packet 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 according to the connection bar of the corresponding rule to return the response packet. . It should be noted that if the two rules of the rule table have the same MAC address, the rule that connects the EoP is set to a higher priority, and the destination host preferentially transmits the response packet according to the connection with higher priority. . If the connection with higher priority is damaged, the destination host will transmit the response packet by the lower priority connection.

在步驟S913中,目的主機將結束位址解析。In step S913, the destination host will end the address resolution.

圖10為說明根據本揭露的示範性實施例的廣播傳播的來源主機的流程圖。FIG. 10 is a flowchart illustrating a source host of broadcast propagation in accordance with an exemplary embodiment of the present disclosure.

參看圖10,在步驟S1001中,為完成位址解析,來源主機廣播封包。具體而言,在來源主機處於初始狀態下,控制器將傳送廣播規則至來源主機以產生具有廣播規則的規則表。來源主機將依據規則表與來源主機的MAC位址產生ARP封包以將封包從EoP埠與Ethernet埠傳送出去。因此,同機櫃的目的主機將會由EoP埠與Ethernet埠接收封包,而不同機櫃的目的主機將僅僅由Ethernet埠接收封包。其中目的主機會依據其NIC的規則表丟棄或傳送此封包至控制器。Referring to FIG. 10, in step S1001, in order to complete the address resolution, the source host broadcasts the packet. Specifically, when the source host is in an initial state, the controller will transmit a broadcast rule to the source host to generate a rules table with broadcast rules. The source host will generate an ARP packet according to the rule table and the MAC address of the source host to transmit the packet from EoP埠 and Ethernet埠. Therefore, the destination host in the same cabinet will receive packets from EoP埠 and Ethernet埠, and the destination hosts in different cabinets will only receive packets from Ethernet. The destination host discards or transmits the packet to the controller according to its NIC rule table.

在步驟S1003中,來源主機會接收目的主機的回應封包。具體而言,來源主機將從EoP埠接收同機櫃的目的主機的回應封包,而從Ethernet埠接收不同機櫃的目的主機的回應封包。In step S1003, the source host receives the response packet of the destination host. Specifically, the source host will receive response packets from the destination host of the same cabinet from the EoP port, and receive response packets from the destination host of the different cabinets from the Ethernet port.

在步驟S1005中,來源主機將相關於接收回應封包的目的主機的MAC位址以及連接埠的連接埠資訊加入回應封包以傳送給控制器。具體而言,來源主機的NIC將偵測接收回應封包的連接埠以產生連接埠資訊,並將連接埠資訊以及目的主機的MAC位址加入回應封包以傳送至控制器。In step S1005, the source host adds the MAC address of the destination host that receives the response packet and the port information of the port to the response packet for transmission to the controller. Specifically, the source host's NIC will detect the connection to receive the response packet to generate the connection information, and add the connection information and the destination host's MAC address to the response packet for transmission to the controller.

在步驟S1007中,控制器會產生並回傳規則。具體而言,控制器依據連接埠對應表判斷回應封包的連接埠資訊屬於EoP埠或Ethernet埠以產生判斷資訊,並根據回應封包的目的主機的MAC位址以及判斷資訊產生規則,進而回傳給來源主機。In step S1007, the controller generates and returns a rule. Specifically, the controller determines, according to the connection/correspondence table, the connection of the response packet, the information belongs to EoP埠 or Ethernet埠 to generate the judgment information, and returns the message according to the MAC address of the destination host of the response packet and the judgment information generation rule. Source host.

在步驟S1009中,來源主機會儲存規則至規則表。具體而言,來源主機的NIC會接收規則以將規則儲存於規則表中,進而完成位址解析。In step S1009, the source host stores the rules to the rules table. Specifically, the NIC of the source host receives the rule to store the rule in the rule table, thereby completing the address resolution.

以下將以圖11與12描述本揭露內容示範性實施例的實際應用,其中相同元件符號在圖式及描述中用來表示相同或相似部分。圖11為說明根據本揭露的示範性實施例的機櫃內的網路通訊系統的示意圖。圖12為說明根據本揭露的示範性實施例的機櫃間的網路通訊系統的示意圖。The practical application of the exemplary embodiments of the present disclosure will be described below with reference to FIGS. 11 and 12, wherein the same element symbols are used in the drawings and the description to represent the same or similar parts. 11 is a schematic diagram illustrating a network communication system within a cabinet in accordance with an exemplary embodiment of the present disclosure. FIG. 12 is a schematic diagram illustrating a network communication system between cabinets according to an exemplary embodiment of the present disclosure.

參看圖11,機櫃內的網路系統1100可具有多個主機1110a ~ 1110d、控制器 controller以及PCIe交換器,其中各主機1110a ~ 1110d具有NIC。當需要進行機櫃內的傳播時,可藉由主機的NIC的EoP埠傳送封包,並經由PCIe交換器傳送至另一主機的NIC的EoP埠。例如:當主機1110a傳送封包至主機1110b、主機1110c或主機1110d時,可藉由主機1110a的NIC的EoP埠傳送封包,並藉由主機1110b、主機1110c或主機1110d的NIC的EoP埠接收封包。Referring to Figure 11, the network system 1100 in the cabinet can have a plurality of hosts 1110a through 1110d, a controller controller, and a PCIe switch, wherein each of the hosts 1110a through 1110d has a NIC. When the propagation within the cabinet is required, the packet can be transmitted by the EoP port of the host's NIC and transmitted to the EoP port of the NIC of the other host via 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 can be transmitted by the EoP port of the NIC of the host 1110a, and the packet is received by the host 1110b, the host 1110c, or the EoP port of the NIC of the host 1110d.

參看圖12,機櫃間的網路系統1200可具有多個機櫃內的網路系統以及PCIe交換器。參看圖11和圖12,例如:主機1210a到1210c屬於同一個機櫃,而主機1220a到1220c屬於另一個機櫃。當需要進行機櫃間的傳播時,可藉由主機的NIC的Ethernet埠傳送封包,並經由Ethernet交換器傳送至另一機櫃的主機的NIC的Ethernet埠。例如:當主機1210a傳送封包至另一機櫃的主機1220a、主機1220b或主機1220c時,可藉由主機1210a的NIC的Ethernet埠傳送封包,並藉由主機1220a、主機1220b或主機1220c的NIC的Ethernet埠接收封包。此外,不論在進行機櫃內或機櫃間的傳播時,主機的NIC皆會判斷是否已儲存相關於接收到的封包的規則。若判斷不具有相關於接收到的封包的規則,NIC會告知控制器以產生新的規則,並將新的規則儲存於NIC中。Referring to Figure 12, the inter-cabinet network system 1200 can have multiple network systems within the cabinet as well as PCIe switches. Referring to Figures 11 and 12, for example, hosts 1210a through 1210c belong to the same cabinet, while hosts 1220a through 1220c belong to another cabinet. When the inter-rack propagation is required, the packet can be transmitted by the Ethernet NIC of the host NIC and transmitted to the Ethernet port of the NIC of the host of the other cabinet via the Ethernet switch. For example, when the host 1210a transmits the packet to the host 1220a, the host 1220b or the host 1220c of another cabinet, the packet can be transmitted by the Ethernet port of the NIC of the host 1210a, and the Ethernet of the NIC of the host 1220a, the host 1220b or the host 1220c is used.埠 Receive packets. In addition, the host's NIC determines whether the rules related to the received packet have been stored, whether in the cabinet or between the cabinets. If it is determined that there is no rule associated with the received packet, the NIC will inform the controller to generate a new rule and store the new rule in the NIC.

圖13為說明根據本揭露的示範性實施例的結合PCIe與Ethernet的網路通訊方法的流程圖。FIG. 13 is a flowchart illustrating a method of network communication combining PCIe and Ethernet according to an exemplary embodiment of the present disclosure.

參看圖13,在步驟S1301中,透過網路介面卡傳送或接收封包,其中針對同機櫃的傳播經由EoP埠傳播封包,針對不同機櫃的傳播則經由Ethernet埠傳播封包。Referring to FIG. 13, in step S1301, a packet is transmitted or received through a network interface card, wherein the propagation for the same cabinet propagates the packet via the EoP, and the propagation for the different cabinet propagates the packet via the Ethernet.

在步驟S1303中,若封包為廣播傳播,則丟棄封包,或傳送封包至控制器以回應此封包。In step S1303, if the packet is broadcast broadcast, the packet is discarded, or the packet is transmitted to the controller in response to the packet.

綜上所述,本揭露的網路通訊方法在機櫃內或機櫃間的主機之間建構出結合快速周邊元件互連匯流排與乙太網路的傳播結構,以使得機櫃內的主機之間採用EoP埠相互通訊,而機櫃間的主機之間採用Ethernet的連接埠。本揭露能將上述通能整合為一張網卡,同時利用PCIe匯流排的最大頻寬,且不需設置多餘的網卡以加快機櫃間的傳播。本揭露的先前描述的示範性實施利具有前述優點,其中前述優點並非本揭露內容的所有形式所需。In summary, the network communication method disclosed in the present invention constructs a propagation structure combining the fast peripheral component interconnection bus and the Ethernet between the cabinets or the hosts between the cabinets, so that the hosts in the cabinet are adopted between the hosts. EoP埠 communicate with each other, and the Ethernet between the cabinets uses an Ethernet port. The disclosure can integrate the above-mentioned universal energy into one network card, and utilizes the maximum bandwidth of the PCIe bus, and does not need to set an extra network card to accelerate the transmission between the cabinets. The previously described exemplary implementation of the present disclosure has the aforementioned advantages, wherein the foregoing advantages are not required in all forms of the present disclosure.

雖然本發明已以實施例揭露如上,然其並非用以限定本發明,任何所屬技術領域中具有通常知識者,在不脫離本發明的精神和範圍內,當可作些許的更動與潤飾,故本發明的保護範圍當視後附的申請專利範圍所界定者為準。Although the present invention has been disclosed in the above embodiments, it is not intended to limit the present invention, and any one of ordinary skill in the art can make some changes and refinements without departing from the spirit and scope of the present invention. The scope of the invention is defined by the scope of the appended claims.

100‧‧‧記憶體映射系統100‧‧‧Memory mapping system

110‧‧‧管理主機110‧‧‧Management host

112‧‧‧CPU112‧‧‧CPU

114‧‧‧記憶體114‧‧‧ memory

116‧‧‧記憶體映射控制器116‧‧‧Memory Mapping Controller

118a~118n‧‧‧SR-IOV裝置118a~118n‧‧‧SR-IOV device

120a~120n‧‧‧伺服器120a~120n‧‧‧Server

130‧‧‧PCIe匯流排130‧‧‧PCIe bus

140a~140n‧‧‧非透明橋(NTB)140a~140n‧‧‧Non-transparent bridge (NTB)

S201~S207‧‧‧步驟S201~S207‧‧‧Steps

300‧‧‧網路系統300‧‧‧Network System

310‧‧‧控制器310‧‧‧ Controller

320a~320n‧‧‧主機320a~320n‧‧‧Host

330‧‧‧PCIe交換器330‧‧‧PCIe exchanger

340‧‧‧Ethernet交換器340‧‧‧Ethernet switch

400‧‧‧網路系統400‧‧‧Network System

410‧‧‧控制器410‧‧‧ Controller

420a~420n‧‧‧機櫃420a~420n‧‧‧ cabinet

430‧‧‧Ethernet交換器430‧‧‧Ethernet switch

500‧‧‧控制器500‧‧‧ controller

510‧‧‧處理器510‧‧‧ processor

520‧‧‧記憶體520‧‧‧ memory

530‧‧‧輸出入介面530‧‧‧Import interface

600‧‧‧規則表600‧‧‧Rules

610a~610n‧‧‧MAC位址欄位610a~610n‧‧‧MAC address field

620a~620n‧‧‧連接埠欄位620a~620n‧‧‧Connected field

S701~S705‧‧‧步驟S701~S705‧‧‧Steps

S801~S809‧‧‧步驟S801~S809‧‧‧Steps

S901~S913‧‧‧步驟S901~S913‧‧‧Steps

S1001~S1009‧‧‧步驟S1001~S1009‧‧‧Steps

1100‧‧‧網路系統1100‧‧‧Network System

1110a~1110d‧‧‧主機1110a~1110d‧‧‧Host

1200‧‧‧網路系統1200‧‧‧Network System

1210a~1210c‧‧‧主機1210a~1210c‧‧‧Host

1220a~1220c‧‧‧主機1220a~1220c‧‧‧Host

S1301~S1303‧‧‧步驟S1301~S1303‧‧‧Steps

圖1為說明根據本揭露的示範性實施例的記憶體映射系統的方塊圖。 圖2為說明根據本揭露的示範性實施例的記憶體映射方法的流程圖。 圖3為說明根據本揭露的示範性實施例的機櫃內的網路通訊系統的方塊圖。 圖4為說明根據本揭露的示範性實施例的機櫃間的網路通訊系統的方塊圖。 圖5為說明根據本揭露的示範性實施例的控制器的方塊圖。 圖6為說明根據本揭露的示範性實施例的規則表的示意圖。 圖7為說明根據本揭露的示範性實施例的單點傳播的傳送端的流程圖。 圖8為說明根據本揭露的示範性實施例的單點傳播的接收端的流程圖。 圖9為說明根據本揭露的示範性實施例的廣播傳播的目的主機的流程圖。 圖10為說明根據本揭露的示範性實施例廣播點傳播的來源主機的流程圖。 圖11為說明根據本揭露的示範性實施例的機櫃內的網路通訊系統的示意圖。 圖12為說明根據本揭露的示範性實施例的機櫃間的網路通訊系統的示意圖。 圖13為說明根據本揭露的示範性實施例的結合PCIe與Ethernet的網路通訊方法的流程圖。FIG. 1 is a block diagram illustrating a memory mapping system in accordance with an exemplary embodiment of the present disclosure. 2 is a flow chart illustrating a memory mapping method in accordance with an exemplary embodiment of the present disclosure. 3 is a block diagram illustrating a network communication system within a cabinet in accordance with an exemplary embodiment of the present disclosure. 4 is a block diagram illustrating a network communication system between cabinets in accordance with an exemplary embodiment of the present disclosure. FIG. 5 is a block diagram illustrating a controller in accordance with an exemplary embodiment of the present disclosure. FIG. 6 is a schematic diagram illustrating a rules table in accordance with an exemplary embodiment of the present disclosure. FIG. 7 is a flowchart illustrating a transmitting end of a unicast according to an exemplary embodiment of the present disclosure. FIG. 8 is a flowchart illustrating a receiving end of a unicast according to an exemplary embodiment of the present disclosure. 9 is a flow diagram illustrating a destination host for broadcast propagation in accordance with an exemplary embodiment of the present disclosure. 10 is a flow diagram illustrating a source host for broadcast point propagation in accordance with an exemplary embodiment of the present disclosure. 11 is a schematic diagram illustrating a network communication system within a cabinet in accordance with an exemplary embodiment of the present disclosure. FIG. 12 is a schematic diagram illustrating a network communication system between cabinets according to an exemplary embodiment of the present disclosure. FIG. 13 is a flowchart illustrating a method of network communication combining PCIe and Ethernet according to an exemplary embodiment of the present disclosure.

Claims (13)

一種結合快速周邊元件互連匯流排與乙太網路的網路通訊方法,包括: 透過一網路介面卡傳送或接收一封包,其中 針對同機櫃的傳播經由一基於快速周邊元件互連匯流排的乙太網路(EoP)埠採用EoP架構傳播該封包, 針對不同機櫃的傳播則經由一乙太網路埠傳播該封包;以及 若該封包為廣播傳播,則丟棄該封包,或傳送該封包至一控制器以回應該封包。A network communication method combining a fast peripheral component interconnection bus and an Ethernet network, comprising: transmitting or receiving a packet through a network interface card, wherein the communication for the same cabinet is via a quick peripheral component-based interconnection bus The Ethernet (EoP) uses the EoP architecture to propagate the packet, and the propagation of the different cabinets is propagated via an Ethernet network; and if the packet is broadcast, the packet is discarded or the packet is transmitted. To a controller to return the packet. 如申請專利範圍第1項所述的網路通訊方法,其中若該封包為廣播傳播,則將丟棄該封包,或傳送該封包至該控制器以回應該封包的步驟包括: 不再重新廣播該封包;以及 依據該網路介面卡的一規則表丟棄或傳送該封包。The network communication method according to claim 1, wherein if the packet is broadcast, the packet is discarded, or the packet is transmitted to the controller to respond to the packet, including: not re-broadcasting the packet Decapsulating; and discarding or transmitting the packet according to a rule table of the network interface card. 如申請專利範圍第2項所述的網路通訊方法,其中將該規則表儲存於該網路介面卡,並依據該規則表丟棄或傳送該封包的步驟包括: 藉由該網路介面卡判斷該封包是否匹配該規則表;以及 若該封包匹配該規則表,將該封包丟棄,若該封包未匹配該規則表,將該來源主機的媒體存取控制位址以及一連接埠資訊加入該封包以傳送至該控制器,其中該控制器依據該封包控制該目的主機以回應該來源主機。The network communication method of claim 2, wherein the step of storing the rule table on the network interface card and discarding or transmitting the packet according to the rule table comprises: determining, by using the network interface card Whether the packet matches the rule table; and if the packet matches the rule table, the packet is discarded, and if the packet does not match the rule table, the media access control address of the source host and a link information are added to the packet. Transmitting to the controller, wherein the controller controls the destination host according to the packet to respond to the source host. 如申請專利範圍第3項所述的網路通訊方法,其中該控制器依據該封包控制該目的主機以回應該來源主機的步驟包括: 依據該控制器的一連接埠對應表判斷該連接埠資訊是相關於該EoP埠或該乙太網路埠以產生一判斷資訊,並將該判斷資訊儲存於該控制器;以及 依據該判斷資訊與該來源主機的媒體存取控制位址以及該連接埠資訊產生一規則並傳送至該目的主機,其中該目的主機將該規則儲存於該規則表以依據該規則回應該來源主機。The network communication method of claim 3, wherein the controlling the host according to the packet to return the source host according to the packet comprises: determining the connection information according to a connection/correspondence table of the controller Corresponding to the EoP or the Ethernet network to generate a judgment information, and storing the judgment information in the controller; and the media access control address and the connection according to the judgment information and the source host The information generates a rule and transmits it 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. 一種結合快速周邊元件互連匯流排與乙太網路的網路通訊系統,包括: 一控制器;以及 一網路介面卡,耦接於該控制器,並經由配置以執行如下操作: 傳送或接收一封包,其中針對同機櫃的傳播經由一基於快速周邊元件互連匯流排的乙太網路(EoP)埠採用EoP架構傳播該封包, 而針對不同機櫃的傳播則經由一乙太網路埠傳播該封包;以及 若該封包為廣播傳播,則丟棄該封包,或傳送該封包至一控制器以回應該封包。A network communication system combining a fast peripheral component interconnection bus and an Ethernet network, comprising: a controller; and a network interface card coupled to the controller and configured to perform the following operations: Receiving a packet in which the propagation to the same cabinet is transmitted via an EoP (EoP) based on a fast peripheral component interconnection bus, and the packet is transmitted through the EoP architecture for the different cabinets. Propagating the packet; and if the packet is broadcast, discard the packet, or transmit the packet to a controller to respond to the packet. 如申請專利範圍第5項所述的網路通訊系統,其中該網路介面卡為虛擬交換器、驅動模組或虛擬模組其中之一。The network communication system of claim 5, wherein the network interface card is one of a virtual switch, a driver module or a virtual module. 如申請專利範圍第5項所述的網路通訊系統,其中若該封包為廣播傳播,則丟棄該封包,或傳送該封包至該控制器以回應該封包的步驟包括: 不再重新廣播該封包;以及 依據該網路介面卡的一規則表丟棄或傳送該封包至該控制器。The network communication system of claim 5, wherein if the packet is broadcast, the packet is discarded, or the packet is transmitted to the controller to respond to the packet: the packet is not re-broadcasted And discarding or transmitting the packet to the controller according to a rule table of the network interface card. 如申請專利範圍第7項所述的網路通訊系統,其中該網路介面卡判斷該封包是否匹配該規則表,若該封包匹配該規則表,該網路介面卡將該封包丟棄,而若該封包未匹配該規則表,該網路介面卡將該來源主機的媒體存取控制位址以及一連接埠資訊加入該封包以傳送至該控制器,其中該控制器依據該封包控制該目的主機以回應該來源主機。The network communication system of claim 7, wherein the network interface card determines whether the packet matches the rule table, and if the packet matches the rule table, the network interface card discards the packet, and if the packet is discarded, The packet does not match the rule table, and the network interface card adds the media access control address of the source host and a link information to the controller, where the controller controls the destination host according to the packet. The source should be back to the source. 如申請專利範圍第8項所述的網路通訊系統,其中該控制器依據該控制器的一連接埠對應表判斷該連接埠資訊是相關於該EoP埠或該乙太網路埠以產生一判斷資訊,並儲存該判斷資訊以依據該判斷資訊與該來源主機的媒體存取控制位址以及該連接埠資訊產生一規則並傳送至該目的主機,其中該目的主機將該規則儲存於該規則表以依據該規則回應該來源主機。The network communication system of claim 8, wherein the controller determines, according to a connection/correspondence table of the controller, that the connection information is related to the EoP port or the Ethernet port to generate a Determining the information, and storing the judgment information to generate a rule according to the judgment information and the media access control address of the source host and the connection information, and transmitting the rule to the destination host, wherein the destination host stores the rule in the rule The table responds to the source host according to the rule. 如申請專利範圍第9項所述的網路通訊系統,其中該規則至少具有該來源主機的媒體存取控制位址及該判斷資訊。The network communication system of claim 9, wherein the rule has at least a media access control address of the source host and the determination information. 一種控制器,適用於結合快速周邊元件互連匯流排與乙太網路的網路通訊系統,包括: 一記憶體;以及 一處理器,耦接於該記憶體,用以管理同機櫃與不同機櫃內的多個主機之間的傳播,該處理器設置用以執行: 接收一封包,其中該封包來自一外部目的主機的一網路介面卡,且該網路介面卡根據一規則表判斷該封包不匹配該規則表內的所有規則,其中該封包內包括一外部來源主機的媒體存取控制位址及一連接埠資訊; 依據一連接埠對應表判斷該連接埠資訊相關於一基於快速周邊元件互連匯流排的乙太網路(EoP)埠或一乙太網路埠以產生的一判斷資訊;以及 依據該判斷資訊與該封包產生一規則並傳送至該外部目的主機,其中該外部目的主機將該規則儲存於該規則表並回應至該外部來源主機,而該外部來源主機不再重新廣播該封包。A controller for a network communication system combining a fast peripheral component interconnection bus and an Ethernet network, comprising: a memory; and a processor coupled to the memory for managing the same cabinet Propagating between a plurality of hosts in the cabinet, the processor is configured to: receive a packet, wherein the packet is from a network interface card of an external destination host, and the network interface card determines the rule according to a rule table The packet does not match all the rules in the rule table, wherein the packet includes a media access control address and an interface information of an external source host; and the connection information is determined according to a connection/relationship table. a component interconnecting bus (EoP) or an Ethernet network to generate a judgment message; and generating a rule with the packet according to the judgment information and transmitting the rule to the external destination host, wherein the external The 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. 如申請專利範圍第11項所述的控制器,其中該網路介面卡根據該規則表丟棄或傳送該封包。The controller of claim 11, wherein the network interface card discards or transmits the packet according to the rule table. 如申請專利範圍第12項所述的控制器,其中該規則至少具有該外部來源主機的媒體存取控制位址及該判斷資訊。The controller of claim 12, wherein the rule has at least a media access control address of the external source host and the determination information.
TW107100467A 2017-12-21 2018-01-05 NETWORK COMMUNICATION METHOD, SYSTEM AND CONTROLLER OF PCIe AND ETHERNET HYBRID NETWORKS TWI649985B (en)

Applications Claiming Priority (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
??201711394199.0 2017-12-21

Publications (2)

Publication Number Publication Date
TWI649985B TWI649985B (en) 2019-02-01
TW201929494A true TW201929494A (en) 2019-07-16

Family

ID=66213861

Family Applications (1)

Application Number Title Priority Date Filing Date
TW107100467A TWI649985B (en) 2017-12-21 2018-01-05 NETWORK COMMUNICATION METHOD, SYSTEM AND CONTROLLER OF PCIe AND ETHERNET HYBRID NETWORKS

Country Status (2)

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

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
CN109951365A (en) 2019-06-28
TWI649985B (en) 2019-02-01
CN109951365B (en) 2021-12-28

Similar Documents

Publication Publication Date Title
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
US9430432B2 (en) Optimized multi-root input output virtualization aware switch
CA2657827C (en) Method and apparatus for distributing usb hub functions across a network
US7308523B1 (en) Flow-splitting and buffering PCI express switch to reduce head-of-line blocking
US9734115B2 (en) Memory mapping method and memory mapping system
CN111684770B (en) System and method for automatically discovering texture topology
JPWO2008018485A1 (en) Interconnection switch and system
US20150163072A1 (en) Virtual Port Extender
US9678891B2 (en) Efficient search key controller with standard bus interface, external memory interface, and interlaken lookaside interface
CN105765545B (en) PCIe I/O collaborative shares method and apparatus and interacted system
WO2017028398A1 (en) Communication processing method and device
WO2020134144A1 (en) Data or message forwarding method, node, and system
US9331935B2 (en) Network device selection
US9594706B2 (en) Island-based network flow processor with efficient search key processing
TWI649985B (en) NETWORK COMMUNICATION METHOD, SYSTEM AND CONTROLLER OF PCIe AND ETHERNET HYBRID NETWORKS
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
CN104601494B (en) A kind of FC-AE interchangers and exchange method
TW201405315A (en) Data routing system supporting dual master apparatuses
TWI310903B (en) Method and apparatus of i/o configuration messaging within a link-based computing system
US20240104045A1 (en) System and method for ghost bridging
JP6298534B2 (en) ROUTE CONTROL DEVICE, ROUTE CONTROL METHOD, COMPUTER SYSTEM, PROGRAM, AND STORAGE MEDIUM CONTAINING PROGRAM
US20230016684A1 (en) Communications Method and Related Apparatus