WO2012137646A1 - ネットワークシステム、スイッチ、及び接続端末検知方法 - Google Patents

ネットワークシステム、スイッチ、及び接続端末検知方法 Download PDF

Info

Publication number
WO2012137646A1
WO2012137646A1 PCT/JP2012/058150 JP2012058150W WO2012137646A1 WO 2012137646 A1 WO2012137646 A1 WO 2012137646A1 JP 2012058150 W JP2012058150 W JP 2012058150W WO 2012137646 A1 WO2012137646 A1 WO 2012137646A1
Authority
WO
WIPO (PCT)
Prior art keywords
packet
mac address
node device
terminal
address information
Prior art date
Application number
PCT/JP2012/058150
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 US14/009,677 priority Critical patent/US9444743B2/en
Priority to KR1020137025960A priority patent/KR101501397B1/ko
Priority to EP12767795.3A priority patent/EP2696537B1/en
Priority to CN201280017014.3A priority patent/CN103477593B/zh
Priority to JP2013508826A priority patent/JP5652630B2/ja
Priority to BR112013025528A priority patent/BR112013025528A2/pt
Priority to ES12767795.3T priority patent/ES2607106T3/es
Priority to RU2013148947/08A priority patent/RU2583745C2/ru
Priority to CA2832019A priority patent/CA2832019A1/en
Publication of WO2012137646A1 publication Critical patent/WO2012137646A1/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
    • H04L47/12Avoiding congestion; Recovering from congestion
    • H04L47/125Avoiding congestion; Recovering from congestion by balancing the load, e.g. traffic engineering
    • 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/4604LAN interconnection over a backbone network, e.g. Internet, Frame Relay
    • H04L12/462LAN interconnection over a bridge based backbone
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/08Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
    • H04L43/0805Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters by checking availability
    • H04L43/0811Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters by checking availability by checking connectivity
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/25Routing or path finding in a switch fabric
    • H04L49/253Routing or path finding in a switch fabric using establishment or release of connections between ports
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/70Virtual switches
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • H04L63/0876Network architectures or network communication protocols for network security for authentication of entities based on the identity of the terminal or configuration, e.g. MAC address, hardware or software configuration or device fingerprint
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/52Network services specially adapted for the location of the user terminal

