This application is based upon and claims the benefit of priority of the prior Japanese Patent Application No. 2012-235657, filed on Oct. 25, 2012, the entire contents of which are incorporated herein by reference.
This invention relates to a multicast technique.
The multicast is a communication method for transmitting data to nodes that belong to a multicast domain simultaneously.
A method is known that preferentially utilizes the multicast instead of the unicast in order to reduce the communication load on a network when delivering data.
Moreover, a method is known that utilizes the multicast instead of the broadcast in order to reduce the communication load on a network in a data center.
However, the number of multicast routes that a relay apparatus such as a router and switch can process (i.e. the number of multicast addresses) is limited. Therefore, when the multicast domains in the network are generated too much, the multicast addresses are exhausted.
According to the aforementioned background art, when preventing from exhausting the multicast addresses by simply substituting the multicast with the unicast or broadcast, the communication load on the network increases by the unicast or broadcast.
In other words, no conventional art can reduce the communication load on a network in which the number of multicast addresses that can be used is limited.
A network management relating to this invention method includes: upon detecting that the number of multicast domains in a network exceeds a predetermined threshold, setting one new multicast domain for at least a part of plural multicast domains based on an inclusion relationship among the plural multicast domains; and transmitting to a relay apparatus, data representing correspondence between a multicast address of the plural multicast domains and a multicast address of the one new multicast domain.
The object and advantages of the embodiment will be realized and attained by means of the elements and combinations particularly pointed out in the claims.
It is to be understood that both the foregoing general description and the following detailed description are exemplary and explanatory and are not restrictive of the embodiment, as claimed.
Next, operations of the system illustrated in
First, the communication unit 201 of the router (here, the router 1) receives a packet in Internet Group Management Protocol (IGMP) or Protocol Independent Multicast (PIM). Then, the communication unit 201 identifies a multicast domain for which the router 1 is in charge of the routing, by using the data storage unit 204 (
The communication unit 201 transmits a multicast address of the multicast domain identified at the step S1 and an address of the router 1 to the topology management apparatus 10 (step S3).
The communication unit 101 of the topology management apparatus 10 receives the multicast address of the multicast domain to which the router 1 belongs and the address of the router 1 from the router 1 (step S5). The setting unit 102 updates data stored in the domain data storage unit 104 by information received at the step S5. However, when the multicast domain for which the router 1 is in charge of the routing does not change, data after the update is the same as data before the update.
The setting unit 102 counts the number of multicast domains by counting the number of multicast addresses stored in the domain data storage unit 104 (step S7). Then, the setting unit 102 performs a setting processing (step S9). The setting processing will be explained by using
First, the setting unit 102 determines the maximum number of multicast domains in the system illustrated in
(A) all routers in the network
(B) routers that are in charge of the routing of the multicast domain to be processed
For example, router A, router B and router C are disposed in the network, and the numbers of multicast domains that can be assigned to the router A, router B and router C are 10, 20 and 30, respectively. In such a case, the maximum number of multicast domains, which is determined according to (A), is “10”. Moreover, for example, when the routers that are in charge of the routing of the multicast domain to be processed are the router B and router C, the maximum number of multicast domains, which is determined according to (B), is “20”.
The multicast domains to be processed are two multicast domains that are selected from among the multicast domains in the network. These two domains are called the multicast domain X and multicast domain Y in the following. The multicast domain X and multicast domain Y are selected in advance by a user using either method in the following or any combination of them.
(a) two multicast domains determined so that the number of end nodes that belong to a new multicast domain Z among end nodes that belong to either of the two multicast domains becomes maximum.
(b) two multicast domains determined so that the number of end nodes that do not belong to a new multicast domain Z among end nodes that belong to either of the two multicast domains becomes minimum.
(c) two multicast domains that are not used recently.
The approach (c) is the same as that of Least Recently Used (LRU) that is a page replacement algorithm.
Returning to the explanation of
In case of XY (step S25: Yes route), the setting unit 102 sets the multicast domain X as one new multicast domain Z (step S27). The setting unit 102 stores setting contents into the added address storage unit 103 and route data storage unit 107.
Data illustrated in
Data illustrated in
Returning to the explanation of
Returning to the explanation of Y” (step S25: No route), the setting unit 102 determines whether or not a condition “X⊃Y” is satisfied (step S31). In other words, the setting unit 102 determines whether or not the multicast domain X includes the multicast domain Y.
In case of “X⊃Y” (step S31: Yes route), the setting unit 102 sets the multicast domain Y as one new multicast domain Z (step S33). As the setting contents, the setting unit 102 stores the multicast address of the multicast domain Y in the column of the “original multicast address” in the added address storage unit 103, and stores the multicast address of the multicast domain Z in the column of the “address to be added”. The multicast address of the multicast domain Z is a multicast address, which is newly assigned (i.e. unused). Moreover, as the setting contents, the setting unit 102 stores the multicast address of the multicast domain Z in the column of the “address to be added to the packet” in the route data storage unit 107, and stores the address of the transmission destination of the packet in the column of the “address of transmission destination”. The transmission destination of the packet is identified based on the topology data stored in the topology data storage unit 106.
The setting unit 102 sets the domain corresponding to “X-Y” as the unicast (step S35). Then, the processing returns to a calling-source processing through the terminal A. As the setting contents, the setting unit 102 stores the multicast address of the multicast domain X in the column of the “original multicast address” in the added address storage unit 103, and stores the multicast address of the multicast domain Z in the column of the “address to be added”. Moreover, as the setting contents, the setting unit 102 stores the multicast address of the multicast domain X in the column of the “original multicast address” in the added address storage unit 103, and stores the unicast address of the transmission destination of the packet in the column of the “address to be added”. The transmission destination of the packet is identified based on the topology data stored in the topology data storage unit 106.
Returning to the explanation of
Shifting to explanation of
In case of N(X)≦N(Y) (step S37: Yes route), the setting unit 102 determines whether or not N({X∪Y}−{X∩Y})≦N(X) is satisfied (step S39).
When “N({X∪Y}−{X∩Y})≦N(X)” is not satisfied (step S39: No route), the setting unit 102 sets the multicast domain Y as one new multicast domain Z (step S41). As the setting contents, the setting unit 102 stores the multicast address of the multicast domain Yin the column of the “original multicast address” in the added address storage unit 103, and stores the multicast address of the multicast domain Z in the column of the “address to be added”. The multicast address of the multicast domain Z is a multicast address that is newly assigned (i.e. unused). In addition, as the setting contents, the setting unit 102 stores the multicast address of the multicast domain Z in the column of the “address to be added to packet” in the route data storage unit 107, and stores the address of the transmission destination of the packet in the column of the “address of transmission destination”. The transmission destination of the packet is identified based on the topology data stored in the topology data storage unit 106.
The setting unit 102 sets the multicast domain X as the unicast (step S43). As the setting contents, the setting unit 102 stores the multicast address of the multicast domain X in the column of the “original multicast address” in the added address storage unit 103, and stores the unicast address of the transmission destination of the packet in the column of the “address to be added”. The transmission destination of the packet is identified based on the topology data stored in the topology data storage unit 106.
Returning to the explanation of
When the condition “N({X∪Y}−{X∩Y})≦N(Y)” is not satisfied (step S45: No route), the setting unit 102 sets the multicast domain X as one new multicast domain Z (step S47). As the setting contents, the setting unit 102 stores the multicast address of the multicast domain X in the column of the “original multicast address” in the added address storage unit 103, and stores the multicast address of the multicast domain Z in the column of the “address to be added”. The multicast address of the multicast domain Z is an address that is newly assigned (i.e. unused). Moreover, as the setting contents, the setting unit 102 stores the multicast address of the multicast domain Z in the column of the “address to be added to packet” in the route data storage unit 107, and stores the address of the transmission destination of the packet in the column of the “address of transmission destination”. The transmission destination of the packet is identified based on the topology data stored in the topology data storage unit 106.
The setting unit 102 sets the multicast domain Y as the unicast (step S49). As the setting contents, the setting unit 102 stores the multicast address of the multicast domain Y in the column of the “original multicast address” in the added address storage unit 103, and stores the unicast address of the transmission destination of the packet in the column of the “address to be added”. The transmission destination of the packet is identified based on the topology data stored in the topology data storage unit 106.
Returning to the explanation of
The setting unit 102 sets a domain corresponding to X−{X∩Y} and a domain corresponding to Y−{X∩Y} as the unicast (step S53). As the setting contents, the setting unit 102 stores the multicast address of the multicast domain X in the column of the “original multicast address” in the added address storage unit 103, and stores the unicast address of the transmission destination of the packet in the column of the “address to be added”. Moreover, as the setting contents, the setting unit 102 stores the multicast address of the multicast domain Y in the column of the “original multicast address” in the added address storage unit 103, and stores the unicast address of the transmission destination of the packet in the column of the “address to be added”. The transmission destination of the packet is identified based on the topology data stored in the topology data storage unit 106. Then, the processing returns to the calling-source processing.
By carrying out the aforementioned processing, it is possible to prevent from exhausting the multicast address in the network in which the number of multicast addresses that can be used is limited and to reduce the communication load on the network. Moreover, because the number of end nodes that belong to a newly set multicast domain becomes maximum, it is possible to efficiently suppress the increase of the communication load on the network.
Returning to the explanation of
For each router, data for that router among the data stored in the added address storage unit 103 and data for that router among the data stored in the route data storage unit 107 are transmitted to that router. Because each router only stores data for that router, the resource of the router, which is required for the data, can be reduced.
The communication unit 101 transmits a response representing a processing result of the setting processing (S9) to the router 1 (step S13). When the multicast domain Z is newly set by the setting processing, the response includes data representing the number of multicast domains is greater than the maximum number of multicast domains. On the other hand, when the multicast domain Z is not newly set, the response includes data representing the number of multicast domains is equal to or less than the maximum number of multicast domains.
The communication unit 201 in the router 1 receives the response from the topology management apparatus 10 (step S15). By doing so, the router 1 can confirm whether or not the processing is completed, normally.
By using
The communication unit 201 stores data of the added address storage unit 103 in the correspondence data into the added address storage unit 202. Data structure in the added address storage unit 202 is the same as the data structure in the added address storage unit 103 in the topology management apparatus 10. Moreover, the communication unit 201 stores data of the route data storage unit 107 in the correspondence data into the route data storage unit 203 (step S63). Then, the processing completes. Data structure of the route data storage unit 203 is the same as the data structure of the route data storage unit 107.
By carrying out such a processing, the multicast data can be transmitted to the multicast domain Z that was newly set by the topology management apparatus 10. Moreover, the data can be transmitted by the unicast to a node that does not belong to the multicast domain Z, but is an end node belonging to the multicast domain X or Y.
Furthermore, because the new setting of the multicast domain is automatically made while the topology management apparatus 10 and router 1 cooperate, the workload of the network manager can be reduced.
Next, a processing executed when the router relays the packets will be explained by using
First, the communication unit 201 of the router (here, router 1) receives a packet from an end node 11 under the router 1 (
The communication unit 201 identifies an address corresponding to the multicast address included in the received packet from the added address storage unit 202 (step S73). When plural addresses are identified at the step S73, the communication unit 201 copies the packet by the number of addresses.
The communication unit 201 adds an expansion header including the address identified at the step S73 to the packet received at the step S71 (step S75). The processing of the step S75 is a processing for encapsulation.
The communication unit 201 transmits the packet to which the expansion header is added to a router of the transmission destination (step S77). Then, the processing ends. When the address included in the expansion header is the unicast address of the router, the transmission destination is the router. When the address included in the expansion header is the multicast address, the address of the transmission destination is identified from the route data storage unit 203, and the packet is transmitted to that transmission destination.
In the following, a specific example of the packet transfer will be illustrated.
When the router 1 receives a packet including the multicast address “MD1” from the end node 11, the router 1 transmits the packet to which the multicast address “MD5” is added to the router 2. When the router 2 receives the packet to which the multicast address “MD5” is added, the router 2 eliminates the multicast address “MD5” from the received packet, and transfers the packet after the elimination to the end nodes 21 to 23.
In case of the multicast address “MD2”, the processing is the same as that of the multicast address “MD1”. When the router 1 receives a packet including the multicast address “MD2” from the end node 11, the router 1 transmits a packet to which the multicast address “MD5” is added to the router 2. When the router 2 receives the packet to which the multicast address “MD5” is added, the router 2 eliminates the multicast address “MD5” from the received packet, and transmits the packet after the elimination to the end nodes 21 to 23.
When the router 1 receives the packet including the multicast address “MD1” from the end node 11, the router 1 generates a packet to which the multicast address “MD5” is added, and transmits the generated packet to the router 2. Moreover, the router 1 generates a packet to which the unicast address “R3” is added, and transmits the generated packet to the router 3. When the router 2 receives a packet to which the multicast address “MD5” is added, the router 2 eliminates the multicast address “MD5” from the received packet, and transmits the packet after the elimination to the end nodes 21 and 22. When the router 3 receives the packet to which the unicast address “R3” is added, the router 3 eliminates the unicast address “R3” from the received packet, and transmits the packet after the elimination to the end node 31.
When the router 1 receives a packet including the multicast address “MD2” from the end node 11, the router 1 generates a packet to which the multicast address “MD5” is added, and transmits the generated packet to the router 2. When the router 2 received the packet to which the multicast address “MD5” is added, the router 2 eliminates the multicast address “MD5” from the received packet, and transmits the packet after the elimination to the end nodes 21 and 22.
When the router 1 receives a packet including the multicast address “MD1” from the end node 11, the router 1 generates a packet to which the multicast address “MD5” is added, and transmits the generated packet to the router 3. Moreover, the router 1 generates a packet to which the unicast address “R2” is added, and transmits the generated packet to the router 2. When the router 3 receives the packet to which the multicast address “MD5” is added, the router 3 eliminates the multicast address “MD5” from the received packet, and transmits the packet after the elimination to the end nodes 31 and 32. When the router 2 receives a packet to which the unicast address “R2” is added, the router 2 eliminates the unicast address “R2” from the received packet, and transmits the packet after the elimination to the end node 21.
When the router 1 receives a packet including the multicast address “MD2” from the end node 11, the router 1 generates a packet to which the multicast address “MD5” is added, and transmits the generated packet to the router 3. Moreover, the router 1 generates a packet to which the unicast address “R4” is added to that packet, and transmits the generated packet to the router 4. When the router 3 receives the packet to which the multicast address “MD5” is added, the router 3 eliminates the multicast address “MD5” from the received packet, and transmits the packet after the elimination to the end nodes 31 and 32. When the router 4 receives the packet to which the unicast address “R4” is added, the router 4 eliminates the unicast address “R4” from the received packet, and transmits the packet after the elimination to the end node 41.
When the router 1 receives a packet including the multicast address “MD1” from the end node 11, the router 1 generates a packet to which the multicast address “MD5” is added, and transmits the generated packet to the router 2. When the router 2 receives a packet to which the multicast address “MD5” is added, the router 2 eliminates the multicast address “MD5” from the received packet, and transmits the packet after the elimination to the end nodes 21 to 23.
When the router 1 receives a packet including the multicast address “MD2” from the end node 11, the router 1 generates a packet to which the unicast address “R3” is added, and transmits the generated packet to the router 3. Moreover, the router 1 generates a packet to which the unicast address “R4” is added, and transmits the generated packet to the router 4. When the router 3 receives the packet to which the unicast address “R3” is added, the router 3 eliminates the unicast address “R3”, and transmits the packet after the elimination to the end node 31. When the router 4 receives the packet to which the unicast address “R4” is added, the router 4 eliminates the unicast address “R4”, and transmits the packet after the elimination to the end node 41.
By carrying out the aforementioned processing, even when the number of multicast domains is decreased by “1”, it is possible to transmit the packet to the destination.
Although the embodiments of this invention were explained above, this invention is not limited to the embodiments. For example, the functional block configurations of the aforementioned topology management apparatus 10 and the routers 1 to 4 do not always correspond to program module configurations.
Moreover, configurations of the aforementioned tables are mere examples, and may be changed appropriately. Furthermore, as for the processing flows, as long as the processing results do not change, the turns of steps may be exchanged or plural steps may be executed in parallel.
Moreover, the routers 1 to 4 may be virtual routers. Furthermore, instead of the routers, the physical switch or virtual switch may be employed.
In addition, the topology management apparatus 10 is a computer device as shown in
In addition, the aforementioned routers 1 to 4, are computer apparatuses as illustrated in
The aforementioned embodiments are outlined as follows:
A network management method relating to the embodiments includes: (A) upon detecting that the number of multicast domains in a network exceeds a predetermined threshold, setting one new multicast domain for at least apart of plural multicast domains based on an inclusion relationship among the plural multicast domains; and (B) transmitting to a relay apparatus, data representing correspondence between a multicast address of the plural multicast domains and a multicast address of the one new multicast domain.
According to this configuration, in the network in which the number of multicast addresses that can be used is limited, it becomes possible to prevent from exhausting the multicast addresses and reduce the communication load on the network.
Moreover, the aforementioned management method may further include: (C) identifying a node that does not belong to the one new multicast domain from among nodes that belongs to either of the plural multicast domains; and (D) transmitting to the relay apparatus in the network, data representing correspondence between a unicast address of a certain relay apparatus that has the identified node under the certain relay apparatus and a multicast address of the plural multicast domains. Thus, it becomes possible to transmit data by the unicast to nodes to which data cannot be sent by the multicast.
Moreover, the aforementioned setting may include: (a1) setting the one new multicast domain so that the number of nodes that belong to the one new multicast domain is the greatest. According to this configuration, because data can be transmitted by the multicast to node as many as possible, it becomes possible to appropriately suppress the increase of the communication load on the network.
Furthermore, the aforementioned management method may include (E) collecting, from the relay apparatus in the network, a multicast address of a multicast domain relating to the relay apparatus; (F) counting the number of multicast domains in the network based on the collected multicast address; and (G) determining whether or not the counted number of multicast domains exceeds the predetermined threshold. By doing so, it becomes possible to efficiently collect information by using IGMP, PIM or the like for example.
Incidentally, it is possible to create a program causing a computer to execute the aforementioned processing, and such a program is stored in a computer readable storage medium or storage device such as a flexible disk, CD-ROM, DVD-ROM, magneto-optic disk, a semiconductor memory, and hard disk. In addition, the intermediate processing result is temporarily stored in a storage device such as a main memory or the like.
All examples and conditional language recited herein are intended for pedagogical purposes to aid the reader in understanding the invention and the concepts contributed by the inventor to furthering the art, and are to be construed as being without limitation to such specifically recited examples and conditions, nor does the organization of such examples in the specification relate to a showing of the superiority and inferiority of the invention. Although the embodiments of the present inventions have been described in detail, it should be understood that the various changes, substitutions, and alterations could be made hereto without departing from the spirit and scope of the invention.
Number | Date | Country | Kind |
---|---|---|---|
2012-235657 | Oct 2012 | JP | national |