[go: up one dir, main page]
More Web Proxy on the site http://driver.im/

WO2012081721A1 - 通信システム、ノード、パケット転送方法およびプログラム - Google Patents

通信システム、ノード、パケット転送方法およびプログラム Download PDF

Info

Publication number
WO2012081721A1
WO2012081721A1 PCT/JP2011/079303 JP2011079303W WO2012081721A1 WO 2012081721 A1 WO2012081721 A1 WO 2012081721A1 JP 2011079303 W JP2011079303 W JP 2011079303W WO 2012081721 A1 WO2012081721 A1 WO 2012081721A1
Authority
WO
WIPO (PCT)
Prior art keywords
address
processing rule
processing
multicast
destination
Prior art date
Application number
PCT/JP2011/079303
Other languages
English (en)
French (fr)
Inventor
陽介 田部
Original Assignee
日本電気株式会社
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by 日本電気株式会社 filed Critical 日本電気株式会社
Priority to US13/994,463 priority Critical patent/US20130259044A1/en
Priority to CN201180060672.6A priority patent/CN103262479B/zh
Priority to KR1020137018796A priority patent/KR101500251B1/ko
Priority to EP11848531.7A priority patent/EP2654251A1/en
Priority to JP2012548861A priority patent/JP5534033B2/ja
Publication of WO2012081721A1 publication Critical patent/WO2012081721A1/ja

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/16Multipoint routing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/38Flow based routing

