Device and method for processing arp message in cascaded application of fc switch with fusion port
By optimizing the ARP frame processing flow in an FC switch cascaded environment, and utilizing Ethernet IP cores and modular processing, the problems of ARP frames consuming CPU resources and sharing paths with UDP frames were solved, achieving efficient processing of ARP frames and stable transmission of UDP frames.
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2023-07-16
- Publication Date
- 2026-03-20
AI Technical Summary
In an FC switch cascaded environment, ARP frame processing consumes a large amount of CPU resources, resulting in a heavy CPU burden. Furthermore, the shared FPGA logic data path between ARP frames and UDP frames can easily cause congestion and frame loss. Existing technologies struggle to achieve efficient and reliable ARP frame message processing.
The system employs an Ethernet IP core, a first frame judgment module, a UDP frame content stripping and reassembly module, an FC frame assembly module, a transparent frame assembly module, a MAC address self-learning module, and an ARP frame assembly module to process UDP frames, ARP frames, and non-ARP non-UDP frames respectively. It optimizes the processing flow of ARP frames and separates their processing paths from those of UDP frames, thereby reducing the CPU load.
By processing ARP frames using FPGA logic, the workload of the CPU is greatly reduced, the problem of UDP frame loss caused by the influx of ARP frames is solved, and the processing efficiency of ARP frames and the stability of the switch are improved.
Smart Images

