WO2012133060A1 - ネットワークシステム、及びvlanタグ情報取得方法 - Google Patents

ネットワークシステム、及びvlanタグ情報取得方法 Download PDF

Info

Publication number
WO2012133060A1
WO2012133060A1 PCT/JP2012/057218 JP2012057218W WO2012133060A1 WO 2012133060 A1 WO2012133060 A1 WO 2012133060A1 JP 2012057218 W JP2012057218 W JP 2012057218W WO 2012133060 A1 WO2012133060 A1 WO 2012133060A1
Authority
WO
WIPO (PCT)
Prior art keywords
flow
packet
switch
network
information
Prior art date
Application number
PCT/JP2012/057218
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 CN201280015003.1A priority Critical patent/CN103460666B/zh
Priority to RU2013143626/08A priority patent/RU2589340C2/ru
Priority to JP2013507436A priority patent/JPWO2012133060A1/ja
Priority to EP12763952.4A priority patent/EP2693708B1/en
Priority to US14/007,341 priority patent/US9608908B2/en
Priority to KR1020137025242A priority patent/KR20130125826A/ko
Publication of WO2012133060A1 publication Critical patent/WO2012133060A1/ja

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • 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]
    • H04L12/46Interconnection of networks
    • H04L12/4641Virtual LANs, VLANs, e.g. virtual private networks [VPN]
    • 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]
    • H04L12/46Interconnection of networks
    • H04L12/4641Virtual LANs, VLANs, e.g. virtual private networks [VPN]
    • H04L12/4645Details on frame tagging
    • H04L12/4666Operational details on the addition or the stripping of a tag in a frame, e.g. at a provider edge node
    • 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
    • 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]
    • H04L12/46Interconnection of networks
    • H04L12/4641Virtual LANs, VLANs, e.g. virtual private networks [VPN]
    • H04L12/4645Details on frame tagging
    • H04L12/465Details on frame tagging wherein a single frame includes a plurality of VLAN tags