Definitions

  • the present invention is based on the priority claim of Japanese Patent Application No. 2010-281473 (filed on Dec. 17, 2010), the entire contents of which are incorporated herein by reference. Shall.
  • the present invention relates to a communication system, a node, a packet transfer method, and a program, and more particularly to a communication system, a node, a packet transfer method, and a program for realizing communication using a node that processes a received packet according to a processing rule that matches the received packet.
  • a communication system a node, a packet transfer method, and a program for realizing communication using a node that processes a received packet according to a processing rule that matches the received packet.
  • OpenFlow captures communication as an end-to-end flow and performs path control, failure recovery, load balancing, and optimization on a per-flow basis.
  • the OpenFlow switch that functions as a forwarding node includes a secure channel for communication with the OpenFlow controller, and operates according to a flow table that is appropriately added or rewritten from the OpenFlow controller.
  • the flow table includes, for each flow, a flow entry (processing rule) that is a set of a matching rule (matching rule) that matches a packet header, an action (Actions) that defines processing contents, and flow statistical information (Stats). Is defined (see FIG. 7).
  • the OpenFlow switch when the OpenFlow switch receives the first packet (first packet), the OpenFlow switch searches the flow table for an entry having a matching rule (matching rule) that matches the header information of the received packet. When an entry that matches the received packet is found as a result of the search, the OpenFlow switch performs the processing content described in the action field of the entry on the received packet. On the other hand, if no entry matching the received packet is found as a result of the search, the OpenFlow switch forwards the received packet to the OpenFlow controller via the secure channel, and the source / destination of the received packet. Request the determination of the packet path based on the above (request for setting a processing rule), receive a flow entry that realizes this, and update the flow table.
  • a matching rule matching rule
  • Patent Document 1 and Non-Patent Documents 1 and 2 since communication is regarded as an end-to-end flow, the number of communication terminals connected to each node and the communication services used by the respective communication terminals are different. As the number increases, the number of processing rules corresponding to the number of flows (corresponding to the above-described flow entry) becomes necessary.
  • Non-Patent Documents 1 and 2 As described above, in the techniques described in Patent Document 1, Non-Patent Documents 1 and 2, as the number of communication terminals and the number of communication services used by each communication terminal increase, the load on the nodes and control devices increases. There is a problem that processing delays and the like are likely to occur.
  • the above problem also occurs when the received packet is a multicast address, and in particular, the number of processing rules held by a node and the possibility of dramatically increasing the number of processing rule setting requests to the control device. There is.
  • a plurality of processing rules in which a transfer destination of a packet belonging to each flow is associated with a matching rule for specifying the flow are held, and a received packet is transferred according to the processing rule.
  • a communication system including a node, wherein the node performs multicast transfer using the plurality of processing rules held when the destination address of the received packet is an address indicating that the packet is to be multicast.
  • a plurality of processing rules in which a transfer destination of a packet belonging to each flow is associated with a matching rule for specifying the flow are held, and a received packet is transferred according to the processing rule.
  • the destination address of the received packet is an address indicating that the packet is to be multicast
  • a node that performs multicast forwarding using the plurality of processing rules retained is provided.
  • a plurality of processing rules in which a transfer destination of a packet belonging to each flow is associated with a matching rule for specifying the flow are held, and a received packet is transferred according to the processing rule.
  • a packet forwarding method in a node comprising: confirming whether a destination address of a received packet is an address indicating that it is a multicast target; and an address indicating that the destination address of the received packet is a multicast target.
  • a packet transfer method including the step of performing multicast transfer using the plurality of processing rules held. This method is linked to a specific machine, which is a node that processes a received packet in accordance with a processing rule set from a control device.
  • a plurality of processing rules in which a transfer destination of a packet belonging to each flow is associated with a matching rule for specifying the flow are held, and a received packet is transferred according to the processing rule.
  • a program to be executed by a computer constituting a node, the process for confirming whether the destination address of the received packet is an address indicating that it is a multicast target, and the destination address of the received packet is a multicast target In the case of the address indicating the address, a program for executing the multicast transfer using the plurality of processing rules held is provided.
  • This program can be recorded on a computer-readable storage medium. That is, the present invention can be embodied as a computer program product.
  • the present invention even if the number of communication terminals and the number of communication services used by each communication terminal increase, it is possible to make it difficult to increase the load on the node and the control device and to delay processing.
  • FIG. 1 It is a figure showing the structure of the 1st Embodiment of this invention. It is a block diagram showing the structure of the node of the 1st Embodiment of this invention. It is an example of the path
  • movement at the time of the packet reception of the node of the 1st Embodiment of this invention. 6 is a flowchart for explaining details of processing rule search condition generation processing (step S200) in FIG. 5; It is a figure showing the structure of the flow entry of a nonpatent literature 2.
  • a node that holds a plurality of processing rules that associate a transfer destination of a packet belonging to each flow with a matching rule for specifying the flow, and forwards a received packet according to the processing rule It can be realized by a communication system including Specifically, when the destination address of the received packet is an address indicating that it is a multicast target, the node performs multicast transfer using the plurality of processing rules held.
  • the node 200A when paths are set for three flows, the node 200A newly indicates that the destination address does not belong to these three flows and the destination address is a multicast target.
  • the node 200A does not make a request for setting the processing rule to the control device 100A, and uses the processing rule held by itself to perform multicast transfer to the nodes 200B and 200C. I do.
  • a node does not need to use all of the processing rules held by itself, and can select only necessary ones. Details thereof will be described in the following embodiments.
  • FIG. 1 is a diagram showing a configuration of a communication system according to the first exemplary embodiment of the present invention.
  • a plurality of nodes 200A to 200C and a control device 100A that controls these nodes are shown.
  • External nodes 300A to 300E are connected to the plurality of nodes 200A to 200C, respectively.
  • the control device 100A controls communication between the external nodes 300A to 300E by setting a processing rule that defines the processing content for the received packet for these nodes 200A to 200C.
  • Non-Patent Documents 1 and 2 sets a flow entry (corresponding to a processing rule) in an OpenFlow switch.
  • the node 200A to 200C When the nodes 200A to 200C receive a packet from other nodes including the external nodes 300A to 300E, the node 200A to 200C selects a processing rule having a matching rule that matches the received packet from the processing rules set by the control device 100. Process the received packet.
  • processing contents of the received packet it is assumed that transfer of the received packet to other nodes including the nodes 300A to 300E and the control device 100 is set.
  • processing contents other packet drops (discards), header rewriting, and the like can be set as appropriate.
  • nodes 200A to 200C As such nodes 200A to 200C, a multicast forwarding function to be described later is added to the OpenFlow switches of Non-Patent Documents 1 and 2 that operate according to the flow entry (corresponding to the processing rule) set by the OpenFlow controller. Can also be realized.
  • the external node 300 is a user terminal or the like that is connected to any of the nodes 200A to 200C and communicates with other external nodes 300.
  • FIG. 2 is a block diagram showing a detailed configuration of the nodes 200A to 200C (hereinafter referred to as “node 200” when it is not necessary to distinguish the nodes 200A to 200C).
  • node 200 a processing rule search condition generation unit 201, a processing rule search unit 202, a processing rule storage unit 203, a processing rule management unit 204, a flow processing unit 205, and a control device communication unit 206 are provided. The configuration is shown.
  • the processing rule search condition generation unit 201 is a processing rule that the processing rule search unit 202 conforms to the received packet from the processing rule storage unit 203 based on the received packet passed from the processing rule search unit 202 or information extracted from the received packet. Is generated, and the generated processing rule search condition is passed to the processing rule search unit 202.
  • the processing rule search unit 202 When the processing rule search unit 202 receives a packet from an external node or another node, the processing rule search unit 202 outputs the received packet or information extracted from the received packet to the processing rule search condition generation unit 201 and requests generation of the processing rule search condition. .
  • the processing rule search unit 202 searches the processing rule storage unit 203 using the processing rule search condition passed from the processing rule search condition generation unit 201.
  • the processing rule search unit 202 stores the processing content (action) and the received packet specified in the processing rule that matches the processing rule search condition. It is passed to the flow processing unit 205.
  • the processing rule search unit 202 may update the time-out time or statistical information of the processing rule.
  • the timeout time can be used for deletion control of a processing rule that has not received a packet that conforms for a certain period of time.
  • the statistical information can be used as information for the control device 100 to grasp the traffic situation.
  • the processing rule storage unit 203 holds a processing rule for the node 200 to process the received packet.
  • a processing rule storage unit 203 can also be realized by the flow table of the open flow switch of Non-Patent Documents 1 and 2 (see FIG. 7).
  • the processing rule management unit 204 performs addition / deletion, reference, etc. of processing rules held in the processing rule storage unit 203 in accordance with an instruction received from the control device 100 via the control device communication unit 206. As described above, when the processing rule search unit 202 updates the time-out time or statistical information of the processing rule, the processing rule management unit 204 deletes the time-out processing rule or refers to the statistical information. A process of transmitting the result to the control device 100 is performed.
  • the flow processing unit 205 performs processing on the received packet according to the received packet passed from the control device 100 through the processing rule search unit 202 or the control device communication unit 206 and its processing content (action).
  • the control device communication unit 206 relays between the control device 100 and the processing rule management unit 204 or the flow processing unit 205.
  • each unit (processing means) of the node 200 shown in FIG. 2 can be realized by a computer program that causes a computer constituting the node 200 to execute the above-described processes using the hardware thereof.
  • FIG. 4 is an example of processing rules set in the node 200A in FIG. No.
  • the entry of 1 is a processing rule for realizing a route having the external node 300A indicated by a one-dot chain line in FIG. 3 as a transmission source and the external node 300B as a destination.
  • the layer 2 source address is the external node 300A layer 2 address
  • the layer 2 destination address is the external node 300B layer 2 address
  • the layer 3 source address is the external node 300A layer 3 address
  • a collation rule in which the destination address of the layer 3 is the layer 3 address of the external node 300B and the processing content of transferring a packet conforming to the collation rule to the node 200B are set.
  • No. 4 in FIG. The entry of 2 is a processing rule for realizing a route having the external node 300A indicated by a broken line in FIG. 3 as a transmission source and the external node 300B as a destination.
  • the layer 2 source address is the external node 300A layer 2 address
  • the layer 2 destination address is the external node 300C layer 2 address
  • the layer 3 source address is the external node 300A layer 3 address
  • No. 4 in FIG. The entry of 3 is a processing rule for realizing a route having the external node 300A indicated by the solid line in FIG. 3 as the transmission source and the external nodes 300D and 300E as the destination.
  • the layer 2 address is unquestioned
  • the layer 3 source address is the layer 3 address of the external node 300A
  • the layer 3 destination address is the aggregate of the layer 3 addresses of the external nodes 300D and 300E.
  • a collation rule for extracting a packet which is an address and a processing content for transferring a packet conforming to the collation rule to the node 200C are set.
  • the received packet is transferred to the control device 100A, and a processing rule setting request is made.
  • 4 is an example for helping understanding of the present invention.
  • a port number, a destination port number (TCP / UDP src port, TCP / UDP dst port), etc. can be set.
  • a wild card can be set in an arbitrary field.
  • the layer 2 addresses of the external nodes 300A, 300B, and 300C are the MAC (Media Access Control) addresses “00: 11: 22: 33: 44: AA” and “00: 11: 22: 33”, respectively. : 44: BB "," 00: 11: 22: 33: 44: CC ".
  • the layer 3 addresses of the external nodes 300A, 300B, and 300C are IP addresses “192.168.0.1”, “192.168.0.2”, and “192.168.0.3”, respectively.
  • the layer 3 addresses of the external nodes 300D and 300E are the IP addresses “192.168.0.4” and “192.168.0.5”, and the aggregate address obtained by collecting them is “192.168 .. 0.4 / 31 ".
  • the node 200 when receiving a packet, the node 200 sends processing rule search condition generation information for searching for a processing rule that matches the received packet extracted from the received packet to the processing rule search condition generation unit 201. To output and request generation of processing rule search conditions (step S100).
  • the processing rule search condition generation information passed from the processing rule search unit 202 of the node 200 to the processing rule search condition generation unit 201 includes the following information.
  • Layer 3 source address and destination such as ARP (Address Resolution Protocol) If the protocol includes an address, the layer 3 source address and destination address can be acquired from the format of these protocols.
  • ARP Address Resolution Protocol
  • the layer 3 network address length when the layer 3 network address length is set in the VLAN ID field, the layer 3 network can be identified in the VLAN ID, IPv4 header, or IPv6 header. If there is an option header in which the address length or network address mask is set, the option header can be used.
  • the layer 3 network address length is set in the VLAN ID field, and the VLAN ID of the input frame is extracted as information for identifying the layer 3 network address.
  • the processing rule search condition generation unit 201 of the node 200 generates a processing rule search condition based on the processing rule search condition generation information passed from the processing rule search unit 202 (step S200).
  • Processing rule search condition generation processing by the processing rule search condition generation unit 201 is performed as follows.
  • the processing rule search condition generation unit 201 determines whether the destination address of layer 2 or layer 3 included in the processing rule search condition generation information passed from the processing rule search unit 202 is a link local multicast address (FIG. 6 step S201).
  • the destination address of layer 2 or layer 3 is a link local multicast address.
  • the destination address of layer 2 is the MAC address of FF: FF: FF: FF: FF: FF
  • the destination address of layer 3 Is 255.255.255.255
  • the layer 2 destination address is the MAC address of FF: FF: FF: FF: FF and the type is ARP.
  • the layer 2 destination address is a MAC address starting with the next 25 bits 0000 000001 0000 0000 1001 1110 0, and the layer 3 destination address is FF02 :: / 16.
  • step S201 If it is determined in step S201 that the layer 2 or layer 3 destination address is a link local multicast address (Yes in step S201), the processing rule search condition generation unit 201 can identify the layer 3 network address.
  • the network address of the layer 3 transmission source of the received packet is extracted using the information to be transmitted and the layer 3 transmission source address as necessary (step S202).
  • the VLAN ID is set to 24 as information enabling identification of the layer 3 network address
  • the source address of the layer 3 is 192.168.0.1 of the node 200A (in the case of ARP)
  • 192.168.0.0/24 is extracted as the network address of the layer 3 source.
  • IPv6 IPv6
  • the processing rule search condition generation unit 201 sets the layer 2 destination address as a wild card as the processing rule search condition, and transmits the layer 3 destination address extracted in step S202 in the layer 3 transmission.
  • the original network address is set (step S203).
  • step S201 when it is determined in step S201 that the destination address of layer 2 or layer 3 is not a link local multicast address (No in step S201), the processing rule search condition generation unit 201 is passed from the processing rule search unit 202. It is determined whether the destination address of layer 2 or layer 3 included in the information is a direct multicast address (step S204).
  • the destination address of layer 2 or layer 3 is a direct multicast address.
  • the destination address of layer 2 is the MAC address of FF: FF: FF: FF: FF: FF
  • the destination address of layer 3 is This is a case other than 255.255.255.255.
  • step S204 If it is determined in step S204 that the layer 2 or layer 3 destination address is a direct multicast address (Yes in step S204), the processing rule search condition generation unit 201 can identify the layer 3 network address.
  • the network address of the layer 3 destination of the received packet is extracted using the information and the layer 3 destination address as necessary (step S205).
  • the layer 3 destination network address Extract 192.168.0.0/24. Note that if the destination network address itself exists as information for identifying the layer 3 network address, it may be used as it is.
  • the processing rule search condition generation unit 201 sets the destination address of layer 2 as a wild card as the processing rule search condition, and the layer 3 destination of the received packet obtained by extracting the layer 3 destination address in step S205. To the network address (step S206).
  • processing rule search condition generation unit 201 uses the processing rule search condition generation information passed from the processing rule search unit for the processing rule search conditions not set in steps S203 and S206 as the processing rule search conditions. Setting is made (step S207). However, in the case of ARP and the like, the source address and destination address of layer 3 are extracted and added from the format of these protocols.
  • the link local multicast address or the direct multicast address is determined in any one of steps S201 and S204, and the MAC address 00: 11: 22: 33: 44 of the node 200A is set as the layer 2 source address.
  • AA a wild card for the layer 2 destination address
  • a network address 192.168.0.0/ for the layer 3 destination address for the node 3A Assume that a processing rule search condition of 24 is generated.
  • the processing rule search unit 202 that has received the processing rule search condition generated as described above from the processing rule search condition generation unit 201 uses the processing rule search condition to process the processing rule storage unit 203.
  • a processing rule that matches the processing rule search condition is searched from (step S300).
  • the destination address of layer 3 is included in the destination address of layer 3 of the processing rule search condition, or all processing rules having the destination address of layer 3 to be included are searched (Yes in step S350).
  • the processing rule search unit 202 passes the combination of the action of the processing rule having the matching rule that satisfies other conditions and the received packet to the flow processing unit 205.
  • the flow processing unit 205 outputs the received packet to the external node 300 or the other node 200 according to the received packet passed from the processing rule search unit 202 and its action as described above.
  • the data is output to the control device 100A through 206 or dropped (step S400). From the processing rule as shown in FIG. 1, no. When the entry of 3 is extracted, the received packet is output to the node 200B and the node 200C according to the action of these processing rules (multicast transfer).
  • step S350 when a processing rule that matches the processing rule search condition cannot be searched from the processing rule storage unit 203 (No in step S350), a request for setting a processing rule for the packet is made to the control device 100A (step S500). .
  • the processing rule is searched again, and packet processing is performed according to the set processing rule (steps S300 and S400).
  • the number of processing rules held in the processing rule storage unit 203 of the node 200 can be reduced.
  • the reason is that the existing processing rule can be used for forwarding without setting a processing rule for multicasting a packet whose destination address of layer 2 or 3 is a multicast address.
  • the processing apparatus 100A is requested to set a processing rule for the packet in step S500, but the packet is dropped without dropping the processing rule setting request, It is also possible to transfer the packet received by the control device 100A as a processing rule setting request to another node. Further, it is possible to terminate the packet received by the control device 100A in the processing rule setting request.
  • the processing rule search condition generation unit 201 receives the processing rule search condition generation information from the processing rule search unit 202 and generates the processing rule search condition.
  • the generation unit 201 obtains from the processing rule search unit 202 as processing rule search condition generation information at least from the above-described layer 2 source address and destination address, layer 3 source address and destination address (ARP format, etc.) And receiving part of the information that makes it possible to identify the network address of the layer 3 to generate a part of the processing rule search condition, and the part of the part received by the processing rule search part 202 from the processing rule search condition generation part 201
  • the processing rule search condition shall be generated by reflecting the processing rule search condition to the processing rule search condition generation information. It may be.
  • problems such as packet processing delay, network bandwidth pressure between the control device and the node, and increase in processing load on the control device can be reduced.
  • the processing rule for multicasting a packet whose destination address of layer 2 or layer 3 is a multicast address need not be set in the node 200.
  • the processing rule cannot be registered due to the limitation of the number of processing rules that can be held in the node 200, and the node 200 can register the multicast target packet to the control device 100A. There is no longer a request to set processing rules.
  • the example of the processing rule set in the node 200A is described in FIG. 4.
  • the processing rule includes a network address (or a prefix) in the source address and destination address of Layer 3 May be preset.
  • the node 200 can have a layer 3 address registered in the processing rule as described above and a table associated with the network address. In this way, even if the received packet does not have “information that makes it possible to identify the network address of layer 3”, by referring to the table in steps S202 and S205 in FIG. Similar processing can be performed.
  • step S202 in FIG. S203 can be set as “Generate processing rule search information condition using the layer 3 destination address as the layer 3 destination address having the same network address as the layer 3 transmission source network address of the received packet”.
  • a flag or the like that can identify that the layer 3 network address is the same is provided in an arbitrary field in the processing rule so that the processing rule having the same layer 3 network address can be easily searched. You may leave it.
  • step S204 direct broadcast can be dealt with by omitting the process of step S204 and adding the same change to step S205.
  • control device 100A has been described as having paths set for each of the three flows. However, when there are few processing rules set in the node, Of course, for the multicast target packet, the control apparatus 100A may be requested to set a processing rule. Further, the control device 100A that grasps the processing rules set in these nodes may set the necessary processing rules so that the individual nodes 200 can perform the above-described multicast transfer. In addition, the control device 100A determines the contents of the processing rules set in each node 200, and performs on / off control to determine whether or not to perform multicast transfer using the set processing rules described above. Also good.
  • the node includes a processing rule search condition generation unit (processing rule search condition generation unit) that generates a search condition for extracting a processing rule that matches a destination to be multicast,
  • processing rule search condition generation unit processing rule search condition generation unit
  • multicast processing is performed by extracting a processing rule having a matching rule that matches the search condition generated by the processing rule search condition generation unit.
  • the processing rule search condition generation unit searches for a processing rule having a matching rule whose layer 3 destination address matches the layer 3 network address of the packet source It is preferable to generate conditions.
  • the processing rule search condition generation unit generates a search condition for extracting a processing rule having a matching rule in which the destination address of the layer 3 matches the destination layer 3 network address when the destination address of the received packet is a direct multicast address. It is preferable to do.
  • [Form 5] As the node described in the second viewpoint.
  • the node is A processing rule search condition generation unit (processing rule search condition generation means) that generates a search condition for extracting a processing rule that matches a destination to be multicast;
  • processing rule search condition generation unit When the destination address of the received packet is an address indicating that it is a multicast target, multicast processing is performed by extracting a processing rule having a matching rule that matches the search condition generated by the processing rule search condition generation unit. Is preferred.
  • the processing rule search condition generation unit searches for a processing rule having a matching rule whose layer 3 destination address matches the layer 3 network address of the packet source It is preferable to generate conditions.
  • the processing rule search condition generation unit generates a search condition for extracting a processing rule having a matching rule in which the destination address of the layer 3 matches the destination layer 3 network address when the destination address of the received packet is a direct multicast address. It is preferable to do.
  • [Form 9] As in the packet transfer method according to the third aspect.
  • [Mode 10] As described in the program according to the fourth aspect. It should be noted that the packet transfer method and program can be expanded in the same manner as in Embodiments 2 to 4 for each component or step, as in the communication system of Embodiment 1. It should be noted that the disclosures of the above-described patent documents and non-patent documents are incorporated herein by reference.
  • Control device 200 100, 100A Control device 200, 200A to 200C Node 201 Processing rule search condition generation unit 202 Processing rule search unit 203 Processing rule storage unit 204 Processing rule management unit 205 Flow processing unit 206 Controller communication unit 300A to 300E External node

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

 通信端末の数やそれぞれの通信端末が利用する通信サービスの数が増えても、ノードや制御装置の負荷増大や処理遅延等を起こりにくくする。通信システムのノードは、各フローに属するパケットの転送先と前記フローを特定するための照合規則とを対応付けた処理規則を複数保持し、前記処理規則に従って受信パケットを転送するとともに、受信パケットの宛先アドレスがマルチキャスト対象であることを示すアドレスである場合、前記複数保持する処理規則を用いてマルチキャスト転送を行う。