Definitions

  • the present invention relates to a network system, and more particularly to a network system that detects a terminal connected to a switch.
  • the conventional network device has a problem that it 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.
  • the network device is in charge of the packet transfer function
  • the control device is in charge of the control function that is separated from the network device, so that the control device can centrally manage packet transfer and is highly flexible. It becomes possible to build a 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.
  • the CD separation type network there is an open flow network using an open flow (OpenFlow) technology in which a switch is controlled 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 is only an example.
  • a control device such as an open flow controller (OFC) operates a flow table (flow table) related to path control of a node device such as an open flow switch (OFS) to operate a node. Control the behavior of the device.
  • OFC open flow controller
  • OFS open flow switch
  • control device and the node device are connected by a control channel (control communication channel) called “secure channel” which is a communication path protected by a dedicated line, SSL (Secure Socket Layer), or the like.
  • secure channel which is a communication path protected by a dedicated line, SSL (Secure Socket Layer), or the like.
  • the control device and the node device transmit / receive an OpenFlow message (OpenFlow Message), which is a control message conforming to (compliant with) the OpenFlow protocol (OpenFlow Protocol), via the control channel.
  • OpenFlow Protocol OpenFlow Protocol
  • the node devices in the OpenFlow network are edge switches and core switches that are arranged in the OpenFlow network and are under the control of the control device.
  • 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 OpenFlow network is referred to as a flow.
  • communication is regarded as an end-to-end (E2E: End to End) flow, and path control, failure recovery, load balancing, 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 node device indicates output port identification information (output port number, etc.) in the action of the flow entry, the node device must output the packet to the corresponding port and indicate the output port identification information. If so, the packet is discarded. Alternatively, when the header information is indicated in the action of the flow entry, the node device rewrites the header of the packet based on the header information.
  • the node device 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 the packet, the node device 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. On the other hand, if a flow entry having a rule that matches the header information of the received packet is not found as a result of the search, the received packet is determined to be the first packet (first packet), and in the OpenFlow network via the control channel. Forwards the received packet (or a copy of it) to the control device, requests packet route calculation based on the source / destination (destination) of the received packet, etc., and receives a flow entry setting message as a response And update the flow table.
  • 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 control device”.
  • the current method of using the flow table is not efficient and may run out of resources.
  • the switch acquires terminal location information (information indicating the current location of the terminal on the network) using a broadcast packet such as ARP. Information could not be obtained.
  • the node device when a packet is sent from the terminal to the node device, the node device sends the MAC address information held by itself and the port number associated with the MAC address information and the source MAC address of the packet to be transferred. Compare the information with the port number.
  • the inquiry information (Packet-in) is transmitted to the control device, the terminal information is managed by the control device, and the control device Register the information in the node device.
  • the inquiry information (Packet-in) is one of the OpenFlow messages.
  • 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 switch receives a packet from the terminal, the switch notifies the controller of a set of the source MAC address information and the port number of the packet. Based on the notification from the switch, the controller recognizes the current position of the packet transmission source terminal on the network.
  • a switch When a switch according to the present invention receives a packet from a terminal, the switch notifies the controller of a set of the source MAC address information and the port number of the packet as current location information on the network of the terminal of the source of the packet And a means for setting a flow entry in which a rule and an action for uniformly controlling the packet as a flow are defined in its own flow table in accordance with control from the controller.
  • the controller sets a flow entry in which rules and actions for uniformly controlling packets as flows are defined in the flow table of the switch. Further, when the switch receives a packet from the terminal, it notifies the controller of a set of the source MAC address information and the port number of the packet. Further, the controller recognizes the current position of the packet transmission source terminal on the network based on the notification from the switch.
  • the program according to the present invention when receiving a packet from a terminal, notifies the controller of a set of transmission source MAC address information and port number of the packet as current position information on the network of the transmission source terminal of the packet And a program for causing the switch to execute a step for setting a flow entry in which a rule and an action for uniformly controlling the packet as a flow are defined in its own flow table according to control from the controller It is.
  • the program according to the present invention can be stored in a storage device or a storage medium.
  • the terminal connected to the node device group is assigned to which number port of which node device using only the source MAC address (Source MAC) and the port number (port information) of the packet transferred from the terminal. Determine if it is connected. Further, the control device manages this terminal connection information, thereby realizing route control in consideration of the terminal position.
  • 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 packet 50 is transferred from the terminal 10-1 to the terminal 10-2 via the node device 20-1 and the node device 20-2.
  • the terminal 10-1 is a transmission source terminal “A” that transmits a packet.
  • the terminal 10-2 is the destination terminal “B” that receives the packet.
  • the packet 50 is “B-addressed, A-source packet”.
  • To B means that the destination is the terminal B, and the MAC address of the terminal B is designated as the destination MAC address.
  • Source A means that the transmission source is the terminal A, and that the MAC address of the terminal A is designated as the transmission source MAC address.
  • OFS OpenFlow switch
  • the terminal location information comparison unit 21 performs terminal location information comparison using the MAC address information and the port number. Specifically, the terminal location information comparison unit 21 holds the MAC address information and the port number, and sets the MAC address information and the port number that are held, the source MAC address information of the packet to be transferred, Compare the port number pair.
  • the terminal location information comparison unit 21 is an L2 (layer 2) functional block (L2 block).
  • the flow table comparison unit 22 compares the flow table and flow information performed by a normal node device.
  • the control device 30 is a control device that controls and manages the node devices arranged in the network.
  • the control device 30 operates as an OpenFlow controller (OFC).
  • OFC OpenFlow controller
  • the control device 30 detects the node device 20-1 and the node device 20-2 based on the topology information (topology) indicating the connection state of the network, the control device 30 calculates the packet transfer path and the node device related to the path The flow entry is registered in the flow table. Thereby, the control device 30 performs path control between the node device 20-1 and the node device 20-2.
  • the control device 30 has a terminal location information management table 31.
  • the inquiry information (Packet-in) 51 is a control message for requesting the control device 30 to perform path control (inquiring about the transfer path of the packet 50).
  • the data format and data contents of the inquiry information (Packet-in) 51 are the same as the inquiry information (Packet-in) transmitted to the control device when there is a nonconformity (mismatch) in the normal flow table search.
  • Information (flag) is assigned.
  • the terminal location information comparison unit 21 when the terminal location information comparison unit 21 receives the packet 50, the terminal location information comparison unit 21 sets the MAC address information held and the port number linked to the MAC address information, the source MAC address information and the port of the packet 50 to be transferred When the number and the pair are compared, and inconsistency (mismatch), inquiry information (Packet-in) 51 is generated based on the packet 50, and the inquiry information (Packet-in) 51 is transferred to the control device 30 To do.
  • inquiry information (Packet-in) 51 is generated based on the packet 50, and the inquiry information (Packet-in) 51 is transferred to the control device 30 To do.
  • the inquiry information (Packet-in) 52 is a control message for requesting the control device 30 to perform path control (inquiring about the transfer path of the packet 50).
  • the difference between the inquiry information (Packet-in) 52 and the normal inquiry information (Packet-in) is that the information (flag) for identification is different, and the data format and data content are basically normal. This is the same as the inquiry information (Packet-in).
  • the flow table comparison unit 22 compares the MAC address information stored in the flow entry of the flow table with the destination MAC address information of the packet 50 to be transferred. Based on this, inquiry information (Packet-in) 52 is generated, and the inquiry information (Packet-in) 52 is transferred to the control device 30.
  • control device 30 defines a connection end between the node devices as an inside port (inside) 23.
  • a connection end of the node device and the terminal on the node device side is defined as an outside port 24.
  • the control device 30 recognizes the terminal 10-1 newly connected to the node device 20-1 based on the content of the inquiry information (Packet-in) 51 from the node device 20-1. Specifically, the control device 30 acquires the MAC address information of the terminal 10-1 and the port number to which the terminal 10-1 is connected from the content of the inquiry information (Packet-in) 51, and the terminal location information The management table 31 is updated. Note that the port to which the terminal 10-1 is connected is of course the outside port (outside) 24.
  • the terminal location information comparison unit 21 has a MAC & port information (terminal location information) table 211.
  • the MAC & port information table 211 is a pre-stage search table searched before the flow table 221.
  • the MAC & port information table 211 can be said to be a kind of flow table in which a combination of MAC address information and a port number is a determination condition (rule).
  • the flow table comparison unit 22 has a flow table 221.
  • the flow table 221 is a flow table in the OpenFlow network.
  • the flow table 221 is a subsequent search table that is searched after the MAC & port information table 211.
  • the flow table 221 contains a flow entry that uses only the destination MAC address (Destination MAC) as a determination condition (rule). It ’s fine.
  • the MAC & port information table 211 held by the terminal location information comparison unit 21 has an area (field) for storing MAC address information 2111 and a port number 2112.
  • the packet 50 has an area for storing the source MAC address information 501 and the port number 502 in the header area.
  • the node device 20-1 compares the contents of the MAC & port information table 211 with the contents of the packet 50.
  • the node device 20-1 transmits the set of the MAC address information 2111 stored in the MAC & port information table 211 and the port number 2112 linked to the MAC address information 2111 and the transmission source held by the packet 50 A pair of the MAC address information 501 and the port number 502 is compared for each port and each MAC.
  • the node device 20-1 If the node device 20-1 matches (matches) the contents of the MAC & port information table 211 and the contents of the packet 50 as a result of the comparison, the node device 20-1 performs a flow table comparison.
  • the node device 20-1 activates the L2 learning function.
  • the MAC & port information table 211 is a table that holds, as terminal location information, a set of MAC address information of a terminal connected to the node device 20-1 and a port number to which the terminal is connected.
  • control device 30 receives the inquiry information (Packet-in) 51 generated by this comparison mismatch (mismatch), so that the attribute of the port that received the packet 50 is the outside port (outside). It can be determined that the port is an inlet port.
  • Packet-in the inquiry information
  • control device 30 can manage terminal location information with only two pieces of information of the source MAC address information 501 and the port number 502 of the packet 50.
  • Terminal location information With reference to FIG. 4, an example of the terminal location information management table 31 included in the control device 30 will be described.
  • the terminal location information management table 31 has an area for storing node device information 311, terminal MAC information 312, and port number 313.
  • the node device information 311 is an area for writing identification information of the node device to which the terminal is connected.
  • the terminal MAC information 312 is an area for writing information on the terminal MAC address (source MAC address).
  • the port number 313 is an area for writing the port number of the node device to which the terminal is connected.
  • control information 30 manages inquiry information (Packet-in) 51 that is generated when the result of terminal location information comparison is nonconformity (mismatch).
  • the control device 30 receives the inquiry information (Packet-in) 51 from the node device 20-1, and registers the terminal information in the terminal location information management table 31 based on the contents of the inquiry information (Packet-in) 51.
  • the control device 30 The node device information 311 is written with the identification information of the node device to which the terminal is connected, the terminal MAC information 312 is written with the source MAC address information of the terminal, and the port number 313 is the node device to which the terminal is connected. Write the port number.
  • This system includes a terminal 10-1, a terminal 10-2, a terminal 10-3, a terminal 10-4, a node device 20-1, a node device 20-2, a node device 20-3, a node A device 20-4 and a control device 30 are included.
  • the control device 30 manages the node device 20-1, the node device 20-2, the node device 20-3, and the node device 20-4.
  • the control device 30 has a terminal location information management table 31.
  • the control device 30 defines a connection end between the node devices as an inside port (inside) 23 and defines a connection end of the node device and the terminal on the node device side as an outside port (outside) 24.
  • the terminal 10-1 is connected to the port 1, and the terminal 10-3 is connected to the port 2.
  • the terminal 10-2 is connected to the port 1, and the terminal 10-4 is connected to the port 2.
  • the port 1 and the port 2 are outside ports (outside).
  • control device 30 identifies the position where the node devices are connected to each other, defines the identified location as an inside port 23, and manages it as management information.
  • the control device 30 suppresses inquiry information (Packet-in) that is generated when the result of the terminal location information comparison performed at the inside port (inside) 23 is nonconformity (mismatch).
  • Packet-in inquiry information
  • control device 30 may register a set of the port number of the inside port (inside) 23 and all MAC address information using a wild card or the like in the MAC & port information table 211 of the node device 20-1. .
  • the node device 20-1 shifts to the processing of the flow table comparison unit 22 unconditionally for the packet received at the inside port (inside) 23 regardless of the source MAC address information.
  • the control device 30 uses the lowest priority and uses all the MACs using the port number of the outside port (outside) 24 and a wild card. It is also possible to register a flow entry that defines a set of address information as a rule and an action to transfer inquiry information (Packet-in) to the control device 30 as an action.
  • the node device 20-1 inquires about the information of the packet because only the above flow entry is registered. The information (Packet-in) is stored, and the inquiry information (Packet-in) is transferred to the control device 30.
  • the node device 20-1 Terminal position information comparison is performed on a packet that has flowed in through the outer port (outside) 24 from 1 and if the result of the terminal position information comparison is mismatch (mismatch), the information of the packet is referred to inquiry information (Packet). -In) and transfer the inquiry information (Packet-in) to the control device 30.
  • inquiry information Packet
  • -In inquiry information
  • Packet-in inquiry information
  • the control device 30 registers the information of the terminal 10-1 in the terminal location information management table 31 based on the transferred inquiry information (Packet-in) information, and the transfer source node device 20-1 A flow entry including the location of the terminal 10-1 (a set of MAC address information and port number) is registered in the flow table 221 of the node device 20-1.
  • Packet-in transferred inquiry information
  • the packet passes through the outside port (outside) 24 and flows into the node device 20-1.
  • the node device 20-1 Since the flow table having the position information of the terminal 10-1 has already been registered, the node device 20-1 matches (matches) as a result of the terminal position information comparison. Thereafter, the node device 20-1 searches the flow table 221, and if there is a matching (matching) flow entry, the node device 20-1 transfers the flow entry to the node device 20-2 according to the action of the flow entry.
  • the terminal position information is also compared in the transfer between the node devices, but the control device 30 manages the inner port (inside) of each node device and generates the inquiry information (Packet-in). Deter. That is, in the transfer between the node devices, the inquiry information (Packet-in) is not generated in the terminal position information comparison.
  • the node device 20-2 transfers the transferred packet to the terminal 10-4 as a result of the terminal position information comparison and the flow table comparison.
  • Step S102 When transferring the packet 50 from the terminal 10-1 to the terminal 10-2, the terminal location information comparison unit 21 of the node device 20-1 uses the MAC & port information in the terminal location information comparison unit 21 by the matching method shown in FIG.
  • the table 211 and the packet 50 are collated to check whether the contents of the MAC & port information table 211 and the contents of the packet 50 match (match).
  • the terminal location information comparison unit 21 sets the MAC address information stored in the MAC & port information table 211 and the port number associated therewith, and the source MAC address of the packet received from the terminal 10-1. Check the pair of information and port number to see if they match (match).
  • Step S103 The terminal location information comparison unit 21 transfers the packet 50 to the flow table comparison unit 22 when it matches (matches) as a result of the collation.
  • Step S104 The terminal location information comparison unit 21 stores the information of the packet 50 in the inquiry information (Packet-in) 51 and matches the inquiry information (Packet-in) 51 to the control device 30 when it does not match (match) as a result of the collation. Send. At this time, the terminal location information comparison unit 21 may temporarily hold the packet 50.
  • Step S105 Based on the information of the packet 50 stored in the inquiry information (Packet-in) 51, the control device 30 is connected to which port of which node device the terminal 10-1 is connected to the terminal location information management table 31. Or register.
  • Step S106 the control device 30 registers a new set of MAC address information and port number in the MAC & port information table 211 of the node device 20-1 based on the terminal location information in the terminal location information management table 31.
  • the control device 30 uses the packet 50 information stored in the inquiry information (Packet-in) 51 to keep the original header information and send the packet 50 to the node device 20-1. Send. If registration is not performed, the packet 50 need not be transmitted to the node device 20-1.
  • Packet-in inquiry information
  • Step S107 The terminal location information comparison unit 21 transfers the packet 50 to the flow table comparison unit 22 in accordance with the registration.
  • the terminal location information comparison unit 21 transfers the packet 50 received from the control device 30 to the flow table comparison unit 22.
  • the terminal location information comparison unit 21 transfers the temporarily held packet 50 to the flow table comparison unit 22 according to the registration from the control device 30. You may do it. In this case, if there is no registration as described above, the terminal location information comparison unit 21 may discard the packet 50 that is temporarily held after the elapse of a predetermined period.
  • Step S108 When the flow table comparison unit 22 receives the packet 50 from the terminal location information comparison unit 21, the flow table comparison unit 22 searches the flow table 221 in the flow table comparison unit 22, and any flow entry in the flow table 221 indicates the content of the packet 50. Check if they match (match). Specifically, the flow table comparison unit 22 compares the MAC address information stored in each flow entry of the flow table 221 with the destination MAC address information of the packet received from the terminal 10-1, and the flow table 221. Confirm that it matches (matches) any of the flow entries. In practice, the flow table comparison unit 22 uses the “pair of MAC address information and port number” stored in each flow entry of the flow table 221 and the “destination MAC” of the packet received from the terminal 10-1. The pair of address information and output port number ”may be compared to confirm whether the flow table 221 matches (matches) any flow entry.
  • Step S109 When the flow table comparison unit 22 matches (matches) any flow entry in the flow table 221 as a result of the comparison, the flow table comparison unit 22 sends the packet 50 to the inside port (inside) 23 according to the action of the matched (match) flow entry. Output and transfer to the terminal 10-2.
  • Step S110 If the comparison does not match (match) any flow entry in the flow table 221, the flow table comparison unit 22 stores the information of the packet 50 in the inquiry information (Packet-in) 52 and sends it to the control device 30. Inquiry information (Packet-in) 52 is transmitted. At this time, the flow table comparison unit 22 may temporarily hold the packet 50.
  • a flow entry indicating that the destination MAC address information of the packet 50 and that the packet 50 is transferred to a predetermined inside port 23 is registered.
  • the control device 30 may transmit the packet 50 to the node device 20-1 based on the information of the packet 50 stored in the inquiry information (Packet-in) 52.
  • Step S112 In accordance with the action of the flow entry registered in the flow table 221, the flow table comparison unit 22 outputs the packet 50 to the inside port (inside) 23 and transfers it to the terminal 10-2. At this time, the flow table comparison unit 22 outputs the packet 50 received from the control device 30 or the temporarily held packet 50 to the inside port (inside) 23 and transfers it to the terminal 10-2. Note that the flow table comparison unit 22 may discard the temporarily held packet 50 after the elapse of a predetermined period if the above flow entry registration is not performed.
  • the node device compares the MAC address information it holds, the port number associated therewith, the source MAC address information of the packet and the port number, respectively, and does not match (match), the inquiry information (Packet) -In) to the controller.
  • the control device accumulates the location of the terminal from the information of the inquiry information (Packet-in), and registers the flow entry including the terminal location in the node device in the flow table of the node device.
  • Packet-in information of the inquiry information
  • the location of the terminal connected to the node device can be specified only by the packet source MAC address information and the port number.
  • the location of the terminal can be specified by the control device.
  • the control apparatus can select a route in consideration of the terminal information, and the route can be selected more flexibly.
  • control device manages terminal location information from information of inquiry information (Packet-in) generated when the result of terminal location information comparison is nonconformity (mismatch), and the managed information Can be used as a judgment material when selecting a route.
  • Information of inquiry information Packet-in
  • mismatch nonconformity
  • Second Embodiment The second embodiment of the present invention will be described below.
  • the result of terminal location information comparison is nonconformity (mismatch)
  • inquiry information Packet-in
  • the terminal location information comparison unit 21 of the node device 20-1 copies the packet 50 (addressed to B, original packet A) when there is a mismatch (mismatch) as a result of the comparison of the terminal location information (copy: The inquiry information (Packet-in) 51 storing the copied packet 53 is generated.
  • Packet-in inquiry information
  • the node device 20-1 When transferring the packet 50 from the terminal 10-1 to the terminal 10-2, the node device 20-1 compares the packet received from the terminal 10-1 with the terminal position information, and stores the packet if it does not match (mismatch).
  • the packet 50 (addressed to B, original packet A) is copied, and inquiry information (Packet-in) 51 storing the copied packet is generated.
  • the control device 30 registers in the terminal location information management table 31 which port of which node device the terminal 10-1 is connected to.
  • the control device 30 rewrites the flow table 221 of the node device 20-1 for the received packet based on the terminal location information management table 31.
  • control device 30 updates the flow table 221 without updating the MAC & port information table 211 according to the inquiry information (Packet-in) 51. That is, the control device 30 registers a flow entry including a set of MAC address information and a port number in the flow table 221.
  • the terminal location information comparison unit 21 of the node device 20-1 searches the flow table 221 after the terminal location information comparison is completed, and any flow entry in the flow table 221 matches the content of the packet 50 ( If there is a match, the packet 50 is transferred to the terminal 10-2 according to the transfer path of the control device 30.
  • the flow table comparison unit 22 of the node device 20-1 searches the flow table, and generates inquiry information (Packet-in) 52 to the control device 30 if it does not match the flow table (mismatch).
  • the node device 20-1 always searches the flow table 221 when receiving the packet 50 regardless of the suitability (match) or mismatch (mismatch) of the terminal location information comparison, The packet 50 is transferred.
  • the terminal location information comparison unit 21 of the node device 20-1 copies the packet 50 (addressed to B, original packet A). Then, inquiry information (Packet-in) 51 storing the copied packet 53 is transmitted to the control device 30. Simultaneously with / in parallel with this processing, the node device 20-1 transfers the packet 50 to the flow table comparison unit 22.
  • the terminal location information comparison unit 21 collates the contents of the MAC & port information table 211 with the contents of the packet 50.
  • the terminal location information comparison unit 21 copies the packet 50 and stores inquiry information (Packet-in) 51 in which the copied packet 53 is stored. And the inquiry information (Packet-in) 51 is transmitted to the control device 30.
  • the terminal location information comparison unit 21 proceeds to the process of the flow table comparison unit 22 regardless of the collation result.
  • the flow table comparison unit 22 searches the flow table 221 and compares the content of the flow table 221 with the content of the packet 50.
  • the flow table comparison unit 22 transfers the packet 50 according to the action of the matched (matched) flow entry.
  • the flow table comparison unit 22 transmits inquiry information (Packet-in) 52 to the control device 30 when none of the flow entries in the flow table 221 matches (matches) the contents of the packet 50.
  • Information Packet-in
  • This system includes a terminal 10-1, a terminal 10-2, a terminal 10-3, a terminal 10-4, a node device 20-1, a node device 20-2, a node device 20-3, a node A device 20-4 and a control device 30 are included.
  • the control device 30 manages the node device 20-1, the node device 20-2, the node device 20-3, and the node device 20-4.
  • the control device 30 has a terminal location information management table 31.
  • the control device 30 defines a connection end between the node devices as an inside port (inside) 23 and defines a connection end of the node device and the terminal on the node device side as an outside port (outside) 24.
  • the terminal 10-1 is connected to the port 1, and the terminal 10-3 is connected to the port 2.
  • the terminal 10-2 is connected to the port 1, and the terminal 10-4 is connected to the port 2.
  • the port 1 and the port 2 are outside ports (outside).
  • control device 30 identifies the position where the node devices are connected to each other, and defines and manages the identified location as the inside port (inside) 23.
  • the control device 30 avoids registering the port number of the inner port (inside) 23 of the node device 20-1 in the MAC & port information table 211, and transmits the packet received at the inner port (inside) 23.
  • generation of inquiry information Packet-in
  • the node device 20-1 transmits the packet 50 as inquiry information (Packet). -In) 51, and the inquiry information (Packet-in) 51 is transmitted to the control device 30.
  • control device 30 When the control device 30 receives the inquiry information (Packet-in) 51 from the node device 20-1, the control device 30 stores the terminal 10-1 in the terminal location information management table 31 based on the contents of the inquiry information (Packet-in) 51. Register information.
  • Flow change information (FlowMod-Add) is one of the OpenFlow messages.
  • the control device 30 sends flow change information (FlowMod ⁇ ) to a plurality of node devices (node device 20-2, node device 20-3, node device 20-4) connected to the control device 30.
  • FlowMod ⁇ flow change information
  • a flow entry including the location (terminal location information) of the terminal 10-1 connected to the node device 20-1 is registered (updated) in the flow table 221 of each node device 20.
  • the flow change information (FlowMod-Add) 54 is a control message for registering a flow entry in the flow table 221 for each of the node device 20-2, the node device 20-3, and the node device 20-4.
  • the control device 30 transmits the flow change information (FlowMod-Add) 55 to the node device 20-1, so that the terminal 10-1 is stored in the flow table 221 of the node device 20-1.
  • the flow entry including the location (terminal location information) is registered.
  • Flow change information (FlowMod-Add) 55 is a control message for registering a flow entry in the flow table 221 for the node device 20-1.
  • the terminal 10-1 transmits the packet 50 again, it passes through the outer port (outside) 24 and flows into the node device 20-1.
  • the packet 50 and the flow entry match (match), If the flow table is searched and matched (matched), it is transferred to the node device 20-2 according to the path control of the control device 30.
  • the terminal position information is also compared in the transfer between the node devices, but the control device 30 manages the inner port (inside) of each node device and generates the inquiry information (Packet-in). Deter. That is, in the transfer between the node devices, the inquiry information (Packet-in) is not generated in the terminal position information comparison.
  • the node device 20-2 transfers the transferred packet to the terminal 10-4 as a result of the flow table comparison.
  • the third embodiment of the present invention will be described below.
  • open flow transfer is performed only by terminal location information comparison without performing flow table comparison. Specifically, after the terminal location information comparison is performed using the MAC & port information table, the destination comparison is performed again using the MAC & port information table, and the open flow transfer is performed.
  • inquiry information Packet-in
  • Inquiry information Packet-in 51 is transmitted.
  • the flow change information (FlowMod-Add) 56 is a control message for updating the MAC & port information table 211 for each node device 20.
  • the terminal location information comparison unit 21 compares the MAC & port information table 211 and the packet 50 again after performing the terminal location information comparison.
  • the terminal location information comparison unit 21 includes a set of the MAC address information 2111 stored in the MAC & port information table 211 and the port number 2112 linked to the MAC address information 2111 and the packet 50.
  • the pair of the transmission source MAC address information 501 and the port number 502 is compared for each port and each MAC.
  • the terminal location information comparison unit 21 matches the terminal location information when the set of the MAC address information 2111 and the port number 2112 matches the set of the source MAC address information 501 and the port number 502.
  • the source MAC address information 501 and the port number 502 used for comparison are not used, and the MAC address information 2111 in the MAC & port information table 211 is compared with the destination MAC address information 503 of the packet 50.
  • the terminal location information comparison unit 21 transfers the packet 50 using the port number 2112 associated with the MAC address information 2111 in the MAC & port information table 211 as an output port.
  • a computer such as a PC (personal computer), an appliance, a thin client server, a workstation, a mainframe, and a supercomputer is assumed.
  • terminals include IP phones, mobile phones, smart phones, smart books, car navigation systems (car navigation systems), portable game machines, home game machines, portable music players, handy terminals, gadgets (electronic devices).
  • An interactive television, a digital tuner, a digital recorder, an information home appliance (information home appliance), an office automation (OA) device, an over-the-counter terminal / high-function copier, a digital signage (digital signage), and the like are also conceivable.
  • the terminal and the control device may be a relay device or a peripheral device.
  • node devices include network switches, routers, routers, proxies, gateways, firewalls, load balancers, bandwidth control devices (packet shapers). ), 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) A computer with a communication port of .
  • SCADA Supervision Control And Data Acquisition
  • gatekeeper gatekeeper
  • base station base station
  • AP Access Point
  • CS Communication Satellite
  • the terminal, node device, and control device may be an expansion board mounted on a computer or the like, or a virtual machine (Virtual Machine (VM)) constructed on a physical machine. Further, the terminal, the node device, and the control device may be mounted on a moving body such as a vehicle, a ship, or an aircraft.
  • VM Virtual Machine
  • each of the terminal, the node device, and the control device includes 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. It is realized by.
  • 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 terminal, node device, and control device may be a module, a component, a dedicated device, or an activation (calling) program thereof.
  • the present invention relates to a network system that detects a terminal connected to a switch by using an open flow (OpenFlow) function.
  • OpenFlow open flow
  • the node device has a set of the source MAC address (Source MAC) information and port number of the packet sent from the terminal to the node device, and the MAC address held in the preceding search table (MAC & port information table) Compare information and port number pairs to see if they match.
  • Source MAC source MAC address
  • MAC & port information table MAC & port information table
  • the node device uses the OpenFlow inquiry information (Packet-in) function to the control device, and sets the combination of the source MAC address information and the port number held by the packet to the control device. Notice. Further, the previous search table is updated as necessary.
  • Packet-in OpenFlow inquiry information
  • the node device unconditionally notifies the control device of the combination of the source MAC address information and the port number held by the packet for all packets. You may make it do.
  • the node device compares the destination MAC address (Destination MAC) information of the packet with a set of MAC address information held in the subsequent search table (flow table), and confirms whether they match (match).
  • the node device compares the set of the destination MAC address and port number of the packet with the set of MAC address information held in the post-stage search table, and confirms whether it matches (matches). May be.
  • the node device uses the OpenFlow inquiry information (Packet-in) function to inquire the control device about the action for the packet. Further, the subsequent search table is updated as necessary.
  • Packet-in OpenFlow inquiry information
  • control device manages the terminal connection information, thereby realizing route control in consideration of the terminal position.
  • terminal location information comparison for detecting terminal movement is performed, and inquiry information (Packet-in) in which a packet is stored is triggered when a result of terminal location information comparison is nonconformity (mismatch). Generate and transfer to controller.
  • the transferred packet is copied, the copied packet is stored in inquiry information (Packet-in), and transferred to the control device.
  • Packet-in inquiry information
  • the inquiry information (Packet-in) generated when the result of the terminal location information comparison is nonconformity (mismatch) and the inquiry information (Packet-in) generated when the flow table search fails are identified.
  • the node device generates inquiry information (Packet-in) and notifies the control device of the terminal position connected to the node device.
  • the control device can acquire the terminal position information connected to the node device based on the inquiry information (Packet-in) of the node device.
  • the terminal location information is notified by the port attribute.
  • the attribute of the inside port (inside) is given to the connection end between the node devices, and the outside port (outside) attribute is given to the connection end of the node device and the terminal on the node device side, and the result of the terminal location information comparison is incompatible (mismatch)
  • the generation of inquiry information (Packet-in) generated at the time is controlled.
  • terminal location information comparison is performed. For example, a set of MAC address information and port number held by the node device is compared with a set of packet transmission source MAC address information and port number.
  • MAC & port information table transfer is performed. For example, the MAC & port information table is compared with the destination MAC address (Destination MAC) of the packet, and if it matches (matches), it is transferred to the port linked to the MAC address information in the MAC & port information table.
  • Destination MAC Destination MAC
  • the present invention determines whether or not to accept a packet from a transmission source terminal by comparing terminal location information (comparison using a combination of a transmission source MAC address and a port number) for an inflowing flow. Whether to transfer the packet to the destination terminal is determined by searching (comparison using the destination MAC address).