Figure CN116760787B_ABST
Abstract
Description
TECHNICAL FIELD
[0001] The present application relates to the field of FC communication technology, in particular to an ARP message processing device and method for FC switch with fusion port in cascading application. BACKGROUND
[0002] FC switch with fusion port can realize free conversion between Ethernet and FC network. With the continuous expansion of network size, one switch cannot meet the explosive growth of terminal number, at which time multiple switches need to be cascaded for use. In this way, interconnection of multiple LANs can be realized.
[0003] Figure 1 The FC switch communication system composed of two cascaded switches is shown in the figure. In actual application, multiple FC switches with fusion port can be cascaded through FC ports. As shown in the figure, two switches are cascaded through cascaded ports, the cascaded port is FC port (green port in the figure), the Ethernet port is represented by orange, the Ethernet port of FC switch 1 accesses LAN 1, the Ethernet port of FC switch 2 accesses LAN 2, and the two FC switches are connected through the cascaded port (FC_port).
[0004] Currently, there are two design schemes for switches with Ethernet fusion port:
[0005] 1. The FC frame header is added to the Ethernet frame received by the fusion port (Ethernet port), similar to the FCoE scheme. The Ethernet frame with FC frame header is directly sent to the CPU for processing. If it is sent to a normal FC port, the CPU will reassemble the frame into an FC frame and send it to the corresponding port. If it is sent to the Ethernet port of another LAN, the CPU will mark and forward the frame. This scheme has heavy CPU burden and slow processing speed.
[0006] 2. The Ethernet frame received by the fusion port is classified. The UDP frame is directly processed by FPGA logic, and the ARP frame, ICMP frame, etc. are directly encapsulated with FC frame header and sent to the CPU for processing. This scheme reduces the CPU burden to some extent and improves the processing speed of UDP frame, but still has the problems of easy congestion and frame loss.
[0007] In the existing Ethernet and FC fusion scheme, the processing of ARP frames is completed by the CPU. The CPU needs to process a large number of ARP response frames and request frames, resulting in heavy CPU burden. In addition, ARP frames and UDP frames share the FPGA logical data path. ARP frame processing occupies the UDP processing bandwidth and resources, which can easily cause UDP line congestion. For example, when a MAC address is requested, an ARP request frame is initiated. If the ARP reply frame is not received in time, the timeout retransmission mechanism will be triggered, and the ARP request frame will be sent multiple times, resulting in a large number of ARP response frames entering at a certain time after sending, causing line congestion, UDP frames cannot be processed, and a large number of frames are lost.
[0008] In the existing design, in addition to implementing ARP frame message processing through the CPU, an ARP-related processing module is also designed inside the FPGA. For example, in the patent application with publication number CN102231709, it is proposed that ARP response packets can be processed, and the ARP table is updated according to the response information. If it is an ARP request packet, it is determined whether the port number matches. If it matches, the ARP request packet is returned, otherwise the packet is discarded. The FPGA internal ARP-related module is only responsible for storing the correspondence between IP address and MAC address, but it cannot process ARP frame data in the FC switch cascading environment.
[0009] In addition, the patent application with publication number CN103916252 proposes an Ethernet IP core based on FPGA, which divides the received Ethernet frames into ARP data frames and data frames, and places them in two different cache areas. According to the ARP frame format, if it is a response frame, it is discarded, if it is a request frame, it is determined whether the IP address is consistent with the own IP address. If it is consistent, the response is replied, if it is not consistent, the frame is discarded. This scheme can only implement simple discrimination of ARP frames, and cannot perform complex processing. In the disclosures of patents CN113452804 and CN114489840, FPGA is used to implement ARP frame response, but there is no related processing mechanism for ARP frames that the switch cannot respond to, and the forwarding process of ARP frames from one LAN to another LAN in the cascading situation cannot be completed. In the ARP sending stage, ARP frames and UDP frames share a set of sending modules, which can easily cause port congestion. In addition, in the patent application with publication number CN114584526 in the prior art, the FPGA directly forwards external network interface ARP request or response frame data packets to the CPU module, and the CPU analyzes the frame content. If it is the local IP, it replies, if it is not the local IP, it directly ends the processing.
[0010] ARP frame is a TCP / IP protocol frame for obtaining physical address according to IP address. When a host sends information, ARP request containing target IP address is broadcasted to all hosts on the network, and return message is received to determine the physical address of the target; after receiving the return message, the IP address and physical address are stored in the local ARP cache. Therefore, the number of ARP frames in the Ethernet is large and needs to be processed in time, which occupies a large amount of resources. In the current large number of designs, the processing of ARP frames is not distinguished from the processing path of UDP frames, such as the method proposed in the prior art, although different solutions for ARP frame message processing in CPU and FPGA are proposed, but it is difficult to realize efficient and reliable ARP frame message processing in FC switch cascade environment. SUMMARY
[0011] In view of the defects of the prior art, according to the first aspect of the purpose of the application, a kind of ARP message processing device of FC switch with fusion port in cascade application is provided, comprising:
[0012] Ethernet IP core;
[0013] First frame judging module, for judging the type of Ethernet frame forwarded by Ethernet IP core, and according to the type of Ethernet frame, respectively into different flow for classification processing, the type of Ethernet frame includes UDP frame, ARP frame, non-ARP non-UDP frame and abnormal frame;
[0014] UDP frame content stripping and recombination module, for stripping IP header and UDP header to the entering UDP frame, then the data content obtained after stripping is recombined into complete UDP frame content, and the IP address corresponding to this frame is output;
[0015] Group FC frame module, which is set to read the UDP frame content in the UDP frame content stripping and recombination module, and perform group FC frame, and then send to the FC switch matrix of FC switch;
[0016] Transmitting group frame module, for non-ARP frame non-UDP frame and response address non-FC switch ARP frame, directly with full frame as FC frame data content FC frame header, realize full frame group FC frame transmitting processing;
[0017] The MAC address self-learning module is configured to store the MAC address and IP address of the reply in the ARP frame for the reply ARP frame with the reply address of the FC switch, and extract the request IP address in the request ARP frame and query the request IP address in the MAC address self-learning module, and perform group ARP reply frame processing on the request ARP frame according to the query result, or send the request ARP frame to the transparent group frame module for full frame group FC frame transparent processing, and then route the request ARP frame to the cascade port of the FC switch, and send the request ARP frame to the cascade port of another FC switch through the cascade port, and route the request ARP frame to the Ethernet port of the FC switch through the FC switch matrix of the another FC switch for sending.
[0018] The ARP group frame module is configured to perform group ARP request frame processing on the MAC address and request IP address of the request ARP frame, and send the group ARP request frame to the requestor.
[0019] As an optional implementation, the first frame judgment module classifies the frames according to the frame header mark of the Ethernet frame, and distinguishes the frames into UDP frames, ARP frames, non-ARP non-UDP frames and abnormal frames. The abnormal frames refer to the abnormal frames with checksum error, frame header error or frame breakage, which are directly discarded in the frame judgment module. The UDP frames, ARP frames and non-ARP non-UDP frames are sent to the transparent group frame module, the MAC address self-learning module and the ARP group frame module for processing, respectively.
[0020] As an optional implementation, the UDP frame content stripping and recombination module and the group FC frame module are exclusive processes for the UDP frames, and are not shared with the processing processes of the ARP frames and the non-ARP non-UDP frames.
[0021] As an optional implementation, the ARP message processing device further comprises:
[0022] The second frame judgment module is configured to judge the type of the FC data frame forwarded by the cascade port, and send the FC data frame to different processes for classification processing according to the type of the FC data frame, including UDP processing and transparent frame processing.
[0023] The FC frame analysis module is configured to receive the UDP frame sent by the second frame judgment module, analyze the data content in the frame and strip the FC frame header.
[0024] The frame content recombination module is configured to recombine the data content into complete IU content according to the data content sent by the FC frame analysis module, and obtain the IP address corresponding to the FC frame from the bridge table.
[0025] An Ethernet frame sending module is configured to read the IU content reorganized by the frame content reorganization module, query the MAC address from the MAC address self-learning module according to the IP address, group the Ethernet frame according to the queried MAC address, and then send the Ethernet frame through the Ethernet IP core;
[0026] A transparent frame analysis module is configured to remove the FC frame header from the incoming transparent frame, and directly send the content without the frame header to the Ethernet frame sending module for sending.
[0027] As an optional embodiment, the Ethernet fusion port is pre-configured with a bridge table module to configure the mapping relationship between the FCID and the IP.
[0028] Before the UDP frame sending process, the ARP request function is pre-positioned, and the bridge table module sends the configured IP address to the ARP grouping module to directly send the ARP request frame.
[0029] According to the second aspect of the object of the application, an Ethernet frame data transmission system of an FC switch with a fusion port is also provided, comprising:
[0030] At least one first FC switch configured with an Ethernet MAC port and an FC_MAC port;
[0031] At least one second FC switch configured with an Ethernet MAC port and an FC_MAC port;
[0032] The first FC switch and the second FC switch are connected in cascade via the FC_MAC ports, and the respective cascade port numbers of the two FC switches and the domain addresses of the FC switches connected thereto are obtained after the two FC switches are powered on.
[0033] The first FC switch and the second FC switch are connected in cascade via the FC_MAC ports, and the respective cascade port numbers of the two FC switches and the domain addresses of the FC switches connected thereto are obtained after the two FC switches are powered on.
[0034] The first FC switch and the second FC switch are connected in cascade via the FC_MAC ports, and the respective cascade port numbers of the two FC switches and the domain addresses of the FC switches connected thereto are obtained after the two FC switches are powered on.
[0035] The Ethernet MAC ports of the first FC switch and the second FC switch are set as Ethernet fusion ports, and the Ethernet fusion ports are configured to include:
[0036] An Ethernet IP core;
[0037] The first frame judging module is used for judging the type of the Ethernet frame forwarded by the Ethernet IP core, and sending the Ethernet frame into different flows for classified processing according to the type of the Ethernet frame, wherein the type of the Ethernet frame includes UDP frame, ARP frame, non-ARP non-UDP frame and abnormal frame.
[0038] The UDP frame content stripping and recombination module is used for stripping the IP header and the UDP header of the incoming UDP frame, then recombining the data content obtained after stripping into complete UDP frame content, and outputting the IP address corresponding to the frame.
[0039] The group FC frame module is arranged to read the UDP frame content in the UDP frame content stripping and recombination module, and to perform group FC frame, and then to send the FC exchange matrix of the FC switch.
[0040] The transparent group frame module is used for directly taking the full frame as the data content of the FC frame header to realize the transparent processing of the full frame group FC frame for the incoming non-ARP frame non-UDP frame and the response address non-FC switch ARP frame.
[0041] The MAC address self-learning module is used for storing the MAC address and the IP address of the response ARP frame, and extracting the request IP address in the request ARP frame, and querying the request IP address in the MAC address self-learning module, and performing group ARP response frame processing for the request ARP frame according to the query result, or sending the request ARP frame to the transparent group frame module for the full frame group FC frame transparent processing, and then routing to the cascade port of the FC switch, and sending to the cascade port of another FC switch through the cascade port, and routing to the Ethernet port of the FC switch through the FC exchange matrix of another FC switch for sending.
[0042] The ARP group frame module is used for performing group ARP request frame for the MAC address and the request IP address of the request ARP frame, and sending to the requestor.
[0043] According to the third aspect of the object of the application, the application further provides an ARP message processing method of the FC switch with the fusion port in the cascade application, and the method comprises the following steps:
[0044] Receiving the Ethernet frame from the Ethernet;
[0045] Judging the type of the received Ethernet frame according to the frame header mark of the Ethernet frame;
[0046] If the Ethernet frame is a UDP frame, it directly enters the UDP frame content stripping and reorganization module to strip the Ethernet frame header and reorganize the frame, and sends the frame content after reorganization to the FC frame assembly module to encapsulate the FC frame header and then send to the FC switching matrix of the FC switch for routing. The UDP frame content stripping and reorganization module and the FC frame assembly module are exclusively used for the UDP frame processing flow and are not shared with other types of frame processing flows.
[0047] If the Ethernet frame is a non-ARP frame and a non-UDP frame, it directly enters the transparent frame assembly module. The transparent frame module directly uses the Ethernet frame as the data content of the FC frame to encapsulate the FC frame header, and sends it to the CPU through the FC switching matrix of the FC switch for processing, so that the non-ARP frame and non-UDP frame data processing path is completely separated from the UDP frame data processing path, and does not occupy the UDP frame processing bandwidth.
[0048] If the Ethernet frame is an ARP frame, it is further determined whether it is a response frame or a request frame.
[0049] If the ARP frame is a response frame and the response address is not the FC switch, the ARP frame needs to be forwarded to other local area networks connected by the FC switch. At this time, the ARP frame is sent to the transparent frame assembly module, the Ethernet frame is used as the data content of the FC frame to encapsulate the FC frame header, and is routed to the cascade port of the FC switch and sent to the cascade port of another FC switch through the cascade port, and then routed to the Ethernet port of the another FC switch through the switching matrix of the another FC switch for transmission.
[0050] If the ARP frame is a response frame and the response address is the FC switch, it is determined that the ARP frame is a response to the ARP request frame sent by the FC switch before, and the MAC address and IP address in the ARP frame are sent to the MAC address self-learning module for storage. This process does not require the CPU to participate.
[0051] If the ARP frame is a request frame, the request IP address contained in the request frame is extracted and queried in the MAC address self-learning module.
[0052] If the corresponding MAC address can be queried, the request IP address and the corresponding MAC address are sent to the ARP frame assembly module to assemble an ARP response frame and send it to the requester through Ethernet IP. This process does not require the CPU to participate.
[0053] If the IP address extracted from the request frame is not queried with a corresponding MAC address in the MAC address self-learning module, the request frame needs to be forwarded to other local area networks connected by the cascaded FC switch for request, at this time, the request frame is sent to the transparent group frame module, the FC frame header is encapsulated with the frame as the data content of the FC frame, and is routed to the cascaded port of the FC switch, and is sent to the cascaded port of another FC switch through the cascaded port, and is routed to the Ethernet port of the another FC switch through the switching matrix of the another FC switch for sending.
[0054] As an optional implementation, the ARP message processing method further comprises the following steps:
[0055] The bridge table module is pre-configured to configure the mapping relationship between the FCID and the IP;
[0056] The ARP request function is pre-positioned before the UDP frame sending process, the bridge table module sends the configured IP address to the ARP group frame module, the ARP request frame is directly sent out, and when the response ARP reply frame is received, the MAC address and the IP address corresponding relationship in the ARP reply frame are stored in the MAC address self-learning module.
[0057] As an optional implementation, the ARP message processing method further comprises the following steps:
[0058] When the FC frame sent from the Ethernet port needs to enter the Ethernet frame sending module through the FC frame analysis module and the recombination frame content, the corresponding IP address is obtained by querying the bridge table through the FCID of the FC frame, and the MAC address corresponding to the IP address is obtained by querying the MAC address self-learning module through the IP address, and the Ethernet frame header is encapsulated according to the MAC address corresponding to the IP address, and the Ethernet frame is sent out.
[0059] In combination with the ARP processing optimization device and method proposed in the application, the device and method are applied to the FC switch cascaded environment with a fusion port, the Ethernet ports of different FC switches can access different local area networks, for a certain switch, the Ethernet port receives the ARP frame of a non-local IP (local area network A), needs to be sent to another switch through the cascaded FC port until another local area network B connected by another switch, if the local area network B replies to the ARP frame, the reply frame can also be forwarded to the local area network A through the cascaded port. Through the application, a large number of ARP frame processing processes are processed by the FPGA logic, which greatly reduces the processing workload of the CPU, and at the same time, the ARP processing process and the UDP process are separated, the FPGA resources are divided, and the blocking caused by a large number of ARP frames at the moment is solved, thereby solving the UDP frame loss problem.
[0060] It is to be understood that all combinations of the foregoing concepts and additional concepts described in greater detail below (provided such concepts are not mutually inconsistent) are contemplated as being part of the inventive subject matter. Additionally, all combinations of claimed subject matter are contemplated as part of the inventive subject matter.
[0061] The foregoing and other aspects, embodiments and features of the present teachings are more fully described and understood by reference to the following description taken in conjunction with the accompanying drawings. Other aspects, embodiments and features of the present teachings will be apparent from the description that follows, and from the claims. BRIEF DESCRIPTION OF DRAWINGS
[0062] The accompanying drawings are not intended to be drawn to scale. In the drawings, each identical, or nearly identical, component that is illustrated in various figures is represented with a like numeral. For purposes of clarity, not every component is called out in every drawing. Embodiments of various aspects of the present teachings will now be described, by way of example, with reference to the drawings, in which:
[0063] Figure 1 is a schematic diagram of a prior art FC switch communication system composed of two cascaded switches.
[0064] Figure 2 is a schematic diagram of an Ethernet convergence port of an Ethernet frame transmission system with a convergence port.
[0065] Figure 3 is a schematic diagram of an Ethernet convergence port of an embodiment of the present teachings.
[0066] Figure 4 is a schematic diagram of an FC frame header encapsulation by a pass-through framing module of an embodiment of the present teachings.
[0067] Figure 5 is a schematic diagram of ARP frame message processing classification of an embodiment of the present teachings.
[0068] Figure 6 is a schematic diagram of Ethernet frame transmission principles of an embodiment of the present teachings.
[0069] Figure 7 is a schematic diagram of pass-through frame encapsulation FC frame header principles of an embodiment of the present teachings.
[0070] Figure 8 is a schematic diagram of FC frame header encapsulation of a normal UDP frame of an embodiment of the present teachings.
[0071] Figure 9 is a schematic diagram of a path topology for an ARP frame whose destination IP is not local and whose request IP is unknown, requiring forwarding to another LAN via a cascaded port between switches of an embodiment of the present teachings. is a schematic diagram of a path topology for an ARP frame whose destination IP is not local and whose request IP is unknown, requiring forwarding to another LAN via a cascaded port between switches of an embodiment of the present teachings.
[0072] Figure 10 is Figure 9 Fig. 4 is a schematic diagram of a frame structure variation of an ARP frame in the path topology of the embodiment shown in Fig. 3. DETAILED DESCRIPTION
[0073] For a better understanding of the technical content of the present application, specific embodiments are described below with reference to the accompanying drawings.
[0074] Aspects of the present application are described in the disclosure by reference to the accompanying drawings, in which a number of illustrative embodiments are shown. The embodiments of the present disclosure are not necessarily intended to encompass all aspects of the present application. It should be understood that various concepts and embodiments introduced above and those described in more detail below can be implemented in any of numerous ways, as the disclosed concepts and embodiments are not limited to any one implementation. Additionally, some aspects of the present application can be utilized independently, or in any suitable combination with other aspects of the present application.
[0075] In conjunction with Figure 1 , 2 As shown in Fig. 3, the Ethernet frame data transmission system for FC switches with a fusion port includes at least one first FC switch, which is configured with an Ethernet MAC port (orange) and an FC port (green); at least one second FC switch, which is configured with an Ethernet MAC port (orange) and an FC port (green). As shown in Fig. 4, the FC switch 1 and the FC switch 2 connected in cascade are taken as an example for illustration. Figure 1 As shown in Fig. 4, the FC switch 1 and the FC switch 2 connected in cascade are taken as an example for illustration.
[0076] The first FC switch and the second FC switch are connected in cascade via two FC ports. As shown in the figure, after the two FC switches are powered on, the respective cascade port numbers of the two FC switches connected in cascade and the domain addresses of the FC switches connected thereto are obtained.
[0077] For example, after the first FC switch and the second FC switch are powered on, the respective cascade port numbers of the FC switches and the domain addresses of the FC switches connected thereto are obtained by broadcasting a cascade protocol frame. After the switch is powered on, the CPU sends a cascade protocol frame to all FC ports except the CPU port through the FC port connected thereto, and if the FC port receives the cascade protocol frame, it is directly forwarded to the FC port connected to the CPU and then sent to the CPU. After the CPU receives the cascade protocol frame, it will reply and communicate relevant information, inform the domain address of the switch, and obtain key information such as the cascade port. Through the cascade protocol, the switch also obtains the cascade port number of the switch and the domain address of the connected switch.
[0078] The first FC switch and the second FC switch are connected to the local area network through their respective Ethernet MAC ports.
[0079] The first FC switch and the second FC switch can also be connected to one or more terminal devices via their respective FC ports.
[0080] Combination Figure 1 , 2 As shown, the Ethernet MAC ports of the first FC switch and the second FC switch are configured as Ethernet converged ports, and the sending / receiving of Ethernet frames is realized through the Ethernet converged ports.
[0081] On the receiving channel, Ethernet frames are received and the data content after stripping the IP header and UDP header is reassembled into complete UDP frame content. Then, the data content is grouped into FC frames and sent to the FC switching matrix of the current switch for routing. The data content is sent based on the routing result.
[0082] On the transmission channel, FC frames are received from the FC switching matrix. After parsing the intra-frame data of the FC frames, the UDP frame content is reassembled, and finally, Ethernet frames are sent through the Ethernet IP core.
[0083] Combination Figure 2 The FC port configuration shown is an FC_MAC converged port. FC switches with converged ports can freely switch between Ethernet and FC networks, enabling the sending and receiving of Ethernet frames. As network scale continues to expand, a single switch can no longer meet the surge in the number of terminals. In this case, multiple switches need to be cascaded to achieve interconnection between multiple local area networks. Figure 1 The example of cascading two switches is used to illustrate this. In practical applications, multiple FC switches with converged ports can be cascaded through FC ports.
[0084] like Figure 1 As shown, two FC switches are cascaded through a cascade port, which is an FC port (green port in the figure). The Ethernet port is represented by orange. The Ethernet port of switch 1 is connected to LAN 1, and the Ethernet port of switch 2 is connected to LAN 2.
[0085] For UDP frames:
[0086] Receiving direction: UDP frames from Ethernet pass through the Ethernet IP core and enter the Ethernet receiving module. The module performs a simple distinction between Ethernet frame types. The UDP frame enters the frame content stripping and reassembly module, which strips the Ethernet frame header and reassembles the data content before sending it to the FC frame assembly module. In this module, an FC frame header is added to form an FC frame, which is then sent to the switching network for routing and forwarding.
[0087] Sending direction: FC frame forwarded by the switching network enters the FC frame analysis module, and the frame content after the FC frame header is forwarded to the frame content reorganization module for reorganization, and the reorganized data enters the Ethernet frame sending module to form an Ethernet frame, and is sent out through the Ethernet IP core.
[0088] For ARP frame:
[0089] Receiving direction: ARP frame from the Ethernet passes through the Ethernet IP core and enters the Ethernet receiving module, the module simply distinguifies the Ethernet frame type, the ARP frame enters the frame content stripping and reorganization module, is directly sent to the group FC frame module after being buffered, is encapsulated with an FC frame header in the module, and is sent to the switching network and then to the CPU; the CPU receives the ARP frame and judges the content of the ARP frame to determine whether to reply.
[0090] Sending direction: the ARP frame encapsulated with the FC frame header and replied by the CPU is forwarded by the switching network, enters the FC frame analysis module, and the ARP frame after the FC frame header is entered into the frame content reorganization module for buffering and then passes through the Ethernet frame sending module and is sent out through the Ethernet IP core.
[0091] In the design shown in the Figure 2 , the processing of the Ethernet frames such as UDP and ARP in the converged port FC switch is simply distinguished and optimized, since the number of ARP frames in the Ethernet is large and needs to be processed in time, a large amount of resources is occupied, which leads to the need for more optimized design of the processing of ARP frames and UDP frames in the path, process and bandwidth, and the load of the FPGA and CPU in the switch is optimized, on the one hand, the efficiency of ARP frame message processing is improved, and the congestion caused by a large number of ARP frames in an instant is prevented, and on the other hand, the timely processing of UDP frames is ensured, and the loss of UDP frames caused by the occupation of a large amount of CPU resources is prevented.
[0092] Therefore, in combination with the Figure 1 and Figure 3 shown, in the embodiment of the present application, an improved Ethernet converged port is proposed, which aims to realize efficient processing of ARP frame messages, and reduces the processing workload of the CPU by processing a large number of ARP frame processing procedures in the FPGA logic, and separates the ARP processing procedure from the UDP procedure, and divides the FPGA resources of the two, thereby solving the problem of loss of UDP frames caused by congestion of a large number of ARP frames in an instant.
[0093] In combination with the Figure 3 , 5 shown, the configuration of the Ethernet converged port proposed in the present application includes:
[0094] Ethernet IP core;
[0095] a first frame judging module, configured to judge the type of the Ethernet frame forwarded by the Ethernet IP core according to the Ethernet frame header mark, and send the Ethernet frame into different processes for classification processing according to the type of the Ethernet frame, wherein the type of the Ethernet frame includes a UDP frame, an ARP frame, a non-ARP non-UDP frame (such as an ICMP frame) and an abnormal frame;
[0096] a UDP frame content stripping and recombination module, configured to strip the IP header and the UDP header of the incoming UDP frame, then recombine the data content obtained after stripping into complete UDP frame content, and output the IP address corresponding to the frame;
[0097] a group FC frame module, configured to read the UDP frame content in the UDP frame content stripping and recombination module, and perform group FC frame, and then send to the FC switching matrix of the FC switch;
[0098] a transparent group frame module, configured to directly take the full frame as the data content of the FC frame header for the incoming non-ARP frame non-UDP frame and the response address non-FC switch response type ARP frame, to realize full frame group FC frame transparent processing;
[0099] a MAC address self-learning module, configured to extract the MAC address and the IP address of the response in the ARP frame for the incoming response address FC switch response type ARP frame, and store the MAC address and the IP address, and extract the request IP address contained in the frame for the incoming request type ARP frame, and query the request IP address in the MAC address self-learning module, and perform group ARP response frame processing on the request type ARP frame according to the query result, or send to the transparent group frame module for full frame group FC frame transparent processing, and then routed to the cascade port of the FC switch, and sent to the cascade port of another FC switch through the cascade port, and routed to the Ethernet port of the FC switch through the FC switching matrix of another FC switch for sending;
[0100] an ARP group frame module, configured to perform group ARP request frame on the MAC address and the request IP address queried by the incoming request type ARP frame, and send to the requestor.
[0101] As an optional example, the first frame judging module classifies the frame according to the frame header mark of the Ethernet frame, and distinguishes the frame into a UDP frame, an ARP frame, a non-ARP non-UDP frame and an abnormal frame;
[0102] The abnormal frame refers to the abnormal frame with checksum error, frame header error or frame breakage, which is directly discarded in the frame judging module;
[0103] For the UDP frame, the ARP frame, the non-ARP non-UDP frame, the corresponding enters the transparent group frame module, the MAC address self-learning module and the ARP group frame module for processing.
[0104] As shown in combination Figure 3 , 5 , the UDP frame content stripping and recombination module and the group FC frame module are exclusively used for the UDP frame processing flow and are not shared with the processing flow of the ARP frame and the non-ARP non-UDP frame. Therefore, the normal processing and transmission of the UDP frame can be ensured, and the blocking of the UDP frame data processing path caused by the inflow of the remaining type frames can be avoided, thereby avoiding the frame loss problem of the UDP frame.
[0105] As shown in combination Figure 3 , 5 , in the ARP message processing process of the FC switch with the fusion port in the cascading application, the processing flow of the ARP frame and the UDP frame is further optimized by performing frame type discrimination and distinction on the received Ethernet frame.
[0106] Abnormal frame
[0107] If a checksum error, a frame header error, a frame break or the like is found, the frame is directly discarded in the frame judgment module.
[0108] UDP frame
[0109] If the Ethernet frame is a UDP frame, the UDP frame content stripping and recombination module is directly entered for stripping the Ethernet frame header and frame recombination, and the frame content after the recombination is sent to the group FC frame module, and after the FC frame header is encapsulated, the frame is sent to the FC switching matrix of the FC switch for routing. The UDP frame content stripping and recombination module and the group FC frame module are exclusively used for the UDP frame processing flow and are not shared with the processing flow of other type frames.
[0110] Non-ARP non-UDP frame
[0111] If the Ethernet frame is a non-ARP non-UDP frame, the transparent group frame module is directly entered, as shown in Figure 4 , the transparent frame module directly encapsulates the FC frame header by taking the Ethernet frame as the data content of the FC frame, and sends the frame to the CPU through the FC switching matrix of the FC switch for processing, so that the data processing path of the non-ARP non-UDP frame is completely separated from the data processing path of the UDP frame, and the processing bandwidth of the UDP frame is not occupied.
[0112] ARP frame
[0113] If the Ethernet frame is an ARP frame, the ARP frame is further determined to be a response frame or a request frame:
[0114] If the ARP frame is a reply frame and the reply address is not the FC switch, the ARP frame is forwarded to other local area networks connected by the cascaded FC switch, at which point the ARP frame is sent to the transparent frame group framing module, the FC frame header is encapsulated with the frame as the data content of the FC frame, and the FC frame is routed to the cascaded port of the FC switch, sent to the cascaded port of another FC switch through the cascaded port, routed to the Ethernet port of the another FC switch through the switching matrix of the another FC switch, and sent out;
[0115] If the ARP frame is a reply frame and the reply address is the FC switch, it is determined that the ARP frame is a reply to the ARP request frame previously sent by the FC switch, and the MAC address and IP address replied in the ARP frame are sent to the MAC address self-learning module for storage, and the process does not require the CPU to participate;
[0116] If the ARP frame is a request frame, the request IP address contained in the request frame is extracted, and the address is queried in the MAC address self-learning module:
[0117] If the corresponding MAC address can be queried, the request IP address and the corresponding MAC address are sent to the ARP group framing module, and the ARP reply frame is sent to the requester through Ethernet IP, and the process does not require the CPU to participate;
[0118] If the IP address extracted in the request frame is not queried in the MAC address self-learning module, the request frame needs to be forwarded to other local area networks connected by the cascaded FC switch for request, at which point the request frame is sent to the transparent group framing module, the FC frame header is encapsulated with the frame as the data content of the FC frame, and the FC frame is routed to the cascaded port of the FC switch, sent to the cascaded port of another FC switch through the cascaded port, routed to the Ethernet port of the another FC switch through the switching matrix of the another FC switch, and sent out.
[0119] Thus, in combination with the ARP frame message processing classification shown in Figure 5 The UDP frame uses a separate processing channel and is not affected by other frames, ensuring transmission bandwidth and smoothness, the ARP frame can be processed by the FPGA itself, and the CPU processing pressure is reduced.
[0120] In combination with Figure 6 As shown, the Ethernet converged port is configured to include:
[0121] The second frame judgment module is used to judge the type of the FC data frame forwarded by the cascaded port, and according to the type of the frame, different processes are sent in for classification processing, including UDP processing and transparent frame processing;
[0122] an FC frame analysis module, configured to receive the UDP frame sent by the second frame judging module, analyze and obtain data content in the frame, and strip the FC frame header;
[0123] a frame content reorganization module, configured to reorganize the data content into complete IU content according to the data content sent by the FC frame analysis module, and obtain the IP address corresponding to the FC frame from the bridge table;
[0124] an Ethernet frame sending module, configured to read the IU content reorganized by the frame content reorganization module, query the MAC address from the MAC address self-learning module according to the IP address, group the Ethernet frame according to the queried MAC address, and then send the Ethernet frame through the Ethernet IP core;
[0125] a transparent frame analysis module, configured to remove the FC frame header from the incoming transparent frame, and directly send the content without the frame header to the Ethernet frame sending module for sending.
[0126] The Ethernet fusion port is pre-configured with a bridge table module, which configures the mapping relationship between the FCID and the IP. Before the UDP frame sending process, the ARP request function is pre-positioned, the bridge table module sends the configured IP address to the ARP grouping module, groups the ARP request frame, and directly sends it out. When the responding ARP response frame is received, the MAC address and the IP address corresponding relationship in the ARP response frame are stored in the MAC address self-learning module.
[0127] Therefore, when the FC frame sent from the Ethernet port enters the Ethernet frame sending module through the FC frame analysis module and the reorganized frame content, the corresponding IP address is obtained by querying the FCID of the FC frame in the bridge table, and the MAC address corresponding to the IP address is obtained by querying the MAC address in the MAC address self-learning module according to the IP address. Accordingly, the Ethernet frame header is sealed, and the Ethernet frame is sent out.
[0128] By pre-positioning the ARP request function, the efficiency and speed of the FC and Ethernet frame conversion and sending process are improved, and the congestion and frame loss problem caused by the inability to query the MAC address corresponding to the IP address in time when grouping the Ethernet frame during the sending process is avoided. This process does not require the participation of the CPU.
[0129] In combination with Figure 6 When the transparent frame (the ARP frame forwarded by cascading) that needs to be sent enters the Ethernet sending process, it is identified and judged by the second frame judging module. If it is judged as an ARP transparent frame, it directly enters the transparent frame analysis module, removes the FC frame header in the transparent frame analysis module, and directly sends the content without the frame header to the Ethernet frame sending module for sending. In this process, the UDP frame processing path is distinguished to avoid affecting the normal reception and transmission of the UDP frame.
[0130] In the embodiment of the present application, for the transparent frame, the FC frame with FC frame header directly encapsulated without removing the Ethernet frame header is defined, and the structure is shown as Figure 7 The transparent frame is different from the processing flow of the common UDP frame. After the Ethernet frame header is removed to extract the frame content, the FC frame header is re-encapsulated, and the structure is shown as Figure 8
[0131] Figure 9 The configuration of the Ethernet fusion port using the aforementioned embodiment of the present application is exemplarily shown, and the application of the process of ARP message processing in a specific scenario is realized, that is, the ARP frame with the destination IP being non-local and the request IP being non-local needs to be forwarded to another local area network through the cascaded ports between switches, Figure 9 The transmission path topology structure of the frame data message is exemplarily shown. Figure 10 Figure 9 The frame structure change of the ARP frame in the path topology of the embodiment shown as Figure 10 is shown. For the Ethernet frame being the ARP frame, and the ARP frame transmission with the destination IP being non-local of the FC switch (switch 1) and the request IP being non-local of the FC switch (switch 1), the ARP frame is forwarded to another local area network through the cascaded ports between switches. After the Ethernet frame is taken as the content of the FC frame and the FC frame header is encapsulated by the transparent group frame module of the switch 1, the routing is performed through the switch matrix of the switch 1, the transmission is performed to the switch matrix of the switch 2 through the cascaded ports (FC ports) between the switch 1 and the switch 2, then the type judgment is performed by the frame judgment module of the switch 2 (transparent frame), the transparent frame analysis module is entered for analysis, the FC frame header is removed in the transparent frame analysis module, the content after the FC frame header is removed (such as the transparent frame structure and Figure 10 shown in the aforementioned embodiment) is directly transmitted to the Ethernet frame transmission module, and is transmitted out through the Ethernet IP core. In the ARP processing flow, the UDP path is distinguished to avoid affecting the normal transmission and reception of the UDP frame.
[0132] Although the present application has been disclosed with the preferred embodiments as above, it is not intended to limit the present application. Those skilled in the art with ordinary knowledge can make various modifications and decorations without departing from the spirit and scope of the present application. Therefore, the protection scope of the present application is defined by the claims.
Claims
1. An ARP message processing device for an FC switch with a converged port in a cascading application, characterized in that, include: Ethernet IP core; The first frame determination module is used to determine the type of Ethernet frame forwarded by the Ethernet IP core, and send it to different processes for classification processing according to the type of Ethernet frame. The types of Ethernet frames include UDP frames, ARP frames, non-ARP non-UDP frames and abnormal frames. The UDP frame content stripping and reassembly module is used to strip the IP header and UDP header from the incoming UDP frame, then reassemble the stripped data content into a complete UDP frame content, and output the IP address corresponding to this frame. The FC frame assembly module is configured to read the UDP frame content from the UDP frame content stripping and reassembly module, assemble FC frames, and then send them to the FC switching matrix of the FC switch. The transparent framing module is used to encapsulate the FC frame header with the full frame as the data content of the FC frame for incoming non-ARP frames, non-UDP frames, and ARP frames whose response address is not the local FC switch, thereby realizing the transparent transmission of the full frame group FC frame. The MAC address self-learning module is used to extract and store the MAC address and IP address of the response ARP frame when the response address is the local FC switch, and to extract the request IP address contained in the frame when the request ARP frame is the incoming request ARP frame. The request IP address is then queried in the MAC address self-learning module. Based on the query result, the request ARP frame is processed into a group ARP response frame, or it is sent to the transparent frame grouping module for full frame group FC frame transparent transmission processing, and then routed to the cascading port of the local FC switch. It is then sent to the cascading port of another FC switch through the cascading port, and finally routed to the Ethernet port of the FC switch through the FC switching matrix of the other FC switch for transmission. The ARP framing module is used to assemble an ARP request frame from the MAC address and the requesting IP address found in the incoming request ARP frame and send it to the requester.
2. The ARP message processing device for an FC switch with a converged port in a cascaded application according to claim 1, characterized in that, The first frame determination module classifies frames according to the frame header markings of Ethernet frames, distinguishing them into UDP frames, ARP frames, non-ARP non-UDP frames, and abnormal frames. The abnormal frame refers to an abnormal frame that has a checksum error, a frame header error, or a broken frame. In such cases, the frame judgment module will discard the frame directly. For UDP frames, ARP frames, and non-ARP non-UDP frames, the corresponding frames are processed by the pass-through framing module, MAC address self-learning module, and ARP framing module.
3. The ARP message processing device for an FC switch with a converged port in a cascaded application according to claim 1, characterized in that, The UDP frame content stripping and reassembly module and the FC frame grouping module are dedicated processes for UDP frame processing and are not shared with the processing processes for ARP frames and non-ARP non-UDP frames.
4. The ARP message processing device for an FC switch with a converged port in a cascaded application according to claim 1, characterized in that, The ARP message processing device further includes: The second frame judgment module is used to determine the type of FC data frames forwarded by the cascaded port, and send them to different processes for classification and processing according to the type of the frame, including UDP processing and transparent frame processing. The FC frame parsing module is used to receive UDP frames sent by the second frame judgment module, parse them to obtain the data content within the frame, and remove the FC frame header. The frame content reassembly module is used to reassemble the data content sent from the FC frame parsing module into complete IU content, and obtain the IP address corresponding to the FC frame from the bridging table. The Ethernet frame sending module is used to read the IU content reconstructed by the frame content reassembly module and perform MAC address lookup from the MAC address self-learning module based on the IP address. It then assembles Ethernet frames based on the MAC addresses found and sends the Ethernet frames through the Ethernet IP core. The pass-through frame parsing module is used to remove the FC frame header from the incoming pass-through frame and directly send the content with the frame header removed to the Ethernet frame sending module for transmission.
5. The ARP message processing device for an FC switch with a converged port in a cascaded application according to claim 4, characterized in that, The Ethernet converged port is pre-configured with a bridging table module, which configures the mapping relationship between FCID and IP through the bridging table; Before the UDP frame sending process, the ARP request function is brought forward. The bridging table module sends the configured IP address to the ARP grouping module, and the grouped ARP request frame is sent out directly.
6. An Ethernet frame data transmission system for an FC switch with a converged port, characterized in that, include: At least one first FC switch is configured with an Ethernet MAC port and an FC_MAC port; At least one second FC switch is configured with an Ethernet MAC port and an FC_MAC port; The first FC switch and the second FC switch are cascaded through the FC_MAC port. After the two FC switches are powered on, they obtain the cascade port number of each of the two cascaded FC switches and the domain address of the FC switch to which they are connected. The first FC switch and the second FC switch are connected to the local area network via their respective Ethernet MAC ports; The first FC switch and the second FC switch are each connected to one or more terminal devices through their respective FC_MAC ports; The Ethernet MAC ports of the first FC switch and the second FC switch are configured as Ethernet converged ports, and the Ethernet converged ports are configured to include: Ethernet IP core; The first frame determination module is used to determine the type of Ethernet frame forwarded by the Ethernet IP core, and send it to different processes for classification processing according to the type of Ethernet frame. The types of Ethernet frames include UDP frames, ARP frames, non-ARP non-UDP frames and abnormal frames. The UDP frame content stripping and reassembly module is used to strip the IP header and UDP header from the incoming UDP frame, then reassemble the stripped data content into a complete UDP frame content, and output the IP address corresponding to this frame. The FC frame assembly module is configured to read the UDP frame content from the UDP frame content stripping and reassembly module, assemble FC frames, and then send them to the FC switching matrix of the FC switch. The transparent framing module is used to encapsulate the FC frame header with the full frame as the data content of the FC frame for incoming non-ARP frames, non-UDP frames, and ARP frames whose response address is not the local FC switch, thereby realizing the transparent transmission of the full frame group FC frame. The MAC address self-learning module is used to extract and store the MAC address and IP address of the response ARP frame when the response address is the local FC switch, and to extract the request IP address contained in the frame when the request ARP frame is the incoming request ARP frame. The request IP address is then queried in the MAC address self-learning module. Based on the query result, the request ARP frame is processed into a group ARP response frame, or it is sent to the transparent frame grouping module for full frame group FC frame transparent transmission processing, and then routed to the cascading port of the local FC switch. It is then sent to the cascading port of another FC switch through the cascading port, and finally routed to the Ethernet port of the FC switch through the FC switching matrix of the other FC switch for transmission. The ARP framing module is used to assemble an ARP request frame from the MAC address and the requesting IP address found in the incoming request ARP frame and send it to the requester.
7. The Ethernet frame data transmission system of the FC switch with converged port according to claim 6, characterized in that, The first frame determination module classifies frames according to the frame header markings of Ethernet frames, distinguishing them into UDP frames, ARP frames, non-ARP non-UDP frames, and abnormal frames. The abnormal frame refers to an abnormal frame that has a checksum error, a frame header error, or a broken frame. In such cases, the frame judgment module will discard the frame directly. For UDP frames, ARP frames, and non-ARP non-UDP frames, the corresponding frames are processed by the pass-through framing module, MAC address self-learning module, and ARP framing module.
8. The Ethernet frame data transmission system of the FC switch with converged port according to claim 6, characterized in that, The UDP frame content stripping and reassembly module and the FC frame grouping module are dedicated processes for UDP frame processing and are not shared with the processing processes for ARP frames and non-ARP non-UDP frames.
9. The Ethernet frame data transmission system of the FC switch with converged port according to claim 6, characterized in that, The Ethernet converged port is configured to include: The second frame judgment module is used to determine the type of FC data frames forwarded by the cascaded port, and send them to different processes for classification and processing according to the type of the frame, including UDP processing and transparent frame processing. The FC frame parsing module is used to receive UDP frames sent by the second frame judgment module, parse them to obtain the data content within the frame, and remove the FC frame header. The frame content reassembly module is used to reassemble the data content sent from the FC frame parsing module into complete IU content, and obtain the IP address corresponding to the FC frame from the bridging table. The Ethernet frame sending module is used to read the IU content reconstructed by the frame content reassembly module and perform MAC address lookup from the MAC address self-learning module based on the IP address. It then assembles Ethernet frames based on the MAC addresses found and sends the Ethernet frames through the Ethernet IP core. The pass-through frame parsing module is used to remove the FC frame header from the incoming pass-through frame and directly send the content with the frame header removed to the Ethernet frame sending module for transmission.
10. The Ethernet frame data transmission system of the FC switch with converged port according to claim 9, characterized in that, The Ethernet converged port is pre-configured with a bridging table module, which configures the mapping relationship between FCID and IP through the bridging table; Before the UDP frame sending process, the ARP request function is brought forward. The bridging table module sends the configured IP address to the ARP framing module, and the ARP request frame is sent directly. When the ARP reply frame is received, the mapping between the MAC address and the IP address in the ARP reply frame is stored in the MAC address self-learning module.
11. An ARP message processing method for an ARP message processing device with a converged port in a cascaded application according to any one of claims 1-5, characterized in that, The method includes the following steps: Receive Ethernet frames from the Ethernet network; The type of the received Ethernet frame can be determined based on the frame header markings: If the Ethernet frame is a UDP frame, it directly enters the UDP frame content stripping and reassembly module to strip the Ethernet frame header and reassemble the frame. The reassembled frame content is then sent to the FC frame grouping module, which encapsulates the FC frame header and sends it to the FC switching matrix of this FC switch for routing. The UDP frame content stripping and reassembly module and the FC frame grouping module are dedicated to the UDP frame processing flow and are not shared with the processing flow of other frame types. If the Ethernet frame is neither an ARP frame nor a UDP frame, it directly enters the transparent frame module. The transparent frame module directly encapsulates the entire Ethernet frame as the data content of the FC frame and sends it to the CPU for processing through the FC switching matrix of this FC switch. This makes the data processing path of non-ARP frames and non-UDP frames completely separate from the data processing path of UDP frames, and does not occupy the UDP frame processing bandwidth. If the Ethernet frame is an ARP frame, then further classify the ARP frame as either a response frame or a request frame: - If the ARP frame is a reply frame and the reply address is not this FC switch, then the ARP frame needs to be forwarded to other LANs connected to the cascaded FC switches. At this time, the ARP frame is sent to the transparent frame assembly module, which uses the entire frame as the data content of the FC frame to encapsulate the FC frame header, and routes it to the cascade port of this FC switch. It is then sent to the cascade port of another FC switch through the cascade port, and finally routed to the Ethernet port of that other FC switch through the switching matrix of the other FC switch for transmission. - If the ARP frame is a response frame and the response address is this FC switch, then the ARP frame is determined to be a response to the ARP request frame previously sent by this FC switch. The MAC address and IP address of the response in the ARP frame are sent to the MAC address self-learning module for storage. This process does not require CPU participation. - If the ARP frame is a request frame, extract the requesting IP address contained within the request frame and look up this address in the MAC address self-learning module: If the corresponding MAC address can be found, the requesting IP address and the corresponding MAC address are sent to the ARP framing module. The ARP response frame is then sent to the requester via Ethernet IP. This process does not require CPU involvement. If the IP address extracted from the request frame cannot be found in the MAC address self-learning module, the request frame needs to be forwarded to other LANs connected to the cascaded FC switch for further request. In this case, the request frame is sent to the transparent framing module, which encapsulates the FC frame header with the entire frame as the data content of the FC frame and routes it to the cascade port of this FC switch. It is then sent to the cascade port of another FC switch through the cascade port and routed to the Ethernet port of that other FC switch through the switching matrix of the other FC switch for transmission.
12. An ARP message processing method for an ARP message processing device with a converged port in a cascaded application according to claim 11, characterized in that, The ARP message processing method further includes the following steps: The bridging table module is pre-configured, and the mapping relationship between FCID and IP is configured through the bridging table; Before the UDP frame sending process, the ARP request function is brought forward. The bridging table module sends the configured IP address to the ARP framing module, and the ARP request frame is sent directly. When the ARP reply frame is received, the mapping between the MAC address and the IP address in the ARP reply frame is stored in the MAC address self-learning module.
13. An ARP message processing method for an ARP message processing device with a converged port in a cascaded application according to claim 12, characterized in that, The ARP message processing method further includes the following steps: When an FC frame that needs to be sent from the Ethernet port passes through the FC frame parsing module and reassembles the frame content before entering the Ethernet frame sending module, the FC ID of the FC frame is looked up in the bridging table to obtain the corresponding IP address. Then, the IP address is used to look up the MAC address in the MAC address self-learning module to obtain the corresponding MAC address. Based on this, the Ethernet frame header is sealed, and the Ethernet frame is assembled and sent out.
Citation Information
Patent Citations
Network convergence method, network bridges and system
CN101534211A
High-bandwidth Ethernet IP core based on FPGA
CN103916252A