Definitions

  • the present invention relates to a network system, and more particularly to a VLAN tag information acquisition method in an OpenFlow network.
  • the conventional network device is a black box and cannot perform flexible control such as load distribution or offset from the outside. For this reason, when the scale of the network becomes large, it becomes difficult to understand and improve the behavior of the system, and there has been a problem that design and configuration changes are accompanied by a great cost.
  • a technique for separating the packet transfer function and the path control function of the network device is considered.
  • the network device is in charge of the packet transfer function
  • the control device in charge of the path control function outside the network device is in charge, thereby making it easy to control and building a flexible network.
  • CD-separated network A CD (C: control plane / D: data plane) separation type network that controls a data plane side node device from a control plane side control device has been proposed as one of the networks having separated functions.
  • An example of a CD separation type network is an open flow network (OF-NW) using an open flow (OpenFlow) technology that controls a switch from a controller to control a network path.
  • OpenFlow open flow
  • the details of the open flow technique are described in Non-Patent Document 1.
  • the OpenFlow network (OF-NW) is only an example.
  • an OpenFlow Controller (OFC) corresponding to a control device is a flow table (Flow table) related to path control of an OpenFlow Switch (OFS: OpenFlow Switch) corresponding to a node device. To control the behavior of the open flow switch (OFS).
  • OFS OpenFlow Switch
  • controller the OpenFlow controller
  • OFS OpenFlow switch
  • the controller and the switch are connected by a control channel (secure communication channel) called “secure channel” which is a communication path protected by a dedicated line, SSL (Secure Socket Layer), or the like.
  • secure channel a control channel protected by a dedicated line, SSL (Secure Socket Layer), or the like.
  • the controller and the switch transmit and receive an OpenFlow message (OpenFlow Message) that is a control message conforming to (compliant with) the OpenFlow protocol (OpenFlow Protocol) via the control channel.
  • OpenFlow Protocol OpenFlow Protocol
  • the switches in the OpenFlow network are edge switches and core switches that are arranged in the OpenFlow network (OF-NW) and are under the control of the controller.
  • a series of packet flows from reception of a packet at the ingress edge switch (Ingress) to transmission at the egress edge switch (Egress) in the open flow network (OF-NW) is called a flow.
  • communication is regarded as an end-to-end (E2E: End to End) flow, and path control, failure recovery, load distribution, and optimization are performed in units of flow.
  • the packet may be read as a frame.
  • the difference between a packet and a frame is only the difference in the data unit (PDU: Protocol Data Unit) handled by the protocol.
  • the packet is a PDU of “TCP / IP” (Transmission Control Protocol / Internet Protocol).
  • the frame is a PDU of “Ethernet (registered trademark)” (Ethernet).
  • a flow table is a set of determination conditions (rules) for identifying packets handled as a flow, statistical information indicating the number of times a packet matches (matches) a rule, and processing contents (actions) to be performed on the packet. This is a set of flow entries that define.
  • the flow entry rule is defined by various combinations using any or all of information of each protocol layer included in the header area (field) of the packet, and can be distinguished.
  • a transmission destination address (Destination Address), a transmission source address (Source Address), a transmission destination port (Destination Port), a transmission source port (Source Port), and the like can be considered.
  • the above address includes a MAC address (Media Access Control Address) and an IP address (Internet Protocol Address).
  • information on the ingress port (Ingress Port) can also be used as a rule for the flow entry.
  • a part (or all) of a header area value of a packet handled as a flow can be set by a regular expression, a wild card “*”, or the like.
  • the action of the flow entry indicates operations such as “output to a specific port”, “discard”, and “rewrite header”. For example, if the identification information (output port number, etc.) of the output port is indicated in the action of the flow entry, the switch outputs a packet to the corresponding port, and if the identification information of the output port is not indicated , Discard the packet. Alternatively, if the header information is indicated in the action of the flow entry, the switch rewrites the header of the packet based on the header information.
  • the switch executes the action of the flow entry for the packet group (packet series) that conforms to the rule of the flow entry. Specifically, when receiving a packet, the switch searches the flow table for a flow entry having a rule that matches the header information of the received packet. As a result of the search, when a flow entry having a rule that matches the header information of the received packet is found, the flow entry statistical information is updated, and the operation specified as the action of the flow entry is performed on the received packet. carry out.
  • the received packet is determined to be the first packet (first packet), and the OpenFlow network ( Transfers the received packet (or a copy thereof) to the controller in the OF-NW), requests the packet route calculation based on the source / destination (destination) of the received packet, and sets the flow entry as a response Message is received and the flow table is updated.
  • a default entry having a rule that conforms to the header information of all packets with low priority is registered. If no other flow entry that matches the received packet is found, the received packet matches this default entry. The action of the default entry is “transmission of inquiry information of the received packet to the controller”.
  • the controller controls the flow table of the switch, and the switch performs the flow transfer process according to the flow table.
  • VLAN Virtual Local Area Network
  • VLAN tagging means that a packet (MAC frame, etc.) flowing through a network is assigned a unique identification number (VLAN-ID) in the form of a tag header (VLAN tag) to the VLAN group to which the packet belongs. That's it.
  • VLAN-ID unique identification number
  • VLAN tag tag header
  • VLAN-ID VLAN tag
  • Non-Patent Document 2 discloses “QinQ function” (IEEE802.1q Tunneling).
  • QinQ function is a function for identifying a user's packet within a predetermined network. For example, when the QinQ function is implemented in an edge switch or the like, the edge switch gives an extension tag to a packet that has flowed into the network by the QinQ function.
  • the first tag is called “outer tag information (outer tag)” and the second tag is “ It is called “inner tag information (inner tag)”.
  • inner tag information inner tag
  • outer tag information outer tag
  • the extension tag given by a device (such as an edge switch) that implements the QinQ function at the entrance of the OpenFlow network (OF-NW) is called “outer tag information (outer tag)”, and this extension tag is given to the packet.
  • the original VLAN tag before being used is referred to as “inner tag information (inner tag)”.
  • the switch can recognize only the first outer tag information (outer tag) when viewed from the beginning of the packet. Therefore, the switch cannot identify the inner tag information (inner tag) of the packet flowing in the open flow network (OF-NW).
  • OpenFlow network configured with only one VLAN cannot handle a plurality of VLANs.
  • Patent Document 1 Japanese Patent Laid-Open No. 2009-177281
  • Patent Document 2 Japanese Patent Laid-Open No. 2009-177282
  • Patent Document 3 Japanese Patent Laid-Open No. 2009-201442 discloses a technique related to the VLAN tunneling protocol.
  • packets are tunneled through a label switched path (LSP) according to a multi-protocol label switching (MPLS) protocol.
  • MPLS multi-protocol label switching
  • the current label value is replaced with the label value reserved for packets originating from the port associated with the VLAN.
  • the egress switching node of the LSP receives the packet with the reserved label value, recognizes that the VLAN information is embedded in the packet, extracts the destination address, and transmits it to the final destination.
  • An object of the present invention is to provide a method for acquiring VLAN tag information in an OpenFlow network.
  • the network system includes a switch and a controller that sets a flow entry in which rules and actions for uniformly controlling packets as a flow are defined in the flow table of the switch.
  • the controller maps and holds tag information of a packet flowing in the network and flow cookie information (Flow cookie) indicating a flow entry corresponding to the packet, and virtually stores a plurality of VLANs (Virtual Local Area Networks). handle.
  • VLANs Virtual Local Area Networks
  • the VLAN tag information acquisition method is a VLAN tag information acquisition method implemented by a computer, wherein a flow entry in which rules and actions for uniformly controlling packets as flows are defined as a flow table of a switch And the tag information of the packet flowing in the network and the flow cookie information (Flow cookie) indicating the flow entry corresponding to the packet are mapped and held, and virtually a plurality of VLANs (Virtual Local Area Networks) ).
  • a flow entry in which rules and actions for uniformly controlling packets as flows are defined as a flow table of a switch
  • the tag information of the packet flowing in the network and the flow cookie information (Flow cookie) indicating the flow entry corresponding to the packet are mapped and held, and virtually a plurality of VLANs (Virtual Local Area Networks) ).
  • the program according to the present invention is a program for causing a computer to execute the processing in the VLAN tag information acquisition method.
  • the program according to the present invention can be stored in a storage device or a storage medium.
  • FIG. 1 is a configuration diagram of an OpenFlow network using a network system according to the present invention. It is a flowchart which shows the operation example of the process at the time of the packet inflow in this invention.
  • the present invention is directed to a CD separation type network.
  • an OpenFlow network which is one of CD separation type networks, will be described as an example. However, actually, it is not limited to the OpenFlow network.
  • the controller 10 includes an open flow database 11 and an open flow control unit 12.
  • the OpenFlow database 11 includes flow cookie information (Flow cookie) 111 and inner tag information (inner tag) 112.
  • Flow cookie information (Flow cookie) 111 is identification information for uniquely identifying a flow entry.
  • Inner tag information (inner tag) 112 is a VLAN tag (VLAN-ID) before being attached to the packet.
  • VLAN-ID VLAN tag
  • the inner tag information (inner tag) 112 is identification information for uniquely specifying each of a plurality of VLANs used outside the OpenFlow network (OF-NW).
  • the OpenFlow database 11 holds information in which flow cookie information (Flow cookie) 111 and inner tag information (inner tag) 112 are mapped.
  • the input port 21 is a packet input / output interface (I / F), and is a communication port for receiving (inputting) a packet.
  • I / F packet input / output interface
  • a plurality of input ports 21 may be provided.
  • the output port 22 is a packet input / output interface (I / F), and is a communication port for transmitting (outputting) a packet. There may be a plurality of output ports 22.
  • the flow table 23 is table information in which flow entries are registered from the controller 10.
  • Each flow entry includes flow cookie information (Flow cookie) 231, a flow determination condition (Rule) 232, and an action (Action) 233.
  • Flow cookie flow cookie information
  • Rule flow determination condition
  • Action action
  • Flow cookie information (Flow cookie) 231 is identification information for uniquely identifying the flow entry.
  • the flow cookie information (Flow cookie) 231 corresponds to the flow cookie information (Flow cookie) 111.
  • the flow discriminating condition (Rule) 232 is a flow entry rule and is identification information for uniquely identifying a flow.
  • the flow determination condition (Rule) 232 defines a combination of values in the header area of the packet.
  • the flow discrimination condition (Rule) 232 defines “Dst MAC” (destination MAC address) and “VLAN ID” among the values in the header area of the packet. Yes.
  • Action (Action) 233 is an action of a flow entry, and is information regarding processing contents for a packet corresponding to the flow determination condition (Rule) 232.
  • the action (Action) 233 predefines that when a received packet matches the flow determination condition (Rule) 232, the packet is output to a port addressed to a predetermined switch. Note that the action (Action) 233 defaults to output to the output port corresponding to the destination switch.
  • the transfer control unit 24 processes the packet according to the registration information (flow entry) in the flow table 23. For example, the transfer control unit 24 outputs a packet arriving at the input port 21 to the output port 22 corresponding to a predetermined destination according to the flow entry of the flow table 23. Alternatively, the packet is transferred to the controller 10. Alternatively, the packet is discarded.
  • the transfer control unit 24 transmits / receives a control message to / from the open flow control unit 12 of the controller 10 via a secure channel 50.
  • the transfer control unit 24 changes (registers, updates, deletes, etc.) the flow entry of the flow table 23 according to the control message from the open flow control unit 12 of the controller 10.
  • FIG. 2 is a configuration diagram of an open flow network (OF-NW) using the network system according to the present invention.
  • switch 20-1 is referred to as "switch 1".
  • switch 20-2 is referred to as “switch 2”.
  • switch 20-3 is referred to as “switch 3”.
  • a QinQ function is set for a port connected to the outside of the flow network (OF-NW).
  • Packet-IN Packet input message
  • the switch 1 When receiving an unknown packet, the switch 1 (switch 20-1) transfers a Packet-IN (packet input message) and notifies the header information of the packet to request a route calculation to the controller 10. .
  • the switch 1 (switch 20-1) temporarily stores the data portion of the packet in the buffer.
  • the data portion of the received packet is instructed to be output to the port addressed to switch 2 (switch 20-2).
  • FIG. 3 shows an operation example of processing when a packet flows in the present invention.
  • Step S101 it is assumed that an unknown packet flows into the switch 1 (switch 20-1). That is, the switch 1 (switch 20-1) receives an unknown packet flowing into the input port 21.
  • Step S103 Switch 1 (switch 20-1) creates a search key based on whether the flow entry that matches the packet is registered (whether there is a matching flow entry) or the value of the header area of the packet, The flow table 23 is searched for a matching flow entry. Since the packet is unknown this time, the matching flow entry has not been registered yet. Therefore, the switch 1 (switch 20-1) obtains a search result that no matching flow entry exists.
  • Step S104 If there is no matching flow entry (No in step S103), the switch 1 (switch 20-1) transfers “Packet-IN” to the controller 10 through the secure channel (Secure Channel) 50, and the route Request information. “Packet-IN” is a message for notifying the controller of information (such as header information) of unknown packets received by the switch.
  • switch 1 stores the packet (double tag packet at this time) in the buffer.
  • the controller 10 creates flow cookie information (Flow cookie) of the flow entry.
  • Switch 1 (switch 20-1), switch 2 (switch 20-2), and switch 3 (switch 20-3) are newly added to their respective flow tables 23 in accordance with the instruction “FlowMod-ADD”. Register the flow entry.
  • Step S107 the controller 10 newly maps and holds the flow cookie information (Flow cookie) 111 and the inner tag information (inner tag) 112 in the OpenFlow database 11 as follows.
  • Step S108 the controller 10 transfers “Packet-OUT” to the switch 1 (switch 20-1) that has transferred “Packet-IN”.
  • Packet-OUT is a control message instructing packet output (transfer start).
  • the switch 1 adds the buffer ID to “Packet-IN” and notifies the controller 10 and the controller 10 adds the buffer ID to “Packet-OUT”. It may be transferred to (switch 20-1).
  • switch 20-1 the switch 1 (switch 20-1), when the packet flowed in, moves the packet according to the flow entry, Output to the port addressed to switch 2 (switch 20-2).
  • Step S110 The switch 2 (switch 20-2) receives the packet relayed from the switch 1 (switch 20-1), and searches the flow table 23 for a matching flow entry.
  • the switch 2 (switch 20-2) sends the packet to the port addressed to the switch 3 (switch 20-3) in accordance with the action (Action) of this flow entry. Output to.
  • Step S111 the switch 3 (switch 20-3) also outputs the packet to a port outside the open flow network (OF-NW) according to the action (Action) of the flow entry registered this time.
  • ToS Type of Service
  • OF-NW open flow network
  • ToS value of the packet is collectively changed
  • the controller 10 uses a 3-bit field (values 0 to 7) in the ToS field of the header area of the packet as a ToS value, and performs priority control of the packet.
  • “FlowMod-Modify” is a control message instructing to change (update) the flow entry.
  • Switch 2 (switch 20-2) rewrites the action (Action) of the flow entry in the flow table 23 in accordance with “FlowMod-Modify”. That is, the flow entry registered in the flow table 23 of the switch 2 (switch 20-2) is rewritten as follows.
  • Switch 1 searches the flow table 23 and transfers the packet to the port addressed to switch 2 (switch 20-2) according to the hit flow entry.
  • the switch forwards the unknown packet as “Packet-IN” to the controller 10, and the controller 10 creates a flow entry corresponding to the inner tag information (inner tag) and the packet flowing in the open flow network (OF-NW).
  • the flow cookie information (Flow cookie) indicating that is mapped, and the information is retained.
  • NW A user network A
  • NW B user network B
  • carrier network carrier network
  • Each switch (core switch, etc.) in the carrier network uses this expansion tag to identify traffic.
  • the edge switch (NW B side) of the telecom network removes this extension tag from the packet.
  • extension tags are used in the carrier network, there is no problem even if the VLAN tags used in the user network overlap.
  • the first tag is called “outer tag information (outer tag)” and the second tag is “ It is called “inner tag information (inner tag)”.
  • inner tag information inner tag
  • outer tag information outer tag
  • the role / use of the VLAN tag is to bundle a plurality of VLANs set in the switch.
  • VLAN 1 and VLAN 2 are set in the switch A
  • VLAN 1 and VLAN 2 are set in the switch B.
  • VLAN 1 of switch A and VLAN 1 of switch B and VLAN 2 of switch A and VLAN 2 of switch B to communicate
  • the use of the VLAN tag requires only one LAN cable between the switch A and the switch B.
  • the mechanism by attaching the VLAN tag 1 or the VLAN tag 2 to the packet flowing between the switch A and the switch B, it becomes possible to identify whether the packet belongs to the VLAN 1 or belongs to the VLAN 2.
  • controller 10 As an example of the controller 10, a computer such as a PC (personal computer), an appliance, a thin client server, a workstation, a mainframe, or a supercomputer is assumed.
  • the controller 10 may be a relay device or a peripheral device.
  • Examples of the switch 20 include a network switch, a router, a proxy, a gateway, a firewall, a load balancer, a bandwidth control device (packet shaper). ), Security supervisory control device (SCADA: Supervision Control And Data Acquisition), gatekeeper (gatekeeper), base station (base station), access point (AP: Access Point), communication satellite (CS: Communication Satellite) Think of a computer with a communication port of That.
  • SCADA Supervision Control And Data Acquisition
  • gatekeeper gatekeeper
  • base station base station
  • AP Access Point
  • CS Communication Satellite
  • the controller 10 and the switch 20 may be an expansion board mounted on a computer or a virtual machine (VM: Virtual Machine) constructed on a physical machine.
  • VM Virtual Machine
  • the controller 10 and the switch 20 may be mounted on a moving body such as a vehicle, a ship, or an aircraft.
  • each of the controller 10 and the switch 20 is realized by a processor that is driven based on a program and executes predetermined processing, a memory that stores the program and various data, and an interface used for communication with a network.
  • processors include a CPU (Central Processing Unit), a network processor (NP: Network Processor), a microprocessor (microprocessor), a microcontroller (microcontroller), or a semiconductor integrated circuit (LSI: Large Scale) having a dedicated function. Integration) or the like.
  • CPU Central Processing Unit
  • NP Network Processor
  • microprocessor microprocessor
  • microcontroller microcontroller
  • LSI semiconductor integrated circuit
  • semiconductor storage devices such as RAM (Random Access Memory), ROM (Read Only Memory), EEPROM (Electrically Erasable and Programmable Read Only Memory), and HDD Memory (SDHidK)
  • RAM Random Access Memory
  • ROM Read Only Memory
  • EEPROM Electrically Erasable and Programmable Read Only Memory
  • HDD Memory HDD Memory
  • An auxiliary storage device such as State Drive
  • a removable disk such as a DVD (Digital Versatile Disk)
  • a storage medium such as an SD memory card (Secure Digital memory card), or the like
  • a buffer, a register, or the like may be used.
  • DAS Direct Attached Storage
  • FC-SAN Fibre Channel-Storage Area Network
  • NAS Network Attached Storage
  • IP-SAN IP-Storage Area
  • processor and the memory may be integrated.
  • a single chip such as a microcomputer has been developed. Therefore, a case where a one-chip microcomputer mounted on an electronic device or the like includes the processor and the memory can be considered.
  • Examples of the above interfaces include semiconductor integrated circuits such as substrates (motherboards, I / O boards) and chips that support network communication, network adapters such as NIC (Network Interface Card), and similar expansion cards, communication devices such as antennas, etc.
  • a communication port such as a connection port (connector) is conceivable.
  • networks include the Internet, LAN (Local Area Network), wireless LAN (Wireless LAN), WAN (Wide Area Network), backbone (Backbone), cable TV (CATV) line, fixed telephone network, mobile phone network, WiMAX (IEEE 802.16a), 3G (3rd Generation), dedicated line (lease line), IrDA (Infrared Data Association), Bluetooth (registered trademark), serial communication line, data bus, and the like are conceivable.
  • each of the controller 10 and the switch 20 may be a module, a component, a dedicated device, or an activation (calling) program thereof.
  • the controller includes the inner tag information (inner tag) attached to the packet flowing in the OpenFlow network and the flow entry corresponding to the packet flowing in the OpenFlow network (OF-NW). It is possible to map the flow cookie information (Flow cookie) shown and hold the information.
  • Flow cookie By specifying this flow cookie information (Flow cookie), multiple VLANs can be handled in a network constructed with only one VLAN (for example, in an OpenFlow network having only one VLAN). it can.
  • the flow that has flowed into the OpenFlow network is transferred from the switch to the controller, and the transferred controller learns the “VLAN ID” information at the entrance of the OpenFlow network, and this “VLAN ID” and OpenFlow By mapping flow cookie information (Flow cookie) indicating a flow entry corresponding to a packet in the network, a plurality of VLANs can be handled.
  • VLAN ID information at the entrance of the OpenFlow network
  • Flow cookie OpenFlow By mapping flow cookie information
  • the controller can manage the inner tag information (inner tag) at the entrance of the OpenFlow in correspondence with the flow flowing through the OpenFlow network. Accordingly, the controller can virtually handle a plurality of VLANs (multiple VLANs) even though only one VLAN (single VLAN) is used as the OpenFlow network.
  • Appendix 1 A means for setting a flow entry in which rules and actions for uniformly controlling a packet as a flow are defined in a switch flow table; The tag information given to the packet flowing in the network and the flow cookie information (Flow cookie) indicating the flow entry corresponding to the packet flowing in the network are mapped and held, and virtually a plurality of VLANs (Virtual Local Areas) are stored. And a means for handling a network.
  • VLANs Virtual Local Areas
  • Appendix 2 The controller according to appendix 1, wherein Means for setting, in the flow entry, flow cookie information (Flow cookie) that uniquely identifies the flow entry together with the rule and the action; Means for mapping and holding identification information (VLAN ID) for uniquely identifying each of a plurality of VLANs outside the network as the tag information, and the flow cookie information; Means for identifying the flow entry using the flow cookie information and updating the action of the flow entry.
  • Means for setting, in the flow entry, flow cookie information (Flow cookie) that uniquely identifies the flow entry together with the rule and the action Means for mapping and holding identification information (VLAN ID) for uniquely identifying each of a plurality of VLANs outside the network as the tag information, and the flow cookie information; Means for identifying the flow entry using the flow cookie information and updating the action of the flow entry.
  • VLAN ID identification information
  • Appendix 3 The controller according to appendix 2, wherein When the flow entry is specified using the flow cookie information and the action of the flow entry is updated, ToS (Type of Service) which is one of priority control is performed on the inflowing flow, A controller further comprising means for updating the action to change the ToS value at once.
  • ToS Type of Service