Description

通信システム、ノード、パケット転送方法およびプログラム
 [関連出願についての記載]
 本発明は、日本国特許出願:特願2010-281473号(2010年12月17日出願)の優先権主張に基づくものであり、同出願の全記載内容は引用をもって本書に組み込み記載されているものとする。
 本発明は、通信システム、ノード、パケット転送方法およびプログラムに関し、特に、受信パケットに適合する処理規則に従って、受信パケットを処理するノードを用いて通信を実現する通信システム、ノード、パケット転送方法およびプログラムに関する。
 特許文献1、非特許文献1、2に示すとおり、近年、オープンフロー(OpenFlow)という技術が提案されている。オープンフローは、通信をエンドツーエンドのフローとして捉え、フロー単位で経路制御、障害回復、負荷分散、最適化を行うものである。転送ノードとして機能するオープンフロースイッチは、オープンフローコントローラとの通信用のセキュアチャネルを備え、オープンフローコントローラから適宜追加または書き換え指示されるフローテーブルに従って動作する。フローテーブルには、フロー毎に、パケットヘッダと照合する照合規則(マッチングルール)と、処理内容を定義したアクション(Actions)と、フロー統計情報(Stats)との組にしたフローエントリ(処理規則)が定義される(図7参照)。
 例えば、オープンフロースイッチは、最初のパケット(first packet)を受信すると、フローテーブルから、受信パケットのヘッダ情報に適合する照合規則(マッチングルール)を持つエントリを検索する。検索の結果、受信パケットに適合するエントリが見つかった場合、オープンフロースイッチは、受信パケットに対して、当該エントリのアクションフィールドに記述された処理内容を実施する。一方、前記検索の結果、受信パケットに適合するエントリが見つからなかった場合、オープンフロースイッチは、セキュアチャネルを介して、オープンフローコントローラに対して受信パケットを転送し、受信パケットの送信元・送信先に基づいたパケットの経路の決定を依頼(処理規則の設定依頼)し、これを実現するフローエントリを受け取ってフローテーブルを更新する。