Landscapes

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

Abstract

 オープンフローネットワークにおいて、端末から転送されてくるパケットの送信元MACアドレス(Source MAC)とポート番号(port情報)のみ用いて、ノード装置群に接続されている端末が、どのノード装置の何番ポートに接続されているか特定する。具体的には、ノード装置が、端末からノード装置宛に送られたパケットのポート番号及び送信元MACアドレス(Source MAC)情報の組と、前段検索テーブルに保持されているポート番号及びMACアドレス情報の組とを比較し、適合(マッチ)するか確認する。適合(マッチ)しない場合、ノード装置は、制御装置にオープンフローの問い合わせ情報(Packet-in)機能を用いて通知する。更に、ノード装置は、パケットの宛先MACアドレス(Destination MAC)情報と、後段検索テーブルに保持されているMACアドレス情報の組とを比較し、適合(マッチ)するか確認する。

Description

ネットワークシステム、スイッチ、及び接続端末検知方法
 本発明は、ネットワークシステムに関し、特にスイッチに接続された端末を検知するネットワークシステムに関する。
 従来のネットワーク機器は、外部から負荷分散や片寄等、柔軟性に富んだ制御ができないという問題があった。このため、ネットワークの規模が大きくなると、システムとしての挙動の把握と改善が困難になり、設計や構成変更には多大なコストを伴うことが問題であった。
 こうした課題を解決するための技術として、ネットワーク機器のパケット転送機能と経路制御機能を分離する手法が考えられている。例えば、パケット転送機能をネットワーク機器が担当し、制御機能をネットワーク機器の外部に分離した制御装置が担当することで、制御装置がパケットの転送を集中して管理することができ、柔軟性に富んだネットワークを構築することが可能になる。
 [CD分離型ネットワークの説明]
 機能を分離したネットワークの1つとして、コントロールプレーン側の制御装置からデータプレーン側のノード装置を制御するCD(C:コントロールプレーン/D:データプレーン)分離型ネットワークが提案されている。
 CD分離型ネットワークの一例として、コントローラからスイッチを制御してネットワークの経路制御を行うオープンフロー(OpenFlow)技術を利用したオープンフローネットワークが挙げられる。オープンフロー技術の詳細については、非特許文献1に記載されている。なお、オープンフローネットワークは一例に過ぎない。
 [オープンフローネットワークの説明]
 オープンフローネットワークでは、オープンフローコントローラ(OFC:OpenFlow Controller)等の制御装置が、オープンフロースイッチ(OFS:OpenFlow Switch)等のノード装置の経路制御に関するフローテーブル(Flow table)を操作することにより、ノード装置の挙動を制御する。
 制御装置とノード装置の間は、専用線やSSL(SecureSocketLayer)等により保護された通信路である「セキュアチャンネル」(Secure Channel)と呼ばれる制御チャネル(制御用の通信チャネル)により接続されている。制御装置とノード装置とは、制御チャネルを介して、オープンフロープロトコル(OpenFlow Protocol)に則った(準拠した)制御メッセージであるオープンフローメッセージ(OpenFlow Message)を送受信する。
 オープンフローネットワークにおけるノード装置とは、オープンフローネットワークに配置され、制御装置の制御下にあるエッジスイッチ及びコアスイッチのことである。オープンフローネットワークにおける入口側エッジスイッチ(Ingress)でのパケット(packet)の受信から出口側エッジスイッチ(Egress)での送信までのパケットの一連の流れをフロー(Flow)と呼ぶ。オープンフローネットワークでは、通信をエンドツーエンド(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)と判断し、制御チャネルを介して、オープンフローネットワークにおける制御装置に対して、受信パケット(又はそのコピー)を転送し、受信パケットの送信元・送信先(宛先)等に基づいたパケットの経路計算を要求し、応答としてフローエントリの設定用メッセージを受信し、フローテーブルを更新する。
 なお、フローテーブルには、低い優先度で、全てのパケットのヘッダ情報に適合するルールを持つデフォルトエントリが登録されている。受信パケットに適合するフローエントリが他に見つからなかった場合、受信パケットは、このデフォルトエントリに適合する。デフォルトエントリのアクションは、「制御装置への当該受信パケットの問い合わせ情報の送信」である。
"OpenFlow Switch Specification, Version 1.0.0",[online],December 31,2009,[2011年3月23日検索],インターネット <URL:http://www.openflowswitch.org/documents/openflow-spec-v1.0.0.pdf>
 大規模ネットワークを考えると、現在のフローテーブルの使用方法では効率が悪く、リソースが足りなくなる可能性がある。
 また、既存の技術では、スイッチは、ARP等のブローキャストパケットを利用して端末位置情報(ネットワーク上の端末の現在位置を示す情報)を取得しているため、ブローキャストパケット未発送時には端末位置情報を取得することができなかった。
 本発明では、端末からノード装置宛にパケットが送られた際、ノード装置は、自身が保持しているMACアドレス情報とそれに結びついているポート番号のこれら2つと、転送するパケットの送信元MACアドレス情報とポート番号とを比較する。
 上記の比較の結果、もし適合(マッチ)する情報がない場合は、制御装置に対して、問い合わせ情報(Packet-in)を送信し、制御装置で端末の位置情報を管理して、制御装置からノード装置にその情報を登録する。問い合わせ情報(Packet-in)は、オープンフローメッセージの1つである。
 比較する際の技術としては、L2ラーニング機能と同様のロジックを用いて比較することが望ましいと考える。
 本発明に係るネットワークシステムは、スイッチと、パケットをフローとして一律に制御するためのルールとアクションが定義されたフローエントリを、該スイッチのフローテーブルに設定するコントローラとを含む。該スイッチは、端末からパケットを受信した際、該パケットの送信元MACアドレス情報及びポート番号の組を該コントローラに通知する。該コントローラは、該スイッチからの通知に基づいて、該パケットの送信元の端末のネットワーク上の現在位置を認識する。
 本発明に係るスイッチは、端末からパケットを受信した際、該パケットの送信元の端末のネットワーク上の現在位置情報として、該パケットの送信元MACアドレス情報及びポート番号の組をコントローラに通知する手段と、該コントローラからの制御に応じて、該パケットをフローとして一律に制御するためのルールとアクションが定義されたフローエントリを、自身のフローテーブルに設定する手段とを具備する。
 本発明に係る接続端末検知方法では、コントローラが、パケットをフローとして一律に制御するためのルールとアクションが定義されたフローエントリを、スイッチのフローテーブルに設定する。また、該スイッチが、端末からパケットを受信した際、該パケットの送信元MACアドレス情報及びポート番号の組を該コントローラに通知する。また、該コントローラが、該スイッチからの通知に基づいて、該パケットの送信元の端末のネットワーク上の現在位置を認識する。
 本発明に係るプログラムは、端末からパケットを受信した際、該パケットの送信元の端末のネットワーク上の現在位置情報として、該パケットの送信元MACアドレス情報及びポート番号の組をコントローラに通知するステップと、該コントローラからの制御に応じて、該パケットをフローとして一律に制御するためのルールとアクションが定義されたフローエントリを、自身のフローテーブルに設定するステップとをスイッチに実行させるためのプログラムである。なお、本発明に係るプログラムは、記憶装置や記憶媒体に格納することが可能である。
 本発明では、端末から転送されてくるパケットの送信元MACアドレス(Source MAC)とポート番号(port情報)のみ用いて、ノード装置群に接続されている端末が、どのノード装置の何番ポートに接続されているか特定する。また、この端末接続情報を制御装置が管理することにより、端末位置を考慮した経路制御を実現する。