Abstract

 現状では、スイッチはオープンフローネットワーク(OF-NW)内を流れるパケットに付与されたinner tag情報(OF-NWの入り口でQinQされる前のVLAN ID情報)を識別することができない。このため、1つのVLANのみで構成されたOF-NWでは、複数VLANを取り扱うことができない。具体的には、コントローラは、OF-NW内を流れるパケットに付与されたinner tag情報とOF-NW内を流れるパケットに対応するフローエントリを示すフロークッキー情報(Flow cookie)をマッピングすることにより、1つしかVLANが無いようなOF-NW内で、複数のVLANを扱う。具体的には、OF-NWに流入したフローをスイッチからコントローラに転送し、転送を受けたコントローラは、OF-NWの入り口のVLAN ID情報を学習し、このVLAN IDとOF-NW内のパケットに対応するフローエントリを示すフロークッキー情報(Flow cookie)をマッピングすることによって、複数のVLANを扱う。

Description

ネットワークシステム、及びVLANタグ情報取得方法
 本発明は、ネットワークシステムに関し、特にオープンフローネットワーク内でのVLANタグ情報取得方法に関する。
 従来のネットワーク機器はブラックボックスであり、外部から負荷分散や片寄等柔軟性に富んだ制御ができない。このため、ネットワークの規模が大きくなると、システムとしての挙動の把握と改善が困難になり、設計や構成変更には多大なコストを伴うことが問題であった。
 こうした課題を解決するための技術として、ネットワーク機器のパケット転送機能と経路制御機能を分離する手法が考えられている。例えば、パケット転送機能をネットワーク機器が担当し、経路制御機能をネットワーク機器の外部に分離した制御装置が担当することで、制御が容易になり柔軟性に富んだネットワークを構築することが可能になる。
 [CD分離型ネットワークの説明]
 機能を分離したネットワークの1つとして、コントロールプレーン側の制御装置からデータプレーン側のノード装置を制御するCD(C:コントロールプレーン/D:データプレーン)分離型ネットワークが提案されている。
 CD分離型ネットワークの一例として、コントローラからスイッチを制御してネットワークの経路制御を行うオープンフロー(OpenFlow)技術を利用したオープンフローネットワーク(OF-NW)が挙げられる。オープンフロー技術の詳細については、非特許文献1に記載されている。なお、オープンフローネットワーク(OF-NW)は一例に過ぎない。
 [オープンフローネットワーク(OF-NW)の説明]
 オープンフローネットワーク(OF-NW)では、制御装置に相当するオープンフローコントローラ(OFC:OpenFlow Controller)が、ノード装置に相当するオープンフロースイッチ(OFS:OpenFlow Switch)の経路制御に関するフローテーブル(Flow table)を操作することにより、オープンフロースイッチ(OFS)の挙動を制御する。
 以下、記載の簡略化のため、オープンフローコントローラ(OFC)を「コントローラ」と表記し、オープンフロースイッチ(OFS)を「スイッチ」と表記する。
 コントローラとスイッチの間は、専用線やSSL(SecureSocketLayer)等により保護された通信路である「セキュアチャンネル」(Secure Channel)と呼ばれる制御チャネル(制御用の通信チャネル)により接続されている。コントローラとスイッチとは、制御チャネルを介して、オープンフロープロトコル(OpenFlow Protocol)に則った(準拠した)制御メッセージであるオープンフローメッセージ(OpenFlow Message)を送受信する。
 オープンフローネットワーク(OF-NW)におけるスイッチとは、オープンフローネットワーク(OF-NW)に配置され、コントローラの制御下にあるエッジスイッチ及びコアスイッチのことである。オープンフローネットワーク(OF-NW)における入口側エッジスイッチ(Ingress)でのパケット(packet)の受信から出口側エッジスイッチ(Egress)での送信までのパケットの一連の流れをフロー(Flow)と呼ぶ。オープンフローネットワーク(OF-NW)では、通信をエンドツーエンド(E2E:End to End)のフローとして捉え、フロー単位で経路制御、障害回復、負荷分散、最適化を行う。
 パケットは、フレーム(frame)と読み替えても良い。パケットとフレームの違いは、プロトコルが扱うデータの単位(PDU:Protocol Data Unit)の違いに過ぎない。パケットは、「TCP/IP」(Transmission Control Protocol/Internet Protocol)のPDUである。一方、フレームは、「イーサネット(登録商標)」(Ethernet)のPDUである。
 フローテーブルとは、フローとして扱うパケットを特定するための判別条件(ルール)と、パケットがルールに適合(マッチ)した回数を示す統計情報と、パケットに対して行うべき処理内容(アクション)の組を定義したフローエントリ(Flow entry)の集合である。
 フローエントリのルールは、パケットのヘッダ領域(フィールド)に含まれる各プロトコル階層の情報のいずれか又は全てを用いた様々な組み合わせにより定義され、区別可能である。各プロトコル階層の情報の例として、送信先アドレス(Destination Address)、送信元アドレス(Source Address)、送信先ポート(Destination Port)、送信元ポート(Source Port)等が考えられる。なお、上記のアドレスには、MACアドレス(Media Access Control Address)やIPアドレス(Internet Protocol Address)を含むものとする。また、上記に加えて、入口ポート(Ingress Port)の情報も、フローエントリのルールとして使用可能である。また、フローエントリのルールとして、フローとして扱うパケットのヘッダ領域の値の一部(又は全部)を、正規表現やワイルドカード「*」等で表現したものを設定することもできる。
 フローエントリのアクションは、「特定のポートに出力する」、「廃棄する」、「ヘッダを書き換える」といった動作を示す。例えば、スイッチは、フローエントリのアクションに出力ポートの識別情報(出力ポート番号等)が示されていれば、これに該当するポートにパケットを出力し、出力ポートの識別情報が示されていなければ、パケットを廃棄する。或いは、スイッチは、フローエントリのアクションにヘッダ情報が示されていれば、当該ヘッダ情報に基づいてパケットのヘッダを書き換える。
 スイッチは、フローエントリのルールに適合するパケット群(パケット系列)に対して、フローエントリのアクションを実行する。具体的には、スイッチは、パケットを受信すると、フローテーブルから、受信パケットのヘッダ情報に適合するルールを持つフローエントリを検索する。検索の結果、受信パケットのヘッダ情報に適合するルールを持つフローエントリが見つかった場合、当該フローエントリの統計情報を更新すると共に、受信パケットに対して、当該フローエントリのアクションとして指定された動作を実施する。一方、検索の結果、受信パケットのヘッダ情報に適合するルールを持つフローエントリが見つからなかった場合、当該受信パケットを最初のパケット(first packet)と判断し、制御チャネルを介して、オープンフローネットワーク(OF-NW)におけるコントローラに対して、受信パケット(又はそのコピー)を転送し、受信パケットの送信元・送信先(宛先)等に基づいたパケットの経路計算を要求し、応答としてフローエントリの設定用メッセージを受信し、フローテーブルを更新する。
 なお、フローテーブルには、低い優先度で、全てのパケットのヘッダ情報に適合するルールを持つデフォルトエントリが登録されている。受信パケットに適合するフローエントリが他に見つからなかった場合、受信パケットは、このデフォルトエントリに適合する。デフォルトエントリのアクションは、「コントローラへの当該受信パケットの問い合わせ情報の送信」である。
 このように、オープンフローネットワーク(OF-NW)では、コントローラがスイッチのフローテーブルを制御し、スイッチは、フローテーブルに従ってフローの転送処理を行っている。
 [既存のオープンフローネットワークにおけるVLANについて]
 オープンフローネットワーク(OF-NW)においても、VLAN(Virtual Local Area Network:仮想LAN)を構築することが可能である。
 ネットワークを流れるパケット(MACフレーム等)に、そのパケットが属するVLANグループに固有の識別番号(VLAN-ID)をタグヘッダという形で付与すること(VLANタグを付与すること)を、VLANタギング(tagging)という。
 複数のスイッチをまたいで(介して)ネットワークが構成されていても、このVLANタグ(VLAN-ID)を参照することで、そのパケットがどのVLANグループに属しているかがわかる。
 なお、ユーザのパケットに、ユーザ固有のVLANタグを付けることでトラフィックを識別する方法をタグVLANという。これに対してユーザ拠点内でVLANタグを使うことを考慮して、通信事業者網内だけ使うタグを重ねて付与する方式を拡張タグVLANという。拡張タグVLANを実現する機能の1つとして、非特許文献2に「QinQ機能」(IEEE802.1q Tunneling)が開示されている。
 「QinQ機能」は、所定のネットワーク内でユーザのパケットを識別するための機能である。例えば、エッジスイッチ等にQinQ機能を実装した場合、該エッジスイッチは、QinQ機能によって、ネットワーク内に流入してきたパケットに拡張タグを付与する。
 なお、パケットに、VLANタグが2重に付加されている場合、パケットの先頭からみて、一つ目にあるタグを「アウタータグ情報(outer tag)」と呼び、二つ目にあるタグを「インナータグ情報(inner tag)」と呼ぶ。
 インナータグ情報(inner tag)、アウタータグ情報(outer tag)の役割/用途は共に、VLANタグと同じである。
 ここでは、オープンフローネットワーク(OF-NW)の入り口でQinQ機能を実装した機器(エッジスイッチ等)により付与される拡張タグを「アウタータグ情報(outer tag)」とし、この拡張タグがパケットに付与される前の元々のVLANタグを、「インナータグ情報(inner tag)」とする。
 現状では、スイッチは、パケットの先頭からみて、一つ目にあるアウタータグ情報(outer tag)しか認識できない。したがって、スイッチは、オープンフローネットワーク(OF-NW)内を流れるパケットのインナータグ情報(inner tag)を識別することができない。
 このため、1つのVLANのみで構成されたオープンフローネットワーク(OF-NW)では、複数VLANを取り扱うことができなかった。
 なお、関連する技術として、特許文献1(特開2009-177281号公報)及び特許文献2(特開2009-177282号公報)に、複数のVLANで構成されたネットワーク内でパケットを中継する際、2重タグを使って転送するネットワークシステムが開示されている。
 また、特許文献3(特開2009-201142号公報)にVLANトンネリングプロトコルに関する技術が開示されている。この技術では、パケットは、マルチプロトコルラベルスイッチング(MPLS:Multi-Protocol Label Switching)プロトコルに従い、ラベルスイッチトパス(LSP:Label Switched Path)を介してトンネリングされる。LSPの最後から2番目のスイッチングノードにおいて、現行のラベル値は、VLANに関連付けられたポートから発信するパケットのために予約されたラベル値と置き換えられる。LSPの出口スイッチングノードは予約されたラベル値のあるパケットを受信し、VLAN情報がパケットに埋め込まれていることを認識し宛先アドレスも取り出して最終の宛先に伝送する。