国際公開第2008/095010号
Nick McKeownほか7名、"OpenFlow: Enabling Innovation in Campus Networks"、[online]、[平成22(2010)年11月22日検索]、インターネット〈URL:http://www.openflowswitch.org//documents/openflow-wp-latest.pdf〉 "OpenFlow Switch Specification" Version 1.0.0. (Wire Protocol 0x01) [平成22(2010)年11月22日検索]、インターネット〈URL:http://www.openflowswitch.org/documents/openflow-spec-v1.0.0.pdf〉
 以下の分析は、本発明によって与えられたものである。
 しかしながら、上記特許文献1、非特許文献1、2の技術では、通信をエンドツーエンドのフローとして捉えるため、各ノードに接続された通信端末等の数やそれぞれの通信端末が利用する通信サービスが増えるに従い、フローの数に応じた数の処理規則(上述のフローエントリに相当。)が必要になってしまう。
 また、上述のように通信端末の数やそれぞれの通信端末が利用する通信サービスが増大すると、ノードから制御装置に対する未知のパケット(上記オープンフローの場合におけるフローエントリがフローテーブルに無い場合に相当。)についての処理規則の設定依頼も増加してしまう。
 以上のように、特許文献1、非特許文献1、2に記載の技術では、通信端末の数やそれぞれの通信端末が利用する通信サービスの数が増えるに従い、ノードや制御装置の負荷が増大し、処理遅延等が起こりやすくなってしまうという問題点がある。
 上記の問題は、受信パケットがマルチキャストアドレスである場合にも同様に発生し、とりわけ、ノードが保持する処理規則の数や、制御装置に対する処理規則の設定依頼を飛躍的に増大させてしまう可能性がある。
 本発明の第1の視点によれば、各フローに属するパケットの転送先と前記フローを特定するための照合規則とを対応付けた処理規則を複数保持し、前記処理規則に従って受信パケットを転送するノードを含む通信システムであって、前記ノードは、受信パケットの宛先アドレスがマルチキャスト対象であることを示すアドレスである場合、前記複数保持する処理規則を用いてマルチキャスト転送を行う通信システムが提供される。
 本発明の第2の視点によれば、各フローに属するパケットの転送先と前記フローを特定するための照合規則とを対応付けた処理規則を複数保持し、前記処理規則に従って受信パケットを転送するとともに、受信パケットの宛先アドレスがマルチキャスト対象であることを示すアドレスである場合、前記複数保持する処理規則を用いてマルチキャスト転送を行うノードが提供される。
 本発明の第3の視点によれば、各フローに属するパケットの転送先と前記フローを特定するための照合規則とを対応付けた処理規則を複数保持し、前記処理規則に従って受信パケットを転送するノードにおけるパケット転送方法であって、受信パケットの宛先アドレスがマルチキャスト対象であることを示すアドレスであるか否かを確認するステップと、前記受信パケットの宛先アドレスがマルチキャスト対象であることを示すアドレスである場合、前記複数保持する処理規則を用いてマルチキャスト転送を行うステップと、を含むパケット転送方法が提供される。本方法は、制御装置から設定された処理規則に従って受信パケットを処理するノードという、特定の機械に結びつけられている。
 本発明の第4の視点によれば、各フローに属するパケットの転送先と前記フローを特定するための照合規則とを対応付けた処理規則を複数保持し、前記処理規則に従って受信パケットを転送するノードを構成するコンピュータに実行させるプログラムであって、受信パケットの宛先アドレスがマルチキャスト対象であることを示すアドレスであるか否かを確認する処理と、前記受信パケットの宛先アドレスがマルチキャスト対象であることを示すアドレスである場合、前記複数保持する処理規則を用いてマルチキャスト転送を行う処理と、を実行させるプログラムが提供される。なお、このプログラムは、コンピュータが読み取り可能な記憶媒体に記録することができる。即ち、本発明は、コンピュータプログラム製品として具現することも可能である。
 本発明によれば、通信端末の数やそれぞれの通信端末が利用する通信サービスの数が増えても、ノードや制御装置の負荷増大や処理遅延等を起こりにくくすることができる。
本発明の第1の実施形態の構成を表わした図である。 本発明の第1の実施形態のノードの構成を表わしたブロック図である。 本発明の第1の実施形態の制御装置によって設定された経路の例である。 図3のノード200Aに設定される処理規則の例である。 本発明の第1の実施形態のノードのパケット受信時の動作を表わした流れ図である。 図5の処理規則検索条件生成処理(ステップS200)の詳細を説明するための流れ図である。 非特許文献2に記載のフローエントリの構成を表した図である。
 はじめに本発明の一実施形態の概要について説明する。なお、この概要に付記した図面参照符号は、専ら理解を助けるための例示であり、図示の態様に限定することを意図するものではない。本発明は、その一実施形態において、各フローに属するパケットの転送先と前記フローを特定するための照合規則とを対応付けた処理規則を複数保持し、前記処理規則に従って受信パケットを転送するノードを含む通信システムにより実現できる。具体的には、前記ノードは、受信パケットの宛先アドレスがマルチキャスト対象であることを示すアドレスである場合、前記複数保持する処理規則を用いてマルチキャスト転送を行う。
 例えば、図3に示すように、3つのフローについてそれぞれ経路が設定されている場合において、新たに、ノード200Aが、これらの3つのフローに属さず、宛先アドレスがマルチキャスト対象であることを示すアドレスである受信パケットを新たに受信した場合、ノード200Aは、制御装置100Aへの処理規則の設定依頼は行わず、自装置が保持している処理規則を用いて、ノード200B、200Cへのマルチキャスト転送を行う。
 以上により、ノードに新しい処理規則を設定することなくマルチキャスト転送を実行することが可能になる。なお、上記したマルチキャスト転送において、ノードは自装置が保持している処理規則のすべてを用いる必要は無く、必要なものだけを選択することが可能である。その詳細については、以下の実施形態において説明する。
