The present application claims priority from Japanese patent application JP 2010-057012 filed on Mar. 15, 2010, the content of which is hereby incorporated by reference into this application.
The present invention relates to a network system, an edge node, and a relay node and, in particular, to a network system, an edge node, and a relay node that suppress flooding when receiving a frame with an unknown MAC address (this frame means a frame with a destination MAC address that does not exist in the MAC address learning table).
Ethernet®, which has been used in small-scale networks, has also been used in large-scale networks operated by communications carriers in recent years. For example, as disclosed in JP-A-2007-266850, Ethernet-compliant communication devices include a function unit called “flooding.” Ethernet-compliant communication devices also include a function unit that stores the MAC address of a terminal connected to a communication port thereof. This is done by extracting a source MAC address in a frame passing through the port. When an Ethernet-compliant communication device receives a frame containing a destination MAC address, it transmits the frame from a port thereof corresponding to the destination MAC address if it has already known the MAC address. If the Ethernet-compliant communication device has not known the destination MAC address, it does not know from which communication port it should transmit the frame. Accordingly, it transmits the frame from all ports other than the port via which it has received the frame. This is called “flooding.” Multiple copies of one data frame are made by flooding. The copied frames use the communication bandwidth excessively. For this reason, means for preventing this in an Ethernet switch device is disclosed in JP-A-2007-266850.
On the other hand, communications carriers are using communication devices conforming to the MPLS (multi protocol label switching) standard disclosed in pp. 9 to 37 of RFC3031, Multiprotocol Label Switching Architecture, E. Rosen et al., http://www.ietf.org/rfc/rfc3031.txt. The MPLS standard was first standardized as a system using point-to-point communication paths, which each connect two points in a large-scale network. Moreover, in order for communications carriers to provide private line services, it is sufficient to establish point-to-point connections. Communication devices that can only establish point-to-point connections are already available and being operated by communications carriers.
Meanwhile, in recent years, attention has been paid to wide-area LAN connection services, which connect three or more points. JP-A-2005-354424 discloses a method for providing the above-mentioned LAN connection services in a network system including MPLS-compliant devices. JA-A-2005-354424 discloses that LAN connections are established by setting, for example, MPLS-based point-to-point communication paths in full mesh between all edge nodes located at edges of a network system. This makes it possible to provide wide-area LAN connection services using existing communication devices that can only establish point-to-point connections.
In this network system, each node receives an Ethernet frame from an external network, converts the Ethernet frame into an MPLS frame, selects a path on the basis of the destination of the frame, and transmits the MPLS frame onto the selected path. In selecting a path on the basis of the destination, each edge node faces the same event and problem as flooding disclosed in JA-A-2007-266850.
In a network system including point-to-point communication paths, edge nodes located at edges of the network system have the following problems.
When an edge node receives an Ethernet frame containing an unknown destination MAC address, it transmits the Ethernet frame via all paths other than the path via which it has received the Ethernet frame (flooding). In the case where multiple paths having different destination edge nodes are multiplexed on the single physical communication path between an edge node and an adjacent relay node, a number of frames corresponding to the number of the multiplexed paths are transmitted (flooded). The challenge is to reduce the number of frames to be flooded so as to increase the bandwidth use efficiency of the physical communication path.
Accordingly, an object of the present invention is to reduce the number of frames to be flooded on the single physical communication path in transferring a frame containing an unknown MAC address into a network system including point-to-point communication paths.
In this invention, an edge node provides a first means for determining the range of paths onto which frames are to be flooded. An edge node also provides a second means for determining the range of paths belonging to a single physical port. Hereafter, the range of labels for identifying the paths determined by the first means is referred to as a “label set,” and the range of the paths determined by the first and second means is referred to as a “path group.” An edge node also provides a third means for managing the label set and a fourth means for managing the path group. An edge node includes a fifth means for, when receiving an Ethernet frame containing an unknown destination MAC address, determining the path group as the transfer destination of the frame. A relay node includes a sixth means for, when receiving a frame at the combination of the label set and a physical port, determining the transfer destination of the frame.
The network system that is composed of the edge nodes and the relay nodes is, for example, a network system including point-to-point communication paths. In the case where three or more points are connected to establish a LAN connection, communication devices forming the network system each includes means for regarding, as one set, multiple communication paths belonging to a single LAN connection and managing the single LAN and means for regarding, as one group, multiple communication paths belonging to one port in the one set and managing the one group. This network system is an information transfer system having a characteristic that the transfer destinations of multiple data frames obtained by copying one data frame is determined on a group-by-group basis.
In order to manage the groups, communication devices for realizing the above-mentioned communication system each includes, for example, means for identifying a LAN connection to which a frame to be communicated belongs by the identifier of a device component, such as the number of an interface card or port into which the frame has been inputted and information in the frame, such as VLAN ID and MAC address, and managing the identified LAN connection, means for managing, as one set, multiple communication paths belonging to the LAN connection, means for classifying the multiple communication paths included in the one set by group and managing the classified communication paths, and means for selecting one communication path from a corresponding group and transmitting the frame via the selected communication path.
In order to manage the groups, the communication devices for realizing the above-mentioned communication system also each include, for example, means for identifying a port-specific communication path belonging to a LAN connection to which a frame to be communicated belongs by the identifier of a device component, such as the number of an interface card or port into which the frame has been inputted and information in the frame, such as the identifier of a communication path, and managing the identified port-specific communication path and means for, in a case where there are multiple such port-specific communication paths, copying the data frame by the number of the communication paths minus one and transmitting one frame to each of the communication paths.
According to an aspect of the present invention, a network system includes: a plurality of edge devices that form point-to-point communication paths with one another and transmit or receive frames to or from one another via the point-to-point communication paths; and a relay device that relays frames between the edge devices. The edge devices and/or the relay device each include: a plurality of ports that receive and output frames; a memory where communication paths set at one of the ports are regarded as a group and where identification information of the port and identification information of a group that outputs a frame inputted into the port are previously stored as associated with each other; and an outgoing interface search unit that, if the destination address of a frame inputted into the port is unknown, searches the memory to identify at least one group corresponding to the port. The frame containing the unknown destination address is outputted from a port corresponding to the identified group. Other aspects of the present invention provide the above-mentioned edge devices and relay device.
According to the present invention, it is possible to reduce the number of frames to be flooded onto the single physical communication path in transferring a frame containing an unknown MAC address into a network system including point-to-point communication paths.
Now, an embodiment of the present invention will be described in detail with reference to the accompanying drawings.
Nodes 101 (A, D, G, and I) are edge nodes, and nodes 102 (B, C, E, F, and H) are relay nodes. For example, these nine nodes form a P2P network system 108, which is managed by a manager server 109. Four external networks 103 are connected to the P2P network system 108.
To connect among the four external networks, full-mesh point-to-point communication paths are set in the P2P network system 108. In
The edge nodes 101 transmit or receive frames to or from one another via the point-to-point communication paths. The relay nodes 102 relay frames between the edge nodes 101.
Here, assume that, according to the related art rather than this embodiment, a transmission terminal 104 of the external network connected to the edge node D transmits data to a reception terminal 105 of the external network connected to the edge node G. If the edge node D has not known the MAC address of the reception terminal 105, the transmission terminal 104 transmits the data frame as follows. Since the edge node D has not known the MAC address of the reception terminal 105, which is the destination of the data frame, it does not know onto which path it should transmit the frame and therefore floods it onto all the full-mesh paths. Since three paths are present toward the relay node C, the edge node D transmits three frames having the same contents onto the physical link between the edge node D and the relay node C.
However, the edge node D does not need to transmit as many as three frames having the same contents onto the physical link. Use of this embodiment can prevent transmission of multiple frames having the same contents onto the physical connect between the edge node D and the relay node C, using the bandwidth effectively. In this embodiment, first, the configuration of the edge nodes and the relay nodes and the configuration of tables used in the frame transfer process and the method for preparing the tables will be described. Then, the flows of frame processing and flooding that the edge nodes and the relay node perform will be described.
Each edge node 101 includes at least one Ethernet interface card 201 connected to an external network, at least one MPLS interface card 202 connected to the P2P network system 108, a switch that connects between the interface cards, and a control function unit that controls these components. The control function unit is connected to the manager server 109 for the P2P network system 108.
The Ethernet interface card 201 contains, for example, a table of “Label Set” 301, a table of “Path Group” 302, and a table of MAC address learning and routing 303. The table of MAC address learning and routing 303 may be one that is typically used in Ethernet communication devices. The Ethernet interface card 201 includes, for example, an outgoing interface search function unit 304, as well as a frame copy function unit 305, an internal information attaching function unit 306, and an internal information detaching function unit 307. The frame copy function unit 305, the internal information attaching function unit 306, and the internal information detaching function unit 307 may be ones that are typically used in Ethernet communication devices.
For example, the MPLS interface card 202 contains a table of MAC address learning 401 and includes an MPLS capsulating function unit 402, an internal information detaching function unit 403, an MPLS decapsulating function unit 404, an outgoing interface search function unit 405, a frame copy function unit 406, and an internal information attaching function unit 407. The blocks of the MPLS interface card 202 are all general functions.
For example, each MPLS interface card 501 contains a table of “Label Set” 601 and includes an outgoing interface search function unit 602, a frame copy/label processing function unit 603, an internal information attaching function unit 604, and an internal information detaching function unit 605.
The above-mentioned function units will be described in detail later in the data frame processing section. The tables are stored in a memory. Data in the tables may be stored in the data storage area of the memory in an appropriate form rather than in the table form.
That is, the table of MAC address learning and routing 303 is a table where each MAC address is used as the key and where the corresponding outgoing interface number, port number, and label are used as the value.
Next, the methods for preparing the tables shown in
For example, the internal information detaching function 307 performs the following process with respect to a frame to be transferred from the P2P network system 108 to an external network 103. Using the source MAC address in the frame as the search key, the internal information detaching function 307 searches the table of MAC address learning and routing 303. If the search succeeds, it does nothing. If the search fails, the internal information detaching function 307 registers the incoming interface number, port number, and label in the field of internal information 701 of the frame, in the table of MAC address learning and routing 303 as the value. In this case, the key is the source MAC address in the frame.
The table of “Label Set” 301 and the table of “Path Group” 302 for each edge node and the table of “Label Set” 601 for each relay node are previously prepared, for example, by manpower such as the network administrator or using some tool and then set at each edge node 101 and relay node 102 from the manager server 109 for the P2P network. In preparing the table of “Label Set” 601 for each relay node 102, the following points need to be noted. That is, if multiple labels belong to a pair of an outgoing interface number and a port number, only one of the labels is arbitrarily selected.
In addition to normal data paths, paths for flooding are set with respect to the data paths one-to-one. In other words, data frames for flooding and other data frames are transmitted separately. The labels shown in
Next, as an example, the frame processing that the edge node D and the relay nodes C, E, and H perform in turn along the path represented by D-C-E-H-G shown in
The Ethernet interface card 201 receives an Ethernet frame from the external network 103 via a physical port thereof (1501), and the outgoing interface search function unit 304 searches the table of MAC address learning and routing 303 for the destination MAC address in the frame (1502). Here, assume that the destination MAC address is found to be unknown. The outgoing interface search function unit 304 then searches the table of “Label Set” 301 for the incoming interface number and the port number in the frame (1503). Here, assume that the interface number is 1 and that the port number is 1. Accordingly, an ID of Label Set 1000 is obtained by using the example shown in
One of the MPLS interface cards 202 receives a frame from the switch (1621). The MPLS capsulating function unit 402 retrieves the label from the field of internal information 701 of the frame, makes an MPLS header with the label, and assigns the MPLS header to the frame. Thus, the frame is formed into an MPLS frame shown in
One of the MPLS interface cards 202 receives an MPLS frame at a port thereof (1601), deletes the MPLS header from the frame using the MPLS decapsulating function unit 404, and stores the label in the MPLS header, in the field of internal information 701 of the frame (1602). The outgoing interface search function unit 405 then searches the table of MAC address learning 401 for the destination MAC address in the frame (1603). If the destination MAC address is found to be unknown, the outgoing interface search function unit 405 obtains multiple sets of an outgoing interface number and a port number (1604). The frame copy function 406 copies the frame by the number of the sets obtained in 1604 minus one (1605). The internal information attaching function 407 sets the interface number, the port number, and the label at each of the frames, including the copied ones. All such information is set in the field of internal information of each frame (1606). Lastly, the information addition function unit 407 transmits the frames to the switch (1607).
Next, the frame processing that each relay node 102 performs will be described. First, the process flow, which is common to the relay nodes C, E, and H, will be described. Then, the process that each node Performs will be described using specific parameters as examples.
Assume that the relay node C receives a frame having the label 100 at the interface number 4 and the port number 1. In step 1702, the relay node C obtains the outgoing interface number 2, the port number 1, and the label 100 from
Assume that the relay node E receives a frame having the label 100 at the interface number 6 and the port number 1. In step 1702, the relay node E obtains, from
Assume that the relay node H receives a frame having the label of 300 at the interface number 1 and the port number 1. In step 1702, the relay node H obtains, from
The present invention is applicable to data communication systems and data communication devices conforming to the Ethernet and MPLS standards. The present invention is also applicable to devices that transmit or receive data via a point-to-point connection.
Number | Date | Country | Kind |
---|---|---|---|
2010-057012 | Mar 2010 | JP | national |