Route calculation device, program, and route calculation method
The path calculation device addresses label overload in large-scale and multi-domain networks by calculating a minimum-cost path and label string with fewer labels, enabling effective packet forwarding and measurement in these complex networks.
Patent Information
- Application Number
- JP2024561079
- Authority / Receiving Office
- JP · JP
- Patent Type
- Patents
- Current Assignee / Owner
- Filing Date
- 2022-11-30
- Publication Date
- 2025-12-16
- Estimated Expiration
- 2042-11-30
AI Technical Summary
Existing network monitoring technologies face challenges in large-scale networks where the number of labels assigned to measurement packets exceeds the processing capacity of relay nodes, and in multi-domain networks, calculating measurement routes across domain boundaries is necessary.
A path calculation device that calculates a minimum-cost path and a label string with a reduced number of labels, ensuring packets can be forwarded along a desired route without attaching labels to all relay nodes, particularly in multi-domain networks.
Enables efficient packet forwarding and measurement of delay and jitter in large-scale and multi-domain networks using a reduced number of labels, overcoming the limitations of conventional methods.
Smart Images

Figure 0007786614000001 
Figure 0007786614000002 
Figure 0007786614000003
Abstract
Description
[Technical Field]
[0001] The present invention relates to a route calculation device, a program, and a route calculation method for calculating a label to be assigned to a packet in a communication network in which packets are forwarded using labels. [Background technology]
[0002] The spread of fifth-generation mobile communication systems (5G) and esports has created stringent network requirements, such as ultra-low latency and low jitter. Network monitoring and control technologies are needed to meet these requirements. Existing monitoring technologies connect a measurement system to a single location on the network and use a path control mechanism based on traffic engineering to measure latency, jitter, and packet loss on any route or link (Patent Documents 1-3). [Prior art documents] [Patent documents]
[0003] [Patent Document 1] International Publication No. 2021 / 166266 [Patent Document 2] International Publication No. 2021 / 166267 [Patent Document 3] International Publication No. 2022 / 176123 Summary of the Invention [Problem to be solved by the invention]
[0004] In the technologies described in Patent Documents 1 to 3, in a network where label-based packet forwarding (e.g., Multi-Protocol Label Switching) is performed, all labels indicating relay nodes are assigned to the measurement packet. Therefore, in a large-scale network, the number of labels assigned to the measurement packet may exceed the specifications that the relay node can process. Therefore, it is necessary to reduce the number of labels and calculate labels that will allow the measurement packet to pass through the route to be measured. Furthermore, large-scale networks are generally constructed from multiple domains, and it is necessary to calculate measurement routes and labels with domain boundaries in mind. The present invention has been made in view of the above background, and an object of the present invention is to enable packet forwarding through a desired route without attaching labels of all relay nodes. [Means for solving the problem]
[0005] In order to solve the above-mentioned problems, a path calculation device according to the present invention includes: a minimum-cost path calculation unit that calculates a minimum-cost path from a start node to a destination node in a communication network that includes nodes and links to which costs are assigned, in which packets to which labels are assigned, which are labels indicating nodes that the packets will pass through during forwarding, are forwarded so as to minimize cost by passing through the nodes indicated by the labels included in the label sequence; Multiple and a label calculation unit that identifies one of the minimum cost routes and calculates a label string of the identified minimum cost route with a number of labels smaller than the number of nodes included in the identified minimum cost route. [Effects of the Invention]
[0006] According to the present invention, it is possible to forward a packet along a desired route without attaching labels to all relay nodes. [Brief explanation of the drawings]
[0007] [Figure 1] FIG. 1 is a functional block diagram of a path calculation device according to an embodiment of the present invention. [Figure 2] FIG. 1 is a diagram illustrating a network configuration used to explain an embodiment of the present invention. [Figure 3] FIG. 1 is a diagram illustrating a network configuration in which boundary nodes are shown by domain, which is used to explain this embodiment. [Figure 4] 10 is a flowchart of a label calculation process according to the present embodiment. [Figure 5] 10 is a flowchart of a label calculation process for a route by domain according to a modified example of the present embodiment. [Figure 6] FIG. 2 is a hardware configuration diagram illustrating an example of a computer that realizes the functions of the path calculation device according to the above-described embodiment. DETAILED DESCRIPTION OF THE INVENTION
[0008] A route calculation device for calculating a route within a network in an embodiment of the present invention will be described below. This network forwards packets so that they pass through relay nodes indicated by the labels attached to the packets. For the unlabeled portion of the route, the packet is forwarded so as to pass through the route with the lowest cost.
[0009] The path calculation device calculates the minimum cost path between the start node and end node of a path (measurement path) within a network that is the target of measurements such as delay and jitter. Next, the path calculation device calculates a label string including labels indicating relay nodes on the path. The path calculation device calculates the label string so that the minimum cost path that passes through the calculated label string is the measurement path alone and the number of labels is small. Furthermore, when the network is made up of multiple domains, the path calculation device calculates the label string so that the measurement path passes through the boundary nodes of the domains.
[0010] This route calculation device makes it possible to measure the delay and jitter of a measurement route using measurement packets with a reduced number of labels. This makes it possible to measure even large-scale networks that could not be measured using the conventional method of using labels for all relay nodes. Furthermore, this route calculation device also achieves the same effect in multi-domain networks.
[0011] <Configuration of the path calculation device> 1 is a functional block diagram of a path calculation device 100 according to this embodiment. The path calculation device 100 is a computer, and includes a control unit 110, a storage unit 120, and a communication unit 180. The communication unit 180 includes a communication device, and is connected to a network 500 that includes nodes.
[0012] <Route calculation device: storage unit> The storage unit 120 includes storage devices such as a read-only memory (ROM), a random access memory (RAM), a solid-state drive (SSD), etc. The storage unit 120 stores a network information database 130, a measurement result database 140, and a program 128.
[0013] The network information database 130 stores information related to the nodes and links included in the network 500, such as node and link identification information, connection information, and link costs. When the network 500 is made up of multiple domains (see FIG. 2, which will be described later), the network information database 130 stores information about the domains to which the nodes belong. Note that nodes that belong to multiple domains are called boundary nodes. When a packet is sent between two domains, the boundary node forwards the packet from one domain to the other. The measurement result database 140 stores the measurement results of nodes, links, and routes. The program 128 includes a description of the procedure for the label calculation process (see FIG. 4) described later.
[0014] <Route calculation device: control unit> The control unit 110 includes a CPU (Central Processing Unit), and is provided with a network information collection unit 111, a measurement unit 112, a minimum cost path calculation unit 113, and a label calculation unit 114.
[0015] <Control unit: Network information collection unit> The network information collection unit 111 acquires connection information (topology information) between nodes and links in the network 500 and link costs, and stores the information in the network information database 130. The network information collection unit 111 acquires topology information and link costs by, for example, acquiring information on OSPF (Open Shortest Path First) or BGP-LS (Border Gateway Protocol - Link State) from the nodes in the network 500.
[0016] <Control unit: Measurement unit> The measurement unit 112 uses measurement packets to measure the performance of nodes, links, and paths between two nodes, and stores the results in the measurement result database 140. For example, the measurement unit 112 measures the delay and jitter on the path between the two nodes being measured. There is not necessarily only one minimum-cost path between the two nodes. There may be multiple minimum-cost paths, and each minimum-cost path is measured. For this reason, it is necessary to add labels of the nodes that the measurement packet passes through so that the measurement packet passes (is forwarded) along each minimum-cost path.
[0017] <Control unit: Minimum cost path calculation unit> The minimum cost path calculation unit 113 calculates a minimum cost path between a start node and an end node, which is a path with the smallest sum of the costs of the links on the path. A path is represented by a sequence of nodes. There may be more than one minimum cost path between a start node and an end node. Furthermore, if the start node and the end node are in different domains, the minimum cost path calculation unit 113 calculates a minimum cost path that passes through a boundary node.
[0018] <Control unit: Label calculation unit> The label calculation unit 114 calculates a label string to be assigned to the packet so that the packet is forwarded through the measurement path within the network 500. This label string will be described below. Packets are transferred through the network 500 in the order of one or more labels (label string) assigned to the packet, passing through the nodes indicated by the labels. Between the node indicated by one label in the label string and the node indicated by the next label, the packet is transferred so as to take the route with the lowest cost. In other words, for each label in the assigned label string, the packet is transferred so as to take the least-cost route between the node indicated by the label and the node indicated by the next label in the label string. If there are multiple least-cost routes between the node indicated by a label and the node indicated by the next label, it is unspecified which least-cost route the packet will take.
[0019] The label calculation unit 114 calculates a label string to be assigned to the measurement packet so that the route to be taken is not undefined, the measurement route is passed, and the number of labels is less than when all nodes to be passed through are specified. Note that the label string is calculated so as to include the start node, end node, and boundary node. The label calculation method used by the label calculation unit 114 will be described later with reference to FIG. 4.
[0020] Network 2 is a configuration diagram of a network 500 used to explain this embodiment. The network 500 is a multi-domain network made up of domains A, B, and C. Domain A is made up of nodes 1 to 7. Domain B is made up of nodes 6 to 11, and domain C is made up of nodes 10 to 14. Nodes 6 and 7 are boundary nodes between domain A and domain B, and nodes 10 and 11 are boundary nodes between domain B and domain C.
[0021] The cost of a link connecting nodes is indicated by the width of the line connecting the nodes, with the wider the line, the lower the cost. In Figure 2, the cost of a wide link is 1, and the cost of a narrow link is 10. For example, for the route between nodes 6 and 9, the cost of the route that passes through nodes 6, 8, and 9 is 2, and the cost of the route that passes through nodes 6, 7, and 9 is 20, so the minimum cost route is the route that passes through nodes 6, 8, and 9.
[0022] FIG. 3 is a configuration diagram of a network 500 used to explain this embodiment, showing boundary nodes by domain. Compared to FIG. 2, in FIG. 3, boundary nodes 6, 7, 10, and 11 are shown as different nodes by domain. Nodes 6 and 6X are the same node, but are shown as node 6 in domain B and node 6X in domain A. Nodes 7 and 7X are the same node, but are shown as node 7 in domain B and node 7X in domain A. Nodes 10 and 10X are the same node, but are shown as node 10 in domain B and node 10X in domain C. Nodes 11 and 11X are the same node, but are shown as node 11 in domain B and node 11X in domain C. The costs of the links between nodes 6 and 6X, between nodes 7 and 7X, between nodes 10 and 10X, and between nodes 11 and 11X are considered to be zero.
[0023] <Label sequence of minimum cost route> There are four minimum cost routes from node 1 to node 14 passing through boundary nodes: a route passing through nodes 1, 2, 3, 6X, 6, 8, 9, 11, 11X, 12, 14, a route passing through nodes 1, 4, 5, 6X, 6, 8, 9, 11, 11X, 12, 14, a route passing through nodes 1, 2, 3, 6X, 6, 8, 9, 11, 11X, 13, 14, and a route passing through nodes 1, 4, 5, 6X, 6, 8, 9, 11, 11X, 13, 14. Minimum cost route calculation unit 113 calculates these four routes as minimum cost routes with node 1 as the start node and node 14 as the end node.
[0024] The label calculation unit 114 calculates a label string that has fewer labels than when all nodes passed through for one minimum-cost route are specified. In the following explanation, the minimum-cost route is assumed to be a route that passes through nodes 1, 2, 3, 6X, 6, 8, 9, 11, 11X, 12, and 14 (hereinafter referred to as the specified route). In the following explanation, nodes and labels are considered to be the same. For example, the label of node 1 is 1.
[0025] For example, if a label string of 1, 2, 6X, 11, 12, 14 is specified and the minimum cost route passing through nodes 1, 2, 6X, 11, 12, 14 is the only specified route. In contrast, if a label string of 1, 2, 6X, 11, 14 is specified and the minimum cost route passing through nodes 1, 2, 6X, 11, 14, in addition to the specified route, there is another route passing through nodes 1, 2, 3, 6X, 6, 8, 9, 11, 11X, 13, 14, so a single minimum cost route is not specified (identified), and the route becomes undetermined. The label calculation unit 114 calculates a label string that has fewer labels than when all nodes are specified, and results in a single minimum cost route (the route does not become undetermined).
[0026] <Label calculation process> Fig. 4 is a flowchart of the label calculation process according to this embodiment. With reference to Fig. 4, the process will be described in which the minimum cost path calculation unit 113 calculates one or more minimum cost paths for the start node and end node specified by the measurement unit 112, and the label calculation unit 114 calculates a label (label string) for each minimum cost path. Along with the description of the label calculation process itself, a specific example will be described in which the start node is node 1 and the end node is node 14.
[0027] In step S11, minimum-cost path calculation unit 113 calculates a minimum-cost path from the start node to the end node. In a specific example, four paths are calculated: a path passing through nodes 1, 2, 3, 6X, 6, 8, 9, 11, 11X, 12, and 14; a path passing through nodes 1, 4, 5, 6X, 6, 8, 9, 11, 11X, 12, and 14; a path passing through nodes 1, 2, 3, 6X, 6, 8, 9, 11, 11X, 13, and 14; and a path passing through nodes 1, 4, 5, 6X, 6, 8, 9, 11, 11X, 13, and 14.
[0028] In step S12, the label calculation unit 114 starts the process of repeating steps S13 to S19 for each route (minimum cost route) calculated in step S11. Hereinafter, the route that is the target of this repeated process will be referred to as the target route. In addition, the following will explain the route that passes through nodes 1, 2, 3, 6X, 6, 8, 9, 11, 11X, 12, and 14 out of the four minimum cost routes as a specific example.
[0029] In step S13, the label calculation unit 114 divides the target route by domain. In a specific example, the target route is divided into a route passing through nodes 1, 2, 3, and 6X, a route passing through nodes 6, 8, 9, and 11, and a route passing through nodes 11X, 12, and 14 (hereinafter referred to as "domain-specific routes"). In step S14, the label calculation unit 114 starts the process of repeating steps S15 to S18 for each per-domain route divided in step S 13. Hereinafter, the per-domain route that is the target of this repeated process will be referred to as a target per-domain route.
[0030] In step S15, the label calculation unit 114 calculates a label string in which intermediate nodes between the start node and end node of the target domain-specific route are deleted. As a specific example, in the case of a route passing through nodes 1, 2, 3, and 6X, a label string of 1, 6X is calculated. In step S16, the label calculation unit 114 calculates the minimum cost path that passes through the nodes indicated by the label string calculated in step S15.
[0031] In step S17, if the number of minimum cost routes calculated in step S16 is one (step S17→YES), the label calculation unit 114 returns to step S15 to process the next domain-specific route, and if the number is not one (step S17→NO), the label calculation unit 114 proceeds to step S18. In step S18, the label calculation unit 114 adds one label to the label string, for example, the label of the first node not included in the label string, and then returns to step S16.
[0032] A specific example will now be described. In step S16, there are two minimum-cost routes indicated by the label string 1,6X: one that passes through nodes 1, 2, 3, 6X, and the other that passes through nodes 1, 4, 5, 6X. In step S17, there are two routes: one that passes through nodes 1, 2, 3, 6X, and the other that passes through nodes 1, 4, 5, 6X, so the process proceeds to step S18. Since the node that is not included in the label string of 1,6X on the route that passes through nodes 1, 2, 3, 6X is node 2, 2 is added to the label string, resulting in the label string 1, 2, 6X, and the process returns to step S16.
[0033] Since the minimum cost route indicated by the label string of 1, 2, 6X is only the route that passes through nodes 1, 2, 3, and 6X, after completing the processing of the per-domain route for domain A, the label calculation unit 114 executes the processing of steps S15 to S18 for the per-domain route for domain B that passes through nodes 6, 8, 9, and 11.
[0034] In domain B, the label string for the path that passes through nodes 6, 8, 9, and 11 is 6, 11. For the path that passes through nodes 11X, 12, and 14 in domain C, the initial label string is 11X, 14, and there are two paths: one that passes through nodes 11X, 12, and 14, and the other that passes through nodes 11X, 13, and 14, so the label for node 12 is added in step S18. There is one minimum-cost path indicated by the label string of 11X, 12, and 14, so the label string for domain C is 11X, 12, and 14.
[0035] Returning to Figure 4, the description of the label calculation process will continue. In step S19, the label calculation unit 114 combines the label strings of the per-domain routes calculated in the processes of steps S14 to S18. When combining, the label calculation unit 114 deletes one of the labels of the boundary nodes. To explain this in concrete terms, the label calculation unit 114 combines the label string of 1,2,6X, the label string of 6,11, and the label string of 11X,12,14 to calculate the label string of 1,2,6X,11,12,14.
[0036] In step S20, the label calculation unit 114 outputs the minimum-cost route calculated in step S11 and the label strings of each minimum-cost route. As a specific example, the label calculation unit 114 outputs the minimum-cost route shown in step S11, the label string of 1,2,6X,11,12,14, the label string of 1,4,6X,11,12,14, the label string of 1,2,6X,11,13,14, and the label string of 1,4,6X,11,13,14.
[0037] <Features of the route calculation device> The path calculation device 100 calculates the minimum cost path between the start node and the end node of a path (measurement path) within a network to be measured for delay, jitter, etc. Next, the path calculation device calculates a label string including labels indicating relay nodes on the path. The path calculation device 100 calculates the label string so that the minimum cost path passing through the calculated label string is the measurement path alone and the number of labels is small. Furthermore, when the network is made up of multiple domains, the path calculation device 100 calculates the label string so that the measurement path passes through the boundary nodes of the domains.
[0038] According to this route calculation device 100, it is possible to measure the delay and jitter of the measurement route using a measurement packet with a reduced number of labels. This makes it possible to measure even large-scale networks that could not be measured using the conventional method of using labels of all relay nodes. Furthermore, the route calculation device 100 also achieves the same effect in multi-domain networks.
[0039] <<Modification: Label Calculation Process>> In step S18 in FIG. 4, the label calculation unit 114 adds the label of the first node not included in the label string, but it may also be the last node not included in the label string. Furthermore, instead of calculating the label string while adding labels, the label string may be calculated while deleting labels from a label string that includes all of the labels indicating the nodes of the minimum-cost route. In other words, the label calculation unit 114 may calculate the label string by repeatedly deleting one label from a label string that includes the labels indicating all of the nodes included in the minimum-cost route, as long as the label string after deletion matches the minimum-cost route.
[0040] As another method, the process shown in Fig. 5, which will be described later, may be used as a modified example of the process for calculating the label string of a per-domain route (see steps S15 to S18). Fig. 5 is a flowchart of the label calculation process for a per-domain route according to a modified example of this embodiment. In the following, the network 500 in Fig. 2 is considered to be one domain, and a route passing through nodes 1, 2, 3, 6, 8, 9, 11, 12, and 14 is taken as a specific example. In step S31, the label calculation unit 114 calculates a label string in which intermediate nodes between the start node and the end node of the per-domain path are deleted.
[0041] In step S32, the label calculation unit 114 starts the process of repeating steps S33 to S37 for each intermediate node. Hereinafter, the intermediate node of interest will be referred to as the target node. In step S33, the label calculation unit 114 adds the target node to the label string. In step S34, the label calculation unit 114 calculates the minimum cost path that passes through the nodes of the labels included in the label string.
[0042] In step S35, if the number of minimum cost routes this time is less than the number of minimum cost routes calculated in the previous iteration in step S34 (step S35→YES), the label calculation unit 114 proceeds to step S37. If the number of minimum cost routes has not decreased (step S35→NO), the label calculation unit 114 proceeds to step S36. In step S36, the label calculation unit 114 deletes the label added in step S33 from the label string. In step S37, if the number of minimum cost paths calculated in step S is one, the label calculation unit 114 ends the processing of FIG.
[0043] A specific example will be explained below. The label string calculated in step S31 is 1, 14. There are four minimum cost routes that pass through the nodes included in this label string: a route that passes through nodes 1, 2, 3, 6, 8, 9, 11, 12, 14; a route that passes through nodes 1, 4, 5, 6, 8, 9, 11, 12, 14; a route that passes through nodes 1, 2, 3, 6, 8, 9, 11, 13, 14; and a route that passes through nodes 1, 4, 5, 6, 8, 9, 11, 13, 14.
[0044] In this specific example, steps S33 to S37 are executed while the target node changes to nodes 2, 3, 6, 8, 9, 11, and 12. The label string resulting from step S33 in the first iteration is 1, 2, and 14. There are two minimum-cost routes passing through nodes included in this label string: one that passes through nodes 1, 2, 3, 6, 8, 9, 11, 12, and 14, and another that passes through nodes 1, 2, 3, 6, 8, 9, 11, 13, and 14. Since this is fewer than the initial four, the answer in step S35 is YES. However, since there is not just one minimum-cost route, the target node is set to node 3, and the process returns to step S33.
[0045] In the next iteration, the label sequence becomes 1, 2, 3, 14, but there are still two minimum cost routes, so step S35 returns NO and the label sequence becomes 1, 2, 14. The same is true for nodes 6, 8, 9, and 11, where the label sequence remains 1, 2, 14 and there are still two minimum cost routes. In the next iteration, the label string becomes 1, 2, 12, 14, there is one minimum cost route, and this label string is output as the label string of the route by domain (when the network 500 is regarded as one domain).
[0046] Other variations Although several embodiments of the present invention have been described above, these embodiments are merely examples and do not limit the technical scope of the present invention. For example, the path calculation device 100 calculates the minimum cost path between the start node and end node of a path (measurement path) within the network 500 that is the target of measurement of delay, jitter, etc., and its label string. The path is not limited to the measurement path, and may be a path for general data (user data).
[0047] The present invention can take on various other embodiments, and various modifications such as omissions and substitutions can be made without departing from the spirit of the present invention. These embodiments and modifications are included in the scope and spirit of the invention described in this specification, etc., and are also included in the invention described in the claims and their equivalents.
[0048] <Hardware configuration> The path calculation device 100 according to the embodiment described above is realized by a computer 900 having a configuration as shown in FIG. 6, for example. FIG. 6 is a hardware configuration diagram showing an example of the computer 900 that realizes the functions of the path calculation device 100 according to the embodiment described above. The computer 900 includes a CPU 901, a ROM 902, a RAM 903, an SSD 904, an input / output interface 905 (referred to as an input / output I / F (Interface) in FIG. 6), a communication interface 906 (referred to as a communication I / F in FIG. 6), and a media interface 907 (referred to as a media I / F in FIG. 6). The computer 900 may include a hard disk drive (HDD) instead of the SSD 904, or may include a HDD in addition to the SSD 904.
[0049] The CPU 901 operates based on a program stored in the ROM 902 or the SSD 904, and performs control by the control unit 110 shown in Fig. 1. The ROM 902 stores a boot program executed by the CPU 901 when the computer 900 starts up, programs related to the hardware of the computer 900, and the like. The CPU 901 controls an input device 910 such as a mouse or keyboard, and an output device 911 such as a display or printer, via an input / output interface 905. The CPU 901 acquires data from the input device 910 via the input / output interface 905, and outputs generated data to the output device 911.
[0050] The SSD 904 stores programs executed by the CPU 901 and data used by the programs. The communication interface 906 receives data from other devices (not shown) (for example, nodes on the network 500) via the communication network and outputs the data to the CPU 901, and also transmits data generated by the CPU 901 to other devices via the communication network. The media interface 907 reads a program or data stored in the recording medium 912 and outputs it to the CPU 901 via the RAM 903. The CPU 901 loads the program from the recording medium 912 onto the RAM 903 via the media interface 907 and executes the loaded program. The recording medium 912 is an optical recording medium such as a DVD (Digital Versatile Disk), a magneto-optical recording medium such as an MO (Magneto Optical disk), a magnetic recording medium, a conductive memory tape medium, a semiconductor memory, or the like.
[0051] For example, when the computer 900 functions as the path calculation device 100 according to the embodiment described above, the CPU 901 of the computer 900 executes the program 128 (see FIG. 1) loaded onto the RAM 903, thereby realizing the functions of the path calculation device 100. The CPU 901 reads the program 128 from the recording medium 912 and executes it. Alternatively, the CPU 901 may read the program from another device via a communication network, or may install the program 128 from the recording medium 912 onto the SSD 904 and execute it.
[0052] Effect The effects of the device will be explained below.
[0053] The path calculation device 100 according to the above embodiment is a communication network (see network 500) including nodes and links to which costs are assigned, and includes a minimum-cost path calculation unit 113 that calculates a minimum-cost path from a start node to an end node in the communication network, in which a packet to which a label string, which is a string of labels indicating nodes that the packet will pass through during forwarding, is assigned is forwarded so as to minimize the cost by passing through the nodes indicated by the labels included in the label string. The path calculation device 100 also includes a label calculation unit 114 that identifies one minimum cost path and calculates a label string of the identified minimum cost path with the number of labels smaller than the number of nodes included in the identified minimum cost path.
[0054] Such a path calculation device 100 calculates the minimum-cost path from the start node to the end node. Furthermore, a label string is calculated in which the number of labels is less than the number of nodes on the minimum-cost path, and the packet passes through the minimum-cost path. Calculating a label string like this is useful when the scale of the communication network (network 500) is large, and the length of a label string including labels indicating all nodes on the path exceeds the specifications of the nodes.
[0055] The label calculation unit 114 included in the path calculation device 100 according to the above-described embodiment calculates a label string by repeatedly adding a label indicating one of the nodes included in the minimum-cost route to a label string including a label indicating a start node and a label indicating an end node, until the route along which a packet to which the added label string is assigned is forwarded matches the minimum-cost route.
[0056] According to this path calculation device 100, it becomes possible to calculate a label string that results in only one minimum cost path while adding labels from a label string of minimum length.
[0057] The label calculation unit 114 included in the path calculation device 100 according to the above-described embodiment calculates a label string by repeatedly deleting one label from a label string that includes labels indicating all nodes included in the minimum-cost path, as long as the route along which a packet to which the deleted label string is assigned matches the minimum-cost path.
[0058] According to this path calculation device 100, it becomes possible to calculate a label string that results in only one minimum cost path while deleting labels from the maximum length label string.
[0059] The label calculation unit 114 included in the path calculation device 100 according to the above-described embodiment adds a label indicating one of the nodes included in the minimum-cost route to a label string including a label indicating a start node and a label indicating an end node, and if the number of routes along which packets assigned the added label string will be forwarded is smaller than the number of routes along which packets assigned the label string before the addition will be forwarded, the label calculation unit 114 performs the addition, and calculates the label string by repeating the addition until the route along which packets assigned the added label string will be forwarded matches the minimum-cost route.
[0060] According to this path calculation device 100, it is possible to calculate a label string that results in a single minimum-cost path by adding labels from a minimum-length label string while avoiding adding labels that do not lead to a reduction in the minimum-cost path indicated by the label string.
[0061] The communication network related to the path calculation device 100 according to the above embodiment is made up of a plurality of domains. When the start node and the end node are in different domains, the minimum cost path calculation unit 113 calculates a minimum cost path that passes through a boundary node at the boundary of the domains. The label calculation unit 114 calculates a label string for each partial minimum cost route, which is the minimum cost route within a plurality of domains, and combines the label strings to calculate a label string to be assigned to packets that pass through the minimum cost route.
[0062] According to the path calculation device 100, it becomes possible to calculate a minimum cost path corresponding to a multi-domain network and to calculate a label string corresponding to the minimum cost path. [Explanation of symbols]
[0063] 100 Route calculation device 111 Network Information Collection Department 112 Measuring section 113 Minimum cost route calculation unit 114 Label calculation unit 128 programs 130 Network Information Database 140 Measurement Results Database 500 Network (Communication Network)
Claims
1. a minimum cost path calculation unit that calculates a minimum cost path from a start node to an end node in a communication network that includes nodes and links to which costs are assigned, in which a packet to which a label string is assigned, which is a string of labels indicating nodes that the packet will pass through during transmission, is transferred so as to minimize cost by passing through the nodes indicated by the labels included in the label string; a label calculation unit that identifies one of the plurality of minimum cost routes and calculates a label string of the identified minimum cost route with a number of labels smaller than the number of nodes included in the identified minimum cost route. Route calculation device.
2. The label calculation unit A label string is calculated by repeatedly adding a label indicating any one of the nodes included in the minimum cost route to a label string including a label indicating the source node and a label indicating the destination node until a route along which a packet to which the added label string is assigned matches the minimum cost route. The route calculation device according to claim 1 .
3. The label calculation unit A label string is calculated by repeatedly deleting one label from a label string including labels indicating all nodes included in the minimum cost route, as long as the route along which the packet to which the label string after the deletion is assigned matches the minimum cost route. The route calculation device according to claim 1 .
4. The label calculation unit adding a label indicating any one of the nodes included in the minimum cost route to a label string including a label indicating the source node and a label indicating the destination node, if the number of routes along which a packet to which the label string after the addition is assigned is smaller than the number of routes along which a packet to which the label string before the addition is assigned is assigned, The label string is calculated by repeating the addition until the route along which the packet to which the added label string is assigned matches the minimum cost route. The route calculation device according to claim 1 .
5. The communication network includes: It consists of multiple domains The minimum cost path calculation unit If the start node and the end node are in different domains, calculating the minimum cost path that passes through a boundary node at the boundary of the domain; The label calculation unit A label sequence is calculated for each partial minimum cost route, which is the minimum cost route in a plurality of domains, and the label sequence is combined to calculate a label sequence to be assigned to a packet passing through the minimum cost route. The route calculation device according to claim 1 .
6. A program for causing a computer to function as the route calculation device according to claim 1.
7. The route calculation device a step of calculating a minimum-cost route from a start node to a destination node in a communication network including nodes and links to which costs are assigned, in which a packet to which a label string is assigned, which is a string of labels indicating nodes that the packet will pass through during transmission, is transferred so as to minimize cost by passing through the nodes indicated by the labels included in the label string; identifying one of the plurality of minimum-cost routes, and calculating a label string of the identified minimum-cost route with a number of labels smaller than the number of nodes included in the identified minimum-cost route. Route calculation method.
Citation Information
Patent Citations
Router device and label switch path control method
JP2000138711A
Control device, control method, and program
JP2020127183A
Communication system
WO2011048693A1
Delay measurement device, delay measurement method, and program
WO2021166266A1
Communication delay measuring device, communication delay measuring method, and program
WO2021166267A1