The present application claims priority from Japanese Patent Application No. 2013-095177 filed on Apr. 30, 2013, the content of which is hereby incorporated by reference into this application.
The present invention relates to a network relay device. For example, the present invention relates to a network relay device having a function that assigns a plurality of ports to groups and that limits a communication band for relay of a frame among the respective groups.
For example, Japanese Patent Application Laid-Open Publication No. 2011-91477 (Patent Document 1) describes a method of synchronizing a plurality of forwarding databases (FDBs) with each other in a chassis-type switching hub. More specifically, each of line cards generates a learning-use frame when a registered content of each FDB is changed, and the learning-use frame is transmitted toward the other line card while a transmission rate is controlled. Japanese Patent Application Laid-Open Publication No. 2012-209855 (Patent Document 2) describes a method of effectively learning the FDB in the chassis-type switching hub. More specifically, a representative line card is determined, and each line card enables the representative line card to perform a learning process based on a learning notification when the FDB information of a received packet has not been learned yet, and then, the FDB of its own is updated based on a learning notification transmitted in multicast transmission from the representative line card. The representative line card limits a flow rate in the multicast transmission.
In a frame relay device that divides the same VLAN into two subnets for management, Japanese Patent Application Laid-Open Publication No. 2012-130084 (Patent Document 3) describes a method of distinguishing a communication inside the same subnet from a communication between the subnets. More specifically, if flooding occurs for the frame received at a first domain processing unit corresponding to a first subnet, a learning table of the first domain processing unit learns a transmission-source address of the frame together with a flag “0”, and a learning table of a second domain processing unit corresponding to a second subnet learns the transmission-source address together with a flag “1”. When an address is retrieved, it is distinguished whether the transmission address is inside the same subnet or not, by a value of the flag. Also, the frame relay device limits a band in communication between the subnets.
For example, as represented by a VLAN (Virtual Local Area Network) or others, a technique of structuring a plurality of broadcast domains in one switching device (network relay device) has been known. However, a communication provider or others desires sometimes to limit a communication band for apart of the relay when the frame is relayed inside the same broadcast domain. A case is cited, for example, in which the communication provider desires to limit the communication band when the frame is relayed between some groups inside an organization while assigning the same broadcast domain to the organization regarded as one unit.
In such a case, it is beneficial to, for example, use a switching device having a communication band limiting function inside the device. The communication band limiting function is a function that assigns a plurality of ports to the groups inside the device separately from the broadcast domain, and besides, that limits the communication band for the relay of the frame between any groups. This function itself for limiting the communication band is normally referred to as QoS (Quality of Service) or others.
In the switching device having the communication band-limiting function, it is required to determine that the frame is to be relayed so as to be either inside the same group or be bridged between the groups. Such determination is made by, for example, the method disclosed in the Patent Document 3. However, in the technique of the Patent Document 3, there are such risks that a large capacity is required for an address table, and that its retrieval time is also increased. Accordingly, the present inventor or others have studied a system for the determination as described above while managing the address table by using a hash function. In the case of using the hash function, normally, it is considered to provide the address table in which each of the above-described groups is set as a unit. However, in this case, there is a risk of insufficient effect for the retrieval time and the capacity of the address table.
The present invention has been made in consideration of such circumstances, and one of preferred aims of the present invention is to provide a network relay device capable of shortening the retrieval time of the address table or reducing the capacity of the address table. The above and other preferred aims and novel characteristics of the present invention will be apparent from the description of the present specification and the accompanying drawings.
The typical embodiment of the inventions disclosed in the present application will be briefly described as follows.
A network relay device according to the present embodiment is provided with: a plurality of ports including a first port group to which a first internal identifier is set and a second port group to which a second internal identifier is set; an address table; and a frame processing unit for relaying a frame among the plurality of ports based on the address table. When the transmission-source address of the frame received at the first and second port groups is learned, the frame processing unit performs a hash calculation by using the transmission-source address and one internal identifier of the first and second internal identifiers. Then, in an entry inside the address table obtained by the hash calculation, the frame processing unit registers the transmission-source address, the identifier of the port at which the frame has been received, and the internal identifier which is set to the port group to which the port belongs. On the other hand, when a transmission-destination address of the frame received at the first and second port groups is retrieved, the frame processing unit performs a hash calculation by using the transmission-destination address and the same one internal identifier as used in the above-described learning process. Then, the frame processing unit reads out the entry inside the address table obtained by the hash calculation, and compares the internal identifier registered in the entry with the internal identifier set to the port group to which the frame-receiving port belongs, so that it is determined that the frame is to be relayed so as to be either inside the same port group or be bridged between the port groups.
When the effects obtained by the typical embodiment of the present invention disclosed in the present application are briefly described, the retrieval time of the address table can be shortened in the network relay device, or the capacity of the address table can be reduced therein.
In the embodiments described below, the invention will be described in a plurality of sections or embodiments when required as a matter of convenience. However, these sections or embodiments are not irrelevant to each other unless otherwise stated, and the one relates to the entire or a part of the other as a modification example, details, or a supplementary explanation thereof. Also, in the embodiments described below, when referring to the number of elements (including number of pieces, values, amount, range, and the like), the number of the elements is not limited to a specific number unless otherwise stated or except the case where the number is apparently limited to a specific number in principle. The number larger or smaller than the specified number is also applicable.
Further, in the embodiments described below, it goes without saying that the components (including element steps) are not always indispensable unless otherwise stated or except the case where the components are apparently indispensable in principle. Similarly, in the embodiments described below, when the shape of the components, positional relation thereof, and the like are mentioned, the substantially approximate and similar shapes and the like are included therein unless otherwise stated or except the case where it is conceivable that they are apparently excluded in principle. The same goes for the numerical value and the range described above.
Hereinafter, embodiments of the present invention will be described in detail based on the accompanying drawings. Note that the same components are denoted by the same reference symbols throughout all drawings for describing the embodiments, and the repetitive description thereof will be omitted.
<<Communication Band Limiting Function of Network Relay Device>>
Inside the device, internal identifiers IVIDs that are different from each other are set to the P[1, 1] to P[1, m] (first port group) and the P[1, m+1] to P[1, n] (second port group) among the plurality of ports P[1, 1] to P[1, n] belonging to the broadcast domain BD1, respectively. A relation of “IVID=0.1” is set to the first port group as the first internal identifier, and a relation of “IVID=0.2” is set in the second port group as the second internal identifier. Moreover, inside the device, a relation of “IVID=0.3” is also set to the plurality of ports P[2, 1] to P[2, j] as an internal identifier that is different from the first and second internal identifiers.
In such a configuration, for example, if flooding occurs for a frame FL-BD1 received at the port P[1, 1], the FL-BD1 is flooded to ports among the plurality of ports P[1, 1] to P[1, n] that belong to the broadcast domain BD1 except for the P[1, 1]. Similarly, if flooding occurs for a frame FL-BD2 received at the port P[2, 1], the FL-BD2 is flooded to ports among the plurality of ports P[2, 1] to P[2, j] that belong to the broadcast domain BD2 except for the P[2, 1].
In this case, in the switching device SW of
Moreover, when the frame is relayed inside the same port group (for example, the first port group), the switching device SW does not limit the communication band of the frame FL-BD1 received at any port (for example, P[1, 1]) inside the same port group, and relays the frame to any other port (for example, P[1, m] or others). As contrary to the communication band limiting unit QOSCTL1, note that the communication band limiting unit QOSCTL2 limits the communication band of the frame when the frame is relayed from the second port group toward the first port group. The communication band limiting function can also determine a limiting source and a limiting destination in the limitation of the communication band, and also can set to use only either the QOSCTL1 or the QOSCTL2 depending on cases. <<Relay Operation of Network Relay Device (Comparative Example)>>
Here, prior to detailed explanations for the network relay device of the present embodiment, a network relay device as a comparative example will be explained.
When the switching device SW′ receives a frame from, for example, a terminal TMa having an MAC (Media Access Control) address AA at a port P[1, 1], the transmission-source address AA and the identifier ([1, 1]) of the receiving port are registered in a predetermined entry (in other words, a memory address) in an address table FDB′ 01. At this time, this predetermined entry is determined by a hash calculation using the transmission-source address AA and an internal identifier IVID (0.1 in this case) set to a port group to which the receiving port P[1, 1] belongs. Therefore, in this case, with “f( )” being used as the hash function, the transmission-source address AA and the identifier ([1, 1]) of the receiving port are registered in an entry of f(AA, 0.1) inside the FDB′ 01.
Similarly, when the switching device SW′ receives a frame from, for example, a terminal TMb having an MAC address BB at a port P[1, m+1], the transmission-source address BB and an identifier ([1, m+1]) of the receiving port are registered in a predetermined entry of an address table FDB′ 02. At this time, this predetermined entry is shown as f(BB, 0.2) since the internal identifier IVID, which is set to a port group to which the P[1, m+1] belongs, is 0.2. In this case, note that a card (line card) number is also written in the address table with exemplifying the chassis-type switching device. However, the card number is not required in a case of a box-type switching device.
As described above, the internal identifier IVID is used as a variable of the hash function. Therefore, if there are two IVIDs (0.1, 0.2), two address tables FDB′ 01 and FDB′ 02 are correspondingly required. By providing the two FDB′ 01 and FDB′ 02, the port having the “IVID=0.1” and the port having “IVID=0.2” can be distinguished from each other, and it can be determined whether the communication band is limited as illustrated in
Next, a method of retrieving a transmission-destination address in the switching device SW′ will be explained. In this case, it is assumed that the SW′ receives a frame FL whose transmission source is a terminal TMc and whose transmission destination is a terminal TMa at the port P[1, n]. In this case, the FL contains a VLAN-use identifier VID or others with exemplifying a tag VLAN in addition to a transmission-source address SA and a transmission-destination address DA. In this case, the SA is an MAC address CC of the TMc, the DA is an MAC address AA of the TMa, and the VID is “1”. When the SW′ receives the FL, the SW′ retrieves an identifier of the port corresponding to the transmission-destination address AA from the address table.
In the retrieval of the address table, the switching device SW′ checks whether the MAC address AA exists or not so as to target on a broad cast domain (in this case, VLAN-use identifier VID=1) to which the port P[1, n] belongs. Since the two address tables FDB′ 01 and FDB′ 02 exist in the broad cast domain, the SW′ is required to check whether the MAC address AA exists or not so as to target on both of the FDB′ 01 and FDB′ 02 as retrieval targets. Therefore, the SW′ is required to perform a reading process for an entry inside the FDB′ 01 obtained by the hash calculation of f(AA, 0.1) and a reading process for an entry inside the FDB′ 02 obtained by the hash calculation of f(AA, 0.2).
As described above, when the relay operation as illustrated in
<<Relay Operation of Network Relay Device (Present Embodiment)>>
When the switching device SW receives a frame from a terminal TMa at a port P[1, 1], the transmission-source address AA, the identifier ([1, 1]) of the receiving port, and an internal identifier IVID (0.1 in this case) set to a port group to which the port belongs are registered in a predetermined entry (in other words, a memory address) in an address table FDB01. At this time, as similar to the case of
Similarly, when the switching device SW receives a frame from, for example, a terminal TMb at a port P[1, m+1], the transmission-source address BB, the identifier ([1, m+1]) of the receiving port, and the internal identifier IVID (0.2 in this case) set to a port group to which the port belongs are registered in a predetermined entry in the address table FDB01. However, the predetermined entry in this case is set to f(BB, 0.1) by using not the “IVID=0.2” as illustrated in
As described above, when the transmission-source address of the frame received at either the first port group (P[1, 1] to P[1, m]) or the second port group (P[1, m+1] to P[1, n]) is learned in the switching device SW in
Next, a method of retrieving a transmission-destination address in the switching device SW will be explained. In this case, as similar to the case of
In the retrieval of the address table, the switching device SW checks whether the MAC address AA exists or not so as to target on an inside of a broad cast domain (that is, VLAN-use identifier VID=1) in which the port P[1, n] is contained. Since one address table FDB01 exists in the broad cast domain as different from the case of
However, the switching device SW needs to be notified of whether the communication band is limited as described in
Note that, practically in the switching device SW, it is also required to determine whether the transmission-destination address DA contained in the frame FL and the MAC address read out from the address table are matched with each other or not in addition to the determining whether the above-described internal identifiers IVID are matched with each other or not. That is, in this case, since the entry inside the address table is determined by using the hash calculation, the same entry may be calculated from a different combination of the transmission-destination address DA and the internal identifier IVID in some cases. For example, in the case of the mismatching of the MAC address, the SW floods the frame inside the broadcast domain of VLAN-use identifier “VID=1”.
As described above, when the transmission-destination address of the frame received at either the first port group (P[1, 1] to P[1, m]) or the second port group (P[1, m+1] to P[1, n]) is retrieved, the switching device SW performs the hash calculation by using the transmission-destination address and the other internal identifier (0.1 (first internal identifier) in this case) which is the same as that in the learning process of the above-described transmission-destination address. Then, the SW reads out the entry inside the address table obtained by the hash calculation, and compares the internal identifier registered in the entry with the internal identifier set to the port group to which the frame-receiving port belongs, so that it is determined that the frame is to be relayed so as to be either inside the same port group or be bridged between the port groups.
Further, if the self-IVID is 0.3, the SW performs the hash calculation for the FDB by using 0.3, and registers 0.3 in the entry in the FDB obtained by a result of the hash calculation. On the other hand, when transmission-destination address is retrieved, the SW determines the self-IVID, performs the hash calculation by using a hash-calculation-use IVID corresponding to the self-IVID, and compares the self-IVID with the IVID registered in the entry inside the FDB that is obtained by the hash calculation.
As described above, by using the relay operation illustrated in
<<Schematic Structure and Schematic Operation of Principal Part of Network Relay Device>>
The table unit TBLU has an address table FDB, a band limiting table QOSTBL, and others. The FDB is configured by, for example, a storage device such as SRAM (Static Random Access Memory), and corresponds to the FDB01 illustrated in
The frame processing unit FLCTL has a communication band limiting unit QOSTBL as illustrated in
As described in
Although not particularly limited, any one/some of the plurality of ports P[1], P[2], . . . , P[k] in the line card LC1 corresponds to a first port group P[1, 1] to P[1, m] in
Normally, the chassis-type switching device rather than the box-type switching device is required to perform the high-speed relay operation, and besides, is connected with more terminals or others, and requires the address table for each line card. Therefore, the capacity of the storage device of the entire device is larger. Thus, while the beneficial effects can be obtained for the switching device of the present embodiment regardless of the box type or the chassis type, the effects more remarkable in the chassis type.
<<Configuration of Band Limiting Table>>
For example, a case of the self-IVID of 0.1, the other IVID of 0.2, and a QOS effective bit QOS_VLD of “1”, means that the limitation of the communication band in the relay of the frame from the port group with the self-IVID=0.1 (that is, the first internal identifier) to the port group with the other IVID=0.2 (that is, the second internal identifier) is valid (QOS_VLD=“1”). On the other hand, a case of the QOS_VLD of “0” means that the limitation of the communication band is invalid (that is, the communication band is not limited). In the example of
Further, the band limiting table QOSTBL of
Note that the band limiting table QOSTBL of
<<Learning Operation of Transmission-Source Address>>
On the other hand, in a case of the QOS effective bit QOS_VLD of “1 (that is, valid)” in step S102, the frame processing unit FLCTL determines the address table selection bit FDB_SEL (step S103). In a case of the FDB_SEL of “1”, the FLCTL performs the process of the above-described step S104. On the other hand, in a case of the FDB_SEL of “0”, the FLCTL performs the hash calculation by using the other IVID and the transmission-source address inside the frame, and registers various pieces of information as described in
For example, when frame is received at the port P[1] of the line card LC1 of
For example, when the frame is received at the port P[1] of the line card LC2 of
<<Retrieval Operation for Transmission-Destination Address>>
Then, in step S204 of
Next, the frame processing unit FLCTL determines that the entry inside the address table FDB is hit or mishit in the process of step S204 or S205 (step S206). As illustrated in
On the other hand, in the case of the hit in step S206, the frame processing unit FLCTL judges whether the self-IVID and the internal identifier IVID read out from the entry inside the address table FDB are matched with each other or not (step S207). In the case of the matching, the FLCTL determines that the relay is performed inside the same port group, and relays the frame to the port registered in the entry inside the FDB in unicast transmission (step S208). On the other hand, in the case of the mismatching, the FLCTL determines that the frame is to be relayed so as to be bridged between the port groups, and relays the frame to the port registered in the entry inside the FDB in the unicast transmission, and limits the communication band during this relay (step S209).
For example, when a frame whose destination is the port P[1] of the LC2 is received at the port P[1] of the line card LC1 of
In this case, from the learning operation of the transmission-source address as described in
Moreover, for example, when a frame whose destination is the port P[2] of the LC2 is received at the port P[1] of the line card LC2 of
In this case, from the learning operation of the transmission-source address as described in
In the foregoing, the invention made by the present inventor has been concretely described based on the embodiment. However, it is needless to say that the present invention is not limited to the foregoing embodiment and various modifications and alterations can be made within the scope of the present invention. For example, the above-described embodiment has been explained in detail for easily understanding the present invention, but is not always limited to the ones including all structures explained above. Also, a part of the structure of one embodiment can be replaced with the structure of the other embodiment, and besides, the structure of the other embodiment can be added to the structure of one embodiment. Further, the other structure can be added to/eliminated from/replaced with a part of the structure of each embodiment.
For example,
Moreover, in this case, the configuration in which the respective ports in the same broadcast domain are assigned to two port groups has been exemplified. However, the ports can be assigned to three or more port groups, and the address table can be registered and retrieved by using the same internal identifier to these port groups. Moreover, in this case, the MAC address and the internal identifier IVID are used as the variables for the hash function. However, another variable may be of course further added thereto. Further, in this case, the explanation has been made by exemplifying the communication band limiting function for limiting the communication band in the relay operation operated so as to be bridged between the port groups. However, the communication band limiting function is not limited to this function, and any function may be similarly applied so as to obtain the same effects as long as the function in which the relay operation is separately used depending on either the relay operation operated so as to be bridged between the port groups or the relay operation operated so as not to be bridged between the port groups.
Number | Date | Country | Kind |
---|---|---|---|
2013-095177 | Apr 2013 | JP | national |
Number | Name | Date | Kind |
---|---|---|---|
8325745 | Sainomoto | Dec 2012 | B2 |
20020169937 | Kagawa | Nov 2002 | A1 |
20100135307 | Nakagawa | Jun 2010 | A1 |
20100316053 | Miyoshi et al. | Dec 2010 | A1 |
20110002337 | Akahane et al. | Jan 2011 | A1 |
20110261827 | Armstrong et al. | Oct 2011 | A1 |
20120250684 | Ogura | Oct 2012 | A1 |
Number | Date | Country |
---|---|---|
2011-91477 | May 2011 | JP |
2012-130084 | Jul 2012 | JP |
2012-209855 | Oct 2012 | JP |
Entry |
---|
Japanese Office Action issued in counterpart Japanese Application No. 2013-095177 dated Apr. 19, 2016 with English translation (six pages). |
Number | Date | Country | |
---|---|---|---|
20140321458 A1 | Oct 2014 | US |