[第1の実施形態]
 続いて、本発明の第1の実施形態について図面を参照して詳細に説明する。図1は、本発明の第1の実施形態の通信システムの構成を表わした図である。
 図1を参照すると、複数のノード200A~200Cと、これらノードを制御する制御装置100Aと、が示されている。複数のノード200A~200Cには、外部ノード300A~300Eがそれぞれ接続されている。
 制御装置100Aは、これらのノード200A~200Cに対して、受信パケットに対する処理内容を定めた処理規則を設定することにより、外部ノード300A~300E間の通信を制御する。
 このような制御装置100Aとしては、オープンフロースイッチにフローエントリ(処理規則に相当。)を設定する非特許文献1、2のオープンフローコントローラを用いることが可能である。
 ノード200A~200Cは、外部ノード300A~300Eを含む他のノードからパケットを受信すると、制御装置100から設定された処理規則の中から、受信パケットに適合する照合規則を持つ処理規則を選択し、受信パケットの処理を行う。
 上記受信パケットの処理内容としては、ノード300A~300Eを含む他のノードや制御装置100への受信パケットの転送が設定されているものとする。なお、処理内容として、その他パケットのドロップ(廃棄)、ヘッダ書き換え等を適宜設定することも可能である。
 このようなノード200A~200Cとしては、オープンフローコントローラから設定されたフローエントリ(処理規則に相当。)に従って動作する非特許文献1、2のオープンフロースイッチに、後記するマルチキャスト転送機能を追加することによっても実現することができる。
 外部ノード300は、ノード200A~200Cのいずれかに接続し、他の外部ノード300と通信するユーザ端末等である。
 図2は、ノード200A~200C(以下、ノード200A~200Cを特に区別する必要が無いときは「ノード200」と記す。)の詳細構成を示すブロック図である。図2を参照すると、処理規則検索条件生成部201と、処理規則検索部202と、処理規則記憶部203と、処理規則管理部204と、フロー処理部205と、制御装置通信部206とを備えた構成が示されている。
 処理規則検索条件生成部201は、処理規則検索部202から渡される受信パケットまたは受信パケットから抽出した情報を基に、処理規則検索部202が処理規則記憶部203から受信パケットに適合するする処理規則を検索するための処理規則検索条件を生成し、生成した処理規則検索条件を処理規則検索部202に渡す。
 処理規則検索部202は、外部ノードや他のノードからパケットを受信すると、処理規則検索条件生成部201に、受信パケットまたは受信パケットから抽出した情報を出力し、処理規則検索条件の生成を依頼する。
 また、処理規則検索部202は処理規則検索条件生成部201から渡される処理規則検索条件を用いて、処理規則記憶部203を検索する。処理規則記憶部203に処理規則検索条件に適合する処理規則を抽出できた場合、処理規則検索部202は、処理規則検索条件に適合する処理規則に定められた処理内容(アクション)と受信パケットをフロー処理部205に渡す。
 なお、前記検索の結果、処理規則検索条件に適合する処理規則を抽出できた場合、処理規則検索部202が、当該処理規則のタイムアウト時間や統計情報などを更新するようにしてもよい。前記タイムアウト時間は、一定時間適合するパケットを受信しなかった処理規則の削除制御等に利用することができる。また、統計情報は、制御装置100がトラヒック状況を把握するための情報として用いることができる。
 処理規則記憶部203は、ノード200が受信パケットを処理するための処理規則を保持する。このような処理規則記憶部203は、非特許文献1、2のオープンフロースイッチのフローテーブルにより実現することもできる(図7参照)。
 処理規則管理部204は、制御装置通信部206を介して制御装置100から受信した指示に従い、処理規則記憶部203に保持された処理規則の追加・削除、参照等を行う。なお、前述のように、処理規則検索部202が当該処理規則のタイムアウト時間や統計情報などの更新を行っている場合、処理規則管理部204が、タイムアウトした処理規則の削除や統計情報の参照を行う、その結果を制御装置100に伝える処理を行う。
 フロー処理部205は処理規則検索部202または制御装置通信部206を通して制御装置100から渡される受信パケットとその処理内容(アクション)に従って受信パケットに対する処理を行う。
 制御装置通信部206は、制御装置100と、処理規則管理部204やフロー処理部205との中継を行う。
 なお、図2に示したノード200の各部(処理手段)は、ノード200を構成するコンピュータに、そのハードウェアを用いて、上記した各処理を実行させるコンピュータプログラムにより実現することもできる。
 以下の説明では、図3に示すように、制御装置100Aにより3つのフローについてそれぞれ経路が設定されているものとして説明する。
 図4は、図3のノード200Aに設定される処理規則の例である。No.1のエントリは、図3の一点鎖線で示した外部ノード300Aを送信元とし、外部ノード300Bを宛先とする経路を実現するための処理規則である。図4の例では、レイヤ2の送信元アドレスが外部ノード300Aのレイヤ2アドレス、レイヤ2の宛先アドレスが外部ノード300Bのレイヤ2アドレス、レイヤ3の送信元アドレスが外部ノード300Aのレイヤ3アドレス、レイヤ3の宛先アドレスが外部ノード300Bのレイヤ3アドレスからなる照合規則と、当該照合規則に適合するパケットをノード200Bに転送するという処理内容とが設定されている。
 同様に、図4のNo.2のエントリは、図3の破線で示した外部ノード300Aを送信元とし、外部ノード300Bを宛先とする経路を実現するための処理規則である。図4の例では、レイヤ2の送信元アドレスが外部ノード300Aのレイヤ2アドレス、レイヤ2の宛先アドレスが外部ノード300Cのレイヤ2アドレス、レイヤ3の送信元アドレスが外部ノード300Aのレイヤ3アドレス、レイヤ3の宛先アドレスが外部ノード300Cのレイヤ3アドレスからなる照合規則と、当該照合規則に適合するパケットをノード200Bに転送するという処理内容とが設定されている。
 同様に、図4のNo.3のエントリは、図3の実線で示した外部ノード300Aを送信元とし、外部ノード300D、300Eを宛先とする経路を実現するための処理規則である。図4の例では、レイヤ2のアドレスについては不問とし、レイヤ3の送信元アドレスが外部ノード300Aのレイヤ3アドレス、レイヤ3の宛先アドレスが外部ノード300D、300Eのレイヤ3アドレスを集約したアグリゲートアドレスであるパケットを抽出するための照合規則と、当該照合規則に適合するパケットをノード200Cに転送するという処理内容とが設定されている。
 なお、図4の照合規則のいずれにも適合しないパケットについては、制御装置100Aに受信パケットを転送し、処理規則の設定要求が行われる。なお、図4の照合規則は、本発明の理解を助けるための例であり、例えば、図7に示した入力ポート番号(In Port)、VLAN ID、レイヤ4のプロトコル番号、レイヤ4の送信元ポート番号や宛先ポート番号(TCP/UDP src port、TCP/UDP dst port)等を設定することができる。また、非特許文献2に記載されているように、任意のフィールドにワイルドカードを設定することもできる。
 なお、以下の説明では、外部ノード300A、300B、300Cのレイヤ2アドレスは、それぞれMAC(Media Access Control)アドレス「00:11:22:33:44:AA」、「00:11:22:33:44:BB」、「00:11:22:33:44:CC」であるものとする。
 また、外部ノード300A、300B、300Cのレイヤ3アドレスは、それぞれIPアドレス「192.168.0.1」、「192.168.0.2」、「192.168.0.3」であるものとする。また、外部ノード300D、300Eのレイヤ3アドレスは、IPアドレス「192.168.0.4」、「192.168.0.5」であり、これらを集約したアグリゲートアドレスは「192.168.0.4/31」であるものとする。
 続いて、本実施形態のノードの動作について説明する。以下、図5と図5のステップS200の詳細を表わした図6を参照して、本実施形態の動作について説明する。なお、以下の説明では、予め制御装置100Aから図3、図4に示す経路とこれに対応する処理規則が設定されているものとして説明する。
 図5を参照すると、まず、ノード200は、パケットを受信すると、受信パケットから抽出した受信パケットに適合する処理規則を検索するための処理規則検索条件生成情報を、処理規則検索条件生成部201に出力し、処理規則検索条件の生成を依頼する(ステップS100)。
 本実施形態では、ノード200の処理規則検索部202から処理規則検索条件生成部201に渡される処理規則検索条件生成情報には、以下の情報が含まれるものとする。