本発明の第1実施形態に係るネットワークシステムの構成例を示す図である。 第1実施形態に係るノード装置の内部の構成について説明するための図である。 第1実施形態における端末位置情報の照合内容の詳細について説明するための図である。 端末位置情報管理テーブルを説明するための図である。 第1実施形態を利用したシステムの構成例を示す図である。 第1実施形態における接続端末検知処理を説明するためのフローチャートである。 本発明の第2実施形態に係るネットワークシステムの構成例を示す図である。 第2実施形態に係るノード装置の内部の構成について説明するための図である。 第2実施形態を利用したシステムの構成例を示す図である。 本発明の第3実施形態に係るノード装置の内部の構成について説明するための図である。 第3実施形態における端末位置情報の照合内容の詳細について説明するための図である。
 本発明は、CD分離型ネットワークを対象としている。ここでは、CD分離型ネットワークの1つであるオープンフローネットワークを例に説明する。但し、実際には、オープンフローネットワークに限定されない。
 <第1実施形態>
 以下に、本発明の第1実施形態について添付図面を参照して説明する。
 [システム構成]
 図1を参照して、本発明の第1実施形態に係るネットワークシステムの構成例について説明する。
 本発明の第1実施形態に係るネットワークシステムは、端末10(10-i、i=1~n:nは任意)と、ノード装置20(20-j、j=1~m:mは任意)と、制御装置30を含む。
 [端末の詳細]
 端末10(10-i、i=1~n)の各々は、ノード装置20(20-j、j=1~m)に接続可能な端末である。
 ここでは、端末10-1からノード装置20-1及びノード装置20-2を介して端末10-2宛にパケット50を転送する。
 端末10-1は、パケットを送出する送信元端末「A」である。また、端末10-2は、パケットを受信する宛先端末「B」である。パケット50は、「B宛、A元のパケット」である。
 「B宛」とは、宛先が端末Bであることを意味し、宛先MACアドレスに端末BのMACアドレスが指定されていることを意味する。「A元」とは、送信元が端末Aであることを意味し、送信元MACアドレスに端末AのMACアドレスが指定されていることを意味する。
 なお、端末10(10-i、i=1~n)の各々は、オープンフローネットワーク外(オープンフロー未対応)のネットワーク機器でも良い。
 [ノード装置の詳細]
 ノード装置20(20-j、j=1~m)の各々は、ネットワークに配置されたノード装置である。ノード装置20(20-j、j=1~m)の各々は、オープンフローネットワークでは、オープンフロースイッチ(OFS)として動作する。ノード装置20(20-j、j=1~m)の各々は、受信したパケットを、自身のフローテーブルに登録されたフローエントリに従って転送する。
 ノード装置20(20-j、j=1~m)の各々は、端末位置情報比較部21と、フローテーブル比較部22を備える。
 端末位置情報比較部21は、MACアドレス情報とポート番号を用いて、端末位置情報比較を行う。具体的には、端末位置情報比較部21は、MACアドレス情報とポート番号を保持し、保持しているMACアドレス情報及びポート番号の組(セット)と、転送するパケットの送信元MACアドレス情報及びポート番号の組と、を比較する。ここでは、端末位置情報比較部21は、L2(レイヤ2)の機能ブロック(L2 block)である。
 フローテーブル比較部22は、通常のノード装置が行うフローテーブルとフロー情報との比較を行う。
 [制御装置の詳細]
 制御装置30は、ネットワークに配置されたノード装置を制御・管理する制御装置である。制御装置30は、オープンフローネットワークでは、オープンフローコントローラ(OFC)として動作する。制御装置30は、ネットワークの接続状態を示すトポロジ情報(topology)を基に、ノード装置20-1及びノード装置20-2を検知した際、パケット転送経路を計算し、当該経路に関連するノード装置のフローテーブルにフローエントリの登録を行う。これにより、制御装置30は、ノード装置20-1とノード装置20-2間の経路制御を行う。
 制御装置30は、端末位置情報管理テーブル31を有する。
 [パケットの詳細]
 パケット50は、ノード装置20(20-j、j=1~m)に転送されるパケットである。
 問い合わせ情報(Packet-in)51は、制御装置30に経路制御を要求する(パケット50の転送経路を問い合わせる)ための制御メッセージである。問い合わせ情報(Packet-in)51のデータ形式及びデータ内容については、通常のフローテーブル検索において不適合(ミスマッチ)だったときに制御装置宛に送信する問い合わせ情報(Packet-in)と同様であり、識別するための情報(フラグ)が付与されている。
 例えば、端末位置情報比較部21は、パケット50を受信した際、保有するMACアドレス情報と該MACアドレス情報に結びついているポート番号との組と、転送するパケット50の送信元MACアドレス情報とポート番号との組とを比較し、不適合(ミスマッチ)だった場合に、パケット50に基づいて問い合わせ情報(Packet-in)51を生成し、問い合わせ情報(Packet-in)51を制御装置30宛に転送する。
 問い合わせ情報(Packet-in)52は、制御装置30に経路制御を要求する(パケット50の転送経路を問い合わせる)ための制御メッセージである。問い合わせ情報(Packet-in)52と通常の問い合わせ情報(Packet-in)との違いについては、識別するための情報(フラグ)が異なる点だけで、データ形式及びデータ内容については、基本的に通常の問い合わせ情報(Packet-in)と同じである。
 例えば、フローテーブル比較部22は、フローテーブルのフローエントリに格納されているMACアドレス情報と、転送するパケット50の宛先MACアドレス情報とを比較し、不適合(ミスマッチ)だった場合に、パケット50に基づいて問い合わせ情報(Packet-in)52を生成し、問い合わせ情報(Packet-in)52を制御装置30宛に転送する。
 ここでは、制御装置30は、ノード装置間同士の接続端を内側ポート(inside)23と定義する。また、ノード装置と端末のノード装置側の接続端を外側ポート(outside)24と定義する。
 制御装置30は、ノード装置20-1からの問い合わせ情報(Packet-in)51の内容を基に、新規にノード装置20-1に接続された端末10-1を認識する。具体的には、制御装置30は、問い合わせ情報(Packet-in)51の内容から、端末10-1のMACアドレス情報と、端末10-1が接続されたポート番号とを取得し、端末位置情報管理テーブル31を更新する。なお、端末10-1が接続されたポートは、当然に外側ポート(outside)24ということになる。
 制御装置30は、端末位置情報管理テーブル31の内容を基に、受信したパケットのために、ノード装置20(20-j、j=1~m)の各々のテーブル書き換えを行う。
 [ノード装置の内部の構成]
 図2を参照して、本実施形態におけるノード装置20(20-j、j=1~m)の内部の構成について説明する。
 ノード装置20(20-j、j=1~m)の各々は、端末位置情報比較部21と、フローテーブル比較部22を備える。
 端末位置情報比較部21は、MAC&port情報(端末位置情報)テーブル211を持つ。
 MAC&port情報テーブル211は、ノード装置20(20-j、j=1~m)が保有するMACアドレス情報と、該MACアドレス情報に結びついているポート番号が格納されている。ここでは、MAC&port情報テーブル211は、フローテーブル221の前に検索される前段検索テーブルとなる。なお、MAC&port情報テーブル211は、MACアドレス情報とポート番号との組を判別条件(ルール)としたフローテーブルの一種ともいえる。
 フローテーブル比較部22は、フローテーブル221を持つ。
 フローテーブル221は、オープンフローネットワークにおけるフローテーブルである。ここでは、フローテーブル221は、MAC&port情報テーブル211の後に検索される後段検索テーブルとなる。
 ここでは、端末位置情報比較部21において端末位置情報の検索を行っているため、フローテーブル221には、宛先MACアドレス(Destination MAC)のみを判別条件(ルール)とするフローエントリが登録されていれば良い。
 これにより、1つのフローテーブル221に登録されるフローエントリの情報を、大幅に削減することができる。
 [端末位置情報照合内容]
 図3を参照して、端末位置情報の照合内容の詳細について説明する。
 端末位置情報比較部21が保持しているMAC&port情報テーブル211は、MACアドレス情報2111と、ポート番号2112を格納する領域(フィールド)を持つ。
 パケット50は、ヘッダ領域に、送信元MACアドレス情報501と、ポート番号502を格納する領域を持つ。
 ノード装置20-1にパケットが流入した際、ノード装置20-1は、MAC&port情報テーブル211の内容とパケット50の内容とを比較する。
 ここでは、ノード装置20-1は、MAC&port情報テーブル211に格納されているMACアドレス情報2111と該MACアドレス情報2111に結びついているポート番号2112との組と、パケット50が保有している送信元MACアドレス情報501とポート番号502との組を、それぞれポート毎、MAC毎に比較している。
 ノード装置20-1は、比較の結果、MAC&port情報テーブル211の内容とパケット50の内容とが適合(マッチ)するものであれば、フローテーブル比較を行う。
 また、ノード装置20-1は、比較の結果、MAC&port情報テーブル211の内容とパケット50の内容とが適合(マッチ)するものでなければ、L2ラーニング機能を起動する。
 すなわち、MAC&port情報テーブル211は、端末位置情報として、ノード装置20-1に接続されている端末のMACアドレス情報と、該端末が接続されているポート番号との組を保持するテーブルとなる。
 本実施形態では、制御装置30は、この比較の不適合(ミスマッチ)で発生する問い合わせ情報(Packet-in)51を受信することで、パケット50を受信したポートの属性が外側ポート(outside)であり、入口ポート(Ingress Port)であると判断することができる。
 また、制御装置30は、パケット50の送信元MACアドレス情報501とポート番号502の2つの情報のみで、端末位置情報を管理することができる。
 [端末位置情報]
 図4を参照して、制御装置30が持つ端末位置情報管理テーブル31の例について説明する。
 端末位置情報管理テーブル31は、ノード装置情報311と、端末MAC情報312と、ポート番号313を格納する領域を持つ。
 ノード装置情報311は、端末が接続されているノード装置の識別情報を書き込むための領域である。
 端末MAC情報312は、端末のMACアドレス(送信元MACアドレス)の情報を書き込むための領域である。
 ポート番号313については、端末が接続されているノード装置のポート番号を書き込むための領域である。
 ここでは、端末位置情報比較の結果が不適合(ミスマッチ)だった場合に発生する問い合わせ情報(Packet-in)51が制御装置30で管理される一例を示す。
 制御装置30は、ノード装置20-1から問い合わせ情報(Packet-in)51を受け取り、問い合わせ情報(Packet-in)51の内容を基に、端末位置情報管理テーブル31に端末の情報を登録する。
 このとき、制御装置30は、問い合わせ情報(Packet-in)51の内容を基に、
