WO2010110235A1 - 経路設定サーバ、経路設定方法、及び経路設定プログラム - Google Patents
経路設定サーバ、経路設定方法、及び経路設定プログラム Download PDFInfo
- Publication number
- WO2010110235A1 WO2010110235A1 PCT/JP2010/054921 JP2010054921W WO2010110235A1 WO 2010110235 A1 WO2010110235 A1 WO 2010110235A1 JP 2010054921 W JP2010054921 W JP 2010054921W WO 2010110235 A1 WO2010110235 A1 WO 2010110235A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- routing
- node
- router
- route setting
- packet
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Ceased
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/54—Organization of routing tables
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/02—Topology update or discovery
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/38—Flow based routing
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/42—Centralised routing
Definitions
- the present invention relates to a technique for setting a flow communication path in a communication network using a path setting server.
- a communication network system in which a communication network including a plurality of nodes is centrally managed by a management server is known.
- the management server receives a route setting request for a certain flow, the management server sets the communication route of the flow in the communication network.
- the management server that sets the flow communication path in this way is also referred to as a “path setting server” hereinafter.
- Patent Document 1 Japanese Patent Laid-Open No. 2008-131346
- Non-Patent Document 1 Patent Document 1 (Martin Casado et al., “Ethane: Taking Control of the Enterprise”, In Proceedings of SIGCOMM 2007) .)It is described in.
- a certain terminal starts transmitting a new flow packet.
- the node When the first packet reaches the first node, the node does not know the transfer destination of the received packet. Therefore, the node transmits the received packet as a route setting request to the route setting server.
- the route setting server determines the transmission route of the packet of the flow.
- the path setting server instructs each node on the determined transmission path to transfer the packet along the transmission path.
- the node can transfer the packet along the designated transmission path. Thereafter, the communication of the flow is performed without going through the route setting server.
- the route setting between the subnets must be performed. For example, in the case of a network configured by layer 2 and IP, routing is performed in layer 2 in the subnet, and routing is performed in IP between subnets.
- Non-Patent Document 2 http://www.cse.wustl.edu/ ⁇ 7Ejain/atm/atm_mpoa.htm, "Multiprotocol over ATM (MPOA)" includes MPOA (Multi-Protocol Over ATM) technology is described.
- MPOA Multi-Protocol Over ATM
- a route setting request that is, the first packet of a communication flow is actually communicated between routers. Then, when the packet arrives at the exit of the network, the route of the flow is set based on the route through which the packet has passed.
- One object of the present invention is to provide a technology capable of aggregating route setting servers for performing route setting of flows across a plurality of subnets.
- a route setting server for determining a communication route in a communication network including a plurality of nodes.
- the route setting server includes a storage unit, an IP routing unit, and a flow management unit.
- the storage unit stores a routing determination table indicating a router node assigned to the IP router among a plurality of nodes.
- the IP routing unit has a software-based IP routing module that provides the same function as the IP router for each router node.
- the flow management unit receives a packet indicating a flow source IP address and a destination IP address as a path setting request, and determines a communication path of the flow in response to the path setting request.
- the flow management unit refers to the routing determination table to check whether the request source node of the route setting request corresponds to any of the router nodes, and the request source node corresponds to any of the router nodes.
- the IP routing unit performs IP routing of the packet using the IP routing module corresponding to the corresponding router node, and updates the packet header.
- the flow management unit updates the request source node of the route setting request to the destination node specified by the destination MAC address of the packet.
- the flow management unit determines the communication path by repeating the routing process.
- a communication network system in another aspect of the present invention, includes a communication network including a plurality of nodes, and a route setting server that determines a communication route in the communication network.
- the route setting server includes a storage unit, an IP routing unit, and a flow management unit.
- the storage unit stores a routing determination table indicating a router node assigned to the IP router among a plurality of nodes.
- the IP routing unit has a software-based IP routing module that provides the same function as the IP router for each router node.
- the flow management unit receives a packet indicating a flow source IP address and a destination IP address as a path setting request, and determines a communication path of the flow in response to the path setting request.
- the flow management unit refers to the routing determination table to check whether the request source node of the route setting request corresponds to any of the router nodes, and the request source node corresponds to any of the router nodes.
- the IP routing unit performs IP routing of the packet using the IP routing module corresponding to the corresponding router node, and updates the packet header.
- the flow management unit updates the request source node of the route setting request to the destination node specified by the destination MAC address of the packet.
- the flow management unit determines the communication path by repeating the routing process.
- a route setting method for determining a communication route in a communication network including a plurality of nodes includes (A) storing a routing determination table indicating a router node assigned to an IP router among a plurality of nodes in a storage device, and (B) a flow source IP address and a destination IP address. And (C) determining a flow communication path in response to the path setting request.
- a software-based IP routing module that provides the same function as the IP router is provided for each router node.
- the step (C) includes a step (C1) of performing a routing process.
- the routing processing includes (a) a step of referring to the routing determination table to check whether the request source node of the route setting request corresponds to any of the router nodes, and (b) which of the router nodes is the request source node. If the above is true, the method includes the step of performing IP routing of the packet using the IP routing module corresponding to the router node and updating the header of the packet.
- the step (C) further includes (C2) a step of updating the request source node of the route setting request to the destination node specified by the destination MAC address of the packet after the routing processing, and (C3) repeating the routing processing. Determining a communication path.
- a route setting program for causing a computer to execute route setting processing for determining a communication route in a communication network including a plurality of nodes.
- the route setting process includes: (A) storing a routing determination table indicating a router node assigned to an IP router among a plurality of nodes in a storage device; and (B) a flow source IP address and a destination IP address. And (C) determining a flow communication path in response to the path setting request.
- a software-based IP routing module that provides the same function as the IP router is provided for each router node.
- the step (C) includes a step (C1) of performing a routing process.
- the routing processing includes (a) a step of referring to the routing determination table to check whether the request source node of the route setting request corresponds to any of the router nodes, and (b) which of the router nodes is the request source node.
- the step of performing IP routing of the packet using the IP routing module corresponding to the corresponding router node and updating the header of the packet is included.
- the step (C) further includes (C2) a step of updating the request source node of the route setting request to the destination node specified by the destination MAC address of the packet after the routing processing, and (C3) repeating the routing processing. Determining a communication path.
- FIG. 1 is a block diagram schematically showing a communication network system according to an embodiment of the present invention.
- FIG. 2 is a conceptual diagram for explaining an example of route setting processing in the embodiment of the present invention.
- FIG. 3 is a block diagram showing the configuration of the route setting server according to the first embodiment of the present invention.
- FIG. 4 shows an example of the routing determination table.
- FIG. 5 is a flowchart showing a route setting method according to the first embodiment of the present invention.
- FIG. 6 shows an example of the flow management information.
- FIG. 7 is a flowchart showing step S200 in the first embodiment of the present invention.
- FIG. 8 is a flowchart showing a route setting method according to the second embodiment of the present invention.
- FIG. 9 is a block diagram showing the configuration of the route setting server according to the third embodiment of the present invention.
- FIG. 10 is a block diagram showing the configuration of the route setting server according to the fourth embodiment of the present invention.
- FIG. 1 is a schematic diagram showing a communication network system 1 according to the present embodiment.
- the communication network system 1 includes a communication network NET and a route setting server 10.
- the communication network NET includes a plurality of terminals and a plurality of nodes 5.
- the route setting server 10 is a management server (management computer) that centrally manages the communication network NET, and can communicate with each of the plurality of nodes 5 in both directions.
- the route setting server 10 determines a communication route of a flow in the communication network NET.
- the route setting server 10 receives a route setting request regarding the flow from the communication network NET.
- the route setting server 10 determines the communication route of the flow.
- the path setting server 10 instructs each node 5 on the determined communication path to transfer the packet of the flow along the determined communication path.
- Each node 5 sets itself according to the instruction.
- a forwarding table is provided for each node 5.
- the forwarding table is a table showing the correspondence between the packet input source and the forwarding destination.
- Each node 5 can transfer the packet received from the input source to the designated transfer destination by referring to the transfer table.
- the route setting server 10 instructs each node 5 to set a transfer table so that the packet is transferred along the determined communication route.
- Each node 5 sets the contents of its own forwarding table in accordance with an instruction from the route setting server 10.
- Openflow can be used (see http://www.openflowswitch.org/).
- Openflow Controller is the path setting server 10
- Openflow Switch is each node 5.
- the forwarding table can be set by using “Secure Channel” of Openflow.
- nodes 5 in the communication network NET are set to function and operate as “IP routers”. Such setting can be performed by an instruction from the route setting server 10 (management server).
- the node 5 that functions and operates as an IP router is hereinafter referred to as a “router node”. Which node 5 is assigned to the router node may be freely determined by the user. That is, any node 5 in the communication network NET can be freely assigned (designated) as a router node. This means that the subnet is not fixed in the communication network NET, and the subnet can be set freely.
- the route setting server 10 performs route setting of a flow across a plurality of subnets in such a communication network NET.
- the route setting process according to the present embodiment is realized by the route setting server 10 executing a route setting program.
- the route setting program is a computer program executed by the route setting server 10 and may be recorded on a computer-readable recording medium.
- FIG. 2 is a diagram for explaining an example of route setting processing in the present embodiment.
- the other nodes 5 function and operate as L2 switches.
- the IP address and MAC address of the port P01 are IP01 and MAC01, respectively.
- the IP address and MAC address of the port P90 are IP90 and MAC90, respectively.
- the IP address and MAC address of the port P10 are IP10 and MAC10, respectively.
- the IP address and MAC address of the port P11 are IP11 and MAC11, respectively.
- the IP address and MAC address of the port P20 are IP20 and MAC20, respectively.
- the IP address and MAC address of the port P21 are IP21 and MAC21, respectively.
- the IP address and MAC address of the port P50 are IP50 and MAC50, respectively.
- the IP address and MAC address of the port P51 are IP51 and MAC51, respectively.
- the IP address and MAC address of the port P70 are IP70 and MAC70, respectively.
- the IP address and MAC address of the port P71 are IP71 and MAC71, respectively.
- the transmitting terminal SRC starts transmitting a new flow packet.
- the transmitting terminal SRC sends the first packet from the port P01 to the node 5-1.
- the destination MAC address is “MAC20”
- the source MAC address is “MAC01”
- the destination IP address is “IP90”
- the source IP address is “IP01”.
- Node 5-1 receives the first packet from port P10.
- the node 5-1 does not know the transfer destination of the received packet. Therefore, the node 5-1 transmits the received packet as a “route setting request REQ” to the route setting server 10.
- the route setting server 10 receives the route setting request REQ.
- the route setting server 10 determines the communication route of the flow across a plurality of subnets.
- FIG. 3 is a block diagram showing a configuration of the route setup server 10 according to the first exemplary embodiment.
- the route setting server 10 includes a flow management unit 100, an IP routing unit 200, and a storage unit 300.
- the flow management unit 100 receives the route setting request REQ, and determines the communication route of the flow in response to the route setting request REQ.
- the flow management unit 100 is realized by the route setting server 10 executing a route setting program.
- the flow management unit 100 includes a packet information acquisition unit 110, a routing determination unit 120, an end point acquisition unit 130, a route design unit 140, a node setting unit 150, and an end determination unit 160 as functional blocks. Contains. Processing by each functional block will be described later.
- the IP routing unit 200 performs IP routing in software. More specifically, the IP routing unit 200 includes a software-based IP routing module 220.
- the storage unit 300 is a storage device such as a RAM or an HDD.
- the storage unit 300 stores topology information 310, a routing determination table 320, flow management information 330, and the like.
- the topology information 310 indicates the connection status between nodes and terminals, that is, the physical topology of the communication network NET. More specifically, the topology information 310 indicates the link start point and end point IDs and port numbers for each link. By referring to the topology information 310, it is possible to know which port is connected to which port.
- the routing determination table 320 is a table that is referred to when determining whether or not to perform IP routing using the IP routing module 220 described above, and includes at least router nodes 5-2, 5-5, and 5-7. Show.
- FIG. 4 shows an example of the routing determination table 320.
- the routing determination table 320 has entries for router nodes 5-2, 5-5, and 5-7. Each entry indicates a correspondence relationship between an ID, a port number, a MAC address, and an IP address.
- the flow management information 330 is information created, referred to, and updated in the route setting process described below.
- FIG. 5 is a flowchart showing route setting processing according to the present embodiment.
- FIG. 6 shows an example of the flow management information 330. As shown below, in the example of FIG. 2, the route setting process is divided into four stages of processes PROC1 to PROC4.
- the node 5-1 receives the first packet from the port P10.
- the node 5-1 does not know the transfer destination of the received packet. Therefore, the node 5-1 transmits the received packet to the route setting server 10 as a route setting request REQ. That is, the node 5-1 becomes the first request source node of the route setting request REQ.
- the flow identification information is identification information for specifying a flow.
- the flow management unit 100 performs “routing processing”. At this time, it is necessary to perform routing at layer 2 within the subnet, and to perform IP routing when straddling subnets. Therefore, the flow management unit 100 first determines whether to perform IP routing using the IP routing module 220.
- the routing determination unit 120 refers to the routing determination table 320 shown in FIG. 4 and determines whether the requesting node of the route setting request REQ corresponds to any of the router nodes. Check out. When the request source node corresponds to any of the router nodes, IP routing is performed. On the other hand, when the request source node does not correspond to any of the router nodes, IP routing is not performed.
- the request source node of the route setting request REQ is the node 5-1.
- step S130 the end point acquisition unit 130 sets the destination node specified by the destination MAC address of the packet as the “end point” of the route design.
- the destination MAC address of the packet is “MAC20”.
- step S150 the node setting unit 150 sets each node on the determined route. Specifically, the node setting unit 150 instructs each node 5 on the determined path to transfer the packet of the flow along the determined path.
- the flow is specified by the flow identification information shown in FIG.
- the node setting unit 150 sends a transfer table setting command including the flow identification information to each node 5 on the determined path.
- the transfer table setting command is a command for instructing to set the transfer table so that the packet of the flow is transferred along the determined route.
- Each node 5 sets the contents of its own transfer table according to the received transfer table setting command. As a result, the packet of the flow is transmitted from the request source node 5-1 to the destination node 5-2.
- step S160 the end determination unit 160 determines whether or not the destination node satisfies a predetermined end condition.
- the predetermined end condition is that the destination node matches the receiving terminal DST, or that the destination node goes out of the jurisdiction of the route setting server 10.
- step S160 the end condition is not satisfied (step S160; No).
- the end determination unit 160 causes the next routing process to be executed. Therefore, the end determination unit 160 updates the request source node of the route setting request REQ to the current destination node 5-2. Thereafter, the process returns to step S120.
- the routing determination unit 120 refers to the routing determination table 320 and checks whether the request source node 5-2 corresponds to one of the router nodes.
- step S200 the IP routing unit 200 performs IP routing (address resolution) of a given packet by using an appropriate IP routing module 220.
- FIG. 7 is a flowchart showing step S200.
- step S201 the IP routing unit 200 receives the packet and the IP address information from the flow management unit 100.
- the IP routing unit 200 refers to the IP address information and distributes the packet to an appropriate IP routing module 220.
- the IP routing module 220-2 performs IP routing of the given packet in the same manner as a normal IP router.
- the IP routing module 220-2 determines the output port of the packet and updates the MAC header of the packet.
- the destination MAC address of the packet is “MAC50”
- the source MAC address is “MAC21”
- the output port is “P21”.
- step S204 the IP routing unit 200 returns the updated packet and the output port information (P21) to the flow management unit 100.
- step S210 the flow management unit 100 receives the updated packet and the output port information.
- the packet information acquisition unit 110 extracts the packet header and updates the flow identification information.
- Step S130 and subsequent steps are the same as in the case of the process PROC1.
- the route design unit 140 designs and determines a partial route from the request source node 5-2 to the destination node 5-5.
- step S150 the node setting unit 150 instructs each node 5 on the determined path to transfer the packet of the flow along the determined path.
- the packet header is updated. Therefore, the node setting unit 150 instructs the router node 5-2 to rewrite the header of the packet when the packet of the flow is received.
- step S160 the end determination unit 160 determines whether the destination node 5-5 satisfies a predetermined end condition. In the current process PROC2, the end condition is not satisfied (step S160; No). In this case, the end determination unit 160 causes the next routing process to be executed. Therefore, the end determination unit 160 updates the request source node of the route setting request REQ to the current destination node 5-5. Thereafter, the process returns to step S120.
- Step S120 the routing determination unit 120 determines to perform IP routing (step S125; Yes).
- step S200 the IP routing unit 200 performs IP routing by using the IP routing module 220-5.
- the destination MAC address of the packet becomes “MAC70”
- the source MAC address becomes “MAC51”
- the output port becomes “P51”.
- step S140 the route design unit 140 designs and determines a partial route from the request source node 5-5 to the destination node 5-7.
- step S150 the node setting unit 150 instructs each node 5 on the determined path to transfer the packet of the flow along the determined path. The node setting unit 150 also instructs the router node 5-5 to rewrite the header of the packet of the flow.
- step S160 the end determination unit 160 determines whether the destination node 5-7 satisfies a predetermined end condition. In the current process PROC3, the end condition is not satisfied (step S160; No). In this case, the end determination unit 160 causes the next routing process to be executed. Therefore, the end determination unit 160 updates the request source node of the route setting request REQ to the current destination node 5-7. Thereafter, the process returns to step S120.
- the process PROC4 proceeds in the same manner as the above-described process PROC2.
- the request source node of the route setting request REQ is the node 5-7.
- the routing determination unit 120 determines to perform IP routing (step S125; Yes).
- step S200 the IP routing unit 200 performs IP routing by using the IP routing module 220-7.
- the destination MAC address of the packet is “MAC90”
- the source MAC address is “MAC71”
- the output port is “P71”.
- each IP routing module 220 has a table indicating the correspondence between IP addresses, MAC addresses, and ports for configurations within the same subnet.
- the IP routing module 220-7 recognizes that the receiving terminal DST that is the destination of the flow exists in the same subnet. Accordingly, the flow management unit 100 recognizes that the end condition is satisfied.
- step S140 the route design unit 140 determines a partial route.
- step S150 the node setting unit 150 instructs the router node 5-7 to transfer the packet of the flow along the determined route. The node setting unit 150 also instructs the router node 5-7 to rewrite the packet header of the flow. Finally, since the end condition is satisfied (step S160; Yes), the route setting process according to the present embodiment is completed.
- the flow management unit 100 and the IP routing unit 200 determine the flow communication path by repeating the routing process until a predetermined end condition is satisfied.
- a routing process each time a routing process is performed, partial route determination (step S140) and node setting on the determined route (step S150) are performed.
- the number and range of subnets are fixed, and it is difficult to dynamically change them.
- route determination (step S140) and node setting (step S150) are performed each time routing processing is performed.
- route determination (step S140) and node setting (step S150) are performed collectively.
- FIG. 8 is a flowchart showing route setting processing according to the second embodiment.
- an end determination (step S160) is performed by the end determination unit 160.
- the routing process is repeated in the same manner as in the first embodiment.
- step S160 the process proceeds to step S140.
- step S140 the route design unit 140 collectively determines a communication route from the first request source node 5-1 to the last destination node.
- step S150 the node setting unit 150 instructs each node 5 on the determined path to transfer the packet of the flow along the determined path.
- the node setting unit 150 also instructs the router node 5-7 to rewrite the packet header of the flow.
- a plurality of virtual networks are constructed on the communication network NET.
- the subnet configuration and the router node are different for each virtual network. Therefore, a different routing determination table 320 is prepared for each virtual network.
- FIG. 9 shows the configuration of the route setting server 10 according to the third embodiment.
- routing determination tables 320-1, 320-2,... For each virtual network are stored in the storage unit 300.
- the flow management unit 100 identifies a virtual network to which the packet belongs based on information such as a packet header and a passing node. Then, the flow management unit 100 refers to the IP routing table 320 corresponding to the identified virtual network. Others are the same as the above-described embodiment.
- FIG. 10 shows a configuration of a route setting server 10 according to a fourth embodiment.
- the configuration of the IP routing unit 200 is different from the foregoing embodiments.
- the IP routing unit 200 includes a destination determination unit 210, IP routing modules 220-2, 220-5, and 220-7, and route tables 230-2, 230-5, and 230-7.
- the IP routing modules 220-2, 220-5, and 220-7 sequentially update the route tables 230-2, 230-5, and 230-7, respectively.
- step S ⁇ b> 210 the destination determination unit 210 refers to the IP address information and selects an appropriate route table 230. Then, the destination determination unit 210 performs IP routing of the packet using the selected route table 230 and updates the packet header.
- a route setting server for determining a communication route in a communication network including a plurality of nodes, A storage unit storing a routing determination table indicating a router node assigned to an IP router among the plurality of nodes; An IP routing unit having a software-based IP routing module for each router node providing the same function as the IP router; A flow management unit that receives a packet indicating a source IP address and a destination IP address of a flow as a route setting request, and determines a communication route of the flow in response to the route setting request; In the routing process, The flow management unit refers to the routing determination table to check whether the request source node of the route setting request corresponds to any of the router nodes, When the requesting node corresponds to one of the router nodes, the IP routing unit performs IP routing of the packet using the IP routing module corresponding to the corresponding router node, and sets the header of the packet. Updated, After the routing process, the flow management unit updates the request source node of the route setting request to a destination
- a communication network including a plurality of nodes; A route setting server for determining a communication route in the communication network, The route setting server A storage unit storing a routing determination table indicating a router node assigned to an IP router among the plurality of nodes; An IP routing unit having a software-based IP routing module for each router node providing the same function as the IP router; A flow management unit that receives a packet indicating a source IP address and a destination IP address of a flow as a route setting request, and determines a communication route of the flow in response to the route setting request; In the routing process, The flow management unit refers to the routing determination table to check whether the request source node of the route setting request corresponds to any of the router nodes, When the requesting node corresponds to one of the router nodes, the IP routing unit performs IP routing of the packet using the IP routing module corresponding to the corresponding router node, and sets the header of the packet.
- the flow management unit updates the request source node of the route setting request to a destination node specified by a destination MAC address of the packet, The communication network system, wherein the flow management unit determines the communication path by repeating the routing process.
- a route setting method for determining a communication route in a communication network including a plurality of nodes, Storing a routing determination table indicating a router node assigned to an IP router among the plurality of nodes in a storage device; Receiving a packet indicating a source IP address and a destination IP address of a flow as a route setting request; Determining a communication path of the flow in response to the path setting request, A software-based IP routing module providing the same function as the IP router is provided for each router node, Determining the communication path comprises: A routing process, Here, the routing process is Referring to the routing determination table and checking whether the request source node of the route setting request corresponds to any of the router nodes; When the requesting node corresponds to any of the router nodes, performing IP routing of the packet using the IP routing module corresponding to the corresponding router node, and updating the header of the packet. , After the routing process, updating the request source node of the route setting request to a destination node specified by a destination
- the route setting process includes: Storing a routing determination table indicating a router node assigned to an IP router among the plurality of nodes in a storage device; Receiving a packet indicating a source IP address and a destination IP address of a flow as a route setting request; Determining a communication path of the flow in response to the path setting request, A software-based IP routing module providing the same function as the IP router is provided for each router node, Determining the communication path comprises: A routing process, Here, the routing process is Referring to the routing determination table and checking whether the request source node of the route setting request corresponds to any of the router nodes; When the requesting node corresponds to any of the router nodes, performing IP routing of the packet using the IP routing module corresponding to the corresponding router node, and updating the header of the packet. , After the
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
経路設定サーバは、記憶部と、IPルーティング部と、フロー管理部とを備える。記憶部には、複数のノードのうちIPルータに割り当てられたルータノードを示すルーティング判定テーブルが格納される。IPルーティング部は、IPルータと同じ機能を提供するソフトウェアベースのIPルーティングモジュールをルータノード毎に有する。フロー管理部は、ルーティング判定テーブルを参照して、経路設定要求の要求元ノードがいずれかのルータノードに該当するか否か調べる。IPルーティング部は、該当するルータノードに対応するIPルーティングモジュールを用いてパケットのIPルーティングを行い、パケットのヘッダを更新する。その後、経路設定要求の要求元ノードは、パケットの宛先MACアドレスで指定される宛先ノードに更新される。このような処理の繰り返しにより、通信経路が決定される。
Description
本発明は、経路設定サーバを用いて通信ネットワークにおけるフローの通信経路を設定する技術に関する。
複数のノードを含む通信ネットワークが管理サーバによって集中的に管理される通信ネットワークシステムが知られている。管理サーバは、あるフローに関する経路設定要求を受け取ると、通信ネットワークにおける当該フローの通信経路を設定する。このようにフローの通信経路を設定する管理サーバは、以下、「経路設定サーバ」とも参照される。経路設定サーバに関連する技術は、例えば、特許文献1(特開2008-131346号公報)や非特許文献1(Martin Casado et al., “Ethane: Taking Control of the Enterprise”, In Proceedings of SIGCOMM 2007.)に記載されている。
例えば、ある端末が新規フローのパケットの送信を開始する。最初のパケットが最初のノードに到達した時、当該ノードは、受け取ったパケットの転送先を知らない。そこで、当該ノードは、受け取ったパケットを経路設定要求として、経路設定サーバに送信する。経路設定サーバは、経路設定要求に応答して、当該フローのパケットの伝送経路を決定する。そして、経路設定サーバは、決定された伝送経路上の各ノードに対して、その伝送経路に沿ってパケットを転送するように指示する。これにより、各ノードは、同一フローのパケットを受け取った際に、そのパケットを指定された伝送経路に沿って転送することができるようになる。それ以降は、経路設定サーバを介することなく、当該フローの通信が行われる。
ここで、複数のサブネットにまたがるフローの経路設定を行うことを考える。この場合、サブネット内での経路設定に加えて、サブネット間の経路設定も行わなければならない。例えば、レイヤ2とIPによって構成されたネットワークの場合、サブネット内はレイヤ2でルーティングを行い、サブネット間ではIPでルーティングを行う。
非特許文献2(http://www.cse.wustl.edu/~7Ejain/atm/atm_mpoa.htm,
“Multiprotocol over ATM (MPOA)”)には、MPOA(Multi-Protocol
Over ATM)技術が記載されている。MPOA技術では、経路設定要求すなわち通信フローの最初のパケットが、実際にルータ間で通信される。そして、このパケットがネットワークの出口に到着した際に、そのパケットが通ってきた経路に基づいて、当該フローの経路設定が行われる。
“Multiprotocol over ATM (MPOA)”)には、MPOA(Multi-Protocol
Over ATM)技術が記載されている。MPOA技術では、経路設定要求すなわち通信フローの最初のパケットが、実際にルータ間で通信される。そして、このパケットがネットワークの出口に到着した際に、そのパケットが通ってきた経路に基づいて、当該フローの経路設定が行われる。
Martin Casado et al., "Ethane: Taking Controlof the Enterprise", In Proceedings of SIGCOMM 2007.
http://www.cse.wustl.edu/~7Ejain/atm/atm_mpoa.htm,"Multiprotocol over ATM (MPOA)"
複数のサブネットにまたがるフローの経路設定を行う際には、それぞれのサブネットを管轄する経路設定サーバ間で情報交換を行いながら、全体の通信経路を決定する必要があった。しかしながら、このことは、経路設定サーバの台数と経路設定に要する時間の増大を招く。
本発明の1つの目的は、複数のサブネットにまたがるフローの経路設定を行うための経路設定サーバを集約することができる技術を提供することにある。
本発明のある観点において、複数のノードを含む通信ネットワークにおける通信経路を決定する経路設定サーバが提供される。経路設定サーバは、記憶部と、IPルーティング部と、フロー管理部とを備える。記憶部には、複数のノードのうちIPルータに割り当てられたルータノードを示すルーティング判定テーブルが格納される。IPルーティング部は、IPルータと同じ機能を提供するソフトウェアベースのIPルーティングモジュールをルータノード毎に有する。フロー管理部は、フローの送信元IPアドレス及び宛先IPアドレスを示すパケットを経路設定要求として受け取り、経路設定要求に応答してフローの通信経路を決定する。ルーティング処理において、フロー管理部は、ルーティング判定テーブルを参照して、経路設定要求の要求元ノードがルータノードのいずれかに該当するか否かを調べ、要求元ノードがルータノードのいずれかに該当する場合、IPルーティング部は、該当するルータノードに対応するIPルーティングモジュールを用いてパケットのIPルーティングを行い、パケットのヘッダを更新する。ルーティング処理の後、フロー管理部は、経路設定要求の要求元ノードを、パケットの宛先MACアドレスで指定される宛先ノードに更新する。フロー管理部は、ルーティング処理を繰り返すことによって通信経路を決定する。
本発明の他の観点において、通信ネットワークシステムが提供される。通信ネットワークシステムは、複数のノードを含む通信ネットワークと、通信ネットワークにおける通信経路を決定する経路設定サーバと、を備える。経路設定サーバは、記憶部と、IPルーティング部と、フロー管理部とを備える。記憶部には、複数のノードのうちIPルータに割り当てられたルータノードを示すルーティング判定テーブルが格納される。IPルーティング部は、IPルータと同じ機能を提供するソフトウェアベースのIPルーティングモジュールをルータノード毎に有する。フロー管理部は、フローの送信元IPアドレス及び宛先IPアドレスを示すパケットを経路設定要求として受け取り、経路設定要求に応答してフローの通信経路を決定する。ルーティング処理において、フロー管理部は、ルーティング判定テーブルを参照して、経路設定要求の要求元ノードがルータノードのいずれかに該当するか否かを調べ、要求元ノードがルータノードのいずれかに該当する場合、IPルーティング部は、該当するルータノードに対応するIPルーティングモジュールを用いてパケットのIPルーティングを行い、パケットのヘッダを更新する。ルーティング処理の後、フロー管理部は、経路設定要求の要求元ノードを、パケットの宛先MACアドレスで指定される宛先ノードに更新する。フロー管理部は、ルーティング処理を繰り返すことによって通信経路を決定する。
本発明の更に他の観点において、複数のノードを含む通信ネットワークにおける通信経路を決定する経路設定方法が提供される。その経路設定方法は、(A)複数のノードのうちIPルータに割り当てられたルータノードを示すルーティング判定テーブルを、記憶装置に格納するステップと、(B)フローの送信元IPアドレス及び宛先IPアドレスを示すパケットを経路設定要求として受け取るステップと、(C)経路設定要求に応答してフローの通信経路を決定するステップと、を含む。IPルータと同じ機能を提供するソフトウェアベースのIPルーティングモジュールが、ルータノード毎に設けられる。上記(C)ステップは、(C1)ルーティング処理を行うステップを含む。ルーティング処理は、(a)ルーティング判定テーブルを参照して、経路設定要求の要求元ノードがルータノードのいずれかに該当するか否かを調べるステップと、(b)要求元ノードがルータノードのいずれかに該当する場合、該当するルータノードに対応するIPルーティングモジュールを用いてパケットのIPルーティングを行い、パケットのヘッダを更新するステップと、を含む。上記(C)ステップは、更に、(C2)ルーティング処理の後、経路設定要求の要求元ノードを、パケットの宛先MACアドレスで指定される宛先ノードに更新するステップと、(C3)ルーティング処理を繰り返すことによって通信経路を決定するステップと、を含む。
本発明の更に他の観点において、複数のノードを含む通信ネットワークにおける通信経路を決定する経路設定処理をコンピュータに実行させる経路設定プログラムが提供される。その経路設定処理は、(A)複数のノードのうちIPルータに割り当てられたルータノードを示すルーティング判定テーブルを、記憶装置に格納するステップと、(B)フローの送信元IPアドレス及び宛先IPアドレスを示すパケットを経路設定要求として受け取るステップと、(C)経路設定要求に応答してフローの通信経路を決定するステップと、を含む。IPルータと同じ機能を提供するソフトウェアベースのIPルーティングモジュールが、ルータノード毎に設けられる。上記(C)ステップは、(C1)ルーティング処理を行うステップを含む。ルーティング処理は、(a)ルーティング判定テーブルを参照して、経路設定要求の要求元ノードがルータノードのいずれかに該当するか否かを調べるステップと、(b)要求元ノードがルータノードのいずれかに該当する場合、該当するルータノードに対応するIPルーティングモジュールを用いてパケットのIPルーティングを行い、パケットのヘッダを更新するステップと、を含む。上記(C)ステップは、更に、(C2)ルーティング処理の後、経路設定要求の要求元ノードを、パケットの宛先MACアドレスで指定される宛先ノードに更新するステップと、(C3)ルーティング処理を繰り返すことによって通信経路を決定するステップと、を含む。
本発明によれば、複数のサブネットにまたがるフローの経路設定を行うための経路設定サーバを集約することが可能となる。
上記及び他の目的、長所、特徴は、次の図面と共に説明される本発明の実施の形態により明らかになるであろう。
図1は、本発明の実施の形態に係る通信ネットワークシステムを概略的に示すブロック図である。
図2は、本発明の実施の形態における経路設定処理例を説明するための概念図である。
図3は、本発明の第1の実施の形態に係る経路設定サーバの構成を示すブロック図である。
図4は、ルーティング判定テーブルの一例を示している。
図5は、本発明の第1の実施の形態に係る経路設定方法を示すフローチャートである。
図6は、フロー管理情報の一例を示している。
図7は、本発明の第1の実施の形態におけるステップS200を示すフローチャートである。
図8は、本発明の第2の実施の形態に係る経路設定方法を示すフローチャートである。
図9は、本発明の第3の実施の形態に係る経路設定サーバの構成を示すブロック図である。
図10は、本発明の第4の実施の形態に係る経路設定サーバの構成を示すブロック図である。
添付図面を参照して、本発明の実施の形態を説明する。
図1は、本実施の形態に係る通信ネットワークシステム1を示す概略図である。通信ネットワークシステム1は、通信ネットワークNETと経路設定サーバ10を備えている。通信ネットワークNETは、複数の端末と複数のノード5を含んでいる。
経路設定サーバ10は、通信ネットワークNETを集中的に管理する管理サーバ(管理計算機)であり、複数のノード5のそれぞれと双方向に通信可能である。特に、経路設定サーバ10は、通信ネットワークNETにおけるフローの通信経路を決定する。具体的には、あるフローが発生した場合、経路設定サーバ10は、当該フローに関する経路設定要求を通信ネットワークNETから受け取る。経路設定サーバ10は、その経路設定要求に応答して、当該フローの通信経路を決定する。
通信経路が決定されると、経路設定サーバ10は、決定された通信経路上の各ノード5に対して、当該フローのパケットを当該決定された通信経路に沿って転送するように指示する。各ノード5は、その指示に従って、自身の設定を行う。
例えば、各ノード5に転送テーブルが設けられる。転送テーブルは、パケットの入力元と転送先との対応関係を示すテーブルである。各ノード5は、その転送テーブルを参照することによって、入力元から受け取ったパケットを指定された転送先に転送することができる。この場合、経路設定サーバ10は、上記決定された通信経路に沿ってパケットが転送されるように、各ノード5に対して転送テーブルを設定するよう指示する。各ノード5は、経路設定サーバ10からの指示に従って、自身の転送テーブルの内容を設定する。
このような処理を実現するための経路設定サーバ10とノード5との間のインターフェイス方式としては、様々考えられる。例えば、Openflowを利用することができる(http://www.openflowswitch.org/を参照)。その場合、“Openflow Controller”が経路設定サーバ10となり、“Openflow Switch”が各ノード5となる。Openflowの“Secure Channel”を利用することにより、転送テーブルの設定が可能である。
本実施の形態では、通信ネットワークNET中のいくつかのノード5が、「IPルータ」として機能・動作するように設定される。そのような設定は、経路設定サーバ10(管理サーバ)からの指示により可能である。IPルータとして機能・動作するノード5は、以下、「ルータノード」と参照される。どのノード5がルータノードに割り当てられるかは、ユーザによって自由に決定されてよい。すなわち、通信ネットワークNET中の任意のノード5をルータノードとして自由に割り当てる(指定する)ことができる。このことは、通信ネットワークNETにおいてサブネットが固定されておらず、サブネットは自由に設定可能であることを意味する。
本実施の形態に係る経路設定サーバ10は、このような通信ネットワークNETにおいて複数のサブネットにまたがるフローの経路設定を行う。尚、本実施の形態に係る経路設定処理は、経路設定サーバ10が経路設定プログラムを実行することにより実現される。経路設定プログラムは、経路設定サーバ10によって実行されるコンピュータプログラムであり、コンピュータ読み取り可能な記録媒体に記録されていてもよい。
図2は、本実施の形態における経路設定処理例を説明するための図である。図2には、送信端末SRC(ID=#0)、ノード5-1(ID=#1)、ノード5-2(ID=#2)、ノード5-3(ID=#3)、ノード5-4(ID=#4)、ノード5-5(ID=#5)、ノード5-6(ID=#6)、ノード5-7(ID=#7)、及び受信端末DST(ID=#9)が示されている。このうち、ノード5-2(ID=#2)、ノード5-5(ID=#5)、及びノード5-7(ID=#7)は、上述の「ルータノード」であり、図中“R”で示されている。それ以外のノード5は、L2スイッチとして機能・動作する。
送信端末SRC(ID=#0)は、ポートP01を有する。ポートP01のIPアドレス、MACアドレスは、それぞれIP01、MAC01である。受信端末DST(ID=#9)は、ポートP90を有する。ポートP90のIPアドレス、MACアドレスは、それぞれIP90、MAC90である。
L2スイッチであるノード5-1(ID=#1)は、ポートP10、P11を有する。ポートP10のIPアドレス、MACアドレスは、それぞれIP10、MAC10である。ポートP11のIPアドレス、MACアドレスは、それぞれIP11、MAC11である。
ルータノードであるノード5-2(ID=#2)は、ポートP20、P21を有する。ポートP20のIPアドレス、MACアドレスは、それぞれIP20、MAC20である。ポートP21のIPアドレス、MACアドレスは、それぞれIP21、MAC21である。
ルータノードであるノード5-5(ID=#5)は、ポートP50、P51を有する。ポートP50のIPアドレス、MACアドレスは、それぞれIP50、MAC50である。ポートP51のIPアドレス、MACアドレスは、それぞれIP51、MAC51である。
ルータノードであるノード5-7(ID=#7)は、ポートP70、P71を有する。ポートP70のIPアドレス、MACアドレスは、それぞれIP70、MAC70である。ポートP71のIPアドレス、MACアドレスは、それぞれIP71、MAC71である。
送信端末SRCから受信端末DSTへの新規フローを考える。送信端末SRCは、新規フローのパケットの送信を開始する。まず、送信端末SRCは、最初のパケットを、ポートP01からノード5-1に向けて送出する。そのパケットにおいて、宛先MACアドレスは“MAC20”であり、送信元MACアドレスは“MAC01”であり、宛先IPアドレスは“IP90”であり、送信元IPアドレスは“IP01”である。
ノード5-1は、ポートP10からその最初のパケットを受け取る。ここで、ノード5-1は、受け取ったパケットの転送先を知らない。そこで、ノード5-1は、受け取ったパケットを「経路設定要求REQ」として、経路設定サーバ10に送信する。経路設定サーバ10は、経路設定要求REQを受け取る。その経路設定要求REQに応答して、経路設定サーバ10は、複数のサブネットにまたがる当該フローの通信経路を決定する。以下、図2で示された例に基づいて、本実施の形態に係る経路設定処理を詳しく説明する。
1.第1の実施の形態
1-1.構成
図3は、第1の実施の形態に係る経路設定サーバ10の構成を示すブロック図である。経路設定サーバ10は、フロー管理部100、IPルーティング部200、及び記憶部300を備えている。
1-1.構成
図3は、第1の実施の形態に係る経路設定サーバ10の構成を示すブロック図である。経路設定サーバ10は、フロー管理部100、IPルーティング部200、及び記憶部300を備えている。
フロー管理部100は、経路設定要求REQを受け取り、その経路設定要求REQに応答してフローの通信経路を決定する。このフロー管理部100は、経路設定サーバ10が経路設定プログラムを実行することにより実現される。図3に示されるように、フロー管理部100は、機能ブロックとして、パケット情報取得部110、ルーティング判定部120、終点取得部130、経路設計部140、ノード設定部150、及び終了判定部160を含んでいる。各機能ブロックによる処理は、後述される。
IPルーティング部200は、ソフトウェア的にIPルーティングを行う。より詳細には、IPルーティング部200は、ソフトウェアベースのIPルーティングモジュール220を有している。IPルーティングモジュール220は、通常のIPルータと同じ機能を提供する周知の機能ブロックである。本実施の形態では、上述のルータノード毎にIPルーティングモジュール220が設けられる。すなわち、IPルーティング部200は、ルータノード5-2(ID=#2)に対応するIPルーティングモジュール220-2、ルータノード5-5(ID=#5)に対応するIPルーティングモジュール220-5、ルータノード5-7(ID=#7)に対応するIPルーティングモジュール220-7を有している。サブネット間をまたぐ経路設定を行う場合、IPルーティング部200は、パケットを受け取り、適切なIPルーティングモジュール220を用いることによって当該パケットのアドレス解決を行う。尚、IPルーティング部200は、経路設定サーバ10が経路設定プログラムを実行することにより実現される。
記憶部300は、RAMやHDD等の記憶装置である。記憶部300には、トポロジ情報310、ルーティング判定テーブル320、フロー管理情報330等が格納される。
トポロジ情報310は、ノードや端末間の接続状況、すなわち、通信ネットワークNETの物理トポロジを示す。より詳細には、トポロジ情報310は、リンクの始点と終点のID及びポート番号を、リンク毎に示している。このトポロジ情報310を参照することによって、どのポートがどのポートにつながっているか知ることができる。
ルーティング判定テーブル320は、上述のIPルーティングモジュール220を用いてIPルーティングを行うか否かを判定する際に参照されるテーブルであり、少なくともルータノード5-2、5-5、及び5-7を示している。図4は、ルーティング判定テーブル320の一例を示している。図4の例では、ルーティング判定テーブル320は、ルータノード5-2、5-5、及び5-7に関するエントリを有している。各エントリは、ID、ポート番号、MACアドレス、及びIPアドレスの対応関係を示している。
フロー管理情報330は、次に説明される経路設定処理において作成、参照、更新される情報である。
1-2.経路設定処理
図5は、本実施の形態に係る経路設定処理を示すフローチャートである。図6は、フロー管理情報330の一例を示している。以下に示されるように、図2の例の場合、経路設定処理は、4段階の処理PROC1~PROC4に区分けされる。
図5は、本実施の形態に係る経路設定処理を示すフローチャートである。図6は、フロー管理情報330の一例を示している。以下に示されるように、図2の例の場合、経路設定処理は、4段階の処理PROC1~PROC4に区分けされる。
(処理PROC1)
上述の通り、ノード5-1は、ポートP10から最初のパケットを受け取る。そのパケットのヘッダは、「宛先MACアドレス=MAC20、送信元MACアドレス=MAC01、宛先IPアドレス=IP90、送信元IPアドレス=IP01」を示す。ここで、ノード5-1は、受け取ったパケットの転送先を知らない。そこで、ノード5-1は、受け取ったパケットを経路設定要求REQとして、経路設定サーバ10に送信する。つまり、ノード5-1が、経路設定要求REQの最初の要求元ノードとなる。
上述の通り、ノード5-1は、ポートP10から最初のパケットを受け取る。そのパケットのヘッダは、「宛先MACアドレス=MAC20、送信元MACアドレス=MAC01、宛先IPアドレス=IP90、送信元IPアドレス=IP01」を示す。ここで、ノード5-1は、受け取ったパケットの転送先を知らない。そこで、ノード5-1は、受け取ったパケットを経路設定要求REQとして、経路設定サーバ10に送信する。つまり、ノード5-1が、経路設定要求REQの最初の要求元ノードとなる。
ステップS100において、フロー管理部100は、要求元ノード5-1から経路設定要求REQ(最初のパケット)を受け取る。また、フロー管理部100は、要求元ノード5-1とのチャネルを通して、当該最初のパケットが入力されたノード5-1のID#1及びポートP10を認識する。図6に示されるように、この始点ポート情報「ID=#1、ポート=P10」は、経路設計の“始点”である要求元ノード5-1を特定する情報となる。
ステップS110において、パケット情報取得部110は、経路設定要求REQからパケットヘッダを抽出する。そして、パケット情報取得部110は、抽出されたパケットヘッダをフロー識別情報として、フロー管理情報330に記録する。図6に示されるように、ここでのフロー識別情報は、「宛先MACアドレス=MAC20、送信元MACアドレス=MAC01、宛先IPアドレス=IP90、送信元IPアドレス=IP01」である。尚、フロー識別情報とは、フローを特定するための識別情報である。
次に、フロー管理部100は、「ルーティング処理」を行う。このとき、サブネット内ではレイヤ2でルーティングを行い、サブネット間をまたぐ場合はIPルーティングを行う必要がある。そこで、フロー管理部100は、まず、IPルーティングモジュール220を利用してIPルーティングを行うか否かを決定する。
より詳細には、ステップS120において、ルーティング判定部120は、図4で示されたルーティング判定テーブル320を参照して、経路設定要求REQの要求元ノードがルータノードのいずれかに該当するか否かを調べる。要求元ノードがルータノードのいずれかに該当する場合、IPルーティングが行われる。一方、要求元ノードがルータノードのいずれにも該当しない場合、IPルーティングは行われない。
現在の処理PROC1において、経路設定要求REQの要求元ノードは、ノード5-1である。上述の通り、その要求元ノード5-1は、図6中の始点ポート情報「ID=#1、ポート=P10」で特定される。しかしながら、図4で示されるルーティング判定テーブル320は、「ID=#1、ポート=P10」に対応するエントリを有していない。すなわち、現在の要求元ノード5-1は、ルータノードではない。よって、ルーティング判定部120は、IPルーティングを行わないことを決定する(ステップS125;No)。この場合、処理は、ステップS130に移行する。
ステップS130において、終点取得部130は、パケットの宛先MACアドレスで指定される宛先ノードを、経路設計の“終点”に設定する。今、パケットの宛先MACアドレスは、“MAC20”である。終点取得部130は、図4で示されたルーティング判定テーブル320を参照して、「MACアドレス=MAC20」に対応する終点ポート情報「ID=#2、ポート=P20」を取得する。図6に示されるように、この終点ポート情報「ID=#2、ポート=P20」は、経路設計の“終点”である宛先ノード5-2を特定する情報となる。
このようにしてルーティング処理が終わると、次に、フロー管理部100は、経路設計を行う。より詳細には、ステップS140において、経路設計部140は、経路設計の始点である要求元ノード5-1から、経路設計の終点である宛先ノード5-2までの通信経路である「部分経路」を設計・決定する。上述の通り、要求元ノード5-1は始点ポート情報「ID=#1、ポート=P10」で特定され、宛先ノード5-2は終点ポート情報「ID=#2、ポート=P20」で特定される。従って、経路設計部140は、トポロジ情報310を参照することによって、当該部分経路を決定することができる。
続いて、ステップS150において、ノード設定部150は、決定された経路上の各ノードの設定を行う。具体的には、ノード設定部150は、決定経路上の各ノード5に対して、当該フローのパケットを当該決定経路に沿って転送するように指示する。当該フローは、図6に示されたフロー識別情報によって特定される。ノード設定部150は、そのフロー識別情報を含む転送テーブル設定コマンドは、決定経路上の各ノード5に送出する。転送テーブル設定コマンドは、決定経路に沿って当該フローのパケットが転送されるように転送テーブルを設定するよう指示するコマンドである。各ノード5は、受け取った転送テーブル設定コマンドに従って、自身の転送テーブルの内容を設定する。これにより、当該フローのパケットが、要求元ノード5-1から宛先ノード5-2まで伝達されるようになる。
続いて、ステップS160において、終了判定部160は、宛先ノードが所定の終了条件を満たすか否かを判定する。所定の終了条件とは、宛先ノードが受信端末DSTと一致すること、あるいは、宛先ノードが経路設定サーバ10の管轄外に出ることである。現在の宛先ノード5-2は、終点ポート情報「ID=#2、ポート=P20」で特定される。終了判定部160は、ルーティング判定テーブル320を参照し、その「ID=#2、ポート=P20」が「宛先IPアドレス=IP90」に対応しているか否かを調べる。また、終了判定部160は、トポロジ情報310を参照し、その「ID=#2、ポート=P20」が管轄外かどうか調べる。
現在の処理PROC1では、終了条件は満たされない(ステップS160;No)。この場合、終了判定部160は、次のルーティング処理を実行させる。そのために、終了判定部160は、経路設定要求REQの要求元ノードを、現在の宛先ノード5-2に更新する。その後、処理は、ステップS120に戻る。
(処理PROC2)
処理PROC2において、経路設定要求REQの要求元ノードは、ノード5-2である。図6に示されるように、要求元ノード5-2は、始点ポート情報「ID=#2、ポート=P20」により特定される。
処理PROC2において、経路設定要求REQの要求元ノードは、ノード5-2である。図6に示されるように、要求元ノード5-2は、始点ポート情報「ID=#2、ポート=P20」により特定される。
ステップS120において、ルーティング判定部120は、ルーティング判定テーブル320を参照して、要求元ノード5-2がルータノードのいずれかに該当するか否かを調べる。ここで、図4に示されるように、ルーティング判定テーブル320は、エントリ「ID=#2、ポート=P20、MACアドレス=MAC20、IPアドレス=IP20」を有している。すなわち、現在の要求元ノード5-2は、ルータノード5-2に該当する。よって、ルーティング判定部120は、IPルーティングを行うことを決定する(ステップS125;Yes)。この場合、ルーティング判定部120は、経路設定要求REQ(パケット)及びIPアドレス情報「IPアドレス=IP20」を、IPルーティング部200へ送る。
ステップS200において、IPルーティング部200は、適切なIPルーティングモジュール220を用いることによって、与えられたパケットのIPルーティング(アドレス解決)を行う。図7は、ステップS200を示すフローチャートである。
ステップS201において、IPルーティング部200は、フロー管理部100からパケット及びIPアドレス情報を受け取る。
次に、ステップS202において、IPルーティング部200は、IPアドレス情報を参照して、適切なIPルーティングモジュール220にパケットを振り分ける。今、IPアドレス情報は、ルータノード5-2(ID=#2)のIPアドレスを示している。従って、IPルーティング部200は、ルータノード5-2(ID=#2)に対応するIPルーティングモジュール220-2に、パケットを振り分ける。
次に、ステップS203において、IPルーティングモジュール220-2は、通常のIPルータと同様に、与えられたパケットのIPルーティングを行う。そして、IPルーティングモジュール220-2は、パケットの出力ポートを決定し、また、パケットのMACヘッダを更新する。本例では、パケットの宛先MACアドレスは“MAC50”になり、送信元MACアドレスは“MAC21”になり、出力ポートは“P21”となるとする。
その後、ステップS204において、IPルーティング部200は、更新後のパケット及び出力ポート情報(P21)をフロー管理部100に返す。
図5に戻り、ステップS210において、フロー管理部100は、更新後のパケット及び出力ポート情報を受け取る。要求元ノード5-2を特定する始点ポート情報は、「ID=#2、ポート=P21」に変わる。また、パケット情報取得部110は、パケットヘッダを抽出し、フロー識別情報を更新する。図6に示されるように、ここでのフロー識別情報は、「宛先MACアドレス=MAC50、送信元MACアドレス=MAC21、宛先IPアドレス=IP90、送信元IPアドレス=IP01」である。その後、処理は、ステップS130へ進む。
ステップS130以降は、処理PROC1の場合と同様である。ステップS130において、終点取得部130は、ルーティング判定テーブル320を参照して、「MACアドレス=MAC50」に対応する終点ポート情報「ID=#5、ポート=P50」を取得する。ステップS140において、経路設計部140は、要求元ノード5-2から宛先ノード5-5までの部分経路を設計・決定する。
ステップS150において、ノード設定部150は、決定経路上の各ノード5に対して、当該フローのパケットを当該決定経路に沿って転送するように指示する。尚、処理PROC2においては、パケットヘッダが更新されている。従って、ノード設定部150は、ルータノード5-2に対しては、当該フローのパケットを受け取った場合にそのパケットのヘッダを書き換えることも指示する。
続いて、ステップS160において、終了判定部160は、宛先ノード5-5が所定の終了条件を満たすか否かを判定する。現在の処理PROC2では、終了条件は満たされない(ステップS160;No)。この場合、終了判定部160は、次のルーティング処理を実行させる。そのために、終了判定部160は、経路設定要求REQの要求元ノードを、現在の宛先ノード5-5に更新する。その後、処理は、ステップS120に戻る。
(処理PROC3)
処理PROC3は、前述の処理PROC2と同様に進む。処理PROC3では、経路設定要求REQの要求元ノードは、ノード5-5である。ステップS120において、ルーティング判定部120は、IPルーティングを行うことを決定する(ステップS125;Yes)。
処理PROC3は、前述の処理PROC2と同様に進む。処理PROC3では、経路設定要求REQの要求元ノードは、ノード5-5である。ステップS120において、ルーティング判定部120は、IPルーティングを行うことを決定する(ステップS125;Yes)。
ステップS200において、IPルーティング部200は、IPルーティングモジュール220-5を用いることによって、IPルーティングを行う。このIPルーティングにより、パケットの宛先MACアドレスは“MAC70”になり、送信元MACアドレスは“MAC51”になり、出力ポートは“P51”となるとする。ステップS210において、フロー識別情報は、「宛先MACアドレス=MAC70、送信元MACアドレス=MAC51、宛先IPアドレス=IP90、送信元IPアドレス=IP01」に更新される。
ステップS130において、終点取得部130は、ルーティング判定テーブル320を参照して、「MACアドレス=MAC70」に対応する終点ポート情報「ID=#7、ポート=P70」を取得する。ステップS140において、経路設計部140は、要求元ノード5-5から宛先ノード5-7までの部分経路を設計・決定する。ステップS150において、ノード設定部150は、決定経路上の各ノード5に対して、当該フローのパケットを当該決定経路に沿って転送するように指示する。また、ノード設定部150は、ルータノード5-5に対しては、当該フローのパケットのヘッダを書き換えることも指示する。
続いて、ステップS160において、終了判定部160は、宛先ノード5-7が所定の終了条件を満たすか否かを判定する。現在の処理PROC3では、終了条件は満たされない(ステップS160;No)。この場合、終了判定部160は、次のルーティング処理を実行させる。そのために、終了判定部160は、経路設定要求REQの要求元ノードを、現在の宛先ノード5-7に更新する。その後、処理は、ステップS120に戻る。
(処理PROC4)
処理PROC4は、前述の処理PROC2と同様に進む。処理PROC4では、経路設定要求REQの要求元ノードは、ノード5-7である。ステップS120において、ルーティング判定部120は、IPルーティングを行うことを決定する(ステップS125;Yes)。
処理PROC4は、前述の処理PROC2と同様に進む。処理PROC4では、経路設定要求REQの要求元ノードは、ノード5-7である。ステップS120において、ルーティング判定部120は、IPルーティングを行うことを決定する(ステップS125;Yes)。
ステップS200において、IPルーティング部200は、IPルーティングモジュール220-7を用いることによって、IPルーティングを行う。このIPルーティングにより、パケットの宛先MACアドレスは“MAC90”になり、送信元MACアドレスは“MAC71”になり、出力ポートは“P71”となるとする。ステップS210において、フロー識別情報は、「宛先MACアドレス=MAC90、送信元MACアドレス=MAC71、宛先IPアドレス=IP90、送信元IPアドレス=IP01」に更新される。
尚、各IPルーティングモジュール220は、同一サブネット内の構成については、IPアドレスとMACアドレスとポートの対応関係を示すテーブルを有している。ステップS200において、IPルーティングモジュール220-7は、同一サブネット内に、当該フローの宛先である受信端末DSTが存在することを認識する。従って、フロー管理部100は、終了条件が満たされることを認識する。
ステップS130において、終点取得部130は、終点ポート情報を「ID=#7、ポート=P71」に設定する。ステップS140において、経路設計部140は、部分経路を決定する。ステップS150において、ノード設定部150は、ルータノード5-7に対して、当該フローのパケットを当該決定経路に沿って転送するように指示する。また、ノード設定部150は、ルータノード5-7に対しては、当該フローのパケットのヘッダを書き換えることも指示する。最後に、終了条件が満たされたため(ステップS160;Yes)、本実施の形態に係る経路設定処理が完了する。
このように、フロー管理部100及びIPルーティング部200は、所定の終了条件が満たされるまで、ルーティング処理を繰り返すことによってフローの通信経路を決定する。本実施の形態では、ルーティング処理のたびに、部分経路の決定(ステップS140)と、決定経路上のノード設定(ステップS150)が行われる。
1-3.効果
従来、複数のサブネットにまたがるフローの経路設定を行う際には、それぞれのサブネットを管轄する経路設定サーバ間で情報交換を行いながら、全体の通信経路を決定する必要があった。しかしながら、このことは、経路設定サーバの台数と経路設定に要する時間の増大を招いていた。本実施の形態によれば、1台の経路設定サーバ10によって、複数のサブネットにまたがるフローの経路設定を行うことが可能となる。すなわち、複数のサブネットにまたがるフローの経路設定を行うにあたり、経路設定サーバを集約することが可能となる。それにより、経路設定に要する時間及びコストも削減される。
従来、複数のサブネットにまたがるフローの経路設定を行う際には、それぞれのサブネットを管轄する経路設定サーバ間で情報交換を行いながら、全体の通信経路を決定する必要があった。しかしながら、このことは、経路設定サーバの台数と経路設定に要する時間の増大を招いていた。本実施の形態によれば、1台の経路設定サーバ10によって、複数のサブネットにまたがるフローの経路設定を行うことが可能となる。すなわち、複数のサブネットにまたがるフローの経路設定を行うにあたり、経路設定サーバを集約することが可能となる。それにより、経路設定に要する時間及びコストも削減される。
また、各サブネット毎に経路設定サーバが設けられる場合、サブネットの数や範囲は固定され、それらを動的に変更することは困難である。一方、本実施の形態によれば、1台の経路設定サーバ10によって複数のサブネットにまたがるフローの経路設定を行うことが可能であるため、サブネットの数や範囲を固定する必要はない。つまり、本実施の形態によれば、任意のノード5をルータノードとして自由に指定し、サブネットの数や範囲を動的に変更することが可能である。
2.第2の実施の形態
第1の実施の形態では、ルーティング処理のたびに、経路決定(ステップS140)とノード設定(ステップS150)が行われる。第2の実施の形態では、所定の終了条件が満たされるまでルーティング処理が繰り返された後、経路決定(ステップS140)とノード設定(ステップS150)が一括して行われる。
第1の実施の形態では、ルーティング処理のたびに、経路決定(ステップS140)とノード設定(ステップS150)が行われる。第2の実施の形態では、所定の終了条件が満たされるまでルーティング処理が繰り返された後、経路決定(ステップS140)とノード設定(ステップS150)が一括して行われる。
図8は、第2の実施の形態に係る経路設定処理を示すフローチャートである。本実施の形態では、ステップS130に続いて、終了判定部160による終了判定(ステップS160)が行われる。ルーティング処理の繰り返しは、第1の実施の形態と同様に行われる。
所定の終了条件が満たされると(ステップS160;Yes)、処理はステップS140に移る。ステップS140において、経路設計部140は、最初の要求元ノード5-1から、最後の宛先ノードまでの通信経路を一括で決定する。図6で示されるように、最初の要求元ノード5-1は始点ポート情報「ID=#1、ポート=P10」で特定され、最後の宛先ノードは終点ポート情報「ID=#7、ポート=P71」で特定される。従って、経路設計部140は、トポロジ情報310を参照することによって、通信経路を決定することができる。尚、本実施の形態では、通信経路が必ずしもルータノード5-2、5-5を経由しないことに留意されたい。
最後に、ステップS150において、ノード設定部150は、決定経路上の各ノード5に対して、当該フローのパケットを当該決定経路に沿って転送するように指示する。また、ノード設定部150は、ルータノード5-7に対しては、当該フローのパケットのヘッダを書き換えることも指示する。
3.第3の実施の形態
第3の実施の形態では、通信ネットワークNET上に複数の仮想ネットワークが構築される。そして、仮想ネットワーク毎に、サブネット構成とルータノードが異なる。従って、仮想ネットワーク毎に異なるルーティング判定テーブル320が用意される。
第3の実施の形態では、通信ネットワークNET上に複数の仮想ネットワークが構築される。そして、仮想ネットワーク毎に、サブネット構成とルータノードが異なる。従って、仮想ネットワーク毎に異なるルーティング判定テーブル320が用意される。
図9は、第3の実施の形態に係る経路設定サーバ10の構成を示している。図9に示されるように、それぞれの仮想ネットワーク用のルーティング判定テーブル320-1、320-2・・・が、記憶部300に格納される。フロー管理部100は、ルーティング判定テーブル320を参照する際、パケットのヘッダや通過ノード等の情報に基づいて、該パケットが属する仮想ネットワークを特定する。そして、フロー管理部100は、特定された仮想ネットワークに対応するIPルーティングテーブル320を参照する。その他は、既出の実施の形態と同じである。
4.第4の実施の形態
図10は、第4の実施の形態に係る経路設定サーバ10の構成を示している。第4の実施の形態では、IPルーティング部200の構成が既出の実施の形態と異なっている。具体的には、IPルーティング部200は、宛先決定部210、IPルーティングモジュール220-2、220-5、220-7、及び経路テーブル230-2、230-5、230-7を備えている。IPルーティングモジュール220-2、220-5、220-7は、それぞれ、経路テーブル230-2、230-5、230-7を逐次更新する。
図10は、第4の実施の形態に係る経路設定サーバ10の構成を示している。第4の実施の形態では、IPルーティング部200の構成が既出の実施の形態と異なっている。具体的には、IPルーティング部200は、宛先決定部210、IPルーティングモジュール220-2、220-5、220-7、及び経路テーブル230-2、230-5、230-7を備えている。IPルーティングモジュール220-2、220-5、220-7は、それぞれ、経路テーブル230-2、230-5、230-7を逐次更新する。
ステップS210において、宛先決定部210は、IPアドレス情報を参照して、適切な経路テーブル230を選択する。そして、宛先決定部210は、選択された経路テーブル230を用いて、パケットのIPルーティングを行い、パケットヘッダを更新する。
以上、本発明の実施の形態が添付の図面を参照することにより説明された。但し、本発明は、上述の実施の形態に限定されず、要旨を逸脱しない範囲で当業者により適宜変更され得る。
上記の実施形態の一部又は全部は、以下の付記のようにも記載されうるが、以下には限られない。
(付記1)
複数のノードを含む通信ネットワークにおける通信経路を決定する経路設定サーバであって、
前記複数のノードのうちIPルータに割り当てられたルータノードを示すルーティング判定テーブルが格納される記憶部と、
IPルータと同じ機能を提供するソフトウェアベースのIPルーティングモジュールを前記ルータノード毎に有するIPルーティング部と、
フローの送信元IPアドレス及び宛先IPアドレスを示すパケットを経路設定要求として受け取り、前記経路設定要求に応答して前記フローの通信経路を決定するフロー管理部と
を備え、
ルーティング処理において、
前記フロー管理部は、前記ルーティング判定テーブルを参照して、前記経路設定要求の要求元ノードが前記ルータノードのいずれかに該当するか否かを調べ、
前記要求元ノードが前記ルータノードのいずれかに該当する場合、前記IPルーティング部は、前記該当するルータノードに対応する前記IPルーティングモジュールを用いて前記パケットのIPルーティングを行い、前記パケットのヘッダを更新し、
前記ルーティング処理の後、前記フロー管理部は、前記経路設定要求の前記要求元ノードを、前記パケットの宛先MACアドレスで指定される宛先ノードに更新し、
前記フロー管理部は、前記ルーティング処理を繰り返すことによって前記通信経路を決定する
経路設定サーバ。
複数のノードを含む通信ネットワークにおける通信経路を決定する経路設定サーバであって、
前記複数のノードのうちIPルータに割り当てられたルータノードを示すルーティング判定テーブルが格納される記憶部と、
IPルータと同じ機能を提供するソフトウェアベースのIPルーティングモジュールを前記ルータノード毎に有するIPルーティング部と、
フローの送信元IPアドレス及び宛先IPアドレスを示すパケットを経路設定要求として受け取り、前記経路設定要求に応答して前記フローの通信経路を決定するフロー管理部と
を備え、
ルーティング処理において、
前記フロー管理部は、前記ルーティング判定テーブルを参照して、前記経路設定要求の要求元ノードが前記ルータノードのいずれかに該当するか否かを調べ、
前記要求元ノードが前記ルータノードのいずれかに該当する場合、前記IPルーティング部は、前記該当するルータノードに対応する前記IPルーティングモジュールを用いて前記パケットのIPルーティングを行い、前記パケットのヘッダを更新し、
前記ルーティング処理の後、前記フロー管理部は、前記経路設定要求の前記要求元ノードを、前記パケットの宛先MACアドレスで指定される宛先ノードに更新し、
前記フロー管理部は、前記ルーティング処理を繰り返すことによって前記通信経路を決定する
経路設定サーバ。
(付記2)
付記1に記載の経路設定サーバであって、
前記フロー管理部は、前記宛先ノードが所定の終了条件を満たすまで、前記ルーティング処理を繰り返す
経路設定サーバ。
付記1に記載の経路設定サーバであって、
前記フロー管理部は、前記宛先ノードが所定の終了条件を満たすまで、前記ルーティング処理を繰り返す
経路設定サーバ。
(付記3)
付記1又は2に記載の経路設定サーバであって、
前記ルーティング処理のたびに、前記フロー管理部は、前記要求元ノードから前記宛先ノードまでの通信経路である部分経路を決定する
経路設定サーバ。
付記1又は2に記載の経路設定サーバであって、
前記ルーティング処理のたびに、前記フロー管理部は、前記要求元ノードから前記宛先ノードまでの通信経路である部分経路を決定する
経路設定サーバ。
(付記4)
付記3に記載の経路設定サーバであって、
前記フロー管理部は、更に、前記決定された部分経路上の各ノードに対して、前記フローのパケットを前記決定された部分経路に沿って転送するように指示する
経路設定サーバ。
付記3に記載の経路設定サーバであって、
前記フロー管理部は、更に、前記決定された部分経路上の各ノードに対して、前記フローのパケットを前記決定された部分経路に沿って転送するように指示する
経路設定サーバ。
(付記5)
付記2に記載の経路設定サーバであって、
前記ルーティング処理の繰り返しが終了した後、前記フロー管理部は、最初の前記要求元ノードから最後の前記宛先ノードまでの通信経路を決定する
経路設定サーバ。
付記2に記載の経路設定サーバであって、
前記ルーティング処理の繰り返しが終了した後、前記フロー管理部は、最初の前記要求元ノードから最後の前記宛先ノードまでの通信経路を決定する
経路設定サーバ。
(付記6)
付記5に記載の経路設定サーバであって、
前記フロー管理部は、更に、前記決定された通信経路上の各ノードに対して、前記フローのパケットを前記決定された通信経路に沿って転送するように指示する
経路設定サーバ。
付記5に記載の経路設定サーバであって、
前記フロー管理部は、更に、前記決定された通信経路上の各ノードに対して、前記フローのパケットを前記決定された通信経路に沿って転送するように指示する
経路設定サーバ。
(付記7)
複数のノードを含む通信ネットワークと、
前記通信ネットワークにおける通信経路を決定する経路設定サーバと
を備え、
前記経路設定サーバは、
前記複数のノードのうちIPルータに割り当てられたルータノードを示すルーティング判定テーブルが格納される記憶部と、
IPルータと同じ機能を提供するソフトウェアベースのIPルーティングモジュールを前記ルータノード毎に有するIPルーティング部と、
フローの送信元IPアドレス及び宛先IPアドレスを示すパケットを経路設定要求として受け取り、前記経路設定要求に応答して前記フローの通信経路を決定するフロー管理部と
を備え、
ルーティング処理において、
前記フロー管理部は、前記ルーティング判定テーブルを参照して、前記経路設定要求の要求元ノードが前記ルータノードのいずれかに該当するか否かを調べ、
前記要求元ノードが前記ルータノードのいずれかに該当する場合、前記IPルーティング部は、前記該当するルータノードに対応する前記IPルーティングモジュールを用いて前記パケットのIPルーティングを行い、前記パケットのヘッダを更新し、
前記ルーティング処理の後、前記フロー管理部は、前記経路設定要求の前記要求元ノードを、前記パケットの宛先MACアドレスで指定される宛先ノードに更新し、
前記フロー管理部は、前記ルーティング処理を繰り返すことによって前記通信経路を決定する
通信ネットワークシステム。
複数のノードを含む通信ネットワークと、
前記通信ネットワークにおける通信経路を決定する経路設定サーバと
を備え、
前記経路設定サーバは、
前記複数のノードのうちIPルータに割り当てられたルータノードを示すルーティング判定テーブルが格納される記憶部と、
IPルータと同じ機能を提供するソフトウェアベースのIPルーティングモジュールを前記ルータノード毎に有するIPルーティング部と、
フローの送信元IPアドレス及び宛先IPアドレスを示すパケットを経路設定要求として受け取り、前記経路設定要求に応答して前記フローの通信経路を決定するフロー管理部と
を備え、
ルーティング処理において、
前記フロー管理部は、前記ルーティング判定テーブルを参照して、前記経路設定要求の要求元ノードが前記ルータノードのいずれかに該当するか否かを調べ、
前記要求元ノードが前記ルータノードのいずれかに該当する場合、前記IPルーティング部は、前記該当するルータノードに対応する前記IPルーティングモジュールを用いて前記パケットのIPルーティングを行い、前記パケットのヘッダを更新し、
前記ルーティング処理の後、前記フロー管理部は、前記経路設定要求の前記要求元ノードを、前記パケットの宛先MACアドレスで指定される宛先ノードに更新し、
前記フロー管理部は、前記ルーティング処理を繰り返すことによって前記通信経路を決定する
通信ネットワークシステム。
(付記8)
複数のノードを含む通信ネットワークにおける通信経路を決定する経路設定方法であって、
前記複数のノードのうちIPルータに割り当てられたルータノードを示すルーティング判定テーブルを、記憶装置に格納するステップと、
フローの送信元IPアドレス及び宛先IPアドレスを示すパケットを経路設定要求として受け取るステップと、
前記経路設定要求に応答して前記フローの通信経路を決定するステップと
を含み、
IPルータと同じ機能を提供するソフトウェアベースのIPルーティングモジュールが、前記ルータノード毎に設けられ、
前記通信経路を決定するステップは、
ルーティング処理を行うステップと、
ここで、前記ルーティング処理は、
前記ルーティング判定テーブルを参照して、前記経路設定要求の要求元ノードが前記ルータノードのいずれかに該当するか否かを調べるステップと、
前記要求元ノードが前記ルータノードのいずれかに該当する場合、前記該当するルータノードに対応する前記IPルーティングモジュールを用いて前記パケットのIPルーティングを行い、前記パケットのヘッダを更新するステップと
を含み、
前記ルーティング処理の後、前記経路設定要求の前記要求元ノードを、前記パケットの宛先MACアドレスで指定される宛先ノードに更新するステップと、
前記ルーティング処理を繰り返すことによって前記通信経路を決定するステップと
を含む
経路設定方法。
複数のノードを含む通信ネットワークにおける通信経路を決定する経路設定方法であって、
前記複数のノードのうちIPルータに割り当てられたルータノードを示すルーティング判定テーブルを、記憶装置に格納するステップと、
フローの送信元IPアドレス及び宛先IPアドレスを示すパケットを経路設定要求として受け取るステップと、
前記経路設定要求に応答して前記フローの通信経路を決定するステップと
を含み、
IPルータと同じ機能を提供するソフトウェアベースのIPルーティングモジュールが、前記ルータノード毎に設けられ、
前記通信経路を決定するステップは、
ルーティング処理を行うステップと、
ここで、前記ルーティング処理は、
前記ルーティング判定テーブルを参照して、前記経路設定要求の要求元ノードが前記ルータノードのいずれかに該当するか否かを調べるステップと、
前記要求元ノードが前記ルータノードのいずれかに該当する場合、前記該当するルータノードに対応する前記IPルーティングモジュールを用いて前記パケットのIPルーティングを行い、前記パケットのヘッダを更新するステップと
を含み、
前記ルーティング処理の後、前記経路設定要求の前記要求元ノードを、前記パケットの宛先MACアドレスで指定される宛先ノードに更新するステップと、
前記ルーティング処理を繰り返すことによって前記通信経路を決定するステップと
を含む
経路設定方法。
(付記9)
複数のノードを含む通信ネットワークにおける通信経路を決定する経路設定処理をコンピュータに実行させる経路設定プログラムが記録された記録媒体であって、
前記経路設定処理は、
前記複数のノードのうちIPルータに割り当てられたルータノードを示すルーティング判定テーブルを、記憶装置に格納するステップと、
フローの送信元IPアドレス及び宛先IPアドレスを示すパケットを経路設定要求として受け取るステップと、
前記経路設定要求に応答して前記フローの通信経路を決定するステップと
を含み、
IPルータと同じ機能を提供するソフトウェアベースのIPルーティングモジュールが、前記ルータノード毎に設けられ、
前記通信経路を決定するステップは、
ルーティング処理を行うステップと、
ここで、前記ルーティング処理は、
前記ルーティング判定テーブルを参照して、前記経路設定要求の要求元ノードが前記ルータノードのいずれかに該当するか否かを調べるステップと、
前記要求元ノードが前記ルータノードのいずれかに該当する場合、前記該当するルータノードに対応する前記IPルーティングモジュールを用いて前記パケットのIPルーティングを行い、前記パケットのヘッダを更新するステップと
を含み、
前記ルーティング処理の後、前記経路設定要求の前記要求元ノードを、前記パケットの宛先MACアドレスで指定される宛先ノードに更新するステップと、
前記ルーティング処理を繰り返すことによって前記通信経路を決定するステップと
を含む
記録媒体。
複数のノードを含む通信ネットワークにおける通信経路を決定する経路設定処理をコンピュータに実行させる経路設定プログラムが記録された記録媒体であって、
前記経路設定処理は、
前記複数のノードのうちIPルータに割り当てられたルータノードを示すルーティング判定テーブルを、記憶装置に格納するステップと、
フローの送信元IPアドレス及び宛先IPアドレスを示すパケットを経路設定要求として受け取るステップと、
前記経路設定要求に応答して前記フローの通信経路を決定するステップと
を含み、
IPルータと同じ機能を提供するソフトウェアベースのIPルーティングモジュールが、前記ルータノード毎に設けられ、
前記通信経路を決定するステップは、
ルーティング処理を行うステップと、
ここで、前記ルーティング処理は、
前記ルーティング判定テーブルを参照して、前記経路設定要求の要求元ノードが前記ルータノードのいずれかに該当するか否かを調べるステップと、
前記要求元ノードが前記ルータノードのいずれかに該当する場合、前記該当するルータノードに対応する前記IPルーティングモジュールを用いて前記パケットのIPルーティングを行い、前記パケットのヘッダを更新するステップと
を含み、
前記ルーティング処理の後、前記経路設定要求の前記要求元ノードを、前記パケットの宛先MACアドレスで指定される宛先ノードに更新するステップと、
前記ルーティング処理を繰り返すことによって前記通信経路を決定するステップと
を含む
記録媒体。
本出願は、2009年3月26日に出願された日本国特許出願2009-077318を基礎とする優先権を主張し、その開示の全てをここに取り込む。
Claims (9)
- 複数のノードを含む通信ネットワークにおける通信経路を決定する経路設定サーバであって、
前記複数のノードのうちIPルータに割り当てられたルータノードを示すルーティング判定テーブルが格納される記憶部と、
IPルータと同じ機能を提供するソフトウェアベースのIPルーティングモジュールを前記ルータノード毎に有するIPルーティング部と、
フローの送信元IPアドレス及び宛先IPアドレスを示すパケットを経路設定要求として受け取り、前記経路設定要求に応答して前記フローの通信経路を決定するフロー管理部と
を備え、
ルーティング処理において、
前記フロー管理部は、前記ルーティング判定テーブルを参照して、前記経路設定要求の要求元ノードが前記ルータノードのいずれかに該当するか否かを調べ、
前記要求元ノードが前記ルータノードのいずれかに該当する場合、前記IPルーティング部は、前記該当するルータノードに対応する前記IPルーティングモジュールを用いて前記パケットのIPルーティングを行い、前記パケットのヘッダを更新し、
前記ルーティング処理の後、前記フロー管理部は、前記経路設定要求の前記要求元ノードを、前記パケットの宛先MACアドレスで指定される宛先ノードに更新し、
前記フロー管理部は、前記ルーティング処理を繰り返すことによって前記通信経路を決定する
経路設定サーバ。 - 請求項1に記載の経路設定サーバであって、
前記フロー管理部は、前記宛先ノードが所定の終了条件を満たすまで、前記ルーティング処理を繰り返す
経路設定サーバ。 - 請求項1又は2に記載の経路設定サーバであって、
前記ルーティング処理のたびに、前記フロー管理部は、前記要求元ノードから前記宛先ノードまでの通信経路である部分経路を決定する
経路設定サーバ。 - 請求項3に記載の経路設定サーバであって、
前記フロー管理部は、更に、前記決定された部分経路上の各ノードに対して、前記フローのパケットを前記決定された部分経路に沿って転送するように指示する
経路設定サーバ。 - 請求項2に記載の経路設定サーバであって、
前記ルーティング処理の繰り返しが終了した後、前記フロー管理部は、最初の前記要求元ノードから最後の前記宛先ノードまでの通信経路を決定する
経路設定サーバ。 - 請求項5に記載の経路設定サーバであって、
前記フロー管理部は、更に、前記決定された通信経路上の各ノードに対して、前記フローのパケットを前記決定された通信経路に沿って転送するように指示する
経路設定サーバ。 - 複数のノードを含む通信ネットワークと、
前記通信ネットワークにおける通信経路を決定する経路設定サーバと
を備え、
前記経路設定サーバは、
前記複数のノードのうちIPルータに割り当てられたルータノードを示すルーティング判定テーブルが格納される記憶部と、
IPルータと同じ機能を提供するソフトウェアベースのIPルーティングモジュールを前記ルータノード毎に有するIPルーティング部と、
フローの送信元IPアドレス及び宛先IPアドレスを示すパケットを経路設定要求として受け取り、前記経路設定要求に応答して前記フローの通信経路を決定するフロー管理部と
を備え、
ルーティング処理において、
前記フロー管理部は、前記ルーティング判定テーブルを参照して、前記経路設定要求の要求元ノードが前記ルータノードのいずれかに該当するか否かを調べ、
前記要求元ノードが前記ルータノードのいずれかに該当する場合、前記IPルーティング部は、前記該当するルータノードに対応する前記IPルーティングモジュールを用いて前記パケットのIPルーティングを行い、前記パケットのヘッダを更新し、
前記ルーティング処理の後、前記フロー管理部は、前記経路設定要求の前記要求元ノードを、前記パケットの宛先MACアドレスで指定される宛先ノードに更新し、
前記フロー管理部は、前記ルーティング処理を繰り返すことによって前記通信経路を決定する
通信ネットワークシステム。 - 複数のノードを含む通信ネットワークにおける通信経路を決定する経路設定方法であって、
前記複数のノードのうちIPルータに割り当てられたルータノードを示すルーティング判定テーブルを、記憶装置に格納するステップと、
フローの送信元IPアドレス及び宛先IPアドレスを示すパケットを経路設定要求として受け取るステップと、
前記経路設定要求に応答して前記フローの通信経路を決定するステップと
を含み、
IPルータと同じ機能を提供するソフトウェアベースのIPルーティングモジュールが、前記ルータノード毎に設けられ、
前記通信経路を決定するステップは、
ルーティング処理を行うステップと、
ここで、前記ルーティング処理は、
前記ルーティング判定テーブルを参照して、前記経路設定要求の要求元ノードが前記ルータノードのいずれかに該当するか否かを調べるステップと、
前記要求元ノードが前記ルータノードのいずれかに該当する場合、前記該当するルータノードに対応する前記IPルーティングモジュールを用いて前記パケットのIPルーティングを行い、前記パケットのヘッダを更新するステップと
を含み、
前記ルーティング処理の後、前記経路設定要求の前記要求元ノードを、前記パケットの宛先MACアドレスで指定される宛先ノードに更新するステップと、
前記ルーティング処理を繰り返すことによって前記通信経路を決定するステップと
を含む
経路設定方法。 - 複数のノードを含む通信ネットワークにおける通信経路を決定する経路設定処理をコンピュータに実行させる経路設定プログラムが記録された記録媒体であって、
前記経路設定処理は、
前記複数のノードのうちIPルータに割り当てられたルータノードを示すルーティング判定テーブルを、記憶装置に格納するステップと、
フローの送信元IPアドレス及び宛先IPアドレスを示すパケットを経路設定要求として受け取るステップと、
前記経路設定要求に応答して前記フローの通信経路を決定するステップと
を含み、
IPルータと同じ機能を提供するソフトウェアベースのIPルーティングモジュールが、前記ルータノード毎に設けられ、
前記通信経路を決定するステップは、
ルーティング処理を行うステップと、
ここで、前記ルーティング処理は、
前記ルーティング判定テーブルを参照して、前記経路設定要求の要求元ノードが前記ルータノードのいずれかに該当するか否かを調べるステップと、
前記要求元ノードが前記ルータノードのいずれかに該当する場合、前記該当するルータノードに対応する前記IPルーティングモジュールを用いて前記パケットのIPルーティングを行い、前記パケットのヘッダを更新するステップと
を含み、
前記ルーティング処理の後、前記経路設定要求の前記要求元ノードを、前記パケットの宛先MACアドレスで指定される宛先ノードに更新するステップと、
前記ルーティング処理を繰り返すことによって前記通信経路を決定するステップと
を含む
記録媒体。
Priority Applications (4)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2011506040A JP5423787B2 (ja) | 2009-03-26 | 2010-03-23 | 経路設定サーバ、経路設定方法、及び経路設定プログラム |
| EP10756031.0A EP2413547A4 (en) | 2009-03-26 | 2010-03-23 | PATH SETTING SERVER, PATH SETTING METHOD, AND PATH SETTING PROGRAM |
| CN201080013930.0A CN102365846B (zh) | 2009-03-26 | 2010-03-23 | 路由设置服务器、路由设置方法和路由设置程序 |
| US13/176,636 US8605622B2 (en) | 2009-03-26 | 2011-07-05 | Route setup server, route setup method and route setup program |
Applications Claiming Priority (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2009077318 | 2009-03-26 | ||
| JP2009-077318 | 2009-03-26 |
Related Child Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| US13/176,636 Continuation US8605622B2 (en) | 2009-03-26 | 2011-07-05 | Route setup server, route setup method and route setup program |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| WO2010110235A1 true WO2010110235A1 (ja) | 2010-09-30 |
Family
ID=42780928
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| PCT/JP2010/054921 Ceased WO2010110235A1 (ja) | 2009-03-26 | 2010-03-23 | 経路設定サーバ、経路設定方法、及び経路設定プログラム |
Country Status (5)
| Country | Link |
|---|---|
| US (1) | US8605622B2 (ja) |
| EP (1) | EP2413547A4 (ja) |
| JP (1) | JP5423787B2 (ja) |
| CN (1) | CN102365846B (ja) |
| WO (1) | WO2010110235A1 (ja) |
Cited By (7)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| WO2012096131A1 (ja) * | 2011-01-13 | 2012-07-19 | 日本電気株式会社 | ネットワークシステム、及び経路制御方法 |
| JP2012175394A (ja) * | 2011-02-21 | 2012-09-10 | Nippon Telegr & Teleph Corp <Ntt> | フロースイッチ、フロー制御システムおよびフロー制御方法 |
| WO2013031175A1 (en) | 2011-08-29 | 2013-03-07 | Nec Corporation | Communication system, control device, node, node control method, and program |
| WO2013057960A1 (en) | 2011-10-21 | 2013-04-25 | Nec Corporation | Control apparatus for forwarding apparatus, control method for forwarding apparatus, communication system, and program |
| JP2014158290A (ja) * | 2010-12-28 | 2014-08-28 | Nec Corp | 情報システム、制御装置、通信方法およびプログラム |
| JP2016001922A (ja) * | 2010-12-02 | 2016-01-07 | 日本電気株式会社 | 通信システム、制御装置、通信方法およびプログラム |
| EP3678326A1 (en) * | 2010-12-01 | 2020-07-08 | Nec Corporation | Communication system, control device, communication method, and program |
Families Citing this family (12)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| EP2690831A4 (en) | 2011-03-23 | 2014-12-10 | Nec Corp | COMMUNICATION CONTROL SYSTEM, COMMUNICATION NODES AND COMMUNICATION CONTROL METHOD |
| JP6080313B2 (ja) * | 2011-08-04 | 2017-02-15 | ミドクラ エスエーアールエル | 仮想ネットワークを実装及び管理するシステム及び方法 |
| EP2787694B1 (en) * | 2011-12-02 | 2016-06-15 | Huawei Technologies Co., Ltd. | Message sending method, message receiving method, openflow controller, and first openflow switch |
| CN103534992B (zh) * | 2012-03-14 | 2017-07-21 | 华为技术有限公司 | 发送建立连接请求的方法、交换机、服务器及系统 |
| CN103857004A (zh) * | 2012-12-03 | 2014-06-11 | 华为技术有限公司 | 处理无线网络用户接入的方法、装置及系统 |
| US9515873B2 (en) * | 2013-03-12 | 2016-12-06 | Dell Products L.P. | System and method for management of virtual sub-networks |
| CN104753751B (zh) * | 2013-12-27 | 2019-10-29 | 南京中兴新软件有限责任公司 | 一种动态确定虚拟网络的方法及系统 |
| CN104954281B (zh) * | 2014-03-31 | 2018-08-03 | 中国移动通信集团公司 | 通信方法、系统、资源池管理系统、交换机和控制装置 |
| US10142248B2 (en) * | 2015-09-29 | 2018-11-27 | Huawei Technologies Co., Ltd. | Packet mis-ordering prevention in source routing hitless reroute using inter-packet delay and precompensation |
| CN105517016B (zh) | 2015-12-01 | 2019-10-15 | 小米科技有限责任公司 | 对路由设备的管理方法、移动终端及装置 |
| CN108111423B (zh) * | 2017-12-28 | 2020-11-17 | 迈普通信技术股份有限公司 | 流量传输管理方法、装置及网络分路设备 |
| JP7251085B2 (ja) * | 2018-09-27 | 2023-04-04 | 株式会社リコー | ネットワークシステム、通信制御装置、通信制御方法およびプログラム |
Citations (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2007116648A (ja) * | 2005-09-20 | 2007-05-10 | Fujitsu Ltd | ルーティング制御方法 |
| JP2008131346A (ja) | 2006-11-21 | 2008-06-05 | Oki Electric Ind Co Ltd | Ipネットワークシステム |
Family Cites Families (12)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US5903559A (en) * | 1996-12-20 | 1999-05-11 | Nec Usa, Inc. | Method for internet protocol switching over fast ATM cell transport |
| US7418504B2 (en) * | 1998-10-30 | 2008-08-26 | Virnetx, Inc. | Agile network protocol for secure communications using secure domain names |
| US7154858B1 (en) * | 1999-06-30 | 2006-12-26 | Cisco Technology, Inc. | System and method for measuring latency of a selected path of a computer network |
| US20020085565A1 (en) * | 2000-12-28 | 2002-07-04 | Maple Optical Systems, Inc. | Technique for time division multiplex forwarding of data streams |
| US7403999B2 (en) * | 2001-12-28 | 2008-07-22 | International Business Machines Corporation | Classification support system and method for fragmented IP packets |
| US7343485B1 (en) * | 2003-09-03 | 2008-03-11 | Cisco Technology, Inc. | System and method for maintaining protocol status information in a network device |
| US7411957B2 (en) * | 2004-03-26 | 2008-08-12 | Cisco Technology, Inc. | Hardware filtering support for denial-of-service attacks |
| WO2006014504A2 (en) * | 2004-07-07 | 2006-02-09 | Sciencelogic, Llc | Self configuring network management system |
| US7616574B2 (en) * | 2005-03-15 | 2009-11-10 | Cisco Technology, Inc. | Dynamic retrieval of routing information for inter-AS TE-LSPs |
| CN1937576A (zh) * | 2005-09-22 | 2007-03-28 | 株式会社Ntt都科摩 | 一种快速路由建立的方法及装置 |
| US7730187B2 (en) * | 2006-10-05 | 2010-06-01 | Limelight Networks, Inc. | Remote domain name service |
| US7710872B2 (en) * | 2005-12-14 | 2010-05-04 | Cisco Technology, Inc. | Technique for enabling traffic engineering on CE-CE paths across a provider network |
-
2010
- 2010-03-23 WO PCT/JP2010/054921 patent/WO2010110235A1/ja not_active Ceased
- 2010-03-23 CN CN201080013930.0A patent/CN102365846B/zh not_active Expired - Fee Related
- 2010-03-23 JP JP2011506040A patent/JP5423787B2/ja not_active Expired - Fee Related
- 2010-03-23 EP EP10756031.0A patent/EP2413547A4/en not_active Withdrawn
-
2011
- 2011-07-05 US US13/176,636 patent/US8605622B2/en not_active Expired - Fee Related
Patent Citations (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2007116648A (ja) * | 2005-09-20 | 2007-05-10 | Fujitsu Ltd | ルーティング制御方法 |
| JP2008131346A (ja) | 2006-11-21 | 2008-06-05 | Oki Electric Ind Co Ltd | Ipネットワークシステム |
Non-Patent Citations (1)
| Title |
|---|
| MARTIN CASADO ET AL.: "Ethane: Taking Control of the Enterprise", PROCEEDINGS OF SIGCOMM, 2007 |
Cited By (19)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US11134011B2 (en) | 2010-12-01 | 2021-09-28 | Nec Corporation | Communication system, control device, communication method, and program |
| EP3678326A1 (en) * | 2010-12-01 | 2020-07-08 | Nec Corporation | Communication system, control device, communication method, and program |
| JP2016001922A (ja) * | 2010-12-02 | 2016-01-07 | 日本電気株式会社 | 通信システム、制御装置、通信方法およびプログラム |
| US10164862B2 (en) | 2010-12-02 | 2018-12-25 | Nec Corporation | Communication system, control device, communication method and program |
| US10645006B2 (en) | 2010-12-28 | 2020-05-05 | Nec Corporation | Information system, control apparatus, communication method, and program |
| JP2014158290A (ja) * | 2010-12-28 | 2014-08-28 | Nec Corp | 情報システム、制御装置、通信方法およびプログラム |
| US9787580B2 (en) | 2011-01-13 | 2017-10-10 | Nec Corporation | Network system and routing method |
| CN103329488B (zh) * | 2011-01-13 | 2016-05-04 | 日本电气株式会社 | 网络系统和路由控制方法 |
| WO2012096131A1 (ja) * | 2011-01-13 | 2012-07-19 | 日本電気株式会社 | ネットワークシステム、及び経路制御方法 |
| CN103329488A (zh) * | 2011-01-13 | 2013-09-25 | 日本电气株式会社 | 网络系统和路由控制方法 |
| US10819625B2 (en) | 2011-01-13 | 2020-10-27 | Nec Corporation | Network system and routing method |
| US11552885B2 (en) | 2011-01-13 | 2023-01-10 | Nec Corporation | Network system and routing method |
| JP2012175394A (ja) * | 2011-02-21 | 2012-09-10 | Nippon Telegr & Teleph Corp <Ntt> | フロースイッチ、フロー制御システムおよびフロー制御方法 |
| EP2751962A4 (en) * | 2011-08-29 | 2015-01-07 | Nec Corp | COMMUNICATION SYSTEM, CONTROL DEVICE, NODE, NODE CONTROL METHOD, AND PROGRAM |
| JP2014527728A (ja) * | 2011-08-29 | 2014-10-16 | 日本電気株式会社 | 通信システム、制御装置、ノード、ノードの制御方法およびプログラム |
| WO2013031175A1 (en) | 2011-08-29 | 2013-03-07 | Nec Corporation | Communication system, control device, node, node control method, and program |
| JP2014533001A (ja) * | 2011-10-21 | 2014-12-08 | 日本電気株式会社 | 転送装置の制御装置、転送装置の制御方法、通信システムおよびプログラム |
| EP2769512A4 (en) * | 2011-10-21 | 2015-06-03 | Nec Corp | CONTROL APPARATUS FOR ROUTING APPARATUS, CONTROL METHOD FOR APPARATUS FOR ROUTING, COMMUNICATION SYSTEM, AND PROGRAM |
| WO2013057960A1 (en) | 2011-10-21 | 2013-04-25 | Nec Corporation | Control apparatus for forwarding apparatus, control method for forwarding apparatus, communication system, and program |
Also Published As
| Publication number | Publication date |
|---|---|
| US20110286359A1 (en) | 2011-11-24 |
| EP2413547A4 (en) | 2014-12-24 |
| JP5423787B2 (ja) | 2014-02-19 |
| EP2413547A1 (en) | 2012-02-01 |
| CN102365846A (zh) | 2012-02-29 |
| CN102365846B (zh) | 2014-07-02 |
| US8605622B2 (en) | 2013-12-10 |
| JPWO2010110235A1 (ja) | 2012-09-27 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| JP5423787B2 (ja) | 経路設定サーバ、経路設定方法、及び経路設定プログラム | |
| JP6358347B2 (ja) | 通信システム、制御装置、ノードの制御方法 | |
| EP3249865B1 (en) | Method and devices for constructing label and forwarding label packet | |
| JP5644775B2 (ja) | 通信システムおよびトポロジー情報作成方法 | |
| CN111107001B (zh) | 网络中分段源路由的方法及存储介质 | |
| US9246814B2 (en) | Communication system, control apparatus, communication node, and communication method | |
| JP5994851B2 (ja) | 転送装置の制御装置、転送装置の制御方法、通信システムおよびプログラム | |
| JP6085263B2 (ja) | 中継ノード及び経路制御方法 | |
| WO2015054904A1 (zh) | 转发报文的方法、控制器、转发设备和网络系统 | |
| US20150256407A1 (en) | Control apparatus, control method thereof, and program | |
| WO2014077306A1 (ja) | 制御装置、通信システム、制御情報の作成方法及びプログラム | |
| JP4659867B2 (ja) | 通信システム、制御システム、および通信方法 | |
| JP4934116B2 (ja) | ノード、パケット転送方法およびそのプログラム | |
| WO2013062070A1 (ja) | 制御装置、通信システム、仮想ネットワークの管理方法およびプログラム | |
| JP4630360B2 (ja) | 通信システムおよび通信方法 | |
| JPWO2014123194A1 (ja) | 通信システム、制御装置、通信制御方法およびプログラム | |
| JP2005012317A (ja) | 通信システム | |
| JP2013048364A (ja) | 通信システム、制御装置、パケット転送方法およびプログラム |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| WWE | Wipo information: entry into national phase |
Ref document number: 201080013930.0 Country of ref document: CN |
|
| 121 | Ep: the epo has been informed by wipo that ep was designated in this application |
Ref document number: 10756031 Country of ref document: EP Kind code of ref document: A1 |
|
| WWE | Wipo information: entry into national phase |
Ref document number: 2010756031 Country of ref document: EP |
|
| WWE | Wipo information: entry into national phase |
Ref document number: 2011506040 Country of ref document: JP |
|
| NENP | Non-entry into the national phase |
Ref country code: DE |