This application is based upon and claims the priority of Japanese Patent Application No. 2004-314152, filed on Oct. 28, 2004, the contents being incorporated herein by reference.
The present invention relates to a MAC address learning apparatus and, more particularly, to a MAC address learning apparatus that is used in data transmission equipment intended for use by communications carriers who provide a wide-area VLAN, or a similar service, which has been attracting attention in recent years.
A wide-area VLAN service, which is primarily used to connect corporate LANs, is a field where far more MAC address learning is needed than in corporate VLANs.
Generally, when a corporation or like entity constructs a private network, several methods, which include a method that uses a private line, a method that uses an IP-VPN (Virtual Private Network) using IP (Internet Protocol), and a method that uses a VLAN (Virtual LAN) through the use of wide-area LAN service, are available. Among others, wide-area LAN service is widespread because of cost advantages over private lines and IP-VPNs and because of the ease of management.
Wide-area LAN service requires the use of layer 2 switches to ensure transmission of LAN data without interference between a plurality of corporations. To achieve this, a technology is employed that assigns a unique VLAN ID to each individual corporation and identifies the destination of the data based on the VLAN ID. More specifically, when an Ethernet packet is sent out from a corporation, a VLAN ID is assigned in an edge switch at the entrance to the carrier network, and the VLAN ID is checked in a core switch, within the carrier network, to transfer the packet.
Usually, a layer 2 switch maintains a MAC address learning table which stores the source MAC address, VLAN ID, and receiving port of each received packet. When relaying the packet, the table is searched by using the destination MAC address and VLAN ID of the packet; if there is no matching entry, the packet is transferred to all ports to which the VLAN ID belongs, but if there is a matching entry, the packet is transferred only to its associated port. This prevents unnecessary packet transfers. Each entry is aged out (removed from the learning table) unless it is referred to within a predetermined period of time. This period of time is called the aging time.
Terminals A, B, . . . are attached to the respective user networks 291, 292, and 293. The carrier network 290 comprises edge switches 294, 295, 296, etc. located at the edge of it and core switches 297, 298, 299, etc. located inside it. The edge switches and the core switches are each provided with a MAC address learning table T. In the figure, only the MAC address table T maintained in the edge switch 294 is shown as a representative example.
Next, the operation of the VLAN shown in FIG. 29 will be described briefly by way of example. When the terminal A (MAC address=a) in the user network 291 (VLAN ID=1) sends out a packet destined for the terminal B (MAC address=a) in the user network 292 that has the same VLAN ID, the MAC address learning table in each of the edge switches and core switches is searched by using the destination MAC address=b and the VLAN ID=1 as keywords. At first, as the destination MAC address=b is not registered, that is, not learned, in the MAC address learning table in any of the switches, the packet is broadcast from each switch in the carrier network 290. As a result, the terminal A is learned at all the switches, i.e., the edge switch 294, the core switch 297, the edge switch 295, the core switch 298, the core switch 299, and the edge switch 296.
Next, when the terminal B sends out a return packet to the terminal A, as the MAC address=a of the destination terminal A is already learned at the edge switch 295, the core switch 297, and the edge switch 294, the packet is not broadcast, but is transferred via the edge switch 295, the core switch 297, and the edge switch 294. However, the probability of using the learned MAC address of the terminal A at the other switches, i.e., the core switch 298, the core switch 299, and the edge switch 296, is low. When the learned MAC address of the terminal A is not used, the learning of the terminal A at these other switches will be of no use.
As the number of users, for example, corporations, subscribing to wide-area LAN service increases, and as a result, the number of terminals connected to the network increases, the number of MAC addresses passing through the network rapidly increases. If there are one thousand terminals in the user network 291, for example, each MAC learning table must have one thousand entries. Here, any packet for which there is no matching entry in the MAC learning table is transferred (broadcast) to all the ports of the switch as described above. As a result, the MAC address is learned at every switch in the carrier network that received the packet, hence the problem that the MAC address learning table becomes saturated.
As a means for solving this problem, EoE (Ethernet over Ethernet) technology devised by PoweredCom is attracting attention. EoE is a technology in which a packet transmitted from a user network is converted at an edge switch into an EOE-MAC address format used in the EoE network for transmission through the carrier network. This serves to reduce the load since the MAC addresses that must be learned at each core switch are only the EoE-MAC addresses of the edge switches.
Next, the operation of the VLAN shown in
Reference numeral 306 indicates the packet sent out from the terminal A; “c” in the leftmost part of the packet 306 indicates the destination, and “a” to the right of it indicates the source. When the packet 306 is received from the terminal A, the edge switch 303 sets the source EoE-MAC address corresponding to the received source address “a” to e1 at its receiving port 1.
Further, the destination EoE-MAC address=e2 is retrieved by searching the MAC address learning table T1 based on the destination MAC address=“c” and VLAN ID=1. Then, the packet 306 is converted into a packet 307 encapsulated with e1 as the source EoE-MAC address and e2 as the destination MAC address, and the packet 307 is transmitted through the carrier network 300. The core switch 305 in the carrier network 300 searches the MAC address learning table T2 by using the destination EoE-MAC address=e2 as the keyword, and transfers the packet 307 to the port 2 obtained as the result of the search.
The edge switch 304 removes the capsule containing the source EoE-MAC address e1 and the destination EoE-MAC address e2 from the head of the packet, and transmits the packet to the terminal C. This reduces the load since the core switch 305 need only learn the EoE-MAC addresses e1 and e2 of the edge switches 303 and 304 in the carrier network 300. In the prior art of
Next, the operation of the edge switch shown in
First, a description will be given of the case where a packet is transmitted to the edge switch 294 from the carrier network 290 side.
When the packet is received from the carrier-network-side port 311, the carrier-side receive packet control section 313 requests the carrier-side learning table control section 316 to register the source address and the receiving port into the contents of the carrier-side MAC address learning table 317 (T in
Then, the carrier-side learning table control section 316 registers the source address of the packet and its receiving port into the carrier-side MAC address learning table 317.
Next, based on the destination MAC address of the packet, the user-side MAC address learning table (of the same format as T in
On the other hand, when a packet is transmitted to the edge switch 295 from the user network 292, the user-side receive packet control section 320, upon receiving the packet from the user-network-side port 311, requests the user-side learning table control section 319 to register the source address and the receiving port into the contents of the user-side MAC address learning table 318.
Then, the user-side learning table control section 319 registers the source address of the packet and its receiving port into the user-side MAC address learning table 318.
Next, based on the destination MAC address of the packet, the carrier-side learning table searching section 321 searches the carrier-side MAC address learning table 317 (T in
The aging time management section 323 removes information from the carrier-side MAC address learning table 317 by determining that the information is not in use if its learned contents have not been updated for a predetermined period of time, for example, 300 seconds.
[Patent Document 1] Japanese Unexamined Patent Publication No. H03-001735
[Patent Document 2] Japanese Unexamined Patent Publication No. H04-360336
[Patent Document 3] Japanese Unexamined Patent Publication No. H06-69927
[Non-patent Document 1] Nikkei Communications, Nov. 24 2003, No. 403, pp. 73-81
[Problem to be Solved by the Invention]
In the above prior art EoE technology shown in
To solve the above problem associated with the prior art, it is an object of the present invention to eliminate unnecessary learning in the MAC address learning table maintained in each edge switch located in a wide-area VLAN carrier network at a position connected to a user network, and thereby to increase the hit rate in the MAC address learning table.
[Means for Solving the Problem]
To achieve the above object, according to a first aspect of the invention, there is provided, for use in a network providing a wide-area LAN service which allows communications to be performed between a plurality of second networks via a first network, a MAC address learning apparatus comprising edge switches located in the first network and connected to the second networks, wherein each of the edge switches comprises: a tentative learning registration means which, when a packet whose source MAC address and receiving port are not yet learned is received from the first network, registers the source MAC address and the receiving port in a tentatively learned state; a learned state changing means which, when a packet whose destination MAC address is registered in a learned state is received from an associated one of the second networks, changes the learned state of the destination MAC address to a permanently learned state; and a permanent learning registration means which, when a packet whose destination MAC address is registered in a learned state is received from the first network, registers the source MAC address and receiving port of the packet received from the first network in a permanently learned state.
According to a second aspect of the invention, the tentative learning registration means comprises: a first-network-side receive packet control section which, when the packet is first received from the first network, then makes a request that the source MAC address and receiving port of the received packet be registered in the tentatively learned state into a MAC address learning table at the side of the first network; and a first-network-side learning table control section which, when the source MAC address is not registered in the MAC address learning table at the side of the first network, then registers the MAC address and the receiving port in the tentatively learned state into the MAC address learning table at the side of the first network.
According to a third aspect of the invention, the learned state changing means comprises: a first-network-side learning table searching section which searches the MAC address learning table at the side of the first network by using the destination MAC address of the packet received from the associated one of the second networks and, when the destination MAC address is found registered in a tentatively learned state in the MAC address learning table at the side of the first network, then makes a request that the learned state of the destination MAC address be changed to the permanently learned state; and a first-network-side learning table control section which updates the registration of the destination MAC address to the permanently learned state.
According to a fourth aspect of the invention, the permanent learning registration means comprises: a second-network-side learning table searching section which searches the MAC address learning table at the side of the second network by using the destination MAC address of the packet received from the first network and, when the destination MAC address is found registered in the MAC address learning table at the side of the second network, then makes a request that the source address and receiving port of the received packet be registered in the permanently learned state; and a first-network-side learning table control section which updates the registration of the destination MAC address to the permanently learned state when the destination MAC address is found registered in a tentatively learned state in the MAC address learning table at the side of the first network.
According to a fifth aspect of the invention, each of the edge switches comprises: a MAC address learning table at the side of the first network which stores learned contents of the MAC address of the packet received from the first network; an aging time management section which manages a timeout period specific to each rank of learned information registered in the MAC address learning table at the side of the first network; and a first-network-side learning table control section which sets in the MAC address learning table at the side of the first network a result obtained by querying the aging time management section about rank-specific aging time.
According to the first aspect of the invention, only when the destination MAC address of the packet received from the first network is registered in a learned state, are the source MAC address and receiving port of the packet registered in the permanently learned state, thus ranking the learned information according to its usage, which means that the source MAC address and receiving port of any packet registered in a tentatively learned state and not used for a predetermined period of time are not registered by the permanent learning registration means; this offers the effect of being able to prevent the MAC address learning table in the edge switch from becoming saturated.
According to the second aspect of the invention, the tentative learning registration means is configured so that when the MAC address is not registered in the MAC address learning table at the side of the first network, the MAC address and receiving port of the first received packet are temporarily registered in a tentatively learned state into the MAC address learning table at the side of the first network; this offers the effect that the saturation of the MAC address learning table at the side of the first network in the edge switch can be prevented further reliably.
According to the third aspect of the invention, provisions are made so that when the packet directed toward the first network is received from the second network, the tentatively learned state is ranked up to the permanently learned state, thus using the MAC address learning table at the side of the first network only with actually valid packets; this offers the effect of being able to further reliably prevent the saturation of the MAC address learning table at the side of the first network for the case where packets directed toward the first network are received from the second network.
According to the fourth aspect of the invention, provisions are made so that when the packet directed toward the second network is received from the first network, the tentatively learned state is ranked up to the permanently learned state, thus using the MAC address learning table at the side of the first network only with actually valid packets; this offers the effect of being able to further reliably prevent the saturation of the MAC address learning table at the side of the first network in the edge switch for the case where packets directed toward the second network are received from the first network.
According to the fifth aspect of the invention, since provisions are made to manage the timeout period according to the rank of the learned information, the effect is that the saturation of the MAC address learning table at the side of the first network can be prevented further reliably.
[
[
[
[
[
[
[
[
[
[
[
[
[
[
[
[
[
[
[
[
[
[
[
[
[
[
[
[
[
[
[
Modes for carrying out the present invention will be described with reference to the drawings. Throughout the drawings, like reference numerals designate like parts.
The definitions of the symbols and data essential for the description of the embodiments of the invention are given below.
(1) An edge switch is a switch located in a carrier network (first network) and connected to a user network (second network).
(2) A core switch is a switch located in the carrier network but not connected to any user network.
(3) VLAN ID is an identifier for identifying a VLAN, and is a unique value in a layer 2 network.
(4) Learned information is information such as MAC addresses, VLAN IDs, port numbers, etc. registered in a MAC address learning table.
(5) Tentative learning refers to registering the learned information as tentatively learned information into the MAC address learning table.
(6) Permanent learning refers to registering the learned information as valid learned information into the MAC address learning table.
(7) A learned state refers to a tentatively learned state or a permanently learned state registered in a carrier-side MAC address learning table 209.
(8) Aging time is a predetermined period of time after which learned information is removed from the MAC address learning table unless the information is referred to within that period of time.
Mode 1
The edge switches 14 and 15 each include a tentative learning registration means 16 for registering the source MAC address and receiving port of a yet-to-be-learned packet received from the carrier network 11 into the carrier-side MAC address learning table 209 (see
Further, the edge switches 14 and 15 each include a permanent learning registration means 18 for searching the user-side MAC address learning table 214 (see
The edge switch 15 comprises a carrier-network-side input port 201, a user-network-side output port 202, a user-network-side input port 203, a user-network-side output port 204, a carrier-side receive packet control section 205, a user-side learning table searching section 206, a user-side transmit packet control section 207, a carrier-side learning table control section 208, a carrier-side MAC address learning table 209, a user-side receive packet control section 210, a carrier-side learning table searching section 211, a carrier-side transmit packet control section 212, an aging time management section 213, a user-side MAC address learning table 214, and a user-side learning table control section 215.
The carrier-side receive packet control section 205 requests the carrier-side learning table control section 208 to register the source address and receiving port of a packet received from the carrier network 11 into the carrier-side MAC address learning table 209. In the present invention, the request is made to register the first received packet in a tentatively learned state.
Based on the destination MAC address of the packet first received from the carrier network 11, the user-side learning table searching section 206 searches the user-side MAC address learning table 214 and retrieves the user-network-side port number to which the packet is to be transmitted. In the present invention, if the destination MAC address is already registered, a request is made to the carrier-side learning table control section 208 to register the source address and receiving port of the packet in a permanently learned state.
Based on the result of the search of the user-side MAC address learning table 214, the user-side transmit packet control section 207 transfers the packet to the transmit port 202 on the user network 13 side.
The carrier-side learning table control section 208 registers the source MAC address and receiving port of the received packet into the carrier-side MAC address learning table 209. In the present invention, the first received packet is registered by ranking it as tentative learning, and any packet received thereafter is registered by ranking it as permanent learning.
The user-side learning table control section 215 registers the source address and receiving port of a packet received from the user network 13 into the user-side MAC address learning table 214.
The user-side receive packet control section 210 requests the user-side learning table control section 215 to register the source MAC address and receiving port of the packet received from the user network 13 into the user-side MAC address learning table 214.
Based on the destination MAC address of the packet received from the user network 13, the carrier-side learning table searching section 211 searches the carrier-side MAC address learning table 209 and retrieves the port number on the carrier network 11 side to which the packet is to be transmitted. In the present invention, if the destination MAC address is already registered in the carrier-side MAC address learning table 209, a request is made to the carrier-side learning table control section 208 to update the learned state in the carrier-side MAC address learning table 209 to the permanently learned state.
Based on the result of the search of the carrier-side MAC address learning table 209, the carrier-side transmit packet control section 212 transfers the packet to the designated transmit port on the carrier network 11 side.
The aging time management section 213 manages the aging time for each piece of learned information registered in the carrier-side MAC address learning table 209. Any learned information for which the aging time has expired is removed from the carrier-side MAC address learning table 209. In the present invention, the aging time is managed according to the rank of the learned state, i.e., the tentatively learned state and the permanently learned state.
Next, in step S42, the carrier-side MAC address learning table 209 is searched based on the source MAC address and VLAN ID of the packet, and the registration state and learned state of the source MAC address are checked.
If the result of the checking in step S43 shows that the source MAC address is not learned yet, the process proceeds to step S44 where a query is made to the aging time management section 213 about the aging time for tentative learning (for example, three seconds). Next, in step S45, the source MAC address, VLAN ID, and receiving port number of the packet, the aging time for tentative learning, and the tentatively learned state are registered in the carrier-side MAC address learning table 209.
On the other hand, if the result of the checking in step S43 shows that the source MAC address is already learned, the process proceeds to step S46 to check whether the learned state registered in the carrier-side MAC address learning table 209 is the tentatively learned state or the permanently learned state. If the state is the tentatively learned state, the process proceeds to step S47 where a query is made to the aging time management section 213 about the aging time for permanent learning (for example, 300 seconds). Next, in step S48, the tentatively learned state registered in the carrier-side MAC address learning table 209 is updated to the permanently learned state, and the aging time is also updated to the aging time for permanent learning.
Next, in step S63, it is checked to see whether or not the received packet is registered in the carrier-side MAC address learning table 209; if registered, the process proceeds to step S64, but if not registered, the process proceeds to step S65.
In step S64, a request is made to the carrier-side learning table control section 208 to register the source address, VLAN ID, and receiving port number of the received packet into the carrier-side MAC address learning table in a permanently learned state.
In step S65 after step S63 or S64, the packet is passed to the user-side transmit packet control section 207.
If the result of the checking in step S73 shows that the packet is registered, the process proceeds to step S74 to check the learned state of the packet. If the result of the checking shows that the learned state is the tentatively learned state, a request is made to the carrier-side learning table control section 208 to update the learned state of its MAC address to the permanently learned state. If not registered in step S73, or if the learned state checked in step S74 is the permanently learned state, or after performing step S75, the process proceeds to step S76 where the packet is passed to the carrier-side transmit packet control section 212.
In the present embodiment, rather than automatically registering the source MAC address, VLAN ID, and receiving port number of the packet received from the carrier network 11 into the carrier-side MAC address learning table 209 as in the prior art, the edge switch 15 first checks whether or not the destination MAC address is registered in the carrier-side MAC address learning table 209 and, if not registered yet, the destination MAC address is registered temporarily as tentative learning into the carrier-side MAC address learning table 209.
The packet 91 transmitted from the terminal A in the user network 12 is a packet whose destination is B and source is A, and whose VLAN ID is 1. The carrier-side receive packet control section 205 in the edge switch 15 that received the packet 91 via the carrier network 11 requests the carrier-side learning table control section 208 to register the source MAC address, VLAN ID, and receiving port number of the packet into the carrier-side MAC address learning table 209, and passes the packet to the user-side learning table searching section 206. In the prior art, when making a request to the carrier-side learning table control section 208, the request was made to directly register the learned information, but in the present invention, the request is made to register it by ranking the learned state as tentative learning.
The carrier-side learning table control section 208, which was requested to register the learned information, searches the carrier-side MAC address learning table 209 based on the source MAC address and VLAN ID of the packet. Before the packet is received, its MAC address is not yet registered in the carrier-side MAC address learning table 209.
In the prior art, the source MAC address, VLAN ID, and receiving port number of the received packet were registered into the carrier-side MAC address learning table 209; then, a query was made to the aging time management section 213 about the aging time, and the aging time of fixed length was registered into the carrier-side MAC address learning table 209.
In contrast, in the first embodiment of the present invention, the aging time management section 213 manages the aging time according to the rank of the learned state, and when the packet is first received, the carrier-side learning table control section 208 queries the aging time management section 213 about the aging time for tentative learning. The aging time management section 213 returns the aging time for tentative learning to the carrier-side learning table control section 208 which then registers the learned state “0” indicating the tentatively learned state and 3-second aging time for tentative learning into the carrier-side MAC address learning table 209 in addition to the destination MAC address, VLAN ID, and port number.
Before updating the carrier-side MAC address learning table 209, the user-side learning table searching section 206 searches the carrier-side MAC address learning table 209 based on the destination MAC address and VLAN ID of the packet; here, as the destination MAC address is not learned yet, the user-side learning table searching section 206 passes the packet to the user-side transmit packet control section 207 by requesting it to broadcast the packet. The user-side transmit packet control section 207 that received the packet broadcasts the packet 92.
In this way, the edge switch 15 can check that the source MAC address of the packet first received from the carrier network 11 is not yet registered in the carrier-side MAC address learning table 209, and thus register the MAC address temporarily as tentative learning into the carrier-side MAC address learning table 209.
In the present embodiment, in the edge switch 15 the carrier-side MAC address learning table 209 is searched based on the destination MAC address and VLAN ID of the packet received from the user network 13, and the packet is transmitted to the carrier network 11 in accordance with the result of the search, as in the prior art; not only that, in the present embodiment, if the destination MAC address is registered as tentative learning in the carrier-side MAC address learning table 209, its learned state is updated to a valid learned state (permanently learned state).
The following description deals with the case where the edge switch 15 receives a packet from the terminal B when the carrier-side MAC address learning table 209 shown in
The packet 101 transmitted from the terminal B in the user network 13 is a packet whose destination is A and source is B, and whose VLAN ID is 1. The user-side receive packet control section 210 that received the packet 101 requests the user-side learning table control section 215 to register the source MAC address, VLAN ID, and receiving port number of the packet into the user-side MAC address learning table 214, and passes the packet to the carrier-side learning table searching section 211. The user-side learning table control section 215 registers the source MAC address, VLAN ID, and receiving port number of the packet into the user-side MAC address learning table 214.
In the prior art, the carrier-side learning table searching section 321 was configured to search the carrier-side MAC address learning table 317 based on the destination MAC address and VLAN ID of the packet, and pass the packet to the carrier-side transmit packet control section by requesting it to transmit the packet from the port 1 in accordance with the result of the search (
By contrast, in the present invention, the carrier-side learning table searching section 211, when searching the carrier-side MAC address learning table 209, checks the learned state of the destination MAC address of the packet and, if the destination MAC address is learned in the form of a tentatively learned state, then makes a request to the carrier-side learning table control section 208 to update the learned state from the tentatively learned state to the valid learned state (permanently learned state).
The carrier-side learning table control section 208, which was requested to update the learned state, queries the aging time management section 213 about the aging time for permanent learning. The aging time management section 213, which manages the aging time according to the rank of the learned state, returns the aging time for permanent learning to the carrier-side learning table control section 208. The carrier-side learning table control section 208 updates the learned state to the permanently learned state for the packet registered in the carrier-side MAC address learning table 209, and also updates the aging time.
The carrier-side transmit packet control section 212 that received the packet from the carrier-side learning table searching section 211 transmits the packet 102 from the output port 204 in accordance with the result of the search conducted by the carrier-side learning table searching section 211.
In this way, the edge switch 15 can check that the destination MAC address of the packet received from the user network 13 is registered temporarily as tentative learning in the carrier-side MAC address learning table 209, and thus update the learned state to the valid learned state, i.e., the permanently learned state.
In the present embodiment, rather than automatically registering the source MAC address, VLAN ID, and receiving port number of the packet received from the carrier network 11 into the carrier-side MAC address learning table 209 as in the prior art, the edge switch 15 first checks that the destination MAC address of the received packet is registered in the user-side MAC address learning table 214, and registers the destination MAC address of the packet as valid learning into the carrier-side MAC address learning table 209.
The following description deals with the case where the packet from the terminal A is received at the edge switch 15 via the carrier network 11 after the destination MAC address of the packet received from the user network 13 has been learned as shown in
The packet 111 transmitted from the terminal A is a packet whose source MAC address is A and destination MAC address is B, and whose VLAN ID is 1. The carrier-side receive packet control section 205 in the edge switch 15 that received the packet 111 requests the carrier-side learning table control section 208 to register the source MAC address, VLAN ID, and receiving port number of the packet into the carrier-side MAC address learning table 209, and passes the packet to the user-side learning table searching section 206.
In the prior art, when making a request to the carrier-side learning table control section 208, the request was made to directly register the learned information, but in the present invention, when a not-yet-learned packet is first received, the request is made to register it by ranking the learned state as tentative learning in the carrier-side MAC address learning table 209.
The carrier-side learning table control section 208, which was requested to register the learned information, searches the carrier-side MAC address learning table 209 based on the source MAC address and VLAN ID of the packet. Here, the source MAC address is not registered yet; therefore, in the prior art, a query was made to the aging time management section about the aging time, and the learned information and the aging time were directly registered into the carrier-side MAC address learning table.
By contrast, in the present embodiment, the aging time management section 213 manages the aging time according to the rank of the learned state, and the carrier-side learning table control section 208 makes a query about the aging time for tentative learning. The aging time management section 213 returns the aging time for tentative learning to the carrier-side learning table control section 208 which then registers the learned information, the learned state (tentative learning), and the aging time into the carrier-side MAC address learning table 209.
In the prior art, the user-side learning table searching section searched the user-side MAC address learning table based on the destination MAC address and VLAN ID of the packet and, as the MAC address was already learned, passed the packet to the user-side transmit packet control section by requesting it to transmit the packet from the designated output port.
In contrast, in the present embodiment, when the destination MAC address is already learned in the user-side MAC address learning table 214, the user-side learning table searching section 214 makes a request to the carrier-side learning table control section 208 to update the learned state of the source MAC address from the tentatively learned state to the valid learned state (permanently learned state) for the packet registered in the carrier-side MAC address learning table 209.
The carrier-side learning table control section 208, which was requested to update the learned state, queries the aging time management section 213 about the aging time for permanent learning. The aging time management section 213, which manages the aging time according to the rank of the learned state, returns the aging time for permanent learning to the carrier-side learning table control section 208. The carrier-side learning table control section 208 updates the learned state to the permanently learned state for the packet registered in the carrier-side MAC address learning table 209, and also updates the aging time.
The user-side transmit packet control section 207 that received the packet from the user-side learning table searching section 206 transmits the packet 112 from the output port 202 in accordance with the result of the search conducted by the user-side learning table searching section 206.
In this way, the edge switch 15 can check that the destination MAC address of the packet 111 received from the carrier network 11 is registered in the user-side MAC address learning table 214, and thus register the source MAC address of the packet as valid learning in the carrier-side MAC address learning table 209.
In the edge switch 15 of the present embodiment, when the registration of the learned information is requested at a time that the carrier-side MAC address learning table 209 is saturated, information registered in the tentatively learned state is preferentially selected for deletion, rather than deleting learned information irrespective of the learned contents as in the prior art; this serves to improve the hit rate in the carrier-side MAC address learning table 209.
In
In the prior art, when making a request to the carrier-side learning table control section 208, the request was made to directly register the learned information, but in the present embodiment, as the packet from the terminal C is not learned yet, a request is made to register it by ranking its learned state as tentative learning.
The carrier-side learning table control section 208, which was requested to register the learned information, searches the carrier-side MAC address learning table 209 based on the source MAC address C and VLAN ID of the packet. As the source MAC address C is not yet registered in the carrier-side MAC address learning table 209 as shown in
In the prior art, if the number of registered entries in the table was full, of the registered information entries, the oldest one was removed from the carrier-side MAC address learning table; then, a query was made to the aging management section about the aging time, and the learned information requested for registration and the aging time were registered directly into the carrier-side MAC address learning table.
In contrast, in the present embodiment, the carrier-side learning table control section 208 searches the carrier-side MAC address learning table 209 to retrieve learned information registered as tentative learning, and removes the thus retrieved learned information. Then, a query is made to the aging time management section 213 about the aging time for tentative learning. The aging time management section 213 returns the aging time for tentative learning to the carrier-side learning table control section 208 which then registers the learned information, the learned state (tentative learning), and the aging time into the carrier-side MAC address learning table 209.
In this way, in the edge switch 15, the requested learned information is registered by deleting the learned information registered in the tentatively learned state in the carrier-side MAC address learning table 209; this serves to improve the hit rate in the learning table.
The aging time in each of the edge switches 14 and 15 is configurable by a command input or the like; in each embodiment of the present invention, the aging time is initially set to 3 seconds for tentative learning and 300 seconds for permanent learning. Of course, the aging times for tentative learning and permanent learning, respectively, may be set to times other than the above.
In the example shown in
The packet 141 transmitted from the terminal A is received on the port 1 of the edge switch 14. The user-side receive packet control section 210 in the edge switch 14 requests the user-side learning table control section 215 to register the source MAC address=00-E0-00-00-10-10, VLAN ID=1, and receiving port number=1 of the packet into the user-side MAC address learning table 214, and passes the packet to the carrier-side learning table searching section 211.
The user-side learning table control section 215 registers the source MAC address, VLAN ID, and receiving port number of the packet into the user-side MAC address learning table 214.
The carrier-side learning table searching section 211 searches the carrier-side MAC address learning table 209 based on the destination MAC address=00-E0-00-00-10-20 and VLAN ID=1 of the packet 141; here, as the MAC address is not learned yet, the packet 141 is passed to the carrier-side transmit packet control section 212 by requesting it to broadcast the packet 141. The carrier-side transmit packet control section 212 that received the packet 141 broadcasts the packet to the port 2 where VLAN ID=1 is registered.
The packet 142 broadcast from the port 2 of the edge switch 14 is received by the core switch 131 and transferred to the edge switch 15. The operation of the core switch 131 at this time is the same as that in the prior art, and the description thereof will not be repeated in this embodiment.
The packet 142 transferred from the core switch 131 is received on the port 1 of the edge switch 15. As previously shown in the flowchart of
The carrier-side learning table control section 208 searches the carrier-side MAC address learning table 209 based on the source MAC address and VLAN ID of the packet, and checks the learned state of the MAC address, as previously shown in the flowchart of
Based on the learned state=tentative learning, the aging time management section 213 retrieves the aging time from the aging time management table shown in
The user-side learning table searching section 206 in the edge switch 15 searches the user-side MAC address learning table 214 based on the destination MAC address=00-E0-00-00-10-20 and VLAN ID=1 of the packet, as previously shown in the flowchart of
As described above, when the source MAC address, VLAN ID, and receiving port of the packet are not learned yet in the edge switch 15, these pieces of information are registered as tentative learning into the MAC address learning table.
For simplicity of explanation, the following description is given on the assumption that the operation explained with reference to
The packet 151 transmitted from the terminal B shown in
The user-side learning table control section 215 registers the source MAC address, VLAN ID, and receiving port number of the packet into the user-side MAC address learning table 214.
The carrier-side learning table 211 searches the carrier-side MAC address learning table 209 based on the destination MAC address=00-E0-00-00-10-10 and VLAN ID=1 of the packet, as previously shown in
The carrier-side learning table control section 208 queries the aging time management section 213 about the aging time for permanent learning, as previously shown in the flowchart of
The carrier-side transmit packet control section 212 that received the packet from the carrier-side learning table 211 transmits the packet 152 from the port 1 toward the core switch 131 in the carrier network 11 in accordance with the result of the search of the carrier-side learning table searching section 211.
As described above, in the edge switch 15, when the packet directed toward the carrier network 11 is received from the user network 13, the tentatively learned state can be updated to the permanently learned state.
The packet 152 transmitted from the port 1 of the edge switch 15 is received at the core switch 131 and transferred to the edge switch 14. The operation of the core switch 131 at this time is the same as that in the prior art, and the description thereof will not be repeated here.
The packet 152 transferred from the core switch 131 is received on the port 2 of the edge switch 14. As previously shown in the flowchart of
The carrier-side learning table control section 208 searches the carrier-side MAC address learning table 209 based on the source MAC address and VLAN ID of the packet 153, and checks the learned state of the source MAC address, as previously shown in the flowchart of
Based on the learned state=tentative learning, the aging time management section 213 retrieves the aging time from the aging time management table shown in
The user-side learning table searching section 206 searches the user-side MAC address learning table 214 based on the destination MAC address=00-E0-00-00-10-10 and VLAN ID=1 of the packet, as previously shown in the flowchart of
The carrier-side learning table control section 208 searches the carrier-side MAC address learning table 209 based on the source MAC address and VLAN ID of the packet, and checks the learned state of the source MAC address, as previously shown in the flowchart of
Based on the learned state=permanent learning, the aging time management section 213 retrieves the aging time from the aging time management table shown in
The user-side transmit packet control section 207 that received the packet from the user-side learning table searching section 206 transmits the packet from the port 1 toward the terminal A in the user network 12 in accordance with the result of the search conducted by the user-side learning table searching section 206.
As described above, in the edge switch 14, when the packet directed toward the user network 12 is received from the carrier network 11, the tentatively learned state can be updated to the permanently learned state.
Further, the timeout period can be set according to the rank of the learned information registered in the carrier-side MAC address learning table 209.
Thereafter, the edges switches 14 and 15 in the carrier network 11 can transfer packets between the terminals A and B in accordance with the respective MAC address learning tables, without having to transmit broadcast packets.
As described above, the learned information can be ranked and held in each edge switch of the carrier network 11.
In this condition, the aging time management section 213 in each edge switch counts down the aging time at one-second intervals for each piece of learned information in the carrier-side MAC address learning table 209, as in the prior art, and removes the learned information from the carrier-side MAC address learning table 209 when its aging time has been counted down to Os (second). As different aging times are set for the different learned states, information registered in the tentatively learned state can be deleted earlier than information registered in the permanently learned state; this serves to prevent the MAC address learning table from becoming saturated with unnecessary learning.
Mode 2
For simplicity of explanation, the second mode of the invention also will be described for the case where EoE technology is not used, but it will be recognized that the second mode can also be applied without any problem to the case where EoE technology is used.
As shown, in a network providing a wide-area LAN service which allows communications to be performed between user networks 232 to 235 via a carrier network 231, the carrier network 231 to which the MAC address learning apparatus is applied comprises an edge switch 236 connected to the user networks 232 and 233, an edge switch 237 connected to the user networks 234 and 235, and a core switch 238 connected between the edges switches 236 and 237.
In the second mode also, the configuration of each of the edge switches 236 and 237 is the same as that shown in
In the illustrated example, VLAN ID=1 is assigned to the user networks 232 and 234, while VLAN ID=2 is assigned to the user networks 233 and 235. The user network 232 contains terminals A and B, the user network 234 contains terminals C and D, the user network 233 contains terminals E and F, and the user network 235 contains a terminal G.
The MAC addresses of the terminals A to D in the user networks 232 and 234 of VLAN ID=1 are 00-E0-00-00-10-10, 00-E0-00-00-10-20, 00-E0-00-00-10-30, and 00-E0-00-00-10-40, respectively. On the other hand, the MAC addresses of the terminals E to G in the user networks 233 and 235 of VLAN ID=2 are 00-E0-00-00-20-10, 00-E0-00-00-20-20, and 00-E0-00-00-20-30, respectively.
The operation of the MAC address learning apparatus according to the second mode of the invention will be described below with reference to FIGS. 23 to 28 in conjunction of
The following description deals with the case where packets are transferred between the terminal E having VLAN ID=2 and the terminal G having the same VLAN ID=2.
The packet transmitted from the terminal E in the user network 233 is transferred through the carrier network 231 and received at the edge switch 237. The operation of the edge switch 236 as well as that of the core switch 238 at this time is the same as that described in the first mode, and the description thereof will not be repeated here.
The packet transferred from the core switch 238 is received on the port 1 of the edge switch 237. The carrier-side receive packet control section 205 in the edge switch 237 requests the carrier-side learning table control section 208 to register the source MAC address=00-E0-00-00-20-10, VLAN ID=2, and receiving port number=1 of the packet into the carrier-side MAC address learning table 209, and passes the packet to the user-side learning table searching section 206. In the second mode also, when first making a request to register the learned information into the carrier-side MAC address learning table 209, the request is made to register it in a tentatively learned state.
The carrier-side learning table control section 208, based on the source MAC address and VLAN ID of the packet, searches the carrier-side MAC address learning table 209, and checks the learned state of the source MAC address, as shown in the flowchart of
In the second mode, the carrier-side MAC address learning table 209 is searched in ascending order of table entries and, of the information registered in the tentatively learned state, the first found information is removed from the table; alternatively, provisions may be made to delete the learned information whose VLAN ID value matches that of the learned information (MAC address=00-E0-00-00-20-10, VLAN ID=2, receiving port number=1) about to be registered. In the latter case, the learned information of the MAC address=00-E0-00-00-20-20 is deleted, since its VLAN ID value matches VLAN ID=2.
When the condition for deletion of tentatively learned information from the carrier-side MAC address learning table 209 is set so that tentatively learned information is deleted by searching in ascending order of table entries, the contents of the carrier-side MAC address learning table 209 after updating is as shown in
As described above, in the edge switch 237 according to the second mode, as the requested learned information is registered by deleting the learned information registered in the tentatively learned state in the carrier-side MAC address learning table 209, the hit rate in the learning table can be increased.
According to the present invention, in a MAC address learning apparatus that is used in data transmission equipment intended for use by communications carriers who provide wide-area VLAN, or like, services, any learned information is temporarily held in the MAC address learning table as tentatively learned information until the information is determined to be valid learned information; this serves to prevent the MAC address learning table from becoming saturated with unnecessary learning. Furthermore, even if the MAC address learning table is saturated, the hit rate in the MAC address learning table can be improved by preferentially removing the tentatively learned information from the table.
Number | Date | Country | Kind |
---|---|---|---|
2004-314152(PAT. | Oct 2004 | JP | national |