ノード装置情報311に、端末が接続されているノード装置の識別情報を書き込み、端末MAC情報312に、端末の送信元MACアドレス情報を書き込み、ポート番号313に、端末が接続されているノード装置のポート番号を書き込む。
 [本実施形態を利用したシステムの構成]
 図5を参照して、本実施形態を利用したシステムの構成例について説明する。
 前提として、ノード装置20(20-j、j=1~m)の各々は、ブロードキャストパケットの転送を行っておらず、フローテーブル221内に何も書き込まれていないものとする。
 本システムは、端末10-1と、端末10-2と、端末10-3と、端末10-4と、ノード装置20-1と、ノード装置20-2と、ノード装置20-3と、ノード装置20-4と、制御装置30を含む。
 なお、端末10-1、端末10-2、端末10-3、及び端末10-4は、図1に示す端末10(10-i、i=1~n)に相当する。
 また、ノード装置20-1、ノード装置20-2、ノード装置20-3、及びノード装置20-4は、図1に示すノード装置20(20-j、j=1~m)に相当する。
 制御装置30は、ノード装置20-1、ノード装置20-2、ノード装置20-3、及びノード装置20-4を管理している。
 制御装置30は、端末位置情報管理テーブル31を有する。
 制御装置30は、ノード装置同士の接続端を内側ポート(inside)23と定義し、ノード装置と端末のノード装置側の接続端を外側ポート(outside)24と定義する。
 ノード装置20-1は、ポート1に端末10-1が接続され、ポート2に端末10-3が接続されている。
 ノード装置20-2は、ポート1に端末10-2が接続され、ポート2に端末10-4が接続されている。
 ノード装置20-1及びノード装置20-2の各々において、ポート1及びポート2は、外側ポート(outside)である。
 ここでは、制御装置30は、ノード装置同士が接続されている位置を特定し、特定された場所を内側ポート(inside)23と定義し、管理情報として管理する。
 制御装置30は、この管理情報から、内側ポート(inside)23で行われる端末位置情報比較の結果が不適合(ミスマッチ)だった場合に発生する問い合わせ情報(Packet-in)を抑制する。
 例えば、制御装置30は、ノード装置20-1のMAC&port情報テーブル211に、内側ポート(inside)23のポート番号とワイルドカード等を用いた全MACアドレス情報との組を登録するようにしても良い。この場合、ノード装置20-1は、内側ポート(inside)23で受信したパケットに対しては、送信元MACアドレス情報に関係なく、無条件で、フローテーブル比較部22の処理に移行する。
 また、制御装置30は、ノード装置20-1のMAC&port情報テーブル211がフローテーブルの一種である場合、最も低い優先順位で、外側ポート(outside)24のポート番号とワイルドカード等を用いた全MACアドレス情報との組をルールとし、制御装置30宛に問い合わせ情報(Packet-in)を転送する旨をアクションとして定義したフローエントリを登録するようにしても良い。ノード装置20-1は、外側ポート(outside)24で受信したパケットの送信元MACアドレス情報が登録されていない場合、上記のフローエントリしか登録されていないことになるため、該パケットの情報を問い合わせ情報(Packet-in)に格納し、制御装置30宛に問い合わせ情報(Packet-in)を転送する。
 ここでは、ノード装置20-1に接続されている端末10-1からノード装置20-2に接続されている端末10-4宛にパケットを転送する場合、ノード装置20-1は、端末10-1から外側ポート(outside)24を通過して流入してきたパケットに対して端末位置情報比較を行い、端末位置情報比較の結果が不適合(ミスマッチ)だった場合、該パケットの情報を問い合わせ情報(Packet-in)に格納し、制御装置30宛に問い合わせ情報(Packet-in)を転送する。
 制御装置30は、転送された問い合わせ情報(Packet-in)の情報を基に、端末位置情報管理テーブル31に端末10-1の情報を登録し、転送元のノード装置20-1に対して、端末10-1の位置(MACアドレス情報とポート番号との組)を含んだフローエントリをノード装置20-1のフローテーブル221に登録する。
 この後、端末10-1からパケットを再度送信すると、該パケットは、外側ポート(outside)24を通り、ノード装置20-1に流入する。
 ノード装置20-1は、既に端末10-1の位置情報を持ったフローテーブルが登録されているので、端末位置情報比較の結果、適合(マッチ)する。その後、ノード装置20-1は、フローテーブル221を検索し、適合(マッチ)するフローエントリがあれば、該フローエントリのアクションに従い、ノード装置20-2に転送する。
 この際、ノード装置からノード装置間の転送でも、端末位置情報比較が行われるが、制御装置30は、各ノード装置の内側ポート(inside)管理を行い、問い合わせ情報(Packet-in)の発生を抑止する。すなわち、ノード装置からノード装置間の転送では、端末位置情報比較において、問い合わせ情報(Packet-in)を発生しないようにする。
 ノード装置20-2は、端末位置情報比較、及びフローテーブル比較の結果、転送されたパケットを端末10-4に転送する。
 [接続端末検知処理]
 図6を参照して、本実施形態に係る接続端末検知処理時の動作について説明する。
 (1)ステップS101
 まず、制御装置30は、既存の経路制御からノード装置群の接続端を算出し、ノード装置同士の接続端を内側ポート(inside)23と定義し、ノード装置と端末のノード装置側の接続端を外側ポート(outside)24と定義し、ノード装置同士間の接続端とノード装置-端末間の接続端を区別できるようにする。この後、ノード装置20(20-j、j=1~m)の各々は、通常の動作を開始する。
 (2)ステップS102
 ノード装置20-1の端末位置情報比較部21は、端末10-1から端末10-2宛にパケット50を転送する場合、図3に示す照合方法で、端末位置情報比較部21にあるMAC&port情報テーブル211とパケット50とを照合し、MAC&port情報テーブル211の内容とパケット50の内容が適合(マッチ)するか確認する。具体的には、端末位置情報比較部21は、MAC&port情報テーブル211に格納されているMACアドレス情報とそれに結びついているポート番号との組と、端末10-1から受信したパケットの送信元MACアドレス情報とポート番号との組を照合し、適合(マッチ)するか確認する。
 (3)ステップS103
 端末位置情報比較部21は、照合の結果、適合(マッチ)する場合、フローテーブル比較部22にパケット50を転送する。
 (4)ステップS104
 端末位置情報比較部21は、照合の結果、適合(マッチ)しない場合、問い合わせ情報(Packet-in)51にパケット50の情報を格納し、制御装置30宛に問い合わせ情報(Packet-in)51を送信する。このとき、端末位置情報比較部21は、パケット50を一時的に保持するようにしても良い。
 (5)ステップS105
 制御装置30は、この問い合わせ情報(Packet-in)51に格納されているパケット50の情報を基に、端末位置情報管理テーブル31に、端末10-1がどのノード装置のどのポートに接続されているか登録する。
 (6)ステップS106
 また、制御装置30は、端末位置情報管理テーブル31の端末位置情報を基に、新たなMACアドレス情報とポート番号との組を、ノード装置20-1のMAC&port情報テーブル211に登録する。ここでは、制御装置30は、登録を行った場合、問い合わせ情報(Packet-in)51に格納されたパケット50の情報を基に、元々のヘッダ情報のまま、ノード装置20-1宛にパケット50を送信する。登録を行わない場合、ノード装置20-1宛にパケット50を送信しなくても良い。
 (7)ステップS107
 端末位置情報比較部21は、上記の登録に応じて、パケット50を、フローテーブル比較部22に転送する。ここでは、端末位置情報比較部21は、制御装置30から受信したパケット50を、フローテーブル比較部22に転送する。なお、端末位置情報比較部21は、パケット50を一時的に保持している場合、制御装置30からの登録に応じて、一時的に保持しているパケット50を、フローテーブル比較部22に転送しても良い。この場合、端末位置情報比較部21は、上記の登録がなければ、所定期間の経過後、一時的に保持しているパケット50を破棄しても良い。
 (8)ステップS108
 フローテーブル比較部22は、端末位置情報比較部21からパケット50を受け取ると、フローテーブル比較部22にあるフローテーブル221に検索をかけ、フローテーブル221内のいずれかのフローエントリがパケット50の内容と適合(マッチ)するか確認する。具体的には、フローテーブル比較部22は、フローテーブル221の各フローエントリに格納されているMACアドレス情報と、端末10-1から受信したパケットの宛先MACアドレス情報とを比較し、フローテーブル221のいずれかのフローエントリと適合(マッチ)するか確認する。なお、実際には、フローテーブル比較部22は、フローテーブル221の各フローエントリに格納されている「MACアドレス情報とポート番号との組」と、端末10-1から受信したパケットの「宛先MACアドレス情報と出力ポート番号との組」とを比較し、フローテーブル221のいずれかのフローエントリと適合(マッチ)するか確認しても良い。
 (9)ステップS109
 フローテーブル比較部22は、比較の結果、フローテーブル221のいずれかのフローエントリと適合(マッチ)する場合、適合(マッチ)したフローエントリのアクションに従い、パケット50を、内側ポート(inside)23に出力し、端末10-2宛に転送する。
 (10)ステップS110
 フローテーブル比較部22は、比較の結果、フローテーブル221のいずれかのフローエントリと適合(マッチ)しない場合、問い合わせ情報(Packet-in)52にパケット50の情報を格納し、制御装置30宛に問い合わせ情報(Packet-in)52を送信する。このとき、フローテーブル比較部22は、パケット50を一時的に保持するようにしても良い。
 (11)ステップS111
 制御装置30は、この問い合わせ情報(Packet-in)52に格納されているパケット50の情報を基に、転送経路を計算し、経路上のノード装置20(20-j、j=1~m)の各々のフローテーブル221に、パケット50の宛先MACアドレス情報と、該パケット50を所定の内側ポート(inside)23へ転送する旨とを示すフローエントリを登録する。また、制御装置30は、問い合わせ情報(Packet-in)52に格納されたパケット50の情報を基に、ノード装置20-1宛にパケット50を送信しても良い。
 (12)ステップS112
 フローテーブル比較部22は、フローテーブル221に登録されたフローエントリのアクションに従い、パケット50を、内側ポート(inside)23に出力し、端末10-2宛に転送する。このとき、フローテーブル比較部22は、制御装置30から受信したパケット50、又は一時的に保持しているパケット50を、内側ポート(inside)23に出力し、端末10-2宛に転送する。なお、フローテーブル比較部22は、上記のフローエントリ登録がなければ、所定期間の経過後、一時的に保持しているパケット50を破棄しても良い。
 [本実施形態の特徴]
 本実施形態では、ノード装置が、保有しているMACアドレス情報とそれに結びついているポート番号とパケットの送信元MACアドレス情報とポート番号をそれぞれ比較し適合(マッチ)しない場合は、問い合わせ情報(Packet-in)を制御装置に上げる。
 制御装置は、この問い合わせ情報(Packet-in)の情報から端末の場所を蓄積し、ノード装置に端末位置を含んだフローエントリを、ノード装置のフローテーブルに登録する。
 したがって、パケットの送信元MACアドレス情報とポート番号だけでノード装置に接続されている端末の場所が特定できる。
 これにより、端末が移動しても、制御装置により端末の場所を特定できる。
 また、本実施形態では、端末位置の特定が可能になったことにより、制御装置が端末情報を考慮した経路選択が可能となり、経路をより柔軟に選択することができる。
 また、本実施形態では、制御装置が、端末位置情報比較の結果が不適合(ミスマッチ)の場合に発生する問い合わせ情報(Packet-in)の情報から端末位置情報を管理し、その管理している情報を経路選択時の判断材料として使用することが可能となる。
 <第2実施形態>
 以下に、本発明の第2実施形態について説明する。
 本発明の第2実施形態では、端末位置情報比較の結果が不適合(ミスマッチ)の場合に、問い合わせ情報(Packet-in)が発生しても、通常通りにオープンフロー転送処理を行う。
 [システム構成]
 図7を参照して、本発明の第2実施形態に係るネットワークシステムの構成例について説明する。
 本発明の第2実施形態に係るネットワークシステムは、端末10(10-i、i=1~n)と、ノード装置20(20-j、j=1~m)と、制御装置30を含む。
 端末10(10-i、i=1~n)、ノード装置20(20-j、j=1~m)、及び制御装置30は、基本的に、図1に示すものと同様である。
 本実施形態では、ノード装置20-1の端末位置情報比較部21は、端末位置情報の比較の結果、不適合(ミスマッチ)の際、パケット50(B宛、A元のパケット)をコピー(copy:複写)し、コピーしたパケット53を格納した問い合わせ情報(Packet-in)51を生成する。
 まず、制御装置30は、既存の経路制御からノード装置群の接続端を算出し、内側ポート(inside)23と定義する。これにより、制御装置30は、ノード装置同士の接続端で端末位置情報比較した際に不適合(ミスマッチ)でも問い合わせ情報(Packet-in)51が発生しないように抑制する。この後、ノード装置20(20-j、j=1~m)の各々は、通常の動作を開始する。
 ノード装置20-1は、端末10-1から端末10-2宛にパケット50を転送する場合、端末10-1から受け取ったパケットを端末位置情報比較し、不適合(ミスマッチ)だった場合、格納するパケット50(B宛、A元のパケット)をコピーし、コピーしたパケットを格納した問い合わせ情報(Packet-in)51を生成する。
 制御装置30は、この問い合わせ情報(Packet-in)51を基に、端末位置情報管理テーブル31に、端末10-1がどのノード装置のどのポートに接続されているか登録する。
 制御装置30は、端末位置情報管理テーブル31を基に、受信したパケットのためにノード装置20-1のフローテーブル221の書き換えを行う。
 本実施形態では、制御装置30は、問い合わせ情報(Packet-in)51に応じて、MAC&port情報テーブル211の更新を行わず、フローテーブル221の更新を行っている点に留意する。すなわち、制御装置30は、MACアドレス情報とポート番号との組を含んだフローエントリを、フローテーブル221に登録する。
 また、ノード装置20-1の端末位置情報比較部21は、端末位置情報比較が終わった後、フローテーブル221を検索し、フローテーブル221内のいずれかのフローエントリがパケット50の内容と適合(マッチ)すれば、制御装置30の転送経路に従い、端末10-2にパケット50を転送する。
 ノード装置20-1のフローテーブル比較部22は、フローテーブルを検索し、フローテーブルと不適合(ミスマッチ)であれば、制御装置30宛に問い合わせ情報(Packet-in)52を発生させる。
 このように、本実施形態では、ノード装置20-1は、端末位置情報比較の適合(マッチ)、不適合(ミスマッチ)に関わらず、パケット50を受信した際に、必ずフローテーブル221を検索し、パケット50の転送処理を行う。
 具体的には、ノード装置20-1の端末位置情報比較部21は、制御装置30宛に問い合わせ情報(Packet-in)51を送信する場合、パケット50(B宛、A元のパケット)をコピーし、コピーしたパケット53を格納した問い合わせ情報(Packet-in)51を制御装置30宛に送信する。この処理と同時に/並行して、ノード装置20-1は、パケット50をフローテーブル比較部22に転送する。
 [ノード装置の内部の構成]
 図8を参照して、本実施形態におけるノード装置20(20-j、j=1~m)の内部の構成について説明する。
 ノード装置20(20-j、j=1~m)の内部は、基本的に、図2に示すものと同様である。
 図8では、ノード装置20(20-j、j=1~m)は、端末位置情報比較の結果が不適合(ミスマッチ)の場合、問い合わせ情報(Packet-in)51が発生しても、通常通りにオープンフロー転送処理を行う。
 端末位置情報比較部21は、MAC&port情報テーブル211の内容とパケット50の内容を照合する。
 端末位置情報比較部21は、MAC&port情報テーブル211の内容とパケット50の内容が適合(マッチ)しなかった場合、パケット50をコピーし、コピーしたパケット53を格納した問い合わせ情報(Packet-in)51を生成し、制御装置30宛に問い合わせ情報(Packet-in)51を送信する。
 端末位置情報比較部21は、MAC&port情報テーブル211の内容とパケット50の内容との照合が終わると、照合の結果に関係なく、フローテーブル比較部22の処理に移行する。
 フローテーブル比較部22は、フローテーブル221の検索を行い、フローテーブル221の内容とパケット50の内容を比較する。
 フローテーブル比較部22は、フローテーブル221内のいずれかのフローエントリがパケット50の内容と適合(マッチ)する場合、適合(マッチ)したフローエントリのアクションに従って、パケット50を転送する。
 フローテーブル比較部22は、フローテーブル221内のいずれのフローエントリもパケット50の内容と適合(マッチ)しない場合は、制御装置30宛に問い合わせ情報(Packet-in)52を送信する。
 [本実施形態を利用したシステムの構成]
 図9を参照して、本実施形態を利用したシステムの構成例について説明する。
 前提として、ノード装置20(20-j、j=1~m)の各々は、ブロードキャストパケットの転送を行っておらず、フローテーブル221内に何も書き込まれていないものとする。
 本システムは、端末10-1と、端末10-2と、端末10-3と、端末10-4と、ノード装置20-1と、ノード装置20-2と、ノード装置20-3と、ノード装置20-4と、制御装置30を含む。
 なお、端末10-1、端末10-2、端末10-3、及び端末10-4は、図7に示す端末10(10-i、i=1~n)に相当する。
 また、ノード装置20-1、ノード装置20-2、ノード装置20-3、及びノード装置20-4は、図7に示すノード装置20(20-j、j=1~m)に相当する。
 制御装置30は、ノード装置20-1、ノード装置20-2、ノード装置20-3、及びノード装置20-4を管理している。
 制御装置30は、端末位置情報管理テーブル31を有する。
 制御装置30は、ノード装置同士の接続端を内側ポート(inside)23と定義し、ノード装置と端末のノード装置側の接続端を外側ポート(outside)24と定義する。
 ノード装置20-1は、ポート1に端末10-1が接続され、ポート2に端末10-3が接続されている。
 ノード装置20-2は、ポート1に端末10-2が接続され、ポート2に端末10-4が接続されている。
 ノード装置20-1及びノード装置20-2の各々において、ポート1及びポート2は、外側ポート(outside)である。
 ここでは、制御装置30は、ノード装置同士が接続されている位置を特定し、特定された場所を内側ポート(inside)23と定義して管理する。
 制御装置30は、この管理情報を基に、ノード装置20-1の内側ポート(inside)23のポート番号をMAC&port情報テーブル211に登録することを避け、内側ポート(inside)23で受信したパケットを端末位置情報比較の対象外とすることで、問い合わせ情報(Packet-in)の発生を抑制する。
 以下に、ノード装置20-1に接続されている端末10-1からノード装置20-2に接続されている端末10-4宛にパケットを転送する場合について説明する。
 ノード装置20-1は、端末10-1から外側ポート(outside)24を通過して流入してきたパケット50に対する端末位置情報比較の結果が不適合(ミスマッチ)だった場合、パケット50を問い合わせ情報(Packet-in)51に格納し、制御装置30宛に問い合わせ情報(Packet-in)51を送信する。
 制御装置30は、ノード装置20-1から問い合わせ情報(Packet-in)51を受信した場合、問い合わせ情報(Packet-in)51の内容を基に、端末位置情報管理テーブル31に端末10-1の情報を登録する。
 また、制御装置30は、問い合わせ情報(Packet-in)51の内容を基に、パケット転送経路を計算し、当該経路に関連する20(20-j、j=1~m)のフローテーブル221にフローエントリの登録を行う。
 このとき、制御装置30は、問い合わせ情報(Packet-in)51が発生したノード装置20-1のフローテーブル221だけではなく、制御装置30に接続されている複数のノード装置20(20-j、j=1~m)の各々に対して、フロー変更情報(FlowMod-Add)を送信し、各ノード装置20のフローテーブル221に、端末位置情報を基にしたフローエントリを登録する。フロー変更情報(FlowMod-Add)は、オープンフローメッセージの1つである。
 具体的には、制御装置30は、制御装置30に接続されている複数のノード装置(ノード装置20-2、ノード装置20-3、ノード装置20-4)宛に、フロー変更情報(FlowMod-Add)54を送信することで、各ノード装置20のフローテーブル221に、ノード装置20-1に接続されている端末10-1の位置(端末位置情報)を含んだフローエントリを登録(更新、反映)する。フロー変更情報(FlowMod-Add)54は、ノード装置20-2、ノード装置20-3、及びノード装置20-4の各々に対するフローテーブル221へのフローエントリ登録用の制御メッセージである。
 上記の登録の完了後、制御装置30は、ノード装置20-1宛に、フロー変更情報(FlowMod-Add)55を送信することで、ノード装置20-1のフローテーブル221に、端末10-1の位置(端末位置情報)を含んだフローエントリを登録する。フロー変更情報(FlowMod-Add)55は、ノード装置20-1に対するフローテーブル221へのフローエントリ登録用の制御メッセージである。
 この後、端末10-1が、パケット50を再度送信すると、外側ポート(outside)24を通過してノード装置20-1に流入する。
 ノード装置20-1は、既に端末10-1の位置情報を持ったフローエントリがフローテーブル221に登録されているので、端末位置情報比較の結果、パケット50とフローエントリが適合(マッチ)し、フローテーブルを検索し、適合(マッチ)するようであれば制御装置30の経路制御に従い、ノード装置20-2に転送される。
 この際、ノード装置からノード装置間の転送でも、端末位置情報比較が行われるが、制御装置30は、各ノード装置の内側ポート(inside)管理を行い、問い合わせ情報(Packet-in)の発生を抑止する。すなわち、ノード装置からノード装置間の転送では、端末位置情報比較において、問い合わせ情報(Packet-in)を発生しないようにする。
 ノード装置20-2は、フローテーブル比較の結果、転送されたパケットを端末10-4に転送する。
 <第3実施形態>
 以下に、本発明の第3実施形態について説明する。
 本発明の第3実施形態では、フローテーブル比較を行うことなく、端末位置情報比較のみでオープンフロー転送を行う。具体的には、MAC&port情報テーブルを使用して端末位置情報比較を行った後、MAC&port情報テーブルを再度使用して宛先比較を行い、オープンフロー転送を行う。
 [ノード装置の内部の構成]
 図10を参照して、本実施形態におけるノード装置20(20-i、i=1~n)の内部の構成について説明する。
 ノード装置20(20-i、i=1~n)は、パケット50を受信した場合、端末位置情報比較を行い、適合(マッチ)する場合、先程比較に使用したMAC&port情報テーブル211を再度使用し、パケット転送を行う。
 例えば、ノード装置20(20-i、i=1~n)は、端末位置情報比較の結果が適合(マッチ)する場合、再度比較に使用したMAC&port情報テーブル211のMACアドレス情報とパケットの宛先MACアドレス(Destination MAC)を比較し、適合(マッチ)すれば、パケット転送を行う。
 また、ノード装置20(20-i、i=1~n)は、適合(マッチ)しない場合、問い合わせ情報(Packet-in)51を発生させる。
 例えば、ノード装置20(20-i、i=1~n)は、端末位置情報比較の結果が不適合(ミスマッチ)である場合、問い合わせ情報(Packet-in)51を生成し、制御装置30宛に問い合わせ情報(Packet-in)51を送信する。
 制御装置30は、問い合わせ情報(Packet-in)51の内容を基に、制御装置30に接続されている複数のノード装置20(20-j、j=1~m)の各々に対して、フロー変更情報(FlowMod-Add)56を送信することで、各ノード装置20のMAC&port情報テーブル211の更新を行う。フロー変更情報(FlowMod-Add)56は、各ノード装置20に対するMAC&port情報テーブル211の更新用の制御メッセージである。
 [端末位置情報照合内容]
 図11を参照して、MAC&port情報テーブルとパケットの宛先MACアドレス(Destination MAC)の照合内容の詳細について説明する。
 端末位置情報比較部21は、端末位置情報比較を行った後に、再度MAC&port情報テーブル211とパケット50を比較する。
 具体的には、端末位置情報比較部21は、MAC&port情報テーブル211に格納されているMACアドレス情報2111と該MACアドレス情報2111に結びついているポート番号2112との組と、パケット50が保有している送信元MACアドレス情報501とポート番号502との組を、それぞれポート毎、MAC毎に比較する。
 端末位置情報比較部21は、比較の結果、MACアドレス情報2111とポート番号2112との組と、送信元MACアドレス情報501とポート番号502との組とが適合(マッチ)する場合、端末位置情報比較に使用した送信元MACアドレス情報501及びポート番号502は使用せず、MAC&port情報テーブル211のMACアドレス情報2111と、パケット50の宛先MACアドレス情報503とを比較する。
 端末位置情報比較部21は、この比較で適合(マッチ)する場合、MAC&port情報テーブル211において、MACアドレス情報2111に紐付けされているポート番号2112を出力ポートとしてパケット50を転送する。
 <各実施形態の関係>
 なお、上記の各実施形態は、組み合わせて実施することも可能である。
 <ハードウェアの例示>
 以下に、本発明に係るネットワークシステムを実現するための具体的なハードウェアの例について説明する。
 端末及び制御装置の例として、PC(パソコン)、アプライアンス(appliance)、シンクライアントサーバ、ワークステーション、メインフレーム、スーパーコンピュータ等の計算機を想定している。また、端末の他の例として、IP電話機、携帯電話機、スマートフォン、スマートブック、カーナビ(カーナビゲーションシステム)、携帯型ゲーム機、家庭用ゲーム機、携帯型音楽プレーヤー、ハンディターミナル、ガジェット(電子機器)、双方向テレビ、デジタルチューナー、デジタルレコーダー、情報家電(information home appliance)、OA(Office Automation)機器、店頭端末・高機能コピー機、デジタルサイネージ(Digital Signage:電子看板)等も考えられる。なお、端末及び制御装置は、中継機器や周辺機器でも良い。
 ノード装置の例として、ネットワークスイッチ(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)、或いは、複数の通信ポートを有する計算機等が考えられる。
 端末、ノード装置、及び制御装置は、計算機等に搭載される拡張ボードや、物理マシン上に構築された仮想マシン(Virtual Machine(VM))でも良い。また、端末、ノード装置、及び制御装置は、車両や船舶、航空機等の移動体に搭載されていても良い。
 図示しないが、端末、ノード装置、及び制御装置の各々は、プログラムに基づいて駆動し所定の処理を実行するプロセッサと、当該プログラムや各種データを記憶するメモリと、ネットワークとの通信に用いられるインターフェースによって実現される。
 上記のプロセッサの例として、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(登録商標)、シリアル通信回線、データバス等が考えられる。
 なお、端末、ノード装置、及び制御装置の各々の内部の構成要素は、モジュール(module)、コンポーネント(component)、或いは専用デバイス、又はこれらの起動(呼出)プログラムでも良い。
 但し、実際には、これらの例に限定されない。
 <まとめ>
 以上のように、本発明は、オープンフロー(OpenFlow)機能を使用して、スイッチに接続された端末を検知するネットワークシステムに関する。
 本発明では、ノード装置が、端末からノード装置宛に送られたパケットの送信元MACアドレス(Source MAC)情報及びポート番号の組と、前段検索テーブル(MAC&port情報テーブル)に保持されているMACアドレス情報及びポート番号の組とを比較し、適合(マッチ)するか確認する。
 適合(マッチ)しない場合、ノード装置は、制御装置にオープンフローの問い合わせ情報(Packet-in)機能を用いて、パケットが保有している送信元MACアドレス情報とポート番号との組を制御装置に通知する。また、必要に応じて、前段検索テーブルを更新する。
 なお、制御装置にかかる負荷を気にしないのであれば、ノード装置は、全てのパケットについて、無条件で、パケットが保有している送信元MACアドレス情報とポート番号との組を制御装置に通知するようにしても良い。
 更に、ノード装置は、パケットの宛先MACアドレス(Destination MAC)情報と、後段検索テーブル(フローテーブル)に保持されているMACアドレス情報の組とを比較し、適合(マッチ)するか確認する。なお、実際には、ノード装置は、パケットの宛先MACアドレス及びポート番号の組と、後段検索テーブルに保持されているMACアドレス情報の組とを比較し、適合(マッチ)するか確認するようにしても良い。
 適合(マッチ)しない場合、ノード装置は、制御装置にオープンフローの問い合わせ情報(Packet-in)機能を用いて、該パケットに対するアクションを問い合わせる。また、必要に応じて、後段検索テーブルを更新する。
 なお、前段検索テーブルと後段検索テーブルは、同一のテーブルを用いることも可能である。
 これにより、端末から転送されてくるパケットの送信元MACアドレス情報とポート番号だけで、ノード装置群に接続されている端末が、どのノード装置の何番ポートに接続されているか特定することが可能になる。
 また、この端末接続情報を制御装置が管理することにより、端末位置を考慮した経路制御を実現するものである。
 また、後段検索テーブル(フローテーブル)のデータ内容を縮退できることができる。
 本発明では、端末移動検知をするための端末位置情報比較を行い、端末位置情報比較の結果が不適合(ミスマッチ)であることを契機(トリガ)にパケットを格納した問い合わせ情報(Packet-in)を生成し、制御装置に転送する。
 また、端末位置情報比較不適合(ミスマッチ)の際、転送されてきたパケットをコピーし問い合わせ情報(Packet-in)にコピーしたパケットを格納して制御装置に転送する。
 また、端末位置情報比較の結果が不適合(ミスマッチ)であることを契機に発生する問い合わせ情報(Packet-in)とフローテーブル検索失敗契機に発生する問い合わせ情報(Packet-in)を識別する。
 更に、本発明では、ノード装置が、問い合わせ情報(Packet-in)を生成して、ノード装置に接続されている端末位置を制御装置に通知する。これにより、制御装置は、ノード装置の問い合わせ情報(Packet-in)を基に、ノード装置に接続される端末位置情報を取得することができる。
 また、本発明では、ポートの属性による端末位置情報の通知を行う。例えば、ノード装置同士の接続端に内側ポート(inside)、ノード装置と端末のノード装置側の接続端に外側ポート(outside)の属性を付与し、端末位置情報比較の結果が不適合(ミスマッチ)の際に発生する問い合わせ情報(Packet-in)の発生を制御する。
 また、本発明では、端末位置情報比較を行う。例えば、ノード装置が保有しているMACアドレス情報及びポート番号の組と、パケットの送信元MACアドレス情報及びポート番号の組を、それぞれ比較する。
 また、本発明では、MAC&port情報テーブル転送を行う。例えば、MAC&port情報テーブルをパケットの宛先MACアドレス(Destination MAC)と比較をし、適合(マッチ)する場合はMAC&port情報テーブルでMACアドレス情報に紐付けされているポートに転送する。
 本質的には、本発明は、流入するフローに対し、端末位置情報比較(送信元MACアドレス及びポート番号の組を用いた比較)により送信元端末からのパケット受信の許否を判定し、フローテーブル検索(宛先MACアドレスを用いた比較)により宛先端末へのパケット転送の許否を判定するものである。
 <備考>
 以上、本発明の実施形態を詳述してきたが、実際には、上記の実施形態に限られるものではなく、本発明の要旨を逸脱しない範囲の変更があっても本発明に含まれる。
 なお、本出願は、日本出願番号2011-082765に基づく優先権を主張するものであり、日本出願番号2011-082765における開示内容は引用により本出願に組み込まれる。

