The present invention relates to a data transmission device using Multiple Spanning Tree Protocol (MSTP), which is used in communication businesses that provide wide area LAN services, and a method for constructing an MSTP network comprising these data transmission devices.
When a company constructs a private network connecting each base, a method of using leased lines, a method of using an IP-VPN (Virtual Private Network) based on IP (Internet Protocol) or a method of using a wide area LAN service using a VLAN (Virtual Local Area Network) is used.
The wide area LAN service in particular, which is constructed using layer 2 switches, is now rapidly increasing since cost is lower than the case of leased lines or IP-VPN, and management is easy.
For example, company A can construct a virtual private network between the head office LAN (LA1) and the branch office LAN (LA2) by setting VLAN ID=1 in the wide area LAN 100.
In this case, if the network is constructed only by layer 2 switches SWs, as in the case of a wide area LAN service, a broadcast storm may be generated because of a plurality of paths existing between two points.
As a technology to avoid this, spanning tree protocol (STP), based on a spanning tree algorithm defined by IEEE 802.1d, is used.
STP determines a layer 2 switch to be a root, sets paths like a tree from there (forwarding), and disables data passing through the paths other than the tree (blocking). By this, a path is uniquely determined between arbitrary layer 2 switches, so the generation of a loop can be prevented.
In
In this case, if a failure occurs to tree shaped paths (hereafter called spanning tree), STP suspends all communications in the networ, the spanning tree is recalculated, and a new spanning tree is reconstructed. This processing however requires several tens of seconds, and communication in the network stops, so a communication quality problem may be generated.
The Rapid Spanning Tree Protocol (RSTP) defined in IEEE 802.1w, is for dealing with this problem. When there is a port to be an alternate path in each layer 2 switch, this port is explicitly specified to a designated port.
And if a failure occurs to a port in use (root port) in the spanning tree, the port in use in the spanning tree can be immediately switched to the designated port. By this method, a quick recovery from the failure becomes possible.
Therefore if a failure X occurs between the device A and the device C, the path between the device C and the device D is activated by switching to the designated port of the device C, as shown in
Also by introducing MSTP defined in IEEE 802.1s, a redundant configuration of the network is implemented, and communication, where a location where device failure or cable disconnection occurs is detoured, is made possible, and a different transmission path can be set for each VLAN-ID. Therefore traffic and load on an entire network can be distributed, and high reliability and performance can be provided.
If a failure X, such as a cable disconnection, occurs between the devices B1 and B4, a communication using a detour by the second spanning tree is implemented, and as a result both VLAN-ID=1 and 2 have the same tree configuration.
The example in
As
By this, the leak of data to another company having a different a VLAN-ID can be prevented.
MSTP here is a protocol which allows the construction of a plurality of topologies and mapping each VLAN to an arbitrary topology in a network where a plurality of VLAN traffic exists, rather than constructing a same topology for all the VLANs.
By this, a path, which is physically connected but is not used because of blocking status, can be used for another spanning tree. Therefore the load distribution of the network becomes possible.
In MSTP, topologies in which a same transmission path is set are called an MSTI (Multiple Spanning Tree Interface), and a plurality of VLAN-IDs can be registered to one MSTP. The device in which MSTP is operating manages the MSTI number and VLAN-IDs belonging to the MSTI, and holds this information as one table (correspondence table between VLAN-ID and MSTI).
Mutual information including the correspondence table between VLAN-IDs and MSTI, as shown in
A BPDU cannot be divided into a plurality of MAC frames and transmitted, but must be transmitted contained in one frame.
In
MD (Message Digest) 5 has a unidirectional hash function, and can generate a 128 bit fixed length hash value with respect to an arbitrary length information.
In the hash value comparison section 11A of the topology change detection processing section 11, the extracted hash value is compared with the hash value calculated by the hash value calculation section 12A of the network identification information processing section 12 based on the correspondence table between VLAN-ID and MSTI (see
If there is a difference in the comparison result of the hash values, the topology information construction section 11B reconstructs the topology tree. The result of the reconstruction of the topology tree is reflected in the MSTP record section 13.
The hash value calculated by the hash value calculation section 12A is stored in the frame in the hash information insertion section 14, and is sent to the adjacent device.
In MSTP, an area to which a device having a same correspondence table between VLAN-ID and MSTI belongs is called a “region”.
Therefore the communication carrier creates a region in area units, so that the failure range can be controlled to be small.
If the users of a wide area LAN service increase, an MSTI is newly added where VLAN-IDs are assigned, or a VLAN-ID is additionally assigned to a conventional MSTI.
If a VLAN-ID is added to the device 5 to add users, the hash value which the device 5 calculates based on the correspondence table between VLAN-ID and MSTI and the hash value calculated by the adjacent device 2 are different, so the device 5 is excluded from the region 1, and MSTP in the region 1 is reconstructed by the remaining device 1 to device 4. As a consequence, the reconstructed MSTP region becomes like
Because of adding a VLAN-ID, a conventional spanning tree cannot be used between a device excluded from the region 1 and region 2, so a CIST (Common and Internal Spanning Tree), which is a common spanning tree formed inside and outside a region, is set between region 1 and the device excluded from region 2.
In the case of a device where MSTP is operating, the hash value is calculated for the entire correspondence table between VLAN-ID and MSTI, so if a VLAN-ID is added to one MSTI, the adjacent device cannot recognize the MSTI of which information changed. As a consequence, information on an entire MSTI cannot be guaranteed.
For example, in the case of allocating one MSTI to one company, if it is attempted to add a VLAN-ID to an MSTI allocated to one company, this influences the entire wide area LAN, including the networks of other companies using another MSTI belonging to the same region, until a new spanning tree is constructed, and communication is interrupted.
The present applicant has made a proposition related to the reconstruction of a network (Japanese Patent Application Laid-Open No. 2002-204250). In this previously proposed invention, a node on the communication network collects information on traffic on the communication network, and performs load distribution control using this information.
Therefore this invention is not related to an MSTP (Multiple Spanning Tree Protocol) network construction, which is a subject of the present invention.
With the foregoing in view, it is an object of the present invention to provide a multiple spanning tree protocol (MSTP) network that can guarantee communication other than MSTP where a VLAN-ID is added or deleted.
To achieve this object, a first aspect of the multiple spanning tree protocol network of the present invention is a multiple spanning tree protocol network, connected in plurality via transmission paths, for forming a plurality of topologies wherein each of said plurality of devices comprises: a network identification information processing section for creating network identification information for each of the topology; a receive section for receiving and extracting the network identification information from an adjacent device; and a topology change detection processing section comprising a comparison section for comparing the extracted network identification information with the network identification information of a local device generated by the network identification information processing section, and a topology information construction section for reconstructing only the topology of which change has been detected if the comparison section detects the change.
A second aspect of the multiple spanning tree protocol network for achieving the object of the present invention is the first aspect further comprising a record section for storing virtual LAN identification information which is set for a multiple spanning tree instance, which is each of topologies of the multiple spanning tree protocol, wherein the network identification information processing section comprises a hash value calculation section for extracting virtual LAN identification information from the record section, and calculating a hash value corresponding to each of a multiple spanning tree instance, and a hash table generation section for creating a table using the hash values calculated by the hash value calculation section, and the MSTP network further comprises a hash information insertion section for inserting the hash table generated by the hash table generation section of the network identification information processing section to a predetermined position of a frame to be transmitted to an adjacent device.
A third aspect of the multiple spanning tree protocol network to achieve the object of the present invention is the second aspect wherein the receive section extracts a hash value from a frame received from an adjacent device, and the comparison section compares the hash value extracted by the receive section with the hash value calculated by the hash value calculation section, detects a topology where a topology change has occurred, reconstructs only the topology of which change has been detected by the topology information construction section, and updates the record section according to the result of the reconstruction.
A fourth aspect of the multiple spanning tree protocol network to achieve the object of the present invention is the second aspect, wherein the size of the hash value is set by command input by the user.
A fifth aspect of the multiple spanning tree protocol network to achieve the object of the present invention is the fourth aspect further comprising a hash value detection section for detecting whether hash values before and after change are the same when virtual LAN identification information is added to/deleted from the multiple spanning tree instance in operation, and allows notifying the user that addition/deletion of the instance is disabled if the hash values are the same.
Characteristics of the present invention will be further clarified by embodiments of the invention which will be described herein below according to the drawings.
Embodiments of the present invention will now be described with reference to the drawings. Embodiments are for understanding the present invention, and the technical scope of the present invention shall not be limited thereby.
In
The hash value comparison section 11A of the topology change detection processing section 11 compares the CD (Configuration Digest) extracted from the received BPDU frame by the hash information extraction section 10, and the hash value calculated from the VLAN ID-MSTI correspondence table (see
In
Here the function and procedure for converting the enumeration of character strings, such as the hash function documents and numbers, into a predetermined length of data, are called a “hash function”, and the value which is output through this function is called the “hash value” or simply “hash”. The hash function is a unidirectional function, so it is impossible to estimate the original from the generated data.
The hash values calculated in this way are used for the table setting of the hash result, as shown at the right of
In the generated table shown in
The hash value information insertion section 14 inserts the hash value (16 octets) into the “Configuration Digest” (74-89 octets) portion in the MST “configuration identifier” in the BPDU to be transmitted to an adjacent device.
The hash value generation section 12B sequentially places the hash value for each MSTI into a corresponding section of the “Configuration Digest” (74-89 octets) portion.
The network composing element conversion section 15 converts the size or total number of MSTPs to be hash-calculated into the value which is input as a command by the user, and sets the corresponding values to the hash value calculation section 12A, hash table generation section 12B and has value comparison section 11A.
The hash value detection section 16 identifies whether the hash result becomes the same or not between before and after network construction, and notifies this information to the user in advance.
By the above configuration, according to the present invention, hash calculation is performed first for each MSTI, and the result is stored in the “Configuration Digest” of the MST “configuration identifier” in the BPDU, and is sent to an adjacent device.
In the present invention, instead of performing hash calculation on all the VLAN-IDs 0 to 4095 as the prior art, hash calculation is performed for each MSTI, therefore only a changed MSTI can be updated and sent to an adjacent device.
Operation of an embodiment will now be described based on the above conceptual configuration.
In a device where MSTP is operating, the VLAN ID-MSTI correspondence table in the local device is acquired from the MSTP record section 13, and the information is notified to the network identification information processing section 12.
In the network identification information processing section 12, which received the VLAN ID-MSTI correspondence table from the MSTP record section 13, the hash value calculation section 12A searches elements for each MSTI in the VLAN ID-MSTI correspondence table, as shown in
In a conventional device, this hash calculation result is inserted into the BPDU, which is directly sent to an adjacent device, but in the present invention, the hash table where the hash calculation result is listed on a table for each MSTI, as shown in
The generated hash table is set to the “Configuration Digest” (74-89 octet positions) in the BPDU in the hash table information insertion section 14, and is sent to an adjacent device.
By this, only the changed MSTI can be updated and sent.
As a second characteristic of the present invention, the hash value for each MSTI is compared, and a topology change is detected and the network is reconstructed.
In the present invention, unlike the prior art where the entire hash result stored in the BPDU received from an adjacent device and the entire hash result in the self device are compared, each hash result divided for each MSTI is compared, so the changed MSTI can be specified and reconstructed.
Now operation of the device which received the BPDU from an adjacent device will be described. When a device where MSTP is operating receives the BPDU from an adjacent device, the network identification information of the MSTI stored in the “Configuration Digest” of the MST “configuration identifier” is extracted in the hash information extraction section 10.
Also in the hash value comparison section 11A of the topology change detection processing section 11, the network identification information of the adjacent device extracted from the received BPDU and network identification information calculated from the local device are compared, and the difference between the devices is detected. If there is a difference in this detected result, the tree of only the detected portion is reconstructed.
The hash information extraction section 10 receives BPDU from the adjacent device, and extracts the network identification information of the MSTP stored in the “Configuration Digest” of the MST “configuration identifier” (hash result of adjacent device).
The MSTP record section 13 acquires the VLAN ID-MSTI correspondence table in the local device. Unlike the prior art where hash calculation is performed on all the data of the VLAN ID-MSTI correspondence table as one input and one hash result is acquired, the hash value calculation section 12A performs hash calculation for each MSTI, as shown in
The hash value comparison section 11A compares the hash calculation result of the local device and the hash result of the adjacent device extracted from the received BPDU, as shown in
If a difference is generated between the hash results for each MSTI, the change of the MSTI is recognized and this MSTI number is notified to the topology information construction section 11B. The topology information construction section 11B, which received the change instruction, reconstructs only this MSTI tree in the present invention, unlike the prior art where the tree is reconstructed for the entire MSTP.
Therefore while a communication disconnection temporarily occurs in the entire MSTP network in the prior art, the change cannot be recognized in the hash value comparison result in the MSTP network other than the changed MSTI, so the tree is not reconstructed, and a communication disconnection is not generated. Because of this, only the changed MSTI can be specified and reconstructed.
As the third characteristic of the present invention, the hash size and total number of MSTIs are changed to change the configuration according to the number of topologies and quality desired by the user.
In the case of a conventional device, 128 bits of hash value is determined from the entire VLAN ID-MSTI correspondence table of the device where MSTP is operating, but in the present invention, the hash result is separated into each MSTI. In this case, the size of the hash value becomes smaller and original quality cannot be maintained.
So it is designed such that the size of the hash result and the number of MSTIs to be set can be arbitrarily selected, then the number of topologies and network quality, according to the user request, can be provided.
For example, if the size of the hash value is increased, the total number of MSTIs that can be set decreases, and the number of topologies also decreases. If the total number of MSTIs that can be set is increased, the size of the hash value decreases, and the probability that the hash values acquired by different inputs become the same increases and the quality of the network drops.
In the following description, processing in the case when each element in
For the hash size or the total number of MSTIs which were specified to an arbitrary value by command input, the hash size or the number of MSTIs that can be set for the 128 bits shown in
This result and the arbitrary set values that was decided are notified to the hash value comparison section 11A, hash value calculation section 12A and hash table generation section 12B.
Based on the number of settings that was notified, the hash value comparison section 11A changes the network identification information of MSTI extracted by the “Configuration Digest” of the MST “configuration identifier” in the BPDU in the hash information extraction section 10, and the hash size and the number of MSTIs for comparing the hash results of the self device.
The hash value calculation section 12A changes the hash size and the number of MSTIs when hash calculation is performed based on the VLAN ID-MSTI correspondence table acquired from the MSTP record section 13.
The hash table generation section 12B also changes the hash size and the number of MSTIs when the result calculated by the hash value calculation section 12A is listed on the table for each MSTI. By this, the number of MSTIs that the communication carrier can accommodate can be arbitrarily set.
As the fourth characteristic of the present invention, trial calculation of the hash result is performed when the MSTI in operation is changed.
In the present invention, unlike the prior art where any VLAN-ID can be added or deleted when the MSTI in operation is changed, it is identified in advance that the hash results before and after do not become the same, so that the status, where the change of topology information cannot be notified or cannot be recognized in spite of an addition/deletion of a VLAN, can be prevented.
In the device where MSTP is operating, the hash value detection section 16 acquires the VLAN ID-MSTI correspondence table in the local device from the MSTP record section 13.
The hash value detection section 16 calculates the hash for each MSTI based on the information of the acquired VLAN ID-MSTI correspondence table.
When topology information, such as the VLAN configuration of MSTP, is changed, the hash value in the case of adding/deleting the VLAN-ID of MSTI is calculated in advance by the hash value detection section 16 as shown in
Therefore the contents of the MSTI that can be changed can be specified in advance, and the contents of the change can be notified to an adjacent device with certainty. By this, the status where the change of topology information cannot be notified in spite of the addition of a VLAN can be prevented in advance.
Operation of an embodiment using the above mentioned conceptual configuration according to the present invention will now be further described.
In the MSTP network configuration in
At this time, it is assumed that the identifier of each company which is set at the devices B1-B4 via VLAN connection is company A: VLAN-ID=1, company B: VLAN-ID=2.
It is assumed that in a status where these companies A and B are forming private networks in the network configuration shown in
In
It is assumed that the spanning tree of the user network managed by each device B1-B4 has the configuration shown in
The spanning tree shown in
By the above network configuration, the VLAN ID-MSTI correspondence table to be managed by the devices B1-B4 before the company C connects the private networks via VLAN commonly becomes the contents of the table shown in
It is assumed that the identifier for the company C is VLAN-ID=3, and the spanning tree is the same as VLAN-ID 1.
For the setting of the devices, as
Then in the device B1, the VLAN ID-MSTI correspondence table in the local device is read and searched from the MSTP record section 13, as shown in
Then based on the two information of MSTI=1 and VLAN-ID=1 and 3, hash calculation is performed for each MSTI.
One octet of result after hash calculated for each MSTI is set at the 74th octet corresponding to MSTI=1, as the table in
BPDU of MSTP, which includes this calculation result, is sent to the adjacent devices B2 and B4.
The result of the comparison is a mismatch for MSTP=1, and a match for the other MSTIs, as shown in
Also as
And for VLAN-ID 1 and 3 which belong to MSTP=1, the setting is changed from the spanning tree of MSTI=1 in
However, as
Now an operation to add VLAN-ID=3 to the device B2, as shown in
As
By this, the device B2 updates the VLAN ID-MSTI correspondence table of the local device, as shown in
Then the device B2 searches the VLAN ID-MSTI correspondence table in the local device, as shown in
One octet of the result after hash is calculated for each MSTI is set at the 74th octet corresponding to MSTI=1, as the table in
BPDU of MSTP, which includes this calculation result, is sent to the adjacent devices B1 and B3.
As described above, the device B3 compares the value (A) in the table of
And as
Also as
The comparison result is a mismatch for MSTI=1 between devices B2 and B3, and a match for the other MSTIs. As a result, the device B3 recognizes the change of the configuration at the adjacent device for MSTI=1 of which the comparison result is a mismatch, and changes the setting from the spanning tree of MSTI=1 to CIST (Common and Internal Spanning Tree) for VLAN-ID=1 and 3 which belong to MSTI=1.
For the MSTI=1 of which the comparison result is a match, the device B1 recognizes the change of the configuration in the adjacent device, and changes the setting from the spanning tree of CIST to the spanning tree of MSTI=1 for VLAN-ID=1 and 3 which belong to MSTP=1.
For both the devices B3 and B4, the device configuration did not change except for MSTI=1, as shown in
The same procedure is used for the case of adding VLAN-ID=3 to the devices B3 and B4.
As described above, by constructing information of MSTI to be transmitted and received between adjacent devices not for all but for each MSTI, a topology can be constructed only for the changed MSTI.
Now as a second embodiment, an example of changing the size of the hash calculation for each MSTI and arbitrarily setting the number of accomodatable MSTIs in the MSTP device will be described.
The MSTP network configuration is the same as the one shown in
The hash result storing portion in BPDU is fixed to 128 bits (16 octets), so the maximum number of MSTIs to be set in this case is 16.
The hash calculation method is as shown in
Now hash table generation will be described. As
In
Now hash table generation will be described. As
In this way, information on MSTI to be transmitted/received between adjacent devices is not set to a fixed hash size, but to an arbitrary value, so the number of MSTIs to be set can be freely changed.
In
When a VLAN-ID is added to MSTI=1 in the currently operating device B1, if the VLAN-ID, which was not set in all the VLAN-IDs (0-4095), is added in advance, the hash value detection section 12A calculates the hash value in the case when the VLAN-ID (VLAN-ID which has already been set) is deleted in advance. By this, the VLAN-ID of which hash value is the same before and after the change cannot be changed.
Here if VLAN-ID=5 is added, the hash values become the same before and after the addition, so “VLAN-ID=5 cannot be added to MSTP=1” is presented in advance. The other change patterns are also presented since the possibility of change (adding and deleting) is known. Because of this, a VLAN-ID that can be used can be immediately specified, and setting can be changed.
As described above, an added VLAN-ID is not directly used, but a trial calculation is performed in advance to confirm the hash values before and after addition do not become the same, and the possibility of change is presented, so the problem that the adjacent device cannot recognize the change can be prevented in advance.
The present invention performs hash calculation for each MSTI, so for MSTI where a VLAN-ID was not added or deleted, no influence occurs and topology is not reconstructed. Therefore the communication carrier can provide highly reliable wide area LAN service.
Also information on whether the hash value becomes the same after addition/deletion of a VLAN-ID is provided to the user in advance. By this, while confirming that no influence occurs to other users in advance, a means of maintaining a wide area LAN network of a specific user can be provided.
This application is a continuation of International Application No. PCT/JP2003/016005, filed on Dec. 12, 2003, now pending, herein incorporated by reference.
Number | Date | Country | |
---|---|---|---|
Parent | PCT/JP03/16005 | Dec 2003 | US |
Child | 11403515 | Apr 2006 | US |