Each of Non Patent Literatures 1 and 2 describes a network architecture referred to as “OpenFlow”. The OpenFlow is a network architecture where a control apparatus referred to as an OpenFlow controller controls an OpenFlow switch. In the OpenFlow, a packet forwarding function to be played by the OpenFlow switch and a path control function to be played by the OpenFlow controller are separated according to a flow control protocol. Then, the controller performs control over the OpenFlow switch, using a unified Application Program Interface (API). In the OpenFlow, packet control is performed for each flow used as a granularity of the control, in order to achieve a high speed data path and to reduce cost for the control.
The above-mentioned OpenFlow switch (which may be hereinafter written as an “OFS”) includes a secure channel for communication with the OpenFlow controller and a flow table in which appropriate addition or rewriting is instructed from the OpenFlow controller. In the flow table, a set of a matching rule (Header Fields/matching rule) to be matched against a packet header, flow statistical information (Counters), and actions (Actions) defining processing contents is defined for each flow (see “3. Flow Table” on page 2 of Non Patent Literature 2).
FIG. 8 is an explanatory diagram showing a packet handling operation (flow entry) stored in the flow table. (Exact) values each for determining whether or not there is a match and wildcards (wild cards) can be set in respective fields of the matching rule (Header Fields/matching rule).
Details of the respective fields in FIG. 8 are described in “Table 3” on page 4 of Non Patent Literature 2. Each field in FIG. 8 can be associated with each layer of a hierarchical model, as shown in FIG. 9.
FIG. 10 illustrates names of actions and contents of the actions defined in Non Patent Literature 2. OUTPUT is an action for outputting a packet to a specified port (interface). SET_VLAN_VID down to SET_TP_DST are actions for modifying the fields of the packet header. When a code of “SET_DL_DST” is set in an action field, for example, a process of “updating the MAC DA (of a destination apparatus) of a packet matching the packet handling operation (flow entry)” is performed.
The Flow statistical information (Counters) in FIG. 8 includes the counters that record the numbers of packets and the number of bytes for each flow and the number of packets and the number of bytes for each port and an elapsed period of time (session continuation time: duration) since the packet was last received. The flow statistical information is used for determining whether or not the packet handling operation (flow entry) is to be deleted or not (see “Table 4” in Non Patent Literature 2).
When the OpenFlow switch receives a first packet (first packet), for example, the OpenFlow switch searches the flow table for a packet handling operation (flow entry) having a matching rule that matches header information of the received packet. When the packet handling operation (flow entry) matching the received packet is found as a result of the search, the OpenFlow switch executes processing content described in the action field of the entry on the received packet. On the other hand, when the packet handling operation (flow entry) having the matching rule that matches the received packet is not found as a result of the search, the OpenFlow switch forwards information on the received packet (or the received packet itself) to the OpenFlow controller via a secure channel, asks the OpenFlow controller to determine a packet path based on the transmission source and the transmitting destination of the received packet, receives a flow entry that implements this path to update the flow table. Thereafter, when the OpenFlow switch receives a packet matching the added packet handling operation (flow entry), the OpenFlow switch can execute the corresponding processing content without making an inquiry to the OpenFlow controller.
A message to be exchanged between the OpenFlow switch and the OpenFlow controller over the secure channel is described in “4 Secure Channel” on page 9 of Non Patent Literature 2. The OpenFlow controller in the above-mentioned Patent Literatures 1 and 2 collects flow statistical information (Counters) from the OpenFlow switch that operates as described above, dynamically sets a path (flow entry (packet handling operation) that implements the path) for each OpenFlow switch according to the communication policy and the current load state of the network. The OpenFlow controller can thereby perform path control, load distribution, and the like according to the communication policy.
Patent Literatures 1 and 2 and Non Patent Literatures 3 to 5 are literatures that disclose a technology for implementing tunneling by encapsulation. Patent Literatures 3 and 4 are literatures that implement tunneling by header rewriting without using encapsulation. Relevance of these literatures with the present invention will be described later.
[Patent Literature 1]
    International Publication No. WO2003/043276[Patent Literature 2]    JP Patent Kokai Publication No. JP2007-267426A[Patent Literature 3]    JP Patent Kokai Publication No. JP2006-42044A[Patent Literature 4]    JP Patent Kokai Publication No. JP2006-245785A[Non Patent Literature 1]    Nick McKeown and seven other authors, “OpenFlow: Enabling Innovation in Campus Networks”, [on line], [Searched on July 26, Heisei 22 (2010)], Internet <URL: http://wwvv.openflowswitch.org//documents/openflow-wp-latest.pdf>[Non Patent Literature 2]    “OpenFlow Switch Specification” Version 1.0.0 (Wire Protocol 0x01), [online], [Searched on July 26, Heisei 22 (2010)], Internet <URL: http://www.openflowswiteh.org/documents/openflow-spec-v1.0.0.pdf>[Non Patent Literature 3]    W. Townsley and five other authors, “Layer Two Tunneling Protocol “L2TP””, “Network Working Group, Request for Comments: 2661, IETF, August 1999[Non Patent Literature 4]    S. Hanks and three other authors, “Generic Routing Encapsulation”, Network Working Group, Request for Comments: 1701, IETF, October 1994[Non Patent Literature 5]    L. Martini, Ed. and three other authors, “Encapsulation Methods for Transport of Ethernet over MPLS Networks”, Network Working Group, Request for Comments: 4448, IETF, April 2006