Claims (10)

  1.  パケットをフローとして一律に制御するためのルールとアクションとが定義されたフローエントリに従って、受信したパケットの処理を行うノード装置と、
     前記ノード装置に対して、前記フローエントリを設定する制御装置と
    を含み、
     前記ノード装置は、端末からパケットを受信した際、前記パケットの送信元MACアドレス情報及びポート番号の組を前記制御装置に通知し、
     前記制御装置は、前記ノード装置からの通知に基づいて、前記パケットの送信元の端末のネットワーク上の現在位置を認識する
     ネットワークシステム。
  2.  請求項1に記載のネットワークシステムであって、
     前記ノード装置は、
     前記ノード装置が保有しているMACアドレス情報及びポート番号の組と、前記パケットの送信元MACアドレス情報及びポート番号の組とを比較し、適合しない場合、前記パケットに基づく第1の問い合わせパケットを生成し、前記制御装置宛に前記第1の問い合わせパケットを送信する手段と、
     前記ノード装置が保有しているMACアドレス情報と、前記パケットの宛先MACアドレス情報とを比較し、適合しない場合、前記パケットに基づく第2の問い合わせパケットを生成し、前記制御装置宛に前記第2の問い合わせパケットを送信する手段と
    を具備し、
     前記制御装置は、
     前記第1の問い合わせパケットの内容を基に、前記端末のMACアドレス情報と前記端末が接続されたポートを示すポート番号とを管理する手段と、
     前記第1及び第2の問い合わせパケットの内容を基に、前記ノード装置が保有している情報を更新する手段と
    を具備する
     ネットワークシステム。
  3.  請求項2に記載のネットワークシステムであって、
     前記ノード装置は、
     前記ノード装置が保有しているMACアドレス情報及びポート番号の組と、前記パケットの送信元MACアドレス情報及びポート番号の組とを比較し、適合する場合、前記ノード装置が保有しているMACアドレス情報と、前記パケットの宛先MACアドレス情報とを比較する手段と、
     前記ノード装置が保有しているMACアドレス情報と、前記パケットの宛先MACアドレス情報とを比較し、適合する場合、前記パケットを転送する手段と
    を更に具備する
     ネットワークシステム。
  4.  端末からパケットを受信した際、前記パケットの送信元の端末のネットワーク上の現在位置情報として、前記パケットの送信元MACアドレス情報及びポート番号の組を制御装置に通知する手段と、
     前記制御装置からの制御に応じて、前記パケットをフローとして一律に制御するためのルールとアクションが定義されたフローエントリを登録する手段と
    を具備する
     ノード装置。
  5.  請求項4に記載のノード装置であって、
     保有しているMACアドレス情報及びポート番号の組と、前記パケットの送信元MACアドレス情報及びポート番号の組とを比較し、適合しない場合、前記パケットに基づく第1の問い合わせパケットを生成し、前記制御装置宛に前記第1の問い合わせパケットを送信する手段と、
     保有しているMACアドレス情報と、前記パケットの宛先MACアドレス情報とを比較し、適合しない場合、前記パケットに基づく第2の問い合わせパケットを生成し、前記制御装置宛に前記第2の問い合わせパケットを送信する手段と
    を更に具備する
     ノード装置。
  6.  請求項5に記載のノード装置であって、
     保有しているMACアドレス情報及びポート番号の組と、前記パケットの送信元MACアドレス情報及びポート番号の組とを比較し、適合する場合、保有しているMACアドレス情報と、前記パケットの宛先MACアドレス情報とを比較する手段と、
     保有しているMACアドレス情報と、前記パケットの宛先MACアドレス情報とを比較し、適合する場合、前記パケットを転送する手段と
    を更に具備する
     ノード装置。
  7.  制御装置が、ノード装置に対して、パケットをフローとして一律に制御するためのルールとアクションが定義されたフローエントリを設定することと、
     前記ノード装置が、端末からパケットを受信した際、前記パケットの送信元MACアドレス情報及びポート番号の組を前記制御装置に通知することと、
     前記制御装置が、前記ノード装置からの通知に基づいて、前記パケットの送信元の端末のネットワーク上の現在位置を認識することと
    を含む
     接続端末検知方法。
  8.  端末からパケットを受信した際、前記パケットの送信元の端末のネットワーク上の現在位置情報として、前記パケットの送信元MACアドレス情報及びポート番号の組を制御装置に通知するステップと、
     前記制御装置からの制御に応じて、前記パケットをフローとして一律に制御するためのルールとアクションが定義されたフローエントリを登録するステップと
    をノード装置に実行させるためのプログラムを格納した
     記憶媒体。
  9.  請求項8に記載の記憶媒体であって、
     保有しているMACアドレス情報及びポート番号の組と、前記パケットの送信元MACアドレス情報及びポート番号の組とを比較し、適合しない場合、前記パケットに基づく第1の問い合わせパケットを生成し、前記制御装置宛に前記第1の問い合わせパケットを送信するステップと、
     保有しているMACアドレス情報と、前記パケットの宛先MACアドレス情報とを比較し、適合しない場合、前記パケットに基づく第2の問い合わせパケットを生成し、前記制御装置宛に前記第2の問い合わせパケットを送信するステップと
    を更にノード装置に実行させるためのプログラムを格納した
     記憶媒体。
  10.  請求項9に記載の記憶媒体であって、
     保有しているMACアドレス情報及びポート番号の組と、前記パケットの送信元MACアドレス情報及びポート番号の組とを比較し、適合する場合、保有しているMACアドレス情報と、前記パケットの宛先MACアドレス情報とを比較するステップと、
     保有しているMACアドレス情報と、前記パケットの宛先MACアドレス情報とを比較し、適合する場合、前記パケットを転送するステップと
    を更にノード装置に実行させるためのプログラムを格納した
     記憶媒体。