特開2009-177281号公報 特開2009-177282号公報 特開2009-201142号公報
"OpenFlow Switch Specification, Version 1.0.0",[online],December 31,2009,[2011年3月24日検索],インターネット(URL:http://www.openflowswitch.org/documents/openflow-spec-v1.0.0.pdf) "802.1q Tunneling ( Q-in-Q )",[online],[2011年3月24日検索],インターネット(URL:http://www.infraexpert.com/study/vlan2.3.htm)
 本発明の目的は、オープンフローネットワーク内でのVLANタグ情報の取得方法を提供することである。
 本発明に係るネットワークシステムは、スイッチと、パケットをフローとして一律に制御するためのルールとアクションが定義されたフローエントリを、該スイッチのフローテーブルに設定するコントローラとを含む。該コントローラは、ネットワーク内を流れるパケットのタグ情報と、該パケットに対応するフローエントリを示すフロークッキー情報(Flow cookie)をマッピングして保持し、仮想的に複数のVLAN(Virtual Local Area Network)を取り扱う。
 本発明に係るVLANタグ情報取得方法は、計算機により実施されるVLANタグ情報取得方法であって、パケットをフローとして一律に制御するためのルールとアクションが定義されたフローエントリを、スイッチのフローテーブルに設定することと、ネットワーク内を流れるパケットのタグ情報と、該パケットに対応するフローエントリを示すフロークッキー情報(Flow cookie)をマッピングして保持し、仮想的に複数のVLAN(Virtual Local Area Network)を取り扱うこととを含む。
 本発明に係るプログラムは、上記のVLANタグ情報取得方法における処理を、計算機に実行させるためのプログラムである。なお、本発明に係るプログラムは、記憶装置や記憶媒体に格納することが可能である。
 1つしかVLANが無いようなオープンフローネットワークで、複数のVLANを扱うことが可能になる。
本発明に係るネットワークシステムの基本構成例を示す図である。 本発明に係るネットワークシステムを用いたオープンフローネットワークの構成図である。 本発明におけるパケット流入時の処理の動作例を示すフローチャートである。
 <実施形態>
 以下に、本発明の実施形態について添付図面を参照して説明する。
 本発明は、CD分離型ネットワークを対象としている。ここでは、CD分離型ネットワークの1つであるオープンフローネットワークを例に説明する。但し、実際には、オープンフローネットワークに限定されない。
 [システム構成]
 図1に示すように、本発明に係るネットワークシステムは、コントローラ10と、スイッチ20(20-i、i=1~n:nは台数)を含む。
 コントローラ10は、ネットワークの接続状態を示すトポロジ情報(topology)を基に、スイッチ20(20-i、i=1~n)を検知した際、パケット転送経路を計算し、当該経路に関連するスイッチのフローテーブルにフローエントリの登録を行う。
 コントローラ10は、スイッチ20(20-i、i=1~n)の各々と、制御メッセージの伝送路となる制御回線を介して、セキュアチャンネル(Secure Channel)50で接続されている。したがって、セキュアチャンネル(Secure Channel)50は、スイッチ20(20-i、i=1~n)の数だけ存在している。
 スイッチ20(20-i、i=1~n)の各々は、受信したパケットを、自身のフローテーブルに登録されたフローエントリに従って転送する。
 [コントローラの詳細]
 コントローラ10は、オープンフローデータベース11と、オープンフロー制御部12を備える。
 オープンフローデータベース11は、フロークッキー情報(Flow cookie)111と、インナータグ情報(inner tag)112を含む。
 フロークッキー情報(Flow cookie)111は、フローエントリを一意に特定するための識別情報である。
 インナータグ情報(inner tag)112は、パケットに付与される前のVLANタグ(VLAN-ID)である。
 すなわち、インナータグ情報(inner tag)112は、オープンフローネットワーク(OF-NW)外で使用される複数のVLANの各々を一意に特定するための識別情報である。
 ここでは、オープンフローデータベース11は、フロークッキー情報(Flow cookie)111と、インナータグ情報(inner tag)112をマッピングした情報を保持する。
 オープンフロー制御部12は、オープンフローデータベース11の管理、及びオープンフローデータベース11の登録情報に基づくスイッチ20(20-i、i=1~n)の制御を行う。オープンフロー制御部12は、コントローラ10がオープンフロープロトコルに準拠してスイッチ20(20-i、i=1~n)を制御するためのセキュアチャンネル(Secure Channel)50を介して、スイッチ20(20-i、i=1~n)の制御を行う。
 [スイッチの詳細]
 スイッチ20(20-i、i=1~n)の各々は、入力ポート21と、出力ポート22と、フローテーブル23と、転送制御部24を備える。
 入力ポート21は、パケット入出力用インタフェース(I/F:interface)であり、パケットを受信(入力)するための通信ポートである。入力ポート21は、複数でも良い。
 出力ポート22は、パケット入出力用インタフェース(I/F)であり、パケットを送信(出力)するための通信ポートである。出力ポート22は、複数でも良い。
 フローテーブル23は、コントローラ10からフローエントリが登録されているテーブル情報である。
 個々のフローエントリは、フロークッキー情報(Flow cookie)231と、フロー判別条件(Rule)232と、アクション(Action)233を含む。
 フロークッキー情報(Flow cookie)231は、該フローエントリを一意に識別するための識別情報である。フロークッキー情報(Flow cookie)231は、フロークッキー情報(Flow cookie)111に対応する。
 フロー判別条件(Rule)232は、フローエントリのルールであり、フローを一意に識別するための識別情報である。例えば、フロー判別条件(Rule)232は、パケットのヘッダ領域の値の組合せについて規定している。ここでは、フロー判別条件(Rule)232は、フローを一意に識別するため、パケットのヘッダ領域の値のうち、「Dst MAC」(宛先MACアドレス)と、「VLAN ID」の値を既定している。
 アクション(Action)233は、フローエントリのアクションであり、フロー判別条件(Rule)232に該当したパケットに対する処理内容に関する情報である。ここでは、アクション(Action)233は、受信パケットがフロー判別条件(Rule)232にマッチした際に、所定のスイッチ宛のポートに出力する旨を既定している。なお、アクション(Action)233は、宛先のスイッチに対応する出力ポートに出力する旨を既定している。
 転送制御部24は、フローテーブル23の登録情報(フローエントリ)に従って、パケットを処理する。例えば、転送制御部24は、フローテーブル23のフローエントリに従って、入力ポート21に到着したパケットを、所定の宛先に対応する出力ポート22に出力する。又は、該パケットをコントローラ10に転送する。或いは、該パケットを破棄する。
 また、転送制御部24は、コントローラ10のオープンフロー制御部12との間で、セキュアチャンネル(Secure Channel)50を介して、制御メッセージを送受信する。転送制御部24は、コントローラ10のオープンフロー制御部12からの制御メッセージに応じて、フローテーブル23のフローエントリを変更(登録、更新、削除等)する。
 [オープンフローネットワークの構成図]
 図2は、本発明に係るネットワークシステムを用いたオープンフローネットワーク(OF-NW)の構成図である。
 オープンフローネットワーク(OF-NW)は、1つのみの「VLAN=1」を有し、コントローラ10とスイッチ20(20-i、i=1~3)を含む。
 ここでは、スイッチ20-1を「スイッチ1」とする。スイッチ20-2を「スイッチ2」とする。スイッチ20-3を「スイッチ3」とする。
 スイッチ1(スイッチ20-1)、スイッチ2(スイッチ20-2)、スイッチ3(スイッチ20-3)のパケット入出力用インタフェース(I/F)である入力ポート21及び出力ポート22のうち、オープンフローネットワーク(OF-NW)外と接続されているポートには、QinQ機能の設定がされている。
 コントローラ10のオープンフローデータベース11には、以下のようにマッピングされているとする。
 コントローラ10:
 {Flow cookie = 1001, inner tag = 10}
 {Flow cookie = 1002, inner tag = 20}
 また、スイッチ1(スイッチ20-1)、スイッチ2(スイッチ20-2)、スイッチ3(スイッチ20-3)の各フローテーブル23には、下記のフローエントリが登録されているとする。
 スイッチ1(スイッチ20-1):
 {Flow cookie = 1001, Rule = “Dst MAC = AA”かつ“VLAN ID = 1”, Action = “スイッチ2(スイッチ20-2)宛のポートに出力”}
 {Flow cookie = 1002, Rule = “Dst MAC = BB”かつ“VLAN ID = 1”, Action = “スイッチ2(スイッチ20-2)宛のポートに出力”}
 スイッチ2(スイッチ20-2):
 {Flow cookie = 1001, Rule = “Dst MAC = AA”かつ“VLAN ID = 1”, Action = “スイッチ3(スイッチ20-3)宛のポートに出力”}
 {Flow cookie = 1002, Rule = “Dst MAC = BB”かつ“VLAN ID = 1”, Action = “スイッチ3(スイッチ20-3)宛のポートに出力”}
 スイッチ3(スイッチ20-3):
 {Flow cookie = 1001, Rule = “Dst MAC = AA”かつ“VLAN ID = 1”, Action = “オープンフローネットワーク(OF-NW)外のポートに出力”}
 {Flow cookie = 1002, Rule = “Dst MAC = BB”かつ“VLAN ID = 1”, Action = “オープンフローネットワーク(OF-NW)外のポートに出力”}
 (1)Packet-IN(パケット入力メッセージ)
 スイッチ1(スイッチ20-1)は、未知のパケットを受信した場合、コントローラ10に対して、経路計算を要求するため、Packet-IN(パケット入力メッセージ)を転送し、パケットのヘッダ情報を通知する。また、スイッチ1(スイッチ20-1)は、パケットのデータ部分を、バッファに一時的に記憶する。ここでは、パケットのヘッダ情報は、{Dst MAC = CC, tag = 30}であるものとする。また、パケットのデータ部分を記憶したバッファの識別情報(バッファID)は、{Buffer ID = 001}であるものとする。
 (2)FlowMod-ADD(フローエントリ変更メッセージ)
 コントローラ10は、経路計算の結果として得られた経路上の各スイッチに対して、FlowMod-ADD(フローエントリ変更メッセージ)を送信し、フローエントリの登録を行う。ここでは、フローエントリのルールについては、経路上の各スイッチに共通で、「Rule = “Dst MAC = CC”かつ“VLAN ID = 1”」とする。また、フローエントリのアクションについては、スイッチ1(スイッチ20-1)に対しては、「Action = “スイッチ2(スイッチ20-2)宛のポートに出力”」とする。スイッチ2(スイッチ20-2)に対しては、「Action = “スイッチ3(スイッチ20-3)宛のポートに出力”」とする。スイッチ3(スイッチ20-3)に対しては、「Action = “オープンフローネットワーク(OF-NW)外のポートに出力”」とする。
 (3)Packet-OUT(パケット出力メッセージ)
 コントローラ10は、Packet-IN(パケット入力メッセージ)の送信元のスイッチ1(スイッチ20-1)に対して、Packet-OUT(パケット出力メッセージ)を転送し、{Buffer ID = 001}のバッファに記憶されているパケットのデータ部分を、スイッチ2(スイッチ20-2)宛のポートに出力するように指示する。
 [パケット流入時の処理]
 図3は、本発明におけるパケット流入時の処理の動作例である。
 (1)ステップS101
 まず、未知のパケットがスイッチ1(スイッチ20-1)に流入したとする。すなわち、スイッチ1(スイッチ20-1)は、入力ポート21に流入してきた未知のパケットを受信する。
 未知のパケット:
 {Dst MAC = CC, tag = 30, data}
 (2)ステップS102
 スイッチ1(スイッチ20-1)は、入力ポート21に未知のパケットが流入した際、QinQ機能によって、パケットにアウタータグ情報「outer tag=1」を付加する。これにより、パケットは、2重タグパケットとなる。
 2重タグパケット:
 {Dst MAC = CC, outer tag = 1, inner tag = 30, data}
 このアウタータグ情報「outer tag=1」が、オープンフローネットワーク(OF-NW)内に1つだけ構築されたVLANのVLANタグ(VLAN-ID)に相当する。
 (3)ステップS103
 スイッチ1(スイッチ20-1)は、パケットと一致するフローエントリが登録されているか(一致するフローエントリが存在するか)、パケットのヘッダ領域の値を基に検索キーを作成し、検索キーを用いて、フローテーブル23から、一致するフローエントリを検索する。今回は未知のパケットのため、一致するフローエントリは未だ登録されていない。そのため、スイッチ1(スイッチ20-1)は、一致するフローエントリが存在しないという検索結果を得ることになる。
 (4)ステップS104
 スイッチ1(スイッチ20-1)は、一致するフローエントリが存在しない場合(ステップS103でNo)、セキュアチャンネル(Secure Channel)50を通じて、コントローラ10に対して、「Packet-IN」を転送し、経路情報を要求する。「Packet-IN」は、スイッチが受信した未知のパケットの情報(ヘッダ情報等)をコントローラに通知するためのメッセージである。
 「Packet-IN」:
 {Dst MAC = CC, inner tag = 30}
 なお、スイッチ1(スイッチ20-1)は、パケット(この時点では2重タグパケット)をバッファ(Buffer)に記憶する。
 スイッチ1(スイッチ20-1)のバッファID:
 {Buffer ID = 001}
 本実施形態では、コントローラ10が、フローエントリのフロークッキー情報(Flow cookie)を作成する。ここでは、コントローラ10は、新規のフロークッキー情報(Flow cookie)である「Flow cookie = 1003」を作成し、この「Flow cookie = 1003」を、新たに作成したフローエントリに割り振る。
 (5)ステップS105
 コントローラ10は、「Packet-IN」を受信した場合、適切な経路情報を求め、新たに「Flow cookie値 = 1003」を割り振ったフローエントリを作成し、経路上のスイッチ1(スイッチ20-1)、スイッチ2(スイッチ20-2)、スイッチ3(スイッチ20-3)の各々に対して、そのフローエントリを登録するため、「FlowMod-ADD」を転送する。「FlowMod-ADD」は、フローエントリの登録(追加)を指示する制御メッセージである。
 ここでは、コントローラ10は、新たなフロークッキー情報(Flow cookie)として「Flow cookie = 1003」を作成し、この「Flow cookie = 1003」を、経路情報に基づいて新たに作成したフローエントリに割り振る。コントローラ10は、「Flow cookie値 = 1003」を割り振ったフローエントリをスイッチ1(スイッチ20-1)、スイッチ2(スイッチ20-2)、スイッチ3(スイッチ20-3)に登録するための「FlowMod-ADD」を転送する。
 (6)ステップS106
 スイッチ1(スイッチ20-1)、スイッチ2(スイッチ20-2)、スイッチ3(スイッチ20-3)は、「FlowMod-ADD」の指示に応じて、それぞれのフローテーブル23に、新たに、次のフローエントリを登録する。
 スイッチ1(スイッチ20-1):
 {Flow cookie = 1003, Rule = “Dst MAC = CC”かつ“VLAN ID = 1”, Action = “スイッチ2(スイッチ20-2)宛のポートに出力”}
 スイッチ2(スイッチ20-2):
 {Flow cookie = 1003, Rule = “Dst MAC = CC”かつ“VLAN ID = 1”, Action = “スイッチ3(スイッチ20-3)宛のポートに出力”}
 スイッチ3(スイッチ20-3):
 {Flow cookie = 1003, Rule = “Dst MAC = CC”かつ“VLAN ID = 1”, Action = “オープンフローネットワーク(OF-NW)外のポートに出力”}
 (7)ステップS107
 また、この時、コントローラ10は、オープンフローデータベース11に、新たに、フロークッキー情報(Flow cookie)111と、インナータグ情報(inner tag)112として、以下のようにマッピングし保持する。
 コントローラ10:
 {Flow cookie = 1003, inner tag = 30}
 (8)ステップS108
 次に、コントローラ10は、「Packet-IN」を転送してきたスイッチ1(スイッチ20-1)に対して、「Packet-OUT」を転送する。「Packet-OUT」は、パケットの出力(転送開始)を指示する制御メッセージである。
 「Packet-OUT」:
 {Action = “スイッチ2(スイッチ20-2)宛のポートに出力”}
 (9)ステップS109
 スイッチ1(スイッチ20-1)は、コントローラ10から「Packet-OUT」を受信した場合、「Packet-OUT」のアクション(Action)に従って、スイッチ1(スイッチ20-1)のバッファ{Buffer ID = 001}に記憶されたパケットを、スイッチ2(スイッチ20-2)宛のポートに出力する。
 ここで、スイッチ1(スイッチ20-1)は、「Packet-IN」にバッファIDを追加してコントローラ10に通知し、コントローラ10は、「Packet-OUT」に該バッファIDを追加してスイッチ1(スイッチ20-1)に転送しても良い。
 なお、スイッチ1(スイッチ20-1)は、流入したパケットと一致するフローエントリが既に登録されている場合(ステップS103でYes)、パケットが流入した時点で、該フローエントリに従って、該パケットを、スイッチ2(スイッチ20-2)宛のポートに出力する。
 (10)ステップS110
 スイッチ2(スイッチ20-2)は、スイッチ1(スイッチ20-1)から中継されたパケットを受信し、一致するフローエントリが登録されているか、フローテーブル23を検索する。
 スイッチ2(スイッチ20-2)は、パケットと一致するフローエントリがフローテーブル23に今回登録されたので、このフローエントリのアクション(Action)に従って、パケットをスイッチ3(スイッチ20-3)宛のポートに出力する。
 (11)ステップS111
 同様にして、スイッチ3(スイッチ20-3)も、今回登録されたフローエントリのアクション(Action)に従って、パケットをオープンフローネットワーク(OF-NW)外のポートに出力する。
 この時、スイッチ3(スイッチ20-3)は、スイッチのQinQ機能により、アウタータグ情報「outer tag = 1」のみ外して(削除して)、オープンフローネットワーク(OF-NW)外へ出力される。
 オープンフローネットワーク(OF-NW)外への出力パケット:
 {Dst MAC = CC, tag = 30, data}
 (12)ステップS112
 これ以降、スイッチ1(スイッチ20-1)に流入してくる{Dst MAC = CC, tag = 30}のパケットは、各スイッチのフローテーブル23に今回登録されたフローエントリによって、「スイッチ1(スイッチ20-1) → スイッチ2(スイッチ20-2) → スイッチ3(スイッチ20-3)」と転送される。
 [ToS値変更の流れ]
 次に、オープンフローネットワーク(OF-NW)内に流入するフローに対して、優先制御の1つであるToS(Type of Service)を実施し、パケットのToS値を一括して変更する処理(ToS値変更)の流れについて説明する。
 ここでは、ヘッダ領域の一部が{Dst MAC = AA, VLAN ID = 10}のパケットのToS値を「ToS = 3」から「ToS = 5」に一括して変更するものとする。
 例えば、コントローラ10は、パケットのヘッダ領域のToSフィールド内にある3ビットのフィールド(0~7の値)をToS値として使用し、パケットの優先制御を行う。
 コントローラ10は、オープンフローデータベース11内に、「inner tag = 10」に対応する「Flow cookie = 1001」を保持している。
 そのため、コントローラ10は、スイッチ20(20-i、i=1~n)のフローテーブル23に対して、この「Flow cookie = 1001」を指定することで、「inner tag = 10」を持つフローエントリを特定でき、該フローエントリのアクション(Action)を変更することができる。
 コントローラ10は、「Flow cookie = 1001」のフローエントリに対して、下記の書き換えアクション(Action)を指定した「FlowMod-Modify」をスイッチ2(スイッチ20-2)に転送する。「FlowMod-Modify」は、フローエントリの変更(更新)を指示する制御メッセージである。
 「FlowMod-Modify」:
 {Flow cookie = 1001, Action = “ToS値を5に書き換え, スイッチ3(スイッチ20-3)宛のポートに出力”}
 スイッチ2(スイッチ20-2)は、「FlowMod-Modify」に従って、フローテーブル23のフローエントリのアクション(Action)を書き換える。すなわち、スイッチ2(スイッチ20-2)のフローテーブル23に登録されているフローエントリは、次のように書き換えられる。
 スイッチ2(スイッチ20-2):
 {Flow cookie = 1001, Rule = “Dst MAC = AA”かつ“VLAN ID = 1”, Action = “ToS値を5に書き換え, スイッチ3(スイッチ20-3)宛のポートに出力”}
 スイッチ1(スイッチ20-1)は、{Dst MAC = AA、VLAN = 10}のパケットが入力ポート21に流入した際、QinQ機能によって、「tag = 1」を付加する。
 スイッチ1(スイッチ20-1)は、フローテーブル23を検索し、ヒットしたフローエントリに従って、スイッチ2(スイッチ20-2)宛のポートへパケットを転送する。
 スイッチ2(スイッチ20-2)は、フローテーブル23に今回登録されたフローエントリのアクション(Action)に従って、パケットのToS値を「ToS = 3」から「ToS = 5」に書き換えて(「ToS = 3」 → 「ToS = 5」)、スイッチ3(スイッチ20-3)宛のポートに出力する。
 スイッチ3(スイッチ20-3)は、フローテーブル23に今回登録されたフローエントリのアクション(Action)に従って、オープンフローネットワーク(OF-NW)外にパケットを転送し、QinQ機能によって、「outer tag = 1」を外して(削除して)出力する。
 したがって、オープンフローネットワーク(OF-NW)内を流れる「inner tag = 10」のパケットのToS値を「ToS = 3」から「ToS = 5」に書き換えることができる(「ToS = 3」 → 「ToS = 5」)。
 [本実施形態の特徴]
 本発明では、スイッチが未知パケットを「Packet-IN」としてコントローラ10に転送し、コントローラ10がインナータグ情報(inner tag)と、オープンフローネットワーク(OF-NW)内を流れるパケットに対応するフローエントリを示すフロークッキー情報(Flow cookie)のマッピングを行い、その情報を保持する。
 これにより、オープンフローネットワーク(OF-NW)内でインナータグ情報(inner tag)を識別することができるようになる。また、1つしかVLANが無いようなオープンフローネットワーク(OF-NW)内で、複数のVLANを扱うことが可能になる。
 例えば、ユーザネットワークA(NW A)、ユーザネットワークB(NW B)、通信事業者ネットワークの3つのネットワークがあったとする。ここで、QinQ機能を用いて、通信事業者ネットワーク内でユーザのパケットを識別する場合について説明する。
 まず、通信事業者ネットワークのエッジスイッチのQinQ機能を有効にする。この時、パケットを「NW A→通信事業者→NW B」と流すと、パケットが「NW A→通信事業者」を流れる時、通信事業者ネットワークのエッジスイッチ(NW A側)は、QinQ機能によって、該パケットに拡張タグを付与する。
 通信事業者ネットワーク内の各スイッチ(コアスイッチ等)は、この拡張タグを使用してトラフィックを識別する。
 そして、パケットが「通信事業者→NW B」を流れる時に、通信事業者ネットワークのエッジスイッチ(NW B側)が、該パケットからこの拡張タグを外す。
 通信事業者ネットワーク内では拡張タグを使うため、ユーザネットワーク内で使用されているVLANタグが重なっていても問題はない。
 なお、パケットに、VLANタグが2重に付加されている場合、パケットの先頭からみて、一つ目にあるタグを「アウタータグ情報(outer tag)」と呼び、二つ目にあるタグを「インナータグ情報(inner tag)」と呼ぶ。
 インナータグ情報(inner tag)、アウタータグ情報(outer tag)の役割/用途は共に、VLANタグと同じである。但し、インナータグ情報(inner tag)は、ユーザネットワーク間のみで使用される。同様に、アウタータグ情報(outer tag)は、通信事業者ネットワーク内のみで使用される。
 VLANタグの役割/用途は、スイッチに設定した複数のVLANを束ねる役割がある。
 例えば、スイッチAにVLAN1とVLAN2、スイッチBにVLAN1とVLAN2が設定されているとする。スイッチAのVLAN1とスイッチBのVLAN1、スイッチAのVLAN2とスイッチBのVLAN2が、それぞれ通信するためには、スイッチAとスイッチBの間にVLAN1とVLAN2用のLANケーブルを2本繋ぐ必要がある。ここで、VLANタグを使うことによって、スイッチAとスイッチBの間のLANケーブルが1本で済む。その仕組みは、スイッチAとスイッチBの間を流れるパケットに、VLANタグ1又はVLANタグ2を付与することによって、パケットがVLAN1に所属するものか、VLAN2に付属するものか、識別可能になる。
 <ハードウェアの例示>
 以下に、本発明に係るネットワークシステムを実現するための具体的なハードウェアの例について説明する。
 コントローラ10の例として、PC(パソコン)、アプライアンス(appliance)、シンクライアントサーバ、ワークステーション、メインフレーム、スーパーコンピュータ等の計算機を想定している。なお、コントローラ10は、中継機器や周辺機器でも良い。
 スイッチ20の例として、ネットワークスイッチ(network switch)、ルータ(router)、プロキシ(proxy)、ゲートウェイ(gateway)、ファイアウォール(firewall)、ロードバランサ(load balancer:負荷分散装置)、帯域制御装置(packet shaper)、セキュリティ監視制御装置(SCADA:Supervisory Control And Data Acquisition)、ゲートキーパー(gatekeeper)、基地局(base station)、アクセスポイント(AP:Access Point)、通信衛星(CS:Communication Satellite)、或いは、複数の通信ポートを有する計算機等が考えられる。
 コントローラ10及びスイッチ20は、計算機等に搭載される拡張ボード、或いは、物理マシン上に構築された仮想マシン(VM:Virtual Machine)でも良い。また、コントローラ10及びスイッチ20は、車両や船舶、航空機等の移動体に搭載されていても良い。
 図示しないが、コントローラ10及びスイッチ20の各々は、プログラムに基づいて駆動し所定の処理を実行するプロセッサと、当該プログラムや各種データを記憶するメモリと、ネットワークとの通信に用いられるインターフェースによって実現される。
 上記のプロセッサの例として、CPU(Central Processing Unit)、ネットワークプロセッサ(NP:Network Processor)、マイクロプロセッサ(microprocessor)、マイクロコントローラ(microcontroller)、或いは、専用の機能を有する半導体集積回路(LSI:Large Scale Integration)等が考えられる。
 上記のメモリの例として、RAM(Random Access Memory)、ROM(Read Only Memory)、EEPROM(Electrically Erasable and Programmable Read Only Memory)やフラッシュメモリ等の半導体記憶装置、HDD(Hard Disk Drive)やSSD(Solid State Drive)等の補助記憶装置、又は、DVD(Digital Versatile Disk)等のリムーバブルディスクや、SDメモリカード(Secure Digital memory card)等の記憶媒体(メディア)等が考えられる。また、バッファ(buffer)やレジスタ(register)等でも良い。或いは、DAS(Direct Attached Storage)、FC-SAN(Fibre Channel - Storage Area Network)、NAS(Network Attached Storage)、IP-SAN(IP - Storage Area Network)等を用いたストレージ装置でも良い。
 なお、上記のプロセッサ及び上記のメモリは、一体化していても良い。例えば、近年では、マイコン等の1チップ化が進んでいる。従って、電子機器等に搭載される1チップマイコンが、上記のプロセッサ及び上記のメモリを備えている事例も考えられる。
 上記のインターフェースの例として、ネットワーク通信に対応した基板(マザーボード、I/Oボード)やチップ等の半導体集積回路、NIC(Network Interface Card)等のネットワークアダプタや同様の拡張カード、アンテナ等の通信装置、接続口(コネクタ)等の通信ポート等が考えられる。
 また、ネットワークの例として、インターネット、LAN(Local Area Network)、無線LAN(Wireless LAN)、WAN(Wide Area Network)、バックボーン(Backbone)、ケーブルテレビ(CATV)回線、固定電話網、携帯電話網、WiMAX(IEEE 802.16a)、3G(3rd Generation)、専用線(lease line)、IrDA(Infrared Data Association)、Bluetooth(登録商標)、シリアル通信回線、データバス等が考えられる。
 なお、コントローラ10及びスイッチ20の各々の内部の構成要素は、モジュール(module)、コンポーネント(component)、或いは専用デバイス、又はこれらの起動(呼出)プログラムでも良い。
 但し、実際には、これらの例に限定されない。
 <まとめ>
 以上のように、本発明では、コントローラが、オープンフローネットワーク内を流れるパケットに付与されたインナータグ情報(inner tag)と、オープンフローネットワーク(OF-NW)内を流れるパケットに対応するフローエントリを示すフロークッキー情報(Flow cookie)をマッピングし、その情報を保持することが可能となる。
 このフロークッキー情報(Flow cookie)を指定することで、1つのVLANのみで構築されたネットワーク内で(例えば、1つしかVLANが無いようなオープンフローネットワーク内で)、複数のVLANを扱うことができる。
 具体的には、オープンフローネットワークに流入したフローをスイッチからコントローラに転送し、転送を受けたコントローラがオープンフローネットワークの入り口の「VLAN ID」情報を学習し、この「VLAN ID」と、オープンフローネットワーク内のパケットに対応するフローエントリを示すフロークッキー情報(Flow cookie)をマッピングすることによって、複数のVLANを扱うことが可能となる。
 また、コントローラがオープンフロー入り口のインナータグ情報(inner tag)とオープンフローネットワークを流れるフローを対応させて管理できるようになる。これにより、コントローラは、オープンフローネットワークとしては1つのVLAN(single VLAN)しか使用していないにも関わらず、仮想的に複数VLAN(multiple VLAN)を取り扱うことができる。
 <付記>
 上記の実施形態の一部又は全部は、以下の付記のように記載することも可能である。但し、実際には、以下の記載例に限定されない。
 (付記1)
 パケットをフローとして一律に制御するためのルールとアクションが定義されたフローエントリを、スイッチのフローテーブルに設定する手段と、
 ネットワーク内を流れるパケットに付与されたタグ情報と、前記ネットワーク内を流れるパケットに対応するフローエントリを示すフロークッキー情報(Flow cookie)をマッピングして保持し、仮想的に複数のVLAN(Virtual Local Area Network)を取り扱う手段と
を具備する
 コントローラ。
 (付記2)
 付記1に記載のコントローラであって、
 前記フローエントリに、前記ルール及び前記アクションと共に、該フローエントリを一意に特定するフロークッキー情報(Flow cookie)を設定する手段と、
 前記タグ情報として前記ネットワーク外の複数のVLANの各々を一意に特定する識別情報(VLAN ID)と、前記フロークッキー情報とをマッピングして保持する手段と、
 前記フロークッキー情報を用いて前記フローエントリを特定し、前記フローエントリのアクションを更新する手段と
を更に具備する
 コントローラ。
 (付記3)
 付記2に記載のコントローラであって、
 前記フロークッキー情報を用いて前記フローエントリを特定し、前記フローエントリのアクションを更新する際、流入するフローに対して、優先制御の1つであるToS(Type of Service)を実施し、パケットのToS値を一括して変更する旨のアクションに更新する手段
を更に具備する
 コントローラ。
 (付記4)
 コントローラからの制御に従い、パケットをフローとして一律に制御するためのルールとアクションが定義されたフローエントリを、前記スイッチのフローテーブルに設定する手段と、
 前記コントローラにおける、ネットワーク内を流れるパケットに付与されたタグ情報と、前記ネットワーク内を流れるパケットに対応するフローエントリを示すフロークッキー情報(Flow cookie)のマッピングに応じたフローエントリに従い、仮想的に複数のVLAN(Virtual Local Area Network)に対応する手段と
を具備する
 スイッチ。
 (付記5)
 付記4に記載のスイッチであって、
 ネットワークの入り口にある場合、未知のパケットが流入した際、前記ネットワーク内を流れるパケットに付与されたタグ情報を、前記ネットワーク外で使用されるVLANの識別情報(VLAN ID)を示すインナータグ情報(inner tag)とする手段と、
 QinQ機能(IEEE802.1q Tunneling)によって、該パケットに、前記ネットワーク内で使用されるVLANを一意に特定するアウタータグ情報(outer tag)を付加し、2重タグパケットとする手段と、
 前記コントローラから設定されたフローエントリに従って、パケットを所定の出力ポートから出力する手段と、
 前記ネットワークの出口にある場合、QinQ機能によって、パケットから前記アウタータグ情報を削除する手段と
を更に具備する
 スイッチ。
 <備考>
 以上、本発明の実施形態を詳述してきたが、実際には、上記の実施形態に限られるものではなく、本発明の要旨を逸脱しない範囲の変更があっても本発明に含まれる。
 なお、本出願は、日本出願番号2011-072153に基づく優先権を主張するものであり、日本出願番号2011-072153における開示内容は引用により本出願に組み込まれる。

Claims (10)

  1.  スイッチと、
     パケットをフローとして一律に制御するためのルールとアクションが定義されたフローエントリを、前記スイッチのフローテーブルに設定するコントローラと
    を含み、
     前記コントローラは、ネットワーク内を流れるパケットに付与されたタグ情報と、前記パケットに対応するフローエントリを示すフロークッキー情報(Flow cookie)をマッピングして保持し、仮想的に複数のVLAN(Virtual Local Area Network)を取り扱う
     ネットワークシステム。
  2.  請求項1に記載のネットワークシステムであって、
     前記コントローラは、
     前記フローエントリに、前記ルール及び前記アクションと共に、該フローエントリを一意に特定するフロークッキー情報(Flow cookie)を設定する手段と、
     前記タグ情報として前記ネットワーク外の複数のVLANの各々を一意に特定する識別情報(VLAN ID)と、前記フロークッキー情報とをマッピングして保持する手段と、
     前記フロークッキー情報を用いて前記フローエントリを特定し、前記フローエントリのアクションを更新する手段と
    を具備する
     ネットワークシステム。
  3.  請求項2に記載のネットワークシステムであって、
     前記コントローラは、
     前記フロークッキー情報を用いて前記フローエントリを特定し、前記フローエントリのアクションを更新する際、流入するフローに対して、優先制御の1つであるToS(Type of Service)を実施し、パケットのToS値を一括して変更する旨のアクションに更新する手段
    を更に具備する
     ネットワークシステム。
  4.  請求項1乃至3のいずれか一項に記載のネットワークシステムであって、
     前記スイッチは、
     前記ネットワークの入り口にある場合、未知のパケットが流入した際、前記タグ情報を、前記ネットワーク外で使用されるVLANの識別情報(VLAN ID)を示すインナータグ情報(inner tag)とする手段と、
     QinQ機能(IEEE802.1q Tunneling)によって、該パケットに、前記ネットワーク内で使用されるVLANを一意に特定するアウタータグ情報(outer tag)を付加し、2重タグパケットとする手段と、
     前記コントローラから設定されたフローエントリに従って、パケットを所定の出力ポートから出力する手段と、
     前記ネットワークの出口にある場合、QinQ機能によって、パケットから前記アウタータグ情報を削除する手段と
    を具備する
     ネットワークシステム。
  5.  パケットをフローとして一律に制御するためのルールとアクションが定義されたフローエントリを、スイッチのフローテーブルに設定する手段と、
     ネットワーク内を流れるパケットに付与されたタグ情報と、前記ネットワーク内を流れるパケットに対応するフローエントリを示すフロークッキー情報(Flow cookie)をマッピングして保持し、仮想的に複数のVLAN(Virtual Local Area Network)を取り扱う手段と
    を具備する
     コントローラ。
  6.  請求項5に記載のコントローラであって、
     前記フローエントリに、前記ルール及び前記アクションと共に、該フローエントリを一意に特定するフロークッキー情報(Flow cookie)を設定する手段と、
     前記タグ情報として前記ネットワーク外の複数のVLANの各々を一意に特定する識別情報(VLAN ID)と、前記フロークッキー情報とをマッピングして保持する手段と、
     前記フロークッキー情報を用いて前記フローエントリを特定し、前記フローエントリのアクションを更新する手段と
    を更に具備する
     コントローラ。
  7.  請求項6に記載のコントローラであって、
     前記フロークッキー情報を用いて前記フローエントリを特定し、前記フローエントリのアクションを更新する際、流入するフローに対して、優先制御の1つであるToS(Type of Service)を実施し、パケットのToS値を一括して変更する旨のアクションに更新する手段
    を更に具備する
     コントローラ。
  8.  コントローラからの制御に従い、パケットをフローとして一律に制御するためのルールとアクションが定義されたフローエントリを、前記スイッチのフローテーブルに設定する手段と、
     ネットワークの入り口にある場合、未知のパケットが流入した際、前記ネットワーク内を流れるパケットに付与されたタグ情報を、前記ネットワーク外で使用されるVLANの識別情報(VLAN ID)を示すインナータグ情報(inner tag)とする手段と、
     QinQ機能(IEEE802.1q Tunneling)によって、該パケットに、前記ネットワーク内で使用されるVLANを一意に特定するアウタータグ情報(outer tag)を付加し、2重タグパケットとする手段と、
     前記コントローラから設定されたフローエントリに従って、パケットを所定の出力ポートから出力する手段と、
     前記ネットワークの出口にある場合、QinQ機能によって、パケットから前記アウタータグ情報を削除する手段と
    を具備する
     スイッチ。
  9.  計算機により実施されるVLANタグ情報取得方法であって、
     パケットをフローとして一律に制御するためのルールとアクションが定義されたフローエントリを、スイッチのフローテーブルに設定することと、
     ネットワーク内を流れるパケットに付与されたタグ情報と、前記ネットワーク内を流れるパケットに対応するフローエントリを示すフロークッキー情報(Flow cookie)をマッピングして保持し、仮想的に複数のVLAN(Virtual Local Area Network)を取り扱うことと
    を含む
     VLANタグ情報取得方法。
  10.  パケットをフローとして一律に制御するためのルールとアクションが定義されたフローエントリを、スイッチのフローテーブルに設定するステップと、
     ネットワーク内を流れるパケットに付与されたタグ情報と、前記ネットワーク内を流れるパケットに対応するフローエントリを示すフロークッキー情報(Flow cookie)をマッピングして保持し、仮想的に複数のVLAN(Virtual Local Area Network)を取り扱うステップと
    を計算機に実行させるためのプログラムを格納した記憶媒体。
PCT/JP2012/057218 2011-03-29 2012-03-21 ネットワークシステム、及びvlanタグ情報取得方法 WO2012133060A1 (ja)

Priority Applications (6)

Application Number Priority Date Filing Date Title
CN201280015003.1A CN103460666B (zh) 2011-03-29 2012-03-21 网络系统和vlan标签数据获取方法
RU2013143626/08A RU2589340C2 (ru) 2011-03-29 2012-03-21 Сетевая система и способ получения данных тега vlan
JP2013507436A JPWO2012133060A1 (ja) 2011-03-29 2012-03-21 ネットワークシステム、及びvlanタグ情報取得方法
EP12763952.4A EP2693708B1 (en) 2011-03-29 2012-03-21 Network system and method for acquiring vlan tag information
US14/007,341 US9608908B2 (en) 2011-03-29 2012-03-21 Network system and VLAN tag data acquiring method
KR1020137025242A KR20130125826A (ko) 2011-03-29 2012-03-21 네트워크 시스템 및 vlan 태그 정보 취득 방법

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2011-072153 2011-03-29
JP2011072153 2011-03-29

Publications (1)

Publication Number Publication Date
WO2012133060A1 true WO2012133060A1 (ja) 2012-10-04

Family

ID=46930792

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2012/057218 WO2012133060A1 (ja) 2011-03-29 2012-03-21 ネットワークシステム、及びvlanタグ情報取得方法

Country Status (7)

Country Link
US (1) US9608908B2 (ja)
EP (1) EP2693708B1 (ja)
JP (1) JPWO2012133060A1 (ja)
KR (1) KR20130125826A (ja)
CN (1) CN103460666B (ja)
RU (1) RU2589340C2 (ja)
WO (1) WO2012133060A1 (ja)

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102868578A (zh) * 2012-10-11 2013-01-09 盛科网络(苏州)有限公司 Openflow交换机表项容量的测试方法及测试系统
WO2014054768A1 (ja) * 2012-10-05 2014-04-10 日本電気株式会社 通信システム、仮想ネットワーク管理装置、仮想ネットワークの管理方法及びプログラム
WO2014084250A1 (ja) * 2012-11-28 2014-06-05 日本電気株式会社 スイッチ装置、vlan設定管理方法及びプログラム
WO2014101394A1 (zh) * 2012-12-24 2014-07-03 华为技术有限公司 可扩展虚拟局域网报文的传输方法及装置、系统
CN105009526A (zh) * 2013-02-27 2015-10-28 日本电气株式会社 控制装置、控制系统、交换机控制方法和程序
WO2016152903A1 (ja) * 2015-03-24 2016-09-29 日本電気株式会社 通信システム、制御装置、制御方法及びプログラム
JP2017521930A (ja) * 2014-06-18 2017-08-03 華為技術有限公司Huawei Technologies Co.,Ltd. サービスデータフローを制御する方法及び装置
US11962433B2 (en) 2020-03-16 2024-04-16 Sumitomo Electric Industries, Ltd. Switch device, in-vehicle communication system, and communication method

Families Citing this family (30)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9444748B2 (en) 2013-03-15 2016-09-13 International Business Machines Corporation Scalable flow and congestion control with OpenFlow
US9769074B2 (en) 2013-03-15 2017-09-19 International Business Machines Corporation Network per-flow rate limiting
US9104643B2 (en) 2013-03-15 2015-08-11 International Business Machines Corporation OpenFlow controller master-slave initialization protocol
US9596192B2 (en) 2013-03-15 2017-03-14 International Business Machines Corporation Reliable link layer for control links between network controllers and switches
US9609086B2 (en) 2013-03-15 2017-03-28 International Business Machines Corporation Virtual machine mobility using OpenFlow
US9118984B2 (en) * 2013-03-15 2015-08-25 International Business Machines Corporation Control plane for integrated switch wavelength division multiplexing
US9407560B2 (en) 2013-03-15 2016-08-02 International Business Machines Corporation Software defined network-based load balancing for physical and virtual networks
US9755960B2 (en) * 2013-09-30 2017-09-05 Juniper Networks, Inc. Session-aware service chaining within computer networks
RU2016137133A (ru) * 2014-02-19 2018-03-22 Нек Корпорейшн Способ управления сетью, сетевая система, устройство и программа
US9985896B2 (en) 2014-03-31 2018-05-29 Nicira, Inc. Caching of service decisions
CN105379203B (zh) 2014-04-21 2018-12-07 华为技术有限公司 隧道类型的选择方法及装置
CN105684382A (zh) * 2014-08-11 2016-06-15 华为技术有限公司 报文的控制方法、交换机及控制器
EP3179687B1 (en) 2014-08-25 2020-02-12 Huawei Technologies Co., Ltd. Network flow information statistics method and apparatus
CN104219149B (zh) * 2014-08-26 2018-07-13 新华三技术有限公司 一种基于虚连接的报文传输方法和设备
US9692684B2 (en) * 2014-09-05 2017-06-27 Telefonaktiebolaget L M Ericsson (Publ) Forwarding table precedence in SDN
US9432380B2 (en) * 2014-09-22 2016-08-30 Empire Technology Development Llc Network control security
US11178051B2 (en) * 2014-09-30 2021-11-16 Vmware, Inc. Packet key parser for flow-based forwarding elements
CN105763512B (zh) * 2014-12-17 2019-03-15 新华三技术有限公司 Sdn虚拟化网络的通信方法和装置
WO2016122570A1 (en) * 2015-01-30 2016-08-04 Hewlett Packard Enterprise Development Lp Sending information in a network controlled by a controller
JP6606919B2 (ja) * 2015-08-25 2019-11-20 富士通株式会社 フロースイッチ、コントローラ、及び、中継装置
CN107231318B (zh) * 2016-03-25 2022-07-08 阿尔格布鲁控股有限公司 基于实时网络性能的动态切换控制的方法、设备和装置
CN106161113B (zh) * 2016-08-31 2018-12-18 浪潮(北京)电子信息产业有限公司 一种Linux系统的QinQ报文处理方法及平台
US11229023B2 (en) 2017-04-21 2022-01-18 Netgear, Inc. Secure communication in network access points
CN107547686B (zh) * 2017-08-29 2021-05-28 新华三技术有限公司 Arp请求报文处理方法和装置
US10884975B2 (en) 2017-11-30 2021-01-05 Samsung Electronics Co., Ltd. Differentiated storage services in ethernet SSD
US10581738B2 (en) 2018-01-19 2020-03-03 Cisco Technology, Inc. Efficient inter-VLAN routing in openflow networks
CN109218161A (zh) * 2018-10-24 2019-01-15 郑州云海信息技术有限公司 一种虚拟交换机转发数据的方法及装置
CN110247908A (zh) * 2019-06-11 2019-09-17 优刻得科技股份有限公司 基于可编程网络交换技术的数据发送的方法、装置和系统
CN113055287B (zh) * 2019-12-27 2022-09-30 中国电信股份有限公司 数据包的处理方法、装置和计算机可读存储介质
US11245624B2 (en) * 2020-05-01 2022-02-08 Arista Networks, Inc. Systems and methods for implementing multi-table openflow flows that have combinations of packet edits

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004165794A (ja) * 2002-11-11 2004-06-10 Nippon Telegr & Teleph Corp <Ntt> 帯域管理装置および方法、プログラム、記録媒体
WO2004095780A1 (ja) * 2003-04-23 2004-11-04 Fujitsu Limited ネットワーク接続方法及びネットワーク接続システム及びそれを構成するレイヤ2スイッチ及び管理サーバ
JP2008527772A (ja) * 2004-12-31 2008-07-24 ブリティッシュ・テレコミュニケーションズ・パブリック・リミテッド・カンパニー コネクションレス通信トラフィックのためのコネクション型通信スキーム
JP2009177282A (ja) 2008-01-22 2009-08-06 Keio Gijuku ネットワークシステム
JP2009177281A (ja) 2008-01-22 2009-08-06 Keio Gijuku ネットワークシステム
JP2009201142A (ja) 2001-01-30 2009-09-03 Alcatel Internetworking (Pe) Inc Vlanトンネリングプロトコル
JP2011072153A (ja) 2009-09-28 2011-04-07 Sanyo Electric Co Ltd 車両用電源装置及びこれを備える車両並びに車両用電源装置の容量均等化方法

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3828444B2 (ja) * 2002-03-26 2006-10-04 株式会社日立製作所 データ通信中継装置及びシステム
US7835367B2 (en) * 2003-04-23 2010-11-16 Fujitsu Limited Network connection method, network connection system, and, layer 2 switch and management server forming the network connection system
US7301949B2 (en) * 2003-07-15 2007-11-27 Telefonaktiebolaget Lm Ericsson (Publ) Arrangements for connection-oriented transport in a packet switched communications network
GB0428541D0 (en) * 2004-12-31 2005-02-09 British Telecomm Out-of-band switch control
CN101064682B (zh) * 2006-04-29 2010-08-04 华为技术有限公司 光网络终端及其报文处理方法
CN101110764A (zh) * 2007-08-13 2008-01-23 中兴通讯股份有限公司 一种以太网交换机数据帧划分虚拟局域网并转发的方法
CN102349268B (zh) * 2009-03-09 2015-11-25 日本电气株式会社 OpenFlow通信系统和OpenFlow通信方法
EP2572473B1 (en) * 2010-05-19 2014-02-26 Telefonaktiebolaget L M Ericsson (PUBL) Methods and apparatus for use in an openflow network

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009201142A (ja) 2001-01-30 2009-09-03 Alcatel Internetworking (Pe) Inc Vlanトンネリングプロトコル
JP2004165794A (ja) * 2002-11-11 2004-06-10 Nippon Telegr & Teleph Corp <Ntt> 帯域管理装置および方法、プログラム、記録媒体
WO2004095780A1 (ja) * 2003-04-23 2004-11-04 Fujitsu Limited ネットワーク接続方法及びネットワーク接続システム及びそれを構成するレイヤ2スイッチ及び管理サーバ
JP2008527772A (ja) * 2004-12-31 2008-07-24 ブリティッシュ・テレコミュニケーションズ・パブリック・リミテッド・カンパニー コネクションレス通信トラフィックのためのコネクション型通信スキーム
JP2009177282A (ja) 2008-01-22 2009-08-06 Keio Gijuku ネットワークシステム
JP2009177281A (ja) 2008-01-22 2009-08-06 Keio Gijuku ネットワークシステム
JP2011072153A (ja) 2009-09-28 2011-04-07 Sanyo Electric Co Ltd 車両用電源装置及びこれを備える車両並びに車両用電源装置の容量均等化方法

Non-Patent Citations (4)

* Cited by examiner, † Cited by third party
Title
802.1Q TUNNELING (Q-IN- Q, 24 March 2011 (2011-03-24), Retrieved from the Internet <URL:http: //www.infraexpert.com/study/vlan2.3.htm>
OPENFLOW SWITCH SPECIFICATION VERSION 1.1.0 IMPLEMENTED, 28 February 2011 (2011-02-28), XP008166938 *
OPENFLOW SWITCH SPECIFICATION, 31 December 2009 (2009-12-31), Retrieved from the Internet <URL:http: //www.openflowswitch.org/documents/ openflow-spec-v1.0.0.pdf>
See also references of EP2693708A4

Cited By (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2014054768A1 (ja) * 2012-10-05 2014-04-10 日本電気株式会社 通信システム、仮想ネットワーク管理装置、仮想ネットワークの管理方法及びプログラム
US9794111B2 (en) 2012-10-05 2017-10-17 Nec Corporation Communication system, virtual network management apparatus, virtual network management method and program
JPWO2014054768A1 (ja) * 2012-10-05 2016-08-25 日本電気株式会社 通信システム、仮想ネットワーク管理装置、仮想ネットワークの管理方法及びプログラム
CN102868578A (zh) * 2012-10-11 2013-01-09 盛科网络(苏州)有限公司 Openflow交换机表项容量的测试方法及测试系统
CN104823413A (zh) * 2012-11-28 2015-08-05 日本电气株式会社 交换机装置、vlan设定管理方法及程序
JP5900652B2 (ja) * 2012-11-28 2016-04-06 日本電気株式会社 スイッチ装置、vlan設定管理方法及びプログラム
WO2014084250A1 (ja) * 2012-11-28 2014-06-05 日本電気株式会社 スイッチ装置、vlan設定管理方法及びプログラム
US9887877B2 (en) 2012-11-28 2018-02-06 Nec Corporation Switch apparatus, VLAN setting management method and program
WO2014101394A1 (zh) * 2012-12-24 2014-07-03 华为技术有限公司 可扩展虚拟局域网报文的传输方法及装置、系统
CN105009526A (zh) * 2013-02-27 2015-10-28 日本电气株式会社 控制装置、控制系统、交换机控制方法和程序
US20160006583A1 (en) * 2013-02-27 2016-01-07 Nec Corporation Control apparatus, communication system, switch control method and program
JP2017521930A (ja) * 2014-06-18 2017-08-03 華為技術有限公司Huawei Technologies Co.,Ltd. サービスデータフローを制御する方法及び装置
US10728162B2 (en) 2014-06-18 2020-07-28 Huawei Technologies Co., Ltd. Method and apparatus for controlling service data flow
WO2016152903A1 (ja) * 2015-03-24 2016-09-29 日本電気株式会社 通信システム、制御装置、制御方法及びプログラム
JPWO2016152903A1 (ja) * 2015-03-24 2018-01-18 日本電気株式会社 通信システム、制御装置、制御方法及びプログラム
US10348623B2 (en) 2015-03-24 2019-07-09 Nec Corporation Communication system, control apparatus, control method and program
US11962433B2 (en) 2020-03-16 2024-04-16 Sumitomo Electric Industries, Ltd. Switch device, in-vehicle communication system, and communication method

Also Published As

Publication number Publication date
CN103460666B (zh) 2017-02-15
US9608908B2 (en) 2017-03-28
KR20130125826A (ko) 2013-11-19
US20140016647A1 (en) 2014-01-16
EP2693708A4 (en) 2015-08-26
RU2013143626A (ru) 2015-05-10
EP2693708A1 (en) 2014-02-05
RU2589340C2 (ru) 2016-07-10
EP2693708B1 (en) 2019-09-04
CN103460666A (zh) 2013-12-18
JPWO2012133060A1 (ja) 2014-07-28

Similar Documents

Publication Publication Date Title
WO2012133060A1 (ja) ネットワークシステム、及びvlanタグ情報取得方法
US9515868B2 (en) System and method for communication
US9215175B2 (en) Computer system including controller and plurality of switches and communication method in computer system
JP5962808B2 (ja) スイッチシステム、スイッチ制御方法、及び記憶媒体
CN103444143B (zh) 网络系统及策略路由设置方法
WO2014136864A1 (ja) パケット書換装置、制御装置、通信システム、パケット送信方法及びプログラム
US9491000B2 (en) Data transport system, transmission method, and transport apparatus
US9246815B2 (en) Load reducing system and load reducing method
US10069648B2 (en) Communication system, control apparatus, communication control method and program
EP3095216B1 (en) Single hop overlay architecture for line rate performance in campus networks
US11296973B2 (en) Path information transmission device, path information transmission method and path information transmission program
US20150256455A1 (en) Communication system, path information exchange apparatus, communication node, forwarding method for path information and program
JPWO2014126094A1 (ja) 通信システム、通信方法、制御装置、制御装置の制御方法及びプログラム
JP2017175522A (ja) ネットワークシステム、制御装置、方法およびプログラム
JP5854488B2 (ja) 通信システム、制御装置、処理規則の設定方法およびプログラム
JP2015511097A (ja) 通信システム、制御装置、通信方法、及びプログラム
WO2015118811A1 (ja) 通信システム、パケット転送装置、パケット転送方法およびパケット転送用プログラム
RU2574350C2 (ru) Компьютерная система и способ осуществления связи в компьютерной системе

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: 12763952

Country of ref document: EP

Kind code of ref document: A1

ENP Entry into the national phase

Ref document number: 2013507436

Country of ref document: JP

Kind code of ref document: A

ENP Entry into the national phase

Ref document number: 20137025242

Country of ref document: KR

Kind code of ref document: A

WWE Wipo information: entry into national phase

Ref document number: 14007341

Country of ref document: US

NENP Non-entry into the national phase

Ref country code: DE

ENP Entry into the national phase

Ref document number: 2013143626

Country of ref document: RU

Kind code of ref document: A