・レイヤ2の送信元アドレスと宛先アドレス
・レイヤ3の送信元アドレスと宛先アドレス
・レイヤ3のネットワークアドレスを識別可能にする情報
 なお、ARP(Address Resolution Protocol)等のレイヤ3の送信元アドレスと宛先アドレスが含まれているプロトコルである場合、これらのプロトコルのフォーマットから、レイヤ3の送信元アドレスと宛先アドレスを取得することができる。
 前記レイヤ3のネットワークアドレスを識別可能にする情報としては、例えば、VLAN IDフィールドにレイヤ3のネットワークアドレス長を設定することにしている場合はそのVLAN ID、IPv4ヘッダやIPv6ヘッダにレイヤ3のネットワークアドレス長やネットワークアドレスマスクが設定されているオプションヘッダが存在する場合はそのオプションヘッダを用いることができる。ここではVLAN IDフィールドに、レイヤ3のネットワークアドレス長が設定されているものとし、レイヤ3のネットワークアドレスを識別可能にする情報として入力フレームのVLAN IDを抽出するものとする。
 次に、ノード200の処理規則検索条件生成部201は、処理規則検索部202から渡された処理規則検索条件生成情報を基に処理規則検索条件を生成する(ステップS200)。
 処理規則検索条件生成部201による処理規則検索条件の生成処理は次のように行われる。
 まず、処理規則検索条件生成部201は、処理規則検索部202から渡された処理規則検索条件生成情報に含まれるレイヤ2やレイヤ3の宛先アドレスがリンクローカルマルチキャストアドレスであるかどうか判定する(図6のステップS201)。
 レイヤ2やレイヤ3の宛先アドレスがリンクローカルマルチキャストアドレスであるとは、IPv4の場合はレイヤ2の宛先アドレスがFF:FF:FF:FF:FF:FFのMACアドレスであり、レイヤ3の宛先アドレスが255.255.255.255である場合や、レイヤ2の宛先アドレスがFF:FF:FF:FF:FF:FFのMACアドレスでありタイプがARPである場合である。また、IPv6の場合はレイヤ2の宛先アドレスが次の25ビット0000 00001 0000 0000 1001 1110 0で始まるMACアドレスであり、レイヤ3の宛先アドレスがFF02::/16の場合である。
 ステップS201にて、レイヤ2やレイヤ3の宛先アドレスがリンクローカルマルチキャストアドレスであると判定した場合(ステップS201のYes)、処理規則検索条件生成部201は、上記レイヤ3のネットワークアドレスを識別可能にする情報と必要に応じてレイヤ3の送信元アドレスとを用いて、受信パケットのレイヤ3の送信元のネットワークアドレスを抽出する(ステップS202)。
 例えば、レイヤ3のネットワークアドレスを識別可能にする情報としてVLAN IDに24が設定されている場合に、レイヤ3の送信元アドレスがノード200Aの192.168.0.1であれば(ARPの場合はARPフォーマットよりレイヤ3の送信元アドレスを抽出すればよい)、レイヤ3の送信元のネットワークアドレスとして192.168.0.0/24を抽出する。IPv6の場合も同様である。なお、レイヤ3のネットワークアドレスを識別可能にする情報として、送信元のネットワークアドレスそのものが存在する場合はそれをそのまま用いればよい。
 次に、処理規則検索条件生成部201は、処理規則検索条件として、レイヤ2の宛先アドレスをワイルドカードに設定するとともに、レイヤ3の宛先アドレスを前記ステップS202で抽出した受信パケットのレイヤ3の送信元のネットワークアドレスに設定する(ステップS203)。
 一方、ステップS201にて、レイヤ2やレイヤ3の宛先アドレスがリンクローカルマルチキャストアドレスでないと判定した場合(ステップS201のNo)、処理規則検索条件生成部201は、処理規則検索部202から渡された情報に含まれるレイヤ2やレイヤ3の宛先アドレスがダイレクトマルチキャストアドレスであるかどうか判定する(ステップS204)。
 レイヤ2やレイヤ3の宛先アドレスがダイレクトマルチキャストアドレスであるとは、IPv4の場合はレイヤ2の宛先アドレスがFF:FF:FF:FF:FF:FFのMACアドレスであり、レイヤ3の宛先アドレスが255.255.255.255以外の場合である。
 ステップS204にて、レイヤ2やレイヤ3の宛先アドレスがダイレクトマルチキャストアドレスであると判定した場合(ステップS204のYes)、処理規則検索条件生成部201は、上記レイヤ3のネットワークアドレスを識別可能にする情報と必要に応じてレイヤ3の宛先アドレスとを用いて、受信パケットのレイヤ3の宛先のネットワークアドレスを抽出する(ステップS205)。
 例えば、レイヤ3のネットワークアドレスを識別可能にする情報としてVLAN IDに24が設定されている場合に、レイヤ3の宛先アドレスが192.168.0.255であればレイヤ3の宛先のネットワークアドレスとして192.168.0.0/24を抽出する。なお、レイヤ3のネットワークアドレスを識別可能にする情報として宛先のネットワークアドレスそのものが存在する場合はそれをそのまま用いればよい。
 次に、処理規則検索条件生成部201は、処理規則検索条件として、レイヤ2の宛先アドレスをワイルドカードに設定するとともに、レイヤ3の宛先アドレスを前記ステップS205で抽出した受信パケットのレイヤ3の宛先のネットワークアドレスに設定する(ステップS206)。
 最後に、処理規則検索条件生成部201は、処理規則検索条件として、ステップS203、S206で設定していない処理規則検索条件に対して処理規則検索部から渡された処理規則検索条件生成情報をそのまま設定する(ステップS207)。ただし、ARP等の場合はこれらプロトコルのフォーマットよりレイヤ3の送信元アドレスや宛先アドレスを抽出して追加する。
 以下の説明では、ステップS201、S204のいずれかにて、リンクローカルマルチキャストアドレスまたはダイレクトマルチキャストアドレスと判定されて、レイヤ2の送信元アドレスにノード200AのMACアドレス00:11:22:33:44:AA、レイヤ2の宛先アドレスにワイルドカード、レイヤ3の送信元アドレスにノード200AのIPv4アドレス192.168.0.1、レイヤ3の宛先アドレスをノード200Aのネットワークアドレス192.168.0.0/24とした処理規則検索条件が生成されたものとする。
 再度、図5を参照すると、上記のように生成された処理規則検索条件を処理規則検索条件生成部201から受け取った処理規則検索部202は、処理規則検索条件を用いて、処理規則記憶部203から処理規則検索条件に適合する処理規則を検索する(ステップS300)。このとき、レイヤ3の宛先アドレスに関しては処理規則検索条件のレイヤ3の宛先アドレスに包含され、または包含するレイヤ3の宛先アドレスを持つ処理規則すべてが検索される(ステップS350のYes)。
 そして、処理規則検索部202は、その他の条件も適合する照合規則を持つ処理規則のアクションと受信パケットとの組をフロー処理部205に渡す。
 図4の処理規則から上記した処理規則検索条件に適合する処理規則を検索すると、No.1、No.3のエントリが抽出されることになる。なお、図4には示されていないが、処理規則としてレイヤ3の宛先アドレスが192.168.0.0/16のエントリがあったとすると、その処理規則も抽出されることになる。
 フロー処理部205は、上記のように処理規則検索部202から渡される受信パケットとそのアクションに従って、受信パケットを、外部ノード300に出力したり、他のノード200に出力したり、制御装置通信部206を通して制御装置100Aに出力したり、ドロップしたりする(ステップS400)。図4のような処理規則からNo.1、No.3のエントリが抽出されている場合、これら処理規則のアクションに従ってノード200Bとノード200Cに受信パケットが出力される(マルチキャスト転送される)。
 他方、処理規則記憶部203から処理規則検索条件に適合する処理規則を検索できなかった場合(ステップS350のNo)、制御装置100Aに対し、パケットに対する処理規則の設定依頼が行われる(ステップS500)。制御装置100Aによる処理規則の設定が完了すると、その後、再度、処理規則の検索が行われて、前記設定された処理規則によるパケット処理が行われる(ステップS300、S400)。
 以上のように本実施形態によれば、ノード200の処理規則記憶部203に保持される処理規則の数を削減することが可能になる。その理由はレイヤ2やレイヤ3の宛先アドレスがマルチキャストアドレスであるパケットをマルチキャストするための処理規則をノード200に設定しなくても、既存の処理規則を用いて転送できるようにしたためである。
 なお、図5の流れ図ではステップS500において制御装置100Aに対しパケットに対する処理規則の設定依頼を行うものとして説明したが、処理規則の設定依頼は行わずに、パケットを廃棄(Drop)することや、制御装置100Aが処理規則の設定依頼で受け取ったパケットを他のノードに転送することも可能である。さらに、制御装置100Aが処理規則の設定依頼で受け取ったパケットを終端することも可能である。
 また、上記した実施形態の説明では、処理規則検索条件生成部201が処理規則検索部202から処理規則検索条件生成情報を受け取って処理規則検索条件を生成するものとして説明したが、処理規則検索条件生成部201が処理規則検索部202から、処理規則検索条件生成情報として、少なくとも、上記したレイヤ2の送信元アドレスと宛先アドレス、レイヤ3の送信元アドレスと宛先アドレス(ARPフォーマット等から取得できるものを含む。)、レイヤ3のネットワークアドレスを識別可能にする情報を受け取って処理規則検索条件の一部を生成し、処理規則検索部202が処理規則検索条件生成部201から受け取ったその一部の処理規則検索条件を処理規則検索条件生成情報に反映して処理規則検索条件を生成するものとしてもよい。
 また本実施形態によれば、パケット処理の遅延や、制御装置とノード間のネットワーク帯域の圧迫、制御装置の処理負荷の増大といった問題を軽減することができる。その理由は、上記のように、レイヤ2やレイヤ3の宛先アドレスがマルチキャストアドレスであるパケットをマルチキャストするための処理規則をノード200に設定しなくてよいようにしたことにある。また、また本実施形態によれば、ノード200に保持可能な処理規則の数の制限により処理規則を登録できないような状況が生じることもなく、ノード200が制御装置100Aにマルチキャスト対象のパケットについての処理規則の設定依頼することも無くなっている。
 以上、本発明の好適な実施形態を説明したが、本発明は、上記した実施形態に限定されるものではなく、本発明の基本的技術的思想を逸脱しない範囲で、更なる変形・置換・調整を加えることができる。例えば、上記した実施形態に示したノードの数は一例であって、その数に特に制限はない。
 また、上記した実施形態では、図4にノード200Aに設定される処理規則の例を用いて説明したが、レイヤ3の送信元アドレス、宛先アドレスにネットワークアドレス(プレフィックスでも可)を含めた処理規則を事前設定しておいてもよい。
 また、ノード200に、上記のような処理規則に登録されているレイヤ3のアドレスと、そのネットワークアドレスと関連付けたテーブルを持たせることも可能である。このようにすることで、受信パケットに、レイヤ3のネットワークアドレスを識別可能にする情報」がなくても、図6のステップS202、S205において、前記テーブルを参照することで、上記した実施形態と同様の処理を行うことが可能になる。
 また、レイヤ3の送信元アドレス、宛先アドレスにネットワークアドレス(プレフィックスでも可)を含めた処理規則を事前設定しておいた場合、ローカルブロードキャストの場合は図6のステップS202の処理を省略し、ステップS203を「レイヤ3の宛先アドレスを、受信パケットのレイヤ3の送信元のネットワークアドレスと同じネットワークアドレスを持つレイヤ3の宛先アドレスとした処理規則検索情条件を生成」とすることができる。
 なお、この場合、処理規則中の任意のフィールドに、レイヤ3のネットワークアドレスが同一であることを識別可能なフラグなどを設け、レイヤ3のネットワークアドレスが同一である処理規則を簡単に検索できるようにしておいてもよい。
 同様に、ダイレクトブロードキャストの場合も、ステップS204の処理を省略し、ステップS205に同様の変更を加えることで対応することが可能である。
 また、上記した実施形態では、図3に示すように、制御装置100Aにより3つのフローについてそれぞれ経路が設定されているものとして説明したが、ノードに設定されている処理規則が少ない場合には、マルチキャスト対象パケットについても、制御装置100Aに処理規則の設定依頼を行うようにしてもよいことはもちろんである。また、これらのノードに設定されている処理規則を把握する制御装置100Aが、個々のノード200が上記したマルチキャスト転送ができるよう必要な処理規則を設定するようにしてもよい。また、制御装置100Aが、個々のノード200に設定されている処理規則の内容を判断した上で、上記した設定済みの処理規則を用いたマルチキャスト転送を行うか否かをオンオフ制御するようにしてもよい。
 その他、ループ対策として、マルチキャスト転送を行う前に、ループ検出用にヘッダを書き換え、前記ヘッダが書き換えられたパケットの受信によりループが検出された場合には、該当パケットを破棄する処理規則を設定しておくことなども可能である。
 最後に、本発明の好ましい形態を要約する。
[形態1]
 前記第1の視点に記載の通信システムのとおり。
[形態2]
 前記ノードは、マルチキャストすべき宛先に適合する処理規則を抽出する検索条件を生成する処理規則検索条件生成部(処理規則検索条件生成手段)を備え、
 受信パケットの宛先アドレスがマルチキャスト対象であることを示すアドレスである場合、前記処理規則検索条件生成部にて生成された検索条件に適合する照合規則を持つ処理規則を抽出してマルチキャスト転送を行うことが好ましい。
[形態3]
 前記処理規則検索条件生成部は、受信パケットの宛先アドレスがリンクローカルマルチキャストアドレスである場合、レイヤ3の宛先アドレスがパケット送信元のレイヤ3ネットワークアドレスに一致する照合規則を持つ処理規則を抽出する検索条件を生成することが好ましい。
[形態4]
 前記処理規則検索条件生成部は、受信パケットの宛先アドレスがダイレクトマルチキャストアドレスである場合、レイヤ3の宛先アドレスが宛先のレイヤ3ネットワークアドレスに一致する照合規則を持つ処理規則を抽出する検索条件を生成することが好ましい。
[形態5]
 前記第2の視点に記載のノードのとおり。
[形態6]
 前記ノードは、
 マルチキャストすべき宛先に適合する処理規則を抽出する検索条件を生成する処理規則検索条件生成部(処理規則検索条件生成手段)を備え、
 受信パケットの宛先アドレスがマルチキャスト対象であることを示すアドレスである場合、前記処理規則検索条件生成部にて生成された検索条件に適合する照合規則を持つ処理規則を抽出してマルチキャスト転送を行うことが好ましい。
[形態7]
 前記処理規則検索条件生成部は、受信パケットの宛先アドレスがリンクローカルマルチキャストアドレスである場合、レイヤ3の宛先アドレスがパケット送信元のレイヤ3ネットワークアドレスに一致する照合規則を持つ処理規則を抽出する検索条件を生成することが好ましい。
[形態8]
 前記処理規則検索条件生成部は、受信パケットの宛先アドレスがダイレクトマルチキャストアドレスである場合、レイヤ3の宛先アドレスが宛先のレイヤ3ネットワークアドレスに一致する照合規則を持つ処理規則を抽出する検索条件を生成することが好ましい。
[形態9]
 前記第3の視点に記載のパケット転送方法のとおり。
[形態10]
 前記第4の視点に記載のプログラムのとおり。
 なお、パケット転送方法、プログラムは、形態1の通信システムと同様に、それぞれの構成要素ないしステップについて、形態2~形態4と同様に展開することが可能である。
 なお、上記の特許文献および非特許文献の各開示を、本書に引用をもって繰り込むものとする。本発明の全開示(請求の範囲を含む)の枠内において、さらにその基本的技術思想に基づいて、実施形態ないし実施例の変更・調整が可能である。また、本発明の請求の範囲の枠内において種々の開示要素(各請求項の各要素、各実施形態ないし実施例の各要素、各図面の各要素等を含む)の多様な組み合わせ、ないし選択が可能である。すなわち、本発明は、請求の範囲を含む全開示、技術的思想にしたがって当業者であればなし得るであろう各種変形、修正を含むことは勿論である。
 100、100A 制御装置
 200、200A~200C ノード
 201 処理規則検索条件生成部
 202 処理規則検索部
 203 処理規則記憶部
 204 処理規則管理部
 205 フロー処理部
 206 制御装置通信部
 300A~300E 外部ノード

Claims (10)

  1.  各フローに属するパケットの転送先と前記フローを特定するための照合規則とを対応付けた処理規則を複数保持し、前記処理規則に従って受信パケットを転送するノードを含む通信システムであって、
     前記ノードは、受信パケットの宛先アドレスがマルチキャスト対象であることを示すアドレスである場合、前記複数保持する処理規則を用いてマルチキャスト転送を行う通信システム。
  2.  前記ノードは、マルチキャストすべき宛先に適合する処理規則を抽出する検索条件を生成する処理規則検索条件生成部を備え、
     受信パケットの宛先アドレスがマルチキャスト対象であることを示すアドレスである場合、前記処理規則検索条件生成部にて生成された検索条件に適合する照合規則を持つ処理規則を抽出してマルチキャスト転送を行う請求項1の通信システム。
  3.  前記処理規則検索条件生成部は、受信パケットの宛先アドレスがリンクローカルマルチキャストアドレスである場合、レイヤ3の宛先アドレスがパケット送信元のレイヤ3ネットワークアドレスに一致する照合規則を持つ処理規則を抽出する検索条件を生成する請求項1または2の通信システム。
  4.  前記処理規則検索条件生成部は、受信パケットの宛先アドレスがダイレクトマルチキャストアドレスである場合、レイヤ3の宛先アドレスが宛先のレイヤ3ネットワークアドレスに一致する照合規則を持つ処理規則を抽出する検索条件を生成する請求項1から3いずれか一の通信システム。
  5.  各フローに属するパケットの転送先と前記フローを特定するための照合規則とを対応付けた処理規則を複数保持し、前記処理規則に従って受信パケットを転送するとともに、
     受信パケットの宛先アドレスがマルチキャスト対象であることを示すアドレスである場合、前記複数保持する処理規則を用いてマルチキャスト転送を行うノード。
  6.  マルチキャストすべき宛先に適合する処理規則を抽出する検索条件を生成する処理規則検索条件生成部を備え、
     受信パケットの宛先アドレスがマルチキャスト対象であることを示すアドレスである場合、前記処理規則検索条件生成部にて生成された検索条件に適合する照合規則を持つ処理規則を抽出してマルチキャスト転送を行う請求項5のノード。
  7.  前記処理規則検索条件生成部は、受信パケットの宛先アドレスがリンクローカルマルチキャストアドレスである場合、レイヤ3の宛先アドレスがパケット送信元のレイヤ3ネットワークアドレスに一致する照合規則を持つ処理規則を抽出する検索条件を生成する請求項5または6のノード。
  8.  前記処理規則検索条件生成部は、受信パケットの宛先アドレスがダイレクトマルチキャストアドレスである場合、レイヤ3の宛先アドレスが宛先のレイヤ3ネットワークアドレスに一致する照合規則を持つ処理規則を抽出する検索条件を生成する請求項5から7いずれか一のノード。
  9.  各フローに属するパケットの転送先と前記フローを特定するための照合規則とを対応付けた処理規則を複数保持し、前記処理規則に従って受信パケットを転送するノードにおけるパケット転送方法であって、
     受信パケットの宛先アドレスがマルチキャスト対象であることを示すアドレスであるか否かを確認するステップと、
     前記受信パケットの宛先アドレスがマルチキャスト対象であることを示すアドレスである場合、前記複数保持する処理規則を用いてマルチキャスト転送を行うステップと、を含むパケット転送方法。
  10.  各フローに属するパケットの転送先と前記フローを特定するための照合規則とを対応付けた処理規則を複数保持し、前記処理規則に従って受信パケットを転送するノードを構成するコンピュータに実行させるプログラムであって、
     受信パケットの宛先アドレスがマルチキャスト対象であることを示すアドレスであるか否かを確認する処理と、
     前記受信パケットの宛先アドレスがマルチキャスト対象であることを示すアドレスである場合、前記複数保持する処理規則を用いてマルチキャスト転送を行う処理と、
     を実行させるプログラム。
PCT/JP2011/079303 2010-12-17 2011-12-19 通信システム、ノード、パケット転送方法およびプログラム WO2012081721A1 (ja)

Priority Applications (5)

Application Number Priority Date Filing Date Title
US13/994,463 US20130259044A1 (en) 2010-12-17 2011-12-19 Communication system, node, packet forwarding method and program
CN201180060672.6A CN103262479B (zh) 2010-12-17 2011-12-19 通信系统、节点、分组转发方法
KR1020137018796A KR101500251B1 (ko) 2010-12-17 2011-12-19 통신 시스템, 노드, 패킷 전송 방법 및 프로그램을 기록한 컴퓨터 판독가능 기록 매체
EP11848531.7A EP2654251A1 (en) 2010-12-17 2011-12-19 Communication system, node, packet transfer method and program
JP2012548861A JP5534033B2 (ja) 2010-12-17 2011-12-19 通信システム、ノード、パケット転送方法およびプログラム

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2010-281473 2010-12-17
JP2010281473 2010-12-17

Publications (1)

Publication Number Publication Date
WO2012081721A1 true WO2012081721A1 (ja) 2012-06-21

Family

ID=46244811

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2011/079303 WO2012081721A1 (ja) 2010-12-17 2011-12-19 通信システム、ノード、パケット転送方法およびプログラム

Country Status (6)

Country Link
US (1) US20130259044A1 (ja)
EP (1) EP2654251A1 (ja)
JP (2) JP5534033B2 (ja)
KR (1) KR101500251B1 (ja)
CN (1) CN103262479B (ja)
WO (1) WO2012081721A1 (ja)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011512393A (ja) * 2008-02-22 2011-04-21 アセラ・バイオテクノロジーズ・アーベー 再狭窄の予防または治療のための化合物および方法
KR101501242B1 (ko) * 2014-05-26 2015-03-12 주식회사 파이오링크 오픈플로우에 기반하여 네트워크를 병합하기 위한 방법, 장치 및 컴퓨터 판독 가능한 기록 매체
KR101501892B1 (ko) * 2014-05-26 2015-03-12 주식회사 파이오링크 오픈플로우에 기반하여 서비스에 적합한 네트워크를 선택하기 위한 방법, 장치 및 컴퓨터 판독 가능한 기록 매체
GB2532055B (en) * 2014-11-07 2016-12-14 Ibm Sticky and transient markers for a packet parser
WO2016140696A1 (en) * 2015-03-02 2016-09-09 Hewlett Packard Enterprise Development Lp Controlling an unknown flow inflow to an sdn controller in a software defined network (sdn)
CN109379286B (zh) * 2018-12-25 2020-12-01 中国科学院沈阳自动化研究所 一种基于Handle标识的数据转发系统

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002247086A (ja) * 2001-02-14 2002-08-30 Nec Corp ルータとそのパケット交換方法、及びパケット交換プログラム
WO2008095010A1 (en) 2007-02-01 2008-08-07 The Board Of Trustees Of The Leland Stanford Jr. University Secure network switching infrastructure
JP2009004930A (ja) * 2007-06-20 2009-01-08 Alaxala Networks Corp シェーピング装置およびルータ装置

Family Cites Families (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6850531B1 (en) * 1999-02-23 2005-02-01 Alcatel Multi-service network switch
US6791980B1 (en) * 1999-10-28 2004-09-14 Nortel Networks Ltd System, device, and method for reducing the number of multicast routes maintained in a multicast routing information base
KR100425020B1 (ko) * 2001-11-26 2004-03-27 주식회사 케이티프리텔 명시적 멀티캐스트의 터널링 서비스 방법 및 장치
US7881291B2 (en) * 2005-05-26 2011-02-01 Alcatel Lucent Packet classification acceleration using spectral analysis
JP4772053B2 (ja) * 2005-08-04 2011-09-14 パナソニック株式会社 送信装置および送信レート制御方法
CN100596094C (zh) * 2005-12-31 2010-03-24 华为技术有限公司 多点到多点的业务实现方法及交换设备
EP2036283B1 (en) * 2006-06-27 2015-10-21 Thomson Licensing Method and apparatus for reliably delivering multicast data
KR100811890B1 (ko) * 2006-09-29 2008-03-10 한국전자통신연구원 인터넷 시스템에서 서비스 플로우를 보장하는 애니캐스트라우팅 방법 및 장치
JP4867806B2 (ja) * 2007-06-15 2012-02-01 株式会社日立製作所 通信システム、サーバ、制御装置および通信装置
WO2009089761A1 (fr) * 2008-01-09 2009-07-23 Huawei Technologies Co., Ltd. Procédé, système pour la mise en oeuvre d'une commutation de suivi de routage de multidiffusion dans des deuxième et troisième couches, et routeur
US8270290B2 (en) * 2008-12-19 2012-09-18 Rockstar Bidco, LP Resilient attachment to provider link state bridging (PLSB) networks
JP5408243B2 (ja) * 2009-03-09 2014-02-05 日本電気株式会社 OpenFlow通信システムおよびOpenFlow通信方法
US8681668B2 (en) * 2009-10-09 2014-03-25 Media Patents, S.L. Methods and apparatus for transmitting multicast traffic in a data network
CN101699886B (zh) * 2009-10-20 2012-02-08 清华大学 多连接移动节点在代理移动IPv6中的流绑定方法
US8750164B2 (en) * 2010-07-06 2014-06-10 Nicira, Inc. Hierarchical managed switch architecture
CN101883055B (zh) * 2010-07-19 2013-11-20 福建星网锐捷网络有限公司 路由转发表容量扩展实现方法、装置及交换设备
CN101917290B (zh) * 2010-08-12 2012-09-05 北京星网锐捷网络技术有限公司 标签交换路径故障处理方法、装置及网络设备
US9887728B2 (en) * 2011-02-03 2018-02-06 The Board Of Trustees Of The Leland Stanford Junior University Single channel full duplex wireless communications

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002247086A (ja) * 2001-02-14 2002-08-30 Nec Corp ルータとそのパケット交換方法、及びパケット交換プログラム
WO2008095010A1 (en) 2007-02-01 2008-08-07 The Board Of Trustees Of The Leland Stanford Jr. University Secure network switching infrastructure
JP2009004930A (ja) * 2007-06-20 2009-01-08 Alaxala Networks Corp シェーピング装置およびルータ装置

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
NICK MCKEOWN, OPENFLOW: ENABLING INNOVATION IN CAMPUS NETWORKS, 22 November 2010 (2010-11-22), Retrieved from the Internet <URL:http://www.openflowswitch.org/documents/openflow-wp-latest.pdf>
OPENFLOW SWITCH SPECIFICATION, 22 November 2010 (2010-11-22), Retrieved from the Internet <URL:http://www.openflowswitch.org/documents/openflow-spec-vl.0.0.pdf>
YASUNOBU CHIBA ET AL.: "A Proposal of Flow Entry Reduction Scheme for Flow-based Networks and Its Implementation on OpenFlow-based Network", IEICE TECHNICAL REPORT, vol. 109, no. 448, 25 February 2010 (2010-02-25), pages 7 - 12, XP008168095 *

Also Published As

Publication number Publication date
CN103262479B (zh) 2016-08-10
KR20130099199A (ko) 2013-09-05
JP5534033B2 (ja) 2014-06-25
US20130259044A1 (en) 2013-10-03
CN103262479A (zh) 2013-08-21
EP2654251A1 (en) 2013-10-23
JPWO2012081721A1 (ja) 2014-05-22
JP5725236B2 (ja) 2015-05-27
KR101500251B1 (ko) 2015-03-06
JP2014161098A (ja) 2014-09-04

Similar Documents

Publication Publication Date Title
EP2544417B1 (en) Communication system, path control apparatus, packet forwarding apparatus and path control method
US10541920B2 (en) Communication system, communication device, controller, and method and program for controlling forwarding path of packet flow
US8780836B2 (en) Network system, controller, and network control method
JP5874726B2 (ja) 通信制御システム、制御サーバ、転送ノード、通信制御方法および通信制御プログラム
JP5621778B2 (ja) コンテンツベーススイッチシステム、及びコンテンツベーススイッチ方法
JP5800019B2 (ja) 通信経路制御システム、経路制御装置、通信経路制御方法および経路制御プログラム
US20120170477A1 (en) Computer, communication system, network connection switching method, and program
US20130282867A1 (en) Information system, control apparatus, method of providing virtual network, and program
JP5725236B2 (ja) 通信システム、ノード、パケット転送方法およびプログラム
JP2012090058A (ja) 通信システム、制御装置、処理規則の設定方法およびプログラム
US20130195110A1 (en) Communication system, control device, method for setting processing rules, and program
US10069648B2 (en) Communication system, control apparatus, communication control method and program
JP5858141B2 (ja) 制御装置、通信装置、通信システム、通信方法及びプログラム
WO2014017631A1 (ja) 制御装置、通信システム、通信方法及びプログラム
JPWO2013039083A1 (ja) 通信システム、制御装置および通信方法
JPWO2014112616A1 (ja) 制御装置、通信装置、通信システム、スイッチの制御方法及びプログラム
US20150256455A1 (en) Communication system, path information exchange apparatus, communication node, forwarding method for path information and program
US20150381775A1 (en) Communication system, communication method, control apparatus, control apparatus control method, and program
JP5854488B2 (ja) 通信システム、制御装置、処理規則の設定方法およびプログラム
JP6314970B2 (ja) 通信システム、制御装置、通信方法およびプログラム
WO2014142081A1 (ja) 転送ノード、制御装置、通信システム、パケット処理方法及びプログラム

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 11848531

Country of ref document: EP

Kind code of ref document: A1

ENP Entry into the national phase

Ref document number: 2012548861

Country of ref document: JP

Kind code of ref document: A

WWE Wipo information: entry into national phase

Ref document number: 13994463

Country of ref document: US

NENP Non-entry into the national phase

Ref country code: DE

REEP Request for entry into the european phase

Ref document number: 2011848531

Country of ref document: EP

ENP Entry into the national phase

Ref document number: 20137018796

Country of ref document: KR

Kind code of ref document: A