PCT/JP2012/058150 2011-04-04 2012-03-28 ネットワークシステム、スイッチ、及び接続端末検知方法 WO2012137646A1 (ja)

Priority Applications (9)

Application Number Priority Date Filing Date Title
US14/009,677 US9444743B2 (en) 2011-04-04 2012-03-28 Network system, switch and connected terminal detection method
KR1020137025960A KR101501397B1 (ko) 2011-04-04 2012-03-28 네트워크 시스템, 스위치 및 접속 단말기 검지 방법
EP12767795.3A EP2696537B1 (en) 2011-04-04 2012-03-28 Network system, switch, and connection terminal detection method
CN201280017014.3A CN103477593B (zh) 2011-04-04 2012-03-28 网络系统、交换机和连接终端检测方法
JP2013508826A JP5652630B2 (ja) 2011-04-04 2012-03-28 ネットワークシステム、スイッチ、及び接続端末検知方法
BR112013025528A BR112013025528A2 (pt) 2011-04-04 2012-03-28 sistema de rede, comutador e método de detecção de terminal conectado
ES12767795.3T ES2607106T3 (es) 2011-04-04 2012-03-28 Sistema de red, conmutador y método de detección de terminal conectado
RU2013148947/08A RU2583745C2 (ru) 2011-04-04 2012-03-28 Сетевая система, коммутатор и способ обнаружения подсоединенного терминала
CA2832019A CA2832019A1 (en) 2011-04-04 2012-03-28 Network system, switch and connected terminal detection method

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2011082765 2011-04-04
JP2011-082765 2011-04-04

Publications (1)

Publication Number Publication Date
WO2012137646A1 true WO2012137646A1 (ja) 2012-10-11

Family

ID=46969047

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2012/058150 WO2012137646A1 (ja) 2011-04-04 2012-03-28 ネットワークシステム、スイッチ、及び接続端末検知方法

Country Status (10)

Country Link
US (1) US9444743B2 (ja)
EP (1) EP2696537B1 (ja)
JP (1) JP5652630B2 (ja)
KR (1) KR101501397B1 (ja)
CN (1) CN103477593B (ja)
BR (1) BR112013025528A2 (ja)
CA (1) CA2832019A1 (ja)
ES (1) ES2607106T3 (ja)
RU (1) RU2583745C2 (ja)
WO (1) WO2012137646A1 (ja)

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103209121A (zh) * 2013-03-15 2013-07-17 中兴通讯股份有限公司 基于开放流协议的控制面设备的发现处理方法及装置
CN103501246A (zh) * 2013-09-27 2014-01-08 迈普通信技术股份有限公司 查找终端设备的上联采集设备和上联端口的方法及装置
JP2014127768A (ja) * 2012-12-25 2014-07-07 Nec Corp 通信ノード、制御装置、通信システム、エントリ集約方法及びプログラム
CN104079506A (zh) * 2014-07-18 2014-10-01 国家电网公司 一种基于地理位置信息的交换机端口三层管理架构及其应用
WO2014173235A1 (zh) * 2013-04-22 2014-10-30 华为技术有限公司 转发路径的生成方法、控制器和系统
JP2015133556A (ja) * 2014-01-10 2015-07-23 富士通株式会社 制御装置および転送制御方法
WO2015175359A1 (en) * 2014-05-13 2015-11-19 Adtran, Inc. Detecting and disabling rogue access points in a network
US9270618B2 (en) 2013-02-28 2016-02-23 International Business Machines Corporation Source routing with fabric switches in an ethernet fabric network
JP2020099058A (ja) * 2015-09-15 2020-06-25 グーグル エルエルシー コンピュータネットワークにおいてパケットを処理するためのシステムおよび方法

Families Citing this family (42)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9191327B2 (en) 2011-02-10 2015-11-17 Varmour Networks, Inc. Distributed service processing of network gateways using virtual machines
US10333827B2 (en) * 2012-04-11 2019-06-25 Varmour Networks, Inc. Adaptive session forwarding following virtual machine migration detection
CN103905577A (zh) * 2012-12-28 2014-07-02 中兴通讯股份有限公司 一种地址解析协议报文的处理方法和系统
CN104471538B (zh) * 2013-07-15 2017-09-29 华为技术有限公司 一种数据流处理方法、设备和系统
US9973472B2 (en) 2015-04-02 2018-05-15 Varmour Networks, Inc. Methods and systems for orchestrating physical and virtual switches to enforce security boundaries
US10091238B2 (en) 2014-02-11 2018-10-02 Varmour Networks, Inc. Deception using distributed threat detection
US10264025B2 (en) 2016-06-24 2019-04-16 Varmour Networks, Inc. Security policy generation for virtualization, bare-metal server, and cloud computing environments
US20150341377A1 (en) * 2014-03-14 2015-11-26 Avni Networks Inc. Method and apparatus to provide real-time cloud security
US9680708B2 (en) 2014-03-14 2017-06-13 Veritas Technologies Method and apparatus for cloud resource delivery
CN104301446B (zh) * 2014-08-08 2019-04-09 新华三技术有限公司 一种报文处理方法、交换机设备及系统
CN104219150B (zh) * 2014-09-03 2018-03-16 新华三技术有限公司 流表下发方法及装置
CN104283738B (zh) * 2014-10-11 2018-07-17 新华三技术有限公司 一种链路检测方法及设备
CN104320340A (zh) * 2014-10-21 2015-01-28 杭州华三通信技术有限公司 软件定义网络中学习源mac地址的方法和装置
US9294442B1 (en) 2015-03-30 2016-03-22 Varmour Networks, Inc. System and method for threat-driven security policy controls
US10193929B2 (en) 2015-03-13 2019-01-29 Varmour Networks, Inc. Methods and systems for improving analytics in distributed networks
US9380027B1 (en) 2015-03-30 2016-06-28 Varmour Networks, Inc. Conditional declarative policies
US10009381B2 (en) 2015-03-30 2018-06-26 Varmour Networks, Inc. System and method for threat-driven security policy controls
US9525697B2 (en) 2015-04-02 2016-12-20 Varmour Networks, Inc. Delivering security functions to distributed networks
CN104869125B (zh) * 2015-06-09 2020-04-17 上海斐讯数据通信技术有限公司 基于sdn的动态防mac地址欺骗方法
CN104917640B (zh) * 2015-06-12 2017-11-24 国家电网公司 一种与接入点对应的交换机端口的定位方法
US10191758B2 (en) 2015-12-09 2019-01-29 Varmour Networks, Inc. Directing data traffic between intra-server virtual machines
US9680852B1 (en) 2016-01-29 2017-06-13 Varmour Networks, Inc. Recursive multi-layer examination for computer network security remediation
US9762599B2 (en) 2016-01-29 2017-09-12 Varmour Networks, Inc. Multi-node affinity-based examination for computer network security remediation
US9521115B1 (en) 2016-03-24 2016-12-13 Varmour Networks, Inc. Security policy generation using container metadata
US10755334B2 (en) 2016-06-30 2020-08-25 Varmour Networks, Inc. Systems and methods for continually scoring and segmenting open opportunities using client data and product predictors
US10560407B2 (en) * 2016-10-06 2020-02-11 Sap Se Payload description for computer messaging
KR20180056895A (ko) * 2016-11-21 2018-05-30 고려대학교 산학협력단 Sdn의 방화벽 응용의 검증시스템 및 그 검증방법
KR101926987B1 (ko) * 2017-07-11 2018-12-07 사단법인 엑시콘산학공동연구소 반도체 메모리 디바이스를 테스트 하기 위한 테스트 시스템 및 방법
US11863580B2 (en) 2019-05-31 2024-01-02 Varmour Networks, Inc. Modeling application dependencies to identify operational risk
US11711374B2 (en) 2019-05-31 2023-07-25 Varmour Networks, Inc. Systems and methods for understanding identity and organizational access to applications within an enterprise environment
US11575563B2 (en) 2019-05-31 2023-02-07 Varmour Networks, Inc. Cloud security management
US11310284B2 (en) 2019-05-31 2022-04-19 Varmour Networks, Inc. Validation of cloud security policies
US11290493B2 (en) 2019-05-31 2022-03-29 Varmour Networks, Inc. Template-driven intent-based security
US11290494B2 (en) 2019-05-31 2022-03-29 Varmour Networks, Inc. Reliability prediction for cloud security policies
CN111107021A (zh) * 2019-11-22 2020-05-05 广东工业大学 一种信息流路径的确定方法、装置、设备和存储介质
CN111555981A (zh) * 2020-04-03 2020-08-18 深圳震有科技股份有限公司 一种数据传输方法、交换机及存储介质
CN111726305B (zh) * 2020-06-18 2021-03-16 广州市品高软件股份有限公司 一种面向虚拟机的多级流表管控方法及系统
US11818152B2 (en) 2020-12-23 2023-11-14 Varmour Networks, Inc. Modeling topic-based message-oriented middleware within a security system
US11876817B2 (en) 2020-12-23 2024-01-16 Varmour Networks, Inc. Modeling queue-based message-oriented middleware relationships in a security system
US11777978B2 (en) 2021-01-29 2023-10-03 Varmour Networks, Inc. Methods and systems for accurately assessing application access risk
US12050693B2 (en) 2021-01-29 2024-07-30 Varmour Networks, Inc. System and method for attributing user behavior from multiple technical telemetry sources
US11734316B2 (en) 2021-07-08 2023-08-22 Varmour Networks, Inc. Relationship-based search in a computing environment

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003324468A (ja) * 2002-05-08 2003-11-14 Hitachi Ltd データ転送システム及びノード装置
JP2009239625A (ja) * 2008-03-27 2009-10-15 Fujitsu Ltd ユーザ現在地検索装置、ユーザ現在地検索システム、ユーザ現在地検索方法、およびコンピュータプログラム
JP2011082765A (ja) 2009-10-06 2011-04-21 Hitachi Chem Co Ltd 電子機器、送受信部間の接続方法及びフィルム状配線

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7453801B2 (en) * 2001-11-08 2008-11-18 Qualcomm Incorporated Admission control and resource allocation in a communication system supporting application flows having quality of service requirements
KR100425745B1 (ko) * 2001-11-24 2004-04-06 엘지전자 주식회사 패킷의 헤더압축을 지원하는 통신 시스템에서 패킷의전송방법
JP2004153775A (ja) * 2002-09-03 2004-05-27 Ntt Docomo Inc 送受信制御装置、送受信制御方法および送受信制御プログラム
JP2007318432A (ja) 2006-05-25 2007-12-06 Kyowa Exeo Corp ネットワーク端末位置情報取得方法およびシステム
EP1976195B1 (en) 2007-03-30 2014-05-07 Alcatel-Lucent Method and apparatus for Mac address learning
EP2597816B1 (en) * 2007-09-26 2019-09-11 Nicira Inc. Network operating system for managing and securing networks
JP2009094832A (ja) * 2007-10-10 2009-04-30 Nec Access Technica Ltd マルチキャストデータ配信装置、その配信方法およびその配信制御プログラム
GB2461955A (en) * 2008-07-25 2010-01-27 Gnodal Ltd Ethernet bridge or router employing a distributed MAC address table
JP5408243B2 (ja) 2009-03-09 2014-02-05 日本電気株式会社 OpenFlow通信システムおよびOpenFlow通信方法
CN104683146B (zh) 2009-10-07 2019-05-07 日本电气株式会社 控制装置、信息系统以及控制方法
EP2572473B1 (en) * 2010-05-19 2014-02-26 Telefonaktiebolaget L M Ericsson (PUBL) Methods and apparatus for use in an openflow network
US8897134B2 (en) * 2010-06-25 2014-11-25 Telefonaktiebolaget L M Ericsson (Publ) Notifying a controller of a change to a packet forwarding configuration of a network element over a communication channel
US8619546B2 (en) * 2010-08-17 2013-12-31 Alcatel Lucent Method and apparatus for coping with link failures in central control plane architectures
US20120099591A1 (en) * 2010-10-26 2012-04-26 Dell Products, Lp System and Method for Scalable Flow Aware Network Architecture for Openflow Based Network Virtualization
US9001827B2 (en) * 2010-12-17 2015-04-07 Big Switch Networks, Inc. Methods for configuring network switches

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003324468A (ja) * 2002-05-08 2003-11-14 Hitachi Ltd データ転送システム及びノード装置
JP2009239625A (ja) * 2008-03-27 2009-10-15 Fujitsu Ltd ユーザ現在地検索装置、ユーザ現在地検索システム、ユーザ現在地検索方法、およびコンピュータプログラム
JP2011082765A (ja) 2009-10-06 2011-04-21 Hitachi Chem Co Ltd 電子機器、送受信部間の接続方法及びフィルム状配線

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
OPENFLOW SWITCH SPECIFICATION, VERSION 1.0.0, 31 December 2009 (2009-12-31), Retrieved from the Internet <URL:http://www.openflowswitch.org/documents/ openflow-spec-vl.0.0.pdf>
See also references of EP2696537A4

Cited By (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2014127768A (ja) * 2012-12-25 2014-07-07 Nec Corp 通信ノード、制御装置、通信システム、エントリ集約方法及びプログラム
US9270618B2 (en) 2013-02-28 2016-02-23 International Business Machines Corporation Source routing with fabric switches in an ethernet fabric network
US9680746B2 (en) 2013-02-28 2017-06-13 International Business Machines Corporation Source routing with fabric switches in an ethernet fabric network
CN103209121A (zh) * 2013-03-15 2013-07-17 中兴通讯股份有限公司 基于开放流协议的控制面设备的发现处理方法及装置
WO2014139276A1 (zh) * 2013-03-15 2014-09-18 中兴通讯股份有限公司 基于开放流协议的控制面设备的发现处理方法及装置
WO2014173235A1 (zh) * 2013-04-22 2014-10-30 华为技术有限公司 转发路径的生成方法、控制器和系统
CN103501246A (zh) * 2013-09-27 2014-01-08 迈普通信技术股份有限公司 查找终端设备的上联采集设备和上联端口的方法及装置
JP2015133556A (ja) * 2014-01-10 2015-07-23 富士通株式会社 制御装置および転送制御方法
WO2015175359A1 (en) * 2014-05-13 2015-11-19 Adtran, Inc. Detecting and disabling rogue access points in a network
US9439131B2 (en) 2014-05-13 2016-09-06 Adtran, Inc. Detecting and disabling rogue access points in a network
CN104079506A (zh) * 2014-07-18 2014-10-01 国家电网公司 一种基于地理位置信息的交换机端口三层管理架构及其应用
JP2020099058A (ja) * 2015-09-15 2020-06-25 グーグル エルエルシー コンピュータネットワークにおいてパケットを処理するためのシステムおよび方法

Also Published As

Publication number Publication date
CN103477593B (zh) 2017-03-29
ES2607106T3 (es) 2017-03-29
EP2696537B1 (en) 2016-09-28
KR20130126730A (ko) 2013-11-20
RU2583745C2 (ru) 2016-05-10
RU2013148947A (ru) 2015-05-10
EP2696537A1 (en) 2014-02-12
US20140022894A1 (en) 2014-01-23
CA2832019A1 (en) 2012-10-11
CN103477593A (zh) 2013-12-25
BR112013025528A2 (pt) 2016-12-27
JP5652630B2 (ja) 2015-01-14
EP2696537A4 (en) 2014-09-03
KR101501397B1 (ko) 2015-03-12
JPWO2012137646A1 (ja) 2014-07-28
US9444743B2 (en) 2016-09-13

Similar Documents

Publication Publication Date Title
JP5652630B2 (ja) ネットワークシステム、スイッチ、及び接続端末検知方法
US9548933B2 (en) Network system, switch, and methods of network configuration
JP5660211B2 (ja) 通信経路制御システム、及び通信経路制御方法
JP5610247B2 (ja) ネットワークシステム、及びポリシー経路設定方法
JP5842933B2 (ja) ネットワークシステム、及び経路情報同期方法
EP2765742B1 (en) Load reduction system, and load reduction method
WO2012033117A1 (ja) ネットワークシステム、及びネットワーク管理方法
WO2012096131A1 (ja) ネットワークシステム、及び経路制御方法
JP5682846B2 (ja) ネットワークシステム、パケット処理方法、及び記憶媒体
WO2012098779A1 (ja) ネットワークシステム、コントローラ、及びQoS制御方法

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

Country of ref document: EP

Kind code of ref document: A1

ENP Entry into the national phase

Ref document number: 2013508826

Country of ref document: JP

Kind code of ref document: A

ENP Entry into the national phase

Ref document number: 20137025960

Country of ref document: KR

Kind code of ref document: A

Ref document number: 2832019

Country of ref document: CA

REEP Request for entry into the european phase

Ref document number: 2012767795

Country of ref document: EP

WWE Wipo information: entry into national phase

Ref document number: 2012767795

Country of ref document: EP

WWE Wipo information: entry into national phase

Ref document number: 14009677

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

Country of ref document: RU

Kind code of ref document: A

REG Reference to national code

Ref country code: BR

Ref legal event code: B01A

Ref document number: 112013025528

Country of ref document: BR

ENP Entry into the national phase

Ref document number: 112013025528

Country of ref document: BR

Kind code of ref document: A2

Effective date: 20131003