WO2018230608A1 - 通信システム、通信制御装置、スイッチ装置、通信制御方法、及び、記録媒体 - Google Patents

通信システム、通信制御装置、スイッチ装置、通信制御方法、及び、記録媒体 Download PDF

Info

Publication number
WO2018230608A1
WO2018230608A1 PCT/JP2018/022591 JP2018022591W WO2018230608A1 WO 2018230608 A1 WO2018230608 A1 WO 2018230608A1 JP 2018022591 W JP2018022591 W JP 2018022591W WO 2018230608 A1 WO2018230608 A1 WO 2018230608A1
Authority
WO
WIPO (PCT)
Prior art keywords
address
resolution request
destination
communication
control device
Prior art date
Application number
PCT/JP2018/022591
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 日本電気株式会社
Publication of WO2018230608A1 publication Critical patent/WO2018230608A1/ja

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/09Mapping addresses
    • H04L61/10Mapping addresses of different types
    • H04L61/103Mapping addresses of different types across network layers, e.g. resolution of network layer into physical layer addresses or address resolution protocol [ARP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2101/00Indexing scheme associated with group H04L61/00
    • H04L2101/60Types of network addresses
    • H04L2101/618Details of network addresses
    • H04L2101/622Layer-2 addresses, e.g. medium access control [MAC] addresses

Definitions

  • the present invention relates to a communication system, a communication control device, a switch device, a communication control method, and a recording medium.
  • An OpenFlow switch (hereinafter also referred to as OFS (Open® Flow® Switch)) includes a secure channel for communication with an OpenFlow controller (hereinafter also referred to as OFC (Open® Flow® Controller)).
  • OFS Open® Flow® Switch
  • the OFS operates according to flow information that is appropriately added or rewritten from the OFC.
  • the flow information is defined for each flow as a set of a matching rule that matches the packet header, and an action (instruction) that defines the flow statistical information and the processing content.
  • the specification of the OpenFlow protocol is described in Non-Patent Document 1.
  • An example of mounting the OFS is described in Non-Patent Document 2.
  • the OFS searches for flow information having a matching rule that matches the header information of the received packet.
  • the OFS processes the processing contents (packet transmission from the designated port, header rewriting, flooding, (Disposal etc.)
  • the OFS cannot determine the packet transfer destination by itself, so a copy of the packet information is transferred to the OFC via the secure channel (OpenFlow protocol packet in message). ).
  • the OFC identifies the transmitting / receiving terminal based on the packet information, and instructs the OFS to output a copy of the packet that has been packeted in from the corresponding physical port (OpenFlow protocol packet-out message). Further, the OFC sets flow information for transferring the packet in the OFS.
  • OFS and OFC operate as follows, for example.
  • FIG. 1 is a diagram illustrating a configuration example of a physical network and a virtual L3 network in a normal OpenFlow system.
  • the terminal 80A performs data communication with the terminal 80B over the IP subnet.
  • the IP network is an IPv4 (Internet Protocol version 4) network
  • the terminal 80A designates the IP address “IP_R” of the L3 router that is the default gateway, and transmits an ARP (Address Resolution Protocol) request.
  • the OFS 70 receives the ARP request
  • the OFC 60 transmits, as the L3 router, an ARP response including the MAC (Media Access Control) address “IP_RA” of the L3 router to the terminal 80A.
  • Terminal 80A transmits a unicast packet addressed to terminal 80B.
  • the OFC 60 acquires the MAC address “MAC_B” of the terminal 80B by the ARP request.
  • the OFC 60 rewrites the destination MAC address “MAC_RA” of the unicast packet with the MAC address “MAC_B” of the terminal 80B and the transmission source MAC address with the MAC address “MAC_RB” of the L3 router, and transfers the unicast packet.
  • the OFC 60 registers the matching rule for the transferred packet, header rewriting, and transfer processing contents in the OFS 70 as flow information. Thereafter, the OFS 70 rewrites and forwards the MAC address in accordance with the processing content of the flow information for a unicast packet that conforms to the flow information matching rule.
  • IP network is an IPv6 (Internet Protocol version 6) network
  • ND Neighbor Discovery
  • IPv4 Flow Table “IPv4” and Group Table “Next Hop Entries” described in Non-Patent Document 2 are combined. Used.
  • general-purpose OFS is based on the flow information of L2 and L3 required by the open flow protocol to a normal L2 switch that transfers L2 packets according to the result of autonomous learning of L2 (Layer 2) addresses such as MAC addresses. This is an OFS that implements a transfer function.
  • the added value unique to OpenFlow technology is, for example, flexible separation of network segments, flexible change of destination L3 address based on policy, and the like.
  • OFS needs to satisfy the following technical elements, for example.
  • the number of L3 flow information that can be registered is generally very small due to hardware limitations of the L2 switch.
  • the general-purpose OFS generally does not provide a function for changing the destination IP address due to hardware restrictions of the L2 switch.
  • Non-Patent Document 1 rewriting of an IP address by a “set_field” action is defined.
  • Non-Patent Document 2 which is an actual implementation example of OFS, does not describe a “set_field” action for rewriting the destination IP address.
  • An object of the present invention is to provide a communication system capable of solving the above-described problems and realizing network segment separation equivalent to an L3 network in an open flow system using general-purpose OFS.
  • the communication system includes a transfer control unit that controls transfer of a packet between ports based on a destination L2 address of the packet, and an address resolution request for resolving the L2 address for the destination L3 address.
  • Input control means for transferring the address resolution request to the communication control device when received at any of the ports, and a port designated for the address resolution request when the address resolution request is received from the communication control device
  • One or more switching devices including: an output control means for transmitting to: a logical segment information storage means for storing logical segment information indicating an L3 address belonging to the logical segment in association with each of the plurality of logical segments; A plurality of logical segments associated with each set of logical segments Communication permission information storage means for storing communication permission information indicating whether or not communication is possible; position information storage means for storing position information indicating an identifier of the switch device and an identifier of the port of the switch device in association with the L3 address;
  • the port associated with the destination L3 address is designated based on the location information, and the address resolution request is An address resolution processing means for forwarding to the switch device associated with the destination L3 address. Comprising apparatus and, a.
  • the communication control apparatus includes a logical segment information storage unit that stores logical segment information indicating an L3 address belonging to the logical segment in association with each of the plurality of logical segments, and each of the plurality of logical segments.
  • Communication permission information storage means for storing communication permission information indicating whether or not communication between the logical segments of the set is associated with the set;
  • An L2 address corresponding to the destination L3 address from one of the position information storage means and one or more switch devices that stores position information indicating the identifier of the switch device and the identifier of the port of the switch device in association with the L3 address
  • the address resolution request for resolving the address is received, communication between the logical segments to which the destination L3 address and the source L3 address of the address resolution request belong is permitted based on the logical segment information and the communication permission information.
  • a port associated with the destination L3 address is designated based on the position information, and the address resolution request is sent to the switch device associated with the destination L3 address.
  • Address resolution processing means for transferring to the one or more switch devices. Each of them controls the transfer of the packet between the ports based on the destination L2 address of the packet, transfers the address resolution request received at any port to the communication control device, and receives it from the communication control device The address resolution request is sent to the designated port.
  • the switch device includes a transfer control unit that controls transfer of a packet between ports based on a destination L2 address of the packet, and an address resolution request for resolving the L2 address for the destination L3 address.
  • Input control means for transferring the address resolution request to the communication control device when received at any of the ports, and a port designated for the address resolution request when the address resolution request is received from the communication control device.
  • the communication control device stores logical segment information indicating an L3 address belonging to the logical segment in association with each of the plurality of logical segments; Stores communication permission information that indicates whether communication is possible between logical segments of the set in association with the set.
  • the communication control apparatus when the communication control apparatus receives an address resolution request for resolving the L2 address for the destination L3 address from one of the one or more switch apparatuses.
  • Logical segment information indicating an L3 address belonging to the logical segment in association with each of the plurality of logical segments, and communication permission information indicating whether communication between the logical segments in the set is associated with each set of the plurality of logical segments. Based on this, it is determined whether or not communication between the logical segments to which the destination L3 address and the source L3 address of the address resolution request belong is permitted. If permitted, the identifier of the switch device is associated with the L3 address.
  • the destination L Based on the position information indicating the identifier of the port of the switch device, the destination L The port associated with the address is designated and the address resolution request is forwarded to the switch device associated with the destination L3 address, and each of the one or more switch devices is based on the destination L2 address of the packet, Controls packet transfer between ports, transfers the address resolution request received at any port to the communication control device, and transmits the address resolution request received from the communication control device to a specified port To do.
  • an address resolution request for resolving an L2 address for a destination L3 address in a switching device that controls packet transfer between ports based on the destination L2 address of the packet. Is received at any of the ports, the address resolution request is transferred to the communication control device, and when the address resolution request is received from the communication control device, the address resolution request is transmitted to the designated port.
  • the communication control device receives the address resolution request from any one of the one or more switch devices, the logical segment information indicating the L3 address belonging to the logical segment in association with each of the plurality of logical segments.
  • each of the plurality of logical segments associated with each pair of logical segments Based on the communication permission information indicating whether communication is possible or not, it is determined whether communication between logical segments to which the destination L3 address and the source L3 address of the address resolution request belong is permitted. Based on the positional information indicating the identifier of the switch device and the identifier of the port of the switch device in association with the address, the port associated with the destination L3 address is specified, and the address resolution request is associated with the destination L3 address. To the designated switch device.
  • the recording medium readable by the first computer is an address for resolving the L2 address corresponding to the destination L3 address from any one of the one or more switch devices in the computer used as the communication control device.
  • logical segment information indicating the L3 address belonging to the logical segment in association with each of the plurality of logical segments and communication between the logical segments in the set in association with each set of the plurality of logical segments.
  • a process for determining whether communication between logical segments to which the destination L3 address and the source L3 address of the address resolution request belong is permitted, and if permitted, L3 The identifier of the switch device associated with the address and the switch device And a process of designating a port associated with the destination L3 address and transferring the address resolution request to the switch device associated with the destination L3 address based on the position information indicating the port identifier.
  • Each of the one or more switch devices controls transfer of a packet between ports based on a destination L2 address of the packet, and transmits the address resolution request received at any port to the communication
  • the address resolution request received from the communication control apparatus is transmitted to the designated port.
  • an L2 address corresponding to the destination L3 address is assigned to a computer used as a switch device that controls transfer of a packet between ports based on the destination L2 address of the packet.
  • processing for transferring the address resolution request to the communication control device and when the address resolution request is received from the communication control device, the address A program for executing a process for transmitting a resolution request to a designated port, and the communication control device receives a plurality of address resolution requests from any one of one or more switch devices.
  • Each of the destination L3 address and the source L3 address of the address resolution request is based on the logical segment information and communication permission information indicating whether communication between the logical segments in the set is associated with each set of the plurality of logical segments. It is determined whether or not communication between the logical segments to which it belongs is permitted. If it is permitted, the destination L3 is based on the positional information indicating the identifier of the switch device and the identifier of the port of the switch device in association with the L3 address. The port associated with the address is specified, and the address resolution request is transferred to the switch device associated with the destination L3 address.
  • the effect of the present invention is that the network segment separation equivalent to the L3 network can be realized in the open flow system using general-purpose OFS.
  • FIG. 2 is a block diagram illustrating a configuration of the communication system 1 in the embodiment.
  • the communication system 1 includes a control device (hereinafter also referred to as a communication control device) 10, one or more switch devices 20, and a plurality of terminals 30.
  • a control device hereinafter also referred to as a communication control device
  • switch devices one or more switch devices
  • terminals 30 a plurality of terminals
  • the control device 10 may be a controller (OFC) defined by the OpenFlow protocol specification.
  • the switch device 20 may be, for example, a switch (OFS) defined by the specification of the open flow protocol.
  • the switch device 20 implements a transfer function based on the flow information of L2 and L3 required by the open flow protocol mainly using the function of the normal L2 switch, which transfers L2 packets according to the result of autonomous learning of the L2 address.
  • the general-purpose OFS may be used.
  • the control device 10 and the switch device 20 provide an L3 network to the terminal 30.
  • the control device 10 and the switch device 20 are connected via a control channel.
  • the switch device 20 is connected to the terminal 30 or another switch device 20 via a port.
  • FIG. 3 is a diagram illustrating a configuration of a physical network and a virtual L3 network realized on the physical network in the embodiment.
  • a plurality of terminals 30 are connected to the switch device 20A in the physical network.
  • the terminals 30A to 30F are grouped into logical segments “S1”, “S2”, and “S3”.
  • the logical segment is a group including one or more terminals 30.
  • a flat IP address having a subnet mask value that is not divided into subnets is assigned to each terminal 30 on the L3 network.
  • the IP address of the subnet assigned to the logical segment may be assigned to each terminal 30 belonging to the logical segment.
  • the control device 10 is further connected to a DNS (Domain Name System) server 40 existing outside the communication system 1 via a network such as the Internet.
  • DNS Domain Name System
  • the DNS server 40 responds to a DNS query including a domain name (hereinafter also referred to as a name resolution request) with a DNS reply including an IP address associated with the domain name (hereinafter also referred to as a name resolution response).
  • the DNS server 40 may be a normal DNS server provided by, for example, an internet connection company.
  • the control device 10 includes a logical segment information storage unit 11, a communication permission information storage unit 12, a position information storage unit 13, an address resolution processing unit 14, an address information storage unit 15, and a name resolution processing unit 16.
  • the logical segment information storage unit 11 stores logical segment information.
  • FIG. 4 is a diagram illustrating an example of logical segment information in the embodiment.
  • the logical segment information in FIG. 4 corresponds to the L3 network configuration in FIG.
  • the logical segment information indicates the IP address of the terminal 30 belonging to the logical segment for each of the plurality of logical segments.
  • the logical segment information is preset by, for example, an administrator.
  • the communication permission information storage unit 12 stores communication permission information.
  • FIG. 5 is a diagram illustrating an example of communication permission information in the embodiment.
  • the communication permission information indicates whether or not communication between the logical segments of the set is possible for each set of the plurality of logical segments. Note that communication within a logical segment is always permitted.
  • the communication permission information is set in advance by an administrator or the like, for example.
  • the position information storage unit 13 stores position information.
  • FIG. 6 is a diagram illustrating an example of position information in the embodiment.
  • the location information is associated with the IP address of each terminal 30, the MAC address of the terminal 30, the identifier (hereinafter also referred to as ID (Identifier)) of the switch device 20 to which the terminal 30 is connected, and the physical in the switch device 20. Indicates the port ID.
  • ID Identifier
  • the address resolution processing unit 14 sets position information based on an ARP request (hereinafter also referred to as an address resolution request) received from the switch device 20.
  • the ARP request includes the transmission source IP address, the transmission source MAC address, and the IP address (destination IP address) of the terminal 30 that should resolve the MAC address.
  • the switch device 20 transfers the ARP request received from the terminal 30 to the control device 10 together with the ID of the switch device 20 and the ID of the physical port to which the terminal 30 is connected (received the ARP request). To do.
  • the address resolution processing unit 14 registers the source IP address of the ARP request, the source MAC address, and the ID of the switch device 20 and the physical port ID transferred together with the ARP request in the position information.
  • the address resolution processing unit 14 refers to the logical segment information and the communication permission information, and determines whether communication is possible between the logical segment to which the destination IP address of the ARP request belongs and the logical segment to which the transmission source IP address belongs. . When communication is permitted, the address resolution processing unit 14 refers to the position information, specifies the physical port associated with the destination IP address to the switch device 20 associated with the destination IP address, and sets the ARP Forward the request. Such processing of the ARP request by the control device 10 is referred to as intervention for the ARP request here.
  • the terminal 30 confirms whether the IP address of its own terminal 30 is not used redundantly at the time of start-up or connection to the network, and ARP request for advertising the presence of the MAC address of its own terminal 30 (GARP (Gratuitous ARP) request) is transmitted.
  • the control device 10 uses the GARP request transferred from the switch device 20 only for registering the location information of the terminal 30, and does not transfer the GARP request to the switch device 20. Note that the control device 10 may detect duplication of the IP address based on the GARP request and notify the administrator or the like of the result.
  • the address information storage unit 15 stores address information.
  • FIG. 7 is a diagram illustrating an example of address information in the embodiment.
  • the address information indicates the IP address of the terminal 30 in association with each of the one or more domain names.
  • the domain name of the address information the domain name of the terminal 30 whose IP address is to be changed among the terminals 30 in the communication system 1 is set. Instead of the terminal 30 to be changed, the IP address is set to the IP address of another terminal 30 to which a packet addressed to the domain name is to be transmitted.
  • the address information is preset by an administrator or the like based on a policy, for example.
  • the name resolution processing unit 16 refers to the address information, and when the domain name specified by the DNS query received from the switch device 20 is registered in the address information, the DNS including the IP address associated with the domain name Generate a reply. In addition, when the domain name designated by the DNS query is not registered in the address information, the name resolution processing unit 16 transfers the DNS query to the DNS server 40 existing outside the communication system 1 and performs the DNS reply. Receive. The name resolution processing unit 16 designates the physical port associated with the destination IP address and transmits the DNS reply to the switch device 20 associated with the destination IP address of the DNS reply (source IP address of the DNS query). To do. Such DNS query processing by the control device 10 is referred to as intervention for the DNS query here.
  • the switch device 20 includes an input control unit 21, an output control unit 22, a transfer control unit 23, and an L2 table storage unit 24.
  • the input control unit 21 transfers the ARP request received from the terminal 30 to the control device 10.
  • the ARP request received from the other switch device 20 is not transferred to the control device 10.
  • the input control unit 21 transfers the DNS query (hereinafter also referred to as a name resolution request) received from the terminal 30 to the control device 10.
  • the input control unit 21 transfers the ARP request or DNS query to the control device 10 together with the ID of the own switch device 20 and the ID of the physical port that has received the ARP request or DNS query.
  • the output control unit 22 transmits the ARP request and DNS reply received from the control device 10 to the physical port designated by the control device 10.
  • the transfer control unit 23 registers a set of the source MAC address of the ARP request received from the terminal 30 or another switch device 20 and the ID of the physical port that has received the ARP request as L2 transfer information in the L2 table. To do. Further, the transfer control unit 23 may transfer the ARP request to another switch device 20 connected to a port other than the physical port that has received the ARP request. When there is no other switch device 20 to which the ARP request is to be transferred, the transfer control unit 23 discards the ARP request after registering the L2 transfer information. Here, the transfer control unit 23 may discard the ARP request in accordance with the flow information indicating the discard of the ARP request registered in advance by an administrator or the like.
  • the transfer control unit 23 controls the transfer of unicast packets between the input and output ports according to the L2 table.
  • the L2 table storage unit 24 stores the L2 table.
  • FIG. 8 is a diagram illustrating an example of the L2 table in the embodiment.
  • the L2 table indicates the ID of the physical port to which the terminal 30 is connected (received the ARP request) in association with the MAC address of each terminal 30.
  • the control device 10 and the switch device 20 may each be a computer that includes a CPU (Central Processing Unit) and a storage medium that stores a program, and that operates by control based on the program.
  • a CPU Central Processing Unit
  • storage medium that stores a program, and that operates by control based on the program.
  • FIG. 9 is a block diagram illustrating a configuration of the control device 10 realized by a computer in the embodiment.
  • the control device 10 includes a CPU 101, a storage device 102 (storage medium), an input / output device 103, and a communication device 104.
  • the CPU 101 executes a program for realizing the address resolution processing unit 14 and the name resolution processing unit 16.
  • the storage device 102 is, for example, a hard disk or a memory, and stores data of the logical segment information storage unit 11, the communication permission information storage unit 12, the position information storage unit 13, and the address information storage unit 15 in addition to the program. To do.
  • the input / output device 103 is, for example, a keyboard, a display, or the like, and receives input of logical segment information, communication permission information, address information, and various settings from an administrator or the like.
  • the communication device 104 receives an ARP request and a DNS query from the switch device 20 and transmits an ARP request and a DNS reply to the switch device 20.
  • FIG. 10 is a block diagram showing a configuration of the switch device 20 realized by a computer in the embodiment.
  • the switch device 20 includes a CPU 201, a storage device 202 (storage medium), an input / output device 203, and a communication device 204.
  • the CPU 201 executes a program for realizing the input control unit 21, the output control unit 22, and the transfer control unit 23.
  • the storage device 202 is, for example, a hard disk or a memory, and stores data in the L2 table storage unit 24 in addition to programs.
  • the input / output device 203 is, for example, a keyboard, a display, or the like, and receives input of various settings from an administrator or the like.
  • the communication device 204 transmits an ARP request and a DNS query to the control device 10 and receives an ARP request and a DNS reply from the switch device 20.
  • the communication device 204 transmits and receives various packets to and from the terminal 30 and other switch devices 20 as physical ports.
  • FIG. 11 is a flowchart showing the operation of address resolution processing in the embodiment.
  • the input control unit 21 of the switch device 20 transfers the ARP request to the control device 10 (step S102).
  • the input control unit 21 transmits the ID of the own switch device 20 and the ID of the physical port to which the terminal 30 is connected (received the ARP request) to the control device 10 together with the ARP request.
  • the transfer control unit 23 registers the set of the transmission source MAC address of the ARP request and the ID of the physical port in the L2 table as L2 transfer information (step S103).
  • the address resolution processing unit 14 of the control device 10 determines whether or not the transmission source IP address of the ARP request is registered in the position information (step S202). .
  • the address resolution processing unit 14 uses the set of the ARP request source IP address, source MAC address, switch device 20 ID, and physical port ID as location information. (Step S203).
  • the address resolution processing unit 14 determines whether the ARP request is a GARP request (step S204).
  • the address resolution processing unit 14 determines whether or not the destination IP address of the ARP request is registered in the position information (step S205).
  • the address resolution processing unit 14 determines whether communication is possible between the logical segment to which the destination IP address of the ARP request belongs and the logical segment to which the transmission source IP address belongs (step S206). ).
  • the address resolution processing unit 14 determines the ID of the switch device 20 associated with the destination IP address and the physical port associated with the destination IP address from the position information. Get the ID. The address resolution processing unit 14 designates the acquired physical port and transfers the ARP request to the acquired switch device 20 (step S207).
  • step S204 / Y when the destination IP address is not registered in the location information (step S205 / N), when communication is not permitted (step S206 / N), the address resolution processing unit 14 Discards the ARP request (step S208).
  • the output control unit 22 of the switch device 20 transfers the ARP request to the terminal 30 via the designated physical port (step S152).
  • the ARP request received from the terminal 30 is broadcast to the terminal 30 in the same subnet.
  • the switch device 20 transfers the ARP request received from the terminal 30 to the control device 10, and the control device 10 transfers the ARP request between logical segments that are permitted to communicate. Intervene. Thereby, a function equivalent to the separation of communication between subnets in a normal IP network is realized between logical segments.
  • FIG. 12 is a sequence chart showing a first specific example of address resolution processing in the embodiment.
  • the logical segment information in FIG. 4 and the communication permission information in FIG. 5 are set for the L3 network as in FIG. In this case, communication between the logical segments “S1” and “S2” is permitted, but communication between the logical segments “S1” and “S3” and between “S2” and “S3” is not permitted.
  • the terminal 30A transmits a GARP request to the switch device 20A at the time of activation.
  • the destination IP address “IP_A”, the source IP address “IP_A”, and the source MAC address “MAC_A” are set in the GARP request.
  • the switch device 20A receives the GARP request from the terminal 30A via the physical port “P1”.
  • the switch device 20A transfers the GARP request to the control device 10. Further, the switch device 20A registers the MAC address “MAC_A” of the terminal 30A and the physical port ID “P1” in the L2 table as shown in FIG.
  • the control device 10 When the control device 10 receives the GARP request from the switch device 20A, the IP address “IP_A”, the MAC address “MAC_A” of the terminal 30A, the ID of the switch device 20A, and the ID “P1” of the physical port of FIG. Register in the position information as follows.
  • the terminal 30C transmits a GARP request to the switch device 20A at the time of activation.
  • the destination IP address “IP_C”, the source IP address “IP_C”, and the source MAC address “MAC_C” are set in the GARP request.
  • the switch device 20A receives the GARP request from the terminal 30C via the physical port “P3”.
  • the switch device 20A transfers the GARP request to the control device 10. Further, the switch device 20A registers the MAC address “MAC_C” of the terminal 30C and the physical port ID “P3” in the L2 table as shown in FIG.
  • the control device 10 When receiving the GARP request from the switch device 20A, the control device 10 obtains the IP address “IP_C”, the MAC address “MAC_C” of the terminal 30C, the ID of the switch device 20A, and the ID “P3” of the physical port of FIG. Register in the position information as follows.
  • the terminal 30A transmits an ARP request for starting communication addressed to the terminal 30C to the switch device 20A.
  • the destination IP address “IP_C”, the source IP address “IP_A”, and the source MAC address “MAC_A” are set in the ARP request.
  • the switch device 20A transfers the ARP request received from the terminal 30A to the control device 10.
  • the control device 10 When receiving the ARP request from the switching device 20A, the control device 10 refers to the logical segment information in FIG. 4 and the communication permission information in FIG. Then, the control device 10 determines that communication between the logical segment “S1” to which the IP address “IP_A” belongs and the logical segment “S2” to which the IP address “IP_C” belongs is permitted. The control device 10 refers to the position information in FIG. 6, designates the physical port “P3” to the switch device 20A associated with the IP address “IP_C”, and transfers the ARP request.
  • the switch device 20A transfers the ARP request received from the control device 10 to the terminal 30C via the designated physical port “P3”.
  • the terminal 30C transmits an ARP reply to the switch device 20A.
  • the destination IP address “IP_C” and the destination MAC address “MAC_C” are set in the ARP reply.
  • the destination MAC address “MAC_A” is set in the MAC header of the ARP reply.
  • the switch device 20A transfers the ARP reply received from the terminal 30C to the terminal 30A via the physical port “P1” based on the destination MAC address “MAC_A” of the MAC header and the L2 table of FIG.
  • the terminal 30A transmits a unicast packet addressed to the terminal 30C to the switch device 20A.
  • the destination IP address “IP_C” and the destination MAC address “MAC_C” obtained by the ARP reply are set in the unicast packet.
  • the switch device 20A transfers the unicast packet received from the terminal 30A to the terminal 30C via the physical port “P3” based on the destination MAC address “MAC_C” and the L2 table of FIG.
  • the unicast packet between the terminal 30A and the terminal 30C is transferred by the switch device 20A based on the destination MAC address and the L2 table.
  • FIG. 13 is a diagram illustrating another configuration of the physical network and the virtual L3 network realized on the physical network in the embodiment.
  • a plurality of switch devices 20 are connected to each other in the physical network.
  • a plurality of terminals 30 are connected to each switch device 20.
  • FIG. 14 is a sequence chart showing a second specific example of the address resolution process in the embodiment.
  • FIG. 15 is a diagram illustrating another example of position information in the embodiment.
  • FIG. 16 is a diagram illustrating another example of the L2 table in the embodiment.
  • the terminal 30A transmits a GARP request to the switch device 20A at the time of activation.
  • the switch device 20A receives the GARP request from the terminal 30A via the physical port “P1”.
  • the switch device 20A transfers the GARP request to the control device 10.
  • the switch device 20A registers the MAC address “MAC_A” of the terminal 30A and the physical port ID “P1” in the L2 table as shown in FIG.
  • the switch device 20A transfers the GARP request to the switch devices 20B and 20C.
  • the switch devices 20B and 20C also register the MAC address of the terminal 30A and the physical port ID in the L2 table as shown in FIG.
  • the control device 10 When the control device 10 receives the GARP request from the switch device 20A, the IP address “IP_A”, the MAC address “MAC_A” of the terminal 30A, the ID of the switch device 20A, and the ID “P1” of the physical port of FIG. Register in the position information as follows.
  • the terminal 30C transmits a GARP request to the switch device 20B at the time of activation.
  • the switch device 20B receives the GARP request from the terminal 30C via the physical port “P1”.
  • the switch device 20B transfers the GARP request to the control device 10.
  • the switch device 20B registers the MAC address “MAC_C” of the terminal 30C and the ID “P1” of the physical port in the L2 table as illustrated in FIG.
  • the switch device 20B transfers the GARP request to the switch devices 20A and 20C.
  • the switch devices 20A and 20C also register the MAC address of the terminal 30A and the physical port ID in the L2 table as shown in FIG.
  • the control device 10 When the control device 10 receives the GARP request from the switch device 20B, the IP address “IP_C”, the MAC address “MAC_C” of the terminal 30C, the ID of the switch device 20B, and the ID “P1” of the physical port of FIG. Register in the position information as follows.
  • the terminal 30A transmits an ARP request for starting communication addressed to the terminal 30C to the switch device 20A.
  • the switch device 20A transfers the ARP request received from the terminal 30A to the control device 10.
  • the control device 10 When receiving the ARP request from the switching device 20A, the control device 10 refers to the logical segment information in FIG. 4 and the communication permission information in FIG. Then, the control device 10 determines that communication between the logical segment “S1” to which the IP address “IP_A” belongs and the logical segment “S2” to which the IP address “IP_C” belongs is permitted. The control device 10 refers to the position information in FIG. 15, designates the physical port “P1” to the switch device 20B associated with the IP address “IP_C”, and transfers the ARP request.
  • the switch device 20B transmits the ARP request received from the control device 10 to the terminal 30C via the designated physical port “P1”.
  • the terminal 30C transmits an ARP reply to the switch device 20B.
  • the switch device 20B transfers the ARP reply received from the terminal 30C to the switch device 20A via the physical port “P3” based on the destination MAC address “MAC_A” of the MAC header and the L2 table of FIG.
  • the switch device 20A transfers the ARP reply received from the switch device 20B to the terminal 30A via the physical port “P1” based on the destination MAC address “MAC_A” of the MAC header and the L2 table of FIG.
  • the terminal 30A transmits a unicast packet addressed to the terminal 30C to the switch device 20A.
  • the switch device 20A transfers the unicast packet received from the terminal 30A to the switch device 20B via the physical port “P4” based on the destination MAC address “MAC_C” and the L2 table of FIG.
  • the switch device 20B transfers the unicast packet received from the switch device 20A to the terminal 30C via the physical port “P1” based on the destination MAC address “MAC_C” and the L2 table in FIG.
  • the unicast packet between the terminal 30A and the terminal 30C is transferred by the switching devices 20A and 20B based on the destination MAC address and the L2 table.
  • FIG. 17 is a flowchart showing the operation of name resolution processing in the embodiment.
  • the input control unit 21 of the switch device 20 transfers the DNS query to the control device 10 (step S302).
  • the input control unit 21 transmits the ID of the switch device 20 and the ID of the physical port to which the terminal 30 is connected (received the DNS query) to the control device 10 together with the DNS query.
  • the name resolution processing unit 16 of the control device 10 determines whether or not the domain name specified by the DNS query is registered in the address information (step S402). ).
  • the name resolution processing unit 16 transfers a DNS query to the DNS server 40 (step S403), and acquires a DNS reply from the DNS server 40 (step S404).
  • the name resolution processing unit 16 acquires an IP address associated with the domain name from the address information.
  • the name resolution processing unit 16 generates a DNS reply including the acquired IP address (step S405).
  • the name resolution processing unit 16 designates the physical port associated with the destination IP address and transmits the DNS reply to the switch device 20 associated with the destination IP address of the DNS reply (source IP address of the DNS query). (Step S406).
  • the output control unit 22 of the switch device 20 transfers the DNS reply to the terminal 30 via the designated physical port (step S304).
  • the DNS query received from the terminal 30 has been transferred to a predetermined DNS server 40.
  • the switching device 20 performs an intervention in which the DNS query received from the terminal 30 is transferred to the control device 10, and the control device 10 generates a DNS reply based on the address information.
  • the destination IP address can be changed for a specific destination host.
  • FIG. 18 is a sequence chart showing a specific example of name resolution processing in the embodiment.
  • the address information shown in FIG. 7 is set for the L3 network shown in FIG.
  • the destination IP address of the packet addressed to the domain name “Domain_C” of the terminal 30C is changed from the IP address “IP_C” of the terminal 30C to the IP address “IP_D” of the terminal 30D.
  • the terminal 30A transmits a DNS query for starting communication addressed to the domain name “Domain_C” to the switch device 20A.
  • the domain name “Domain_C” is set in the DNS query.
  • the switch device 20A receives the DNS query from the terminal 30A via the physical port “P1”.
  • the switch device 20A transfers the DNS query to the control device 10.
  • the control device 10 When the control device 10 receives the DNS query from the switch device 20A, the control device 10 acquires the IP address “IP_D” associated with the domain name “Domain_C” from the address information of FIG. 7, and generates a DNS reply. In this case, the domain name “Domain_C” and the IP address “IP_D” are set in the DNS reply. The control device 10 designates the physical port “P1” to the switch device 20A and transmits a DNS reply.
  • the switch device 20A transmits the DNS reply received from the control device 10 to the terminal 30A via the designated physical port “P1”.
  • the terminal 30A acquires the MAC address “MAC_D” for the IP address “IP_D” of the terminal 30D, and starts communication with the terminal 30D.
  • the L3 address is an IPv4 address
  • the L3 address may be an IPv6 address.
  • an ND request / ND reply is used instead of the ARP request / reply described above.
  • the switch device 20 transfers the ND request received from the terminal 30 to the control device 10, and the control device 10 transfers the ND request between logical segments that are permitted to communicate.
  • the control device 10 In the name resolution process, if an IPv6 address is set for the domain name specified by the DNS query in the address information, the control device 10 generates a DNS reply in which the IPv6 address is set.
  • the popular terminals 30 are dual stack terminals that implement both IPv4 and IPv6 protocol stacks.
  • the DNS IP address an A record that is an IPv4 address and an AAAA record that is an IPv6 address can be defined, and the dual stack terminal can understand both the A record and the AAAA record. Therefore, the destination IP address can be changed from the IPv4 address to the IPv6 address by returning a DNS reply in which the AAAA record (IPv6 address) is set in response to the DNS query for inquiring the A record (IPv4 address) for the domain name. That is, the above-described intervention to the DNS query can be applied not only to the change of the destination IP address but also to the smooth transition from the IPv4 environment to the IPv6 environment.
  • FIG. 19 is a block diagram showing a basic configuration of the embodiment.
  • the communication system 1 includes one or more switch devices 20 and a control device 10 (communication control device).
  • the switch device 20 includes a transfer control unit 23 (transfer control unit), an input control unit 21 (input control unit), and an output control unit 22 (output control unit).
  • the transfer control unit 23 controls packet transfer between ports based on the packet destination L2 address.
  • the input control unit 21 receives an address resolution request for resolving the L2 address for the destination L3 address at any port, the input control unit 21 transfers the address resolution request to the control device 10.
  • the output control unit 22 receives an address resolution request from the control device 10, the output control unit 22 transmits the address resolution request to a designated port.
  • the control device 10 includes a logical segment information storage unit 11 (logical segment information storage unit), a communication permission information storage unit 12 (communication permission information storage unit), a position information storage unit 13 (position information storage unit), and an address resolution process. Part 14 (address resolution processing means).
  • the logical segment information storage unit 11 stores logical segment information indicating an L3 address belonging to the logical segment in association with each of the plurality of logical segments.
  • the communication permission information storage unit 12 stores communication permission information indicating whether communication between the logical segments of the set is associated with each set of the plurality of logical segments.
  • the position information storage unit 13 stores position information indicating the identifier of the switch device 20 and the identifier of the port of the switch device 20 in association with the L3 address.
  • the address resolution processing unit 14 When the address resolution processing unit 14 receives an address resolution request from the switch device 20, the address resolution processing unit 14 communicates between the logical segments to which the destination L3 address and the source L3 address of the address resolution request belong based on the logical segment information and the communication permission information. Determine whether is allowed. If permitted, the address resolution processing unit 14 designates the port associated with the destination L3 address based on the position information, and sends the address resolution request to the switch device 20 associated with the destination L3 address. Forward.
  • the switch device 20 transfers the address resolution request to the control device 10.
  • the control device 10 determines whether communication between logical segments to which the destination L3 address and the source L3 address of the address resolution request belong is permitted. If permitted, the control device 10 designates the port associated with the destination L3 address and transfers the address resolution request to the switch device 20 associated with the destination L3 address.
  • a flat IP address (not divided into IP subnets) that is very easy to manage is assigned to each terminal 30, and a logical segment that is a group composed of one or more terminals 30; and Whether to communicate between logical segments can be defined flexibly.
  • a normal L3 network can be replaced with an inexpensive general-purpose switch device 20 and a software-based control device 10 that can be realized by an inexpensive general-purpose server. Furthermore, since the definition of the L3 network is simplified by the flat IP address and the logical segment, the manageability of the network is improved.
  • the switch device 20 transfers the name resolution request to the control device 10.
  • the control device 10 generates a name resolution response including the L3 address associated with the domain name specified in the name resolution request.
  • the control device 10 specifies a port associated with the transmission source L3 address and transmits a name resolution response to the switch device 20 associated with the transmission source L3 address of the name resolution request.
  • the IP address of the change destination is associated with the domain name of the terminal 30 whose IP address is to be changed.
  • the destination IP address can be changed from IPv4 to IPv6 address by setting the IPv6 address as the change destination IP address and responding to the name resolution request for requesting the IPv4 address with the IPv6 address.

Landscapes

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

Abstract

汎用的なオープンフロースイッチを用いたオープンフローシステムにおいて、L3ネットワークと同等のネットワークセグメントの分離を実現する。 通信システムは1以上のスイッチ装置と通信制御装置を含む。スイッチ装置は、いずれかのポートで受信したアドレス解決要求を通信制御装置に転送する。通信制御装置は、1以上のスイッチ装置の内のいずれかからアドレス解決要求を受信した場合に、アドレス解決要求の宛先L3アドレスと送信元L3アドレスのそれぞれが属する論理セグメント間の通信が許可されているか判定する。許可されている場合、通信制御装置は、宛先L3アドレスに関連付けられたスイッチ装置に、宛先L3アドレスに関連付けられたポートを指定して、アドレス解決要求を転送する。スイッチ装置は、通信制御装置から受信したアドレス解決要求を指定されたポートに送信する。

Description

通信システム、通信制御装置、スイッチ装置、通信制御方法、及び、記録媒体
 本発明は、通信システム、通信制御装置、スイッチ装置、通信制御方法、及び、記録媒体に関する。
 近年、オープンフローという技術が提案されている。オープンフローシステムでは、通信をエンドツーエンドのフローとして捉え、フロー単位で経路制御、障害回復、負荷分散、最適化を行う。オープンフロースイッチ(以下、OFS(Open Flow Switch)とも記載)は、オープンフローコントローラ(以下、OFC(Open Flow Controller)とも記載)との通信用のセキュアチャネルを備える。OFSは、OFCから適宜追加または書き換え指示されるフロー情報に従って動作する。フロー情報は、フロー毎に、パケットヘッダと照合するマッチングルールと、フロー統計情報と処理内容を定義したアクション(インストラクション)と、の組として定義される。オープンフロープロトコルの仕様は、非特許文献1に記載されている。また、OFSの実装の一例は、非特許文献2に記載されている。
 例えば、OFSは、パケットを受信すると、受信パケットのヘッダ情報に適合するマッチングルールを持つフロー情報を検索する。検索の結果、受信パケットに適合するフロー情報が見つかった場合、OFSは、受信パケットに対して、当該フロー情報のアクションフィールドに記述された処理内容(指定ポートからのパケット送信、ヘッダ書き換え、フラッディング、廃棄等)を実施する。一方、受信パケットに適合するフロー情報が見つからなかった場合、OFSは自力でパケット転送先を判断できないため、セキュアチャネルを介してOFCに対しパケット情報のコピーを転送する(オープンフロープロトコルのパケットインメッセージ)。
 OFCはパケット情報をもとに送受信端末を特定し、OFSに対し、パケットインしたパケットのコピーを該当する物理ポートから出力するよう指示する(オープンフロープロトコルのパケットアウトメッセージ)。さらに、OFCは、該当パケットを転送するためのフロー情報をOFSに設定する。
 オープンフローシステムを用いて、IP(Internet Protocol)ネットワークのようなL3(Layer 3)ネットワークを構築する場合、OFSとOFCは、例えば、以下のように動作する。
 図1は、通常のオープンフローシステムにおける、物理ネットワーク、及び、仮想L3ネットワークの構成例を示す図である。ここでは、図1において、端末80AがIPサブネットを超えて、端末80Bとデータ通信を行うと仮定する。IPネットワークがIPv4(Internet Protocol version 4)ネットワークである場合、端末80Aは、デフォルトゲートウェイであるL3ルータのIPアドレス「IP_R」を指定して、ARP(Address Resolution Protocol)リクエストを送信する。OFS70がARPリクエストを受信すると、OFC60はL3ルータとして、L3ルータのMAC(Media Access Control)アドレス「IP_RA」を含むARP応答を、端末80Aに送信する。端末80Aは、端末80B宛のユニキャストパケットを送信する。OFS70がユニキャストパケットを受信すると、OFC60はARPリクエストにより端末80BのMACアドレス「MAC_B」を取得する。OFC60は、ユニキャストパケットの宛先MACアドレス「MAC_RA」を端末80BのMACアドレス「MAC_B」、送信元MACアドレスをL3ルータのMACアドレス「MAC_RB」に書き換え、ユニキャストパケットを転送する。
OFC60は、転送したパケットに対するマッチングルールと、ヘッダ書き換え、転送の処理内容を、フロー情報として、OFS70に登録する。以降、OFS70は、フロー情報のマッチングルールに適合するユニキャストパケットに対し、当該フロー情報の処理内容に従って、MACアドレスの書き換え、転送を行う。IPネットワークがIPv6(Internet Protocol version 6)ネットワークである場合も、MACアドレスの解決にND(Neighbor Discovery)リクエストを用いて、同様の動作が行われる。
 このような、IPアドレスの識別、及び、MACアドレスの書き換えを伴うL3フロー情報の登録には、非特許文献2に記載されているFlow Table「IPv4」とGroup Table「Next Hop Entries」とが組み合わせて用いられる。
"OpenFlow Switch Specification"、Version 1.3.4、[online]、[2017年6月8日検索]、インターネット〈URL: https://www.opennetworking.org/images/stories/downloads/sdn-resources/onf-specifications/openflow/openflow-switch-v1.3.4.pdf〉 "OpenFlow Table Type Patterns"、Version No. 1.0、[online]、[2017年6月8日検索]、インターネット〈URL: https://www.opennetworking.org/images/stories/downloads/sdn-resources/onf-specifications/openflow/OpenFlow%20Table%20Type%20Patterns%20v1.0.pdf〉
 このようなオープンフローシステムによるL3ネットワークを、安価な汎用OFSを用いて構築し、オープンフロー技術ならではの付加価値を提供することが求められている。
ここで、汎用OFSとは、MACアドレス等のL2(Layer 2)アドレスの自律学習の結果に従ってL2パケットを転送する通常のL2スイッチに、オープンフロープロトコルで要求されるL2やL3のフロー情報に基づく転送機能を実装したOFSである。
 オープンフロー技術ならではの付加価値とは、例えば、ネットワークセグメントの柔軟な分離や、ポリシーに基づいた宛先L3アドレスの自在な変更等である。これらを実現するためには、OFSが、例えば、以下のような技術的要素を満たす必要がある。一つは、できるだけ多くのL3フロー情報を登録できることである。もう一つは、L3フロー情報に基づき、宛先IPアドレス等、パケット内のL3ヘッダを書き換えられることである。
 しかしながら、汎用OFSは、上述のように通常のL2スイッチの機能を主体に実装されているため、このようなL3フローに関する技術的要素を満たすことが難しく、オープンフローシステムの普及の妨げになっている。
 例えば、汎用のOFSでは、L2スイッチのハードウェアの制約により、一般に、登録できるL3フロー情報の数が非常に少ない。
 また、汎用のOFSでは、同様に、L2スイッチのハードウェアの制約により、一般に、宛先IPアドレスの変更機能も提供されない。例えば、オープンフロープロトコルの仕様では、非特許文献1において、「set_field」アクションによるIPアドレスの書き換えが定義されている。しかしながら、現実的なOFSの実装例である非特許文献2では、宛先IPアドレスの書き換えを対象とした「set_field」アクションは記載されていない。
 本発明の目的は、上述の課題を解決し、汎用OFSを用いたオープンフローシステムにおいて、L3ネットワークと同等のネットワークセグメントの分離を実現できる、通信システムを提供することである。
 本発明の一態様における通信システムは、パケットの宛先L2アドレスに基づいて、ポート間のパケットの転送を制御する、転送制御手段と、宛先L3アドレスに対するL2アドレスを解決するためのアドレス解決要求を、いずれかのポートにおいて受信した場合に、当該アドレス解決要求を通信制御装置に転送する入力制御手段と、前記アドレス解決要求を前記通信制御装置から受信した場合に、当該アドレス解決要求を指定されたポートに送信する出力制御手段と、を含む、1以上のスイッチ装置と、複数の論理セグメントの各々に関連付けて当該論理セグメントに属するL3アドレスを示す論理セグメント情報を記憶する、論理セグメント情報記憶手段と、前記複数の論理セグメントの各組に関連付けて当該組の論理セグメント間の通信の可否を示す通信許可情報を記憶する、通信許可情報記憶手段と、L3アドレスに関連付けてスイッチ装置の識別子と当該スイッチ装置のポートの識別子とを示す位置情報を記憶する、位置情報記憶手段と、前記1以上のスイッチ装置の内のいずれかから前記アドレス解決要求を受信した場合に、前記論理セグメント情報と前記通信許可情報に基づき、当該アドレス解決要求の宛先L3アドレスと送信元L3アドレスのそれぞれが属する論理セグメント間の通信が許可されているかどうかを判定し、許可されていれば、前記位置情報に基づき、当該宛先L3アドレスに関連付けられたポートを指定して、当該アドレス解決要求を、当該宛先L3アドレスに関連付けられたスイッチ装置に転送する、アドレス解決処理手段と、を含む通信制御装置と、を備える。
 本発明の一態様における通信制御装置は、複数の論理セグメントの各々に関連付けて当該論理セグメントに属するL3アドレスを示す論理セグメント情報を記憶する、論理セグメント情報記憶手段と、前記複数の論理セグメントの各組に関連付けて当該組の論理セグメント間の通信の可否を示す通信許可情報を記憶する、通信許可情報記憶手段と、
 L3アドレスに関連付けてスイッチ装置の識別子と当該スイッチ装置のポートの識別子とを示す位置情報を記憶する、位置情報記憶手段と、1以上のスイッチ装置の内のいずれかから、宛先L3アドレスに対するL2アドレスを解決するためのアドレス解決要求を受信した場合に、前記論理セグメント情報と前記通信許可情報に基づき、当該アドレス解決要求の宛先L3アドレスと送信元L3アドレスのそれぞれが属する論理セグメント間の通信が許可されているかどうかを判定し、許可されていれば、前記位置情報に基づき、当該宛先L3アドレスに関連付けられたポートを指定して、当該アドレス解決要求を、当該宛先L3アドレスに関連付けられたスイッチ装置に転送する、アドレス解決処理手段と、を備え、前記1以上のスイッチ装置の各々は、パケットの宛先L2アドレスに基づいて、ポート間のパケットの転送を制御し、いずれかのポートで受信した前記アドレス解決要求を、前記通信制御装置に転送し、前記通信制御装置から受信した前記アドレス解決要求を、指定されたポートに送信する。
 本発明の一態様におけるスイッチ装置は、パケットの宛先L2アドレスに基づいて、ポート間のパケットの転送を制御する、転送制御手段と、宛先L3アドレスに対するL2アドレスを解決するためのアドレス解決要求を、いずれかのポートにおいて受信した場合に、当該アドレス解決要求を通信制御装置に転送する入力制御手段と、前記アドレス解決要求を前記通信制御装置から受信した場合に、当該アドレス解決要求を指定されたポートに送信する出力制御手段と、を備えた、前記通信制御装置は、複数の論理セグメントの各々に関連付けて当該論理セグメントに属するL3アドレスを示す論理セグメント情報を記憶し、前記複数の論理セグメントの各組に関連付けて当該組の論理セグメント間の通信の可否を示す通信許可情報を記憶し、L3アドレスに関連付けてスイッチ装置の識別子と当該スイッチ装置のポートの識別子とを示す位置情報を記憶し、1以上のスイッチ装置の内のいずれかから前記アドレス解決要求を受信した場合に、前記論理セグメント情報と前記通信許可情報に基づき、当該アドレス解決要求の宛先L3アドレスと送信元L3アドレスのそれぞれが属する論理セグメント間の通信が許可されているかどうかを判定し、許可されていれば、前記位置情報に基づき、当該宛先L3アドレスに関連付けられたポートを指定して、当該アドレス解決要求を、当該宛先L3アドレスに関連付けられたスイッチ装置に転送する。
 本発明の一態様における第1の通信制御方法は、通信制御装置において、1以上のスイッチ装置の内のいずれかから、宛先L3アドレスに対するL2アドレスを解決するためのアドレス解決要求を受信した場合に、複数の論理セグメントの各々に関連付けて当該論理セグメントに属するL3アドレスを示す論理セグメント情報と前記複数の論理セグメントの各組に関連付けて当該組の論理セグメント間の通信の可否を示す通信許可情報に基づき、当該アドレス解決要求の宛先L3アドレスと送信元L3アドレスのそれぞれが属する論理セグメント間の通信が許可されているかどうかを判定し、許可されていれば、L3アドレスに関連付けてスイッチ装置の識別子と当該スイッチ装置のポートの識別子とを示す位置情報に基づき、当該宛先L3アドレスに関連付けられたポートを指定して、当該アドレス解決要求を、当該宛先L3アドレスに関連付けられたスイッチ装置に転送し、前記1以上のスイッチ装置の各々は、パケットの宛先L2アドレスに基づいて、ポート間のパケットの転送を制御し、いずれかのポートで受信した前記アドレス解決要求を、前記通信制御装置に転送し、前記通信制御装置から受信した前記アドレス解決要求を、指定されたポートに送信する。
 本発明の一態様における第2の通信制御方法は、パケットの宛先L2アドレスに基づいて、ポート間のパケットの転送を制御するスイッチ装置において、宛先L3アドレスに対するL2アドレスを解決するためのアドレス解決要求を、いずれかのポートにおいて受信した場合に、当該アドレス解決要求を通信制御装置に転送し、前記アドレス解決要求を前記通信制御装置から受信した場合に、当該アドレス解決要求を指定されたポートに送信し、前記通信制御装置は、1以上のスイッチ装置の内のいずれかから前記アドレス解決要求を受信した場合に、複数の論理セグメントの各々に関連付けて当該論理セグメントに属するL3アドレスを示す論理セグメント情報と前記複数の論理セグメントの各組に関連付けて当該組の論理セグメント間の通信の可否を示す通信許可情報に基づき、当該アドレス解決要求の宛先L3アドレスと送信元L3アドレスのそれぞれが属する論理セグメント間の通信が許可されているかどうかを判定し、許可されていれば、L3アドレスに関連付けてスイッチ装置の識別子と当該スイッチ装置のポートの識別子とを示す位置情報に基づき、当該宛先L3アドレスに関連付けられたポートを指定して、当該アドレス解決要求を、当該宛先L3アドレスに関連付けられたスイッチ装置に転送する。
 本発明の一態様における第1のコンピュータが読み取り可能な記録媒体は、通信制御装置として用いるコンピュータに、1以上のスイッチ装置の内のいずれかから、宛先L3アドレスに対するL2アドレスを解決するためのアドレス解決要求を受信した場合に、複数の論理セグメントの各々に関連付けて当該論理セグメントに属するL3アドレスを示す論理セグメント情報と前記複数の論理セグメントの各組に関連付けて当該組の論理セグメント間の通信の可否を示す通信許可情報に基づき、当該アドレス解決要求の宛先L3アドレスと送信元L3アドレスのそれぞれが属する論理セグメント間の通信が許可されているかどうかを判定する処理と、許可されていれば、L3アドレスに関連付けてスイッチ装置の識別子と当該スイッチ装置のポートの識別子とを示す位置情報に基づき、当該宛先L3アドレスに関連付けられたポートを指定して、当該アドレス解決要求を、当該宛先L3アドレスに関連付けられたスイッチ装置に転送する処理と、を実行させるプログラムを格納し、前記1以上のスイッチ装置の各々は、パケットの宛先L2アドレスに基づいて、ポート間のパケットの転送を制御し、いずれかのポートで受信した前記アドレス解決要求を、前記通信制御装置に転送し、前記通信制御装置から受信した前記アドレス解決要求を、指定されたポートに送信する。
 本発明の一態様における第2のコンピュータが読み取り可能な記録媒体は、パケットの宛先L2アドレスに基づいて、ポート間のパケットの転送を制御するスイッチ装置として用いるコンピュータに、宛先L3アドレスに対するL2アドレスを解決するためのアドレス解決要求を、いずれかのポートにおいて受信した場合に、当該アドレス解決要求を通信制御装置に転送する処理と、前記アドレス解決要求を前記通信制御装置から受信した場合に、当該アドレス解決要求を指定されたポートに送信する処理と、を実行させるプログラムを格納し、前記通信制御装置は、1以上のスイッチ装置の内のいずれかから前記アドレス解決要求を受信した場合に、複数の論理セグメントの各々に関連付けて当該論理セグメントに属するL3アドレスを示す論理セグメント情報と前記複数の論理セグメントの各組に関連付けて当該組の論理セグメント間の通信の可否を示す通信許可情報に基づき、当該アドレス解決要求の宛先L3アドレスと送信元L3アドレスのそれぞれが属する論理セグメント間の通信が許可されているかどうかを判定し、許可されていれば、L3アドレスに関連付けてスイッチ装置の識別子と当該スイッチ装置のポートの識別子とを示す位置情報に基づき、当該宛先L3アドレスに関連付けられたポートを指定して、当該アドレス解決要求を、当該宛先L3アドレスに関連付けられたスイッチ装置に転送する。
 本発明の効果は、汎用OFSを用いたオープンフローシステムにおいて、L3ネットワークと同等のネットワークセグメントの分離を実現できることである。
通常のオープンフローシステムにおける、物理ネットワーク、及び、仮想L3ネットワークの構成例を示す図である。 実施形態における、通信システムの構成を示すブロック図である。 実施形態における、物理ネットワーク、及び、仮想L3ネットワークの構成を示す図である。 実施形態における、論理セグメント情報の例を示す図である。 実施形態における、通信許可情報の例を示す図である。 実施形態における、位置情報の例を示す図である。 実施形態における、アドレス情報の例を示す図である。 実施形態における、L2テーブルの例を示す図である。 実施形態における、コンピュータにより実現された制御装置10の構成を示すブロック図である。 実施形態における、コンピュータにより実現されたスイッチ装置20の構成を示すブロック図である。 実施形態における、アドレス解決処理の動作を示すフローチャートである。 実施形態における、アドレス解決処理の第1の具体例を示すシーケンスチャートである。 実施形態における、物理ネットワーク、及び、仮想L3ネットワークの他の構成を示す図である。 実施形態におけるアドレス解決処理の第2の具体例を示すシーケンスチャートである。 実施形態における、位置情報の他の例を示す図である。 実施形態における、L2テーブルの他の例を示す図である。 実施形態における、名前解決処理の動作を示すフローチャートである。 実施形態における、名前解決処理の具体例を示すシーケンスチャートである。 実施形態の基本的な構成を示すブロック図である。
 発明を実施するための形態について図面を参照して詳細に説明する。以下、L3アドレスがIPv4アドレス、L2アドレスがMACアドレスの場合を例に説明する。
 <実施形態の構成>
 はじめに、実施形態の構成を説明する。図2は、実施形態における、通信システム1の構成を示すブロック図である。図2を参照すると、通信システム1は、制御装置(以下、通信制御装置とも記載する)10、1以上のスイッチ装置20、及び、複数の端末30を含む。
 制御装置10は、オープンフロープロトコルの仕様で定義されるコントローラ(OFC)でもよい。スイッチ装置20は、例えば、オープンフロープロトコルの仕様で定義されるスイッチ(OFS)でもよい。また、スイッチ装置20は、L2アドレスの自律学習の結果に従ってL2パケットを転送する、通常のL2スイッチの機能を主体に、オープンフロープロトコルで要求されるL2やL3のフロー情報に基づく転送機能を実装した、汎用OFSでもよい。制御装置10とスイッチ装置20とは、端末30に対してL3ネットワークを提供する。制御装置10とスイッチ装置20とは、例えば、制御用チャネルを介して接続される。スイッチ装置20は、ポートを介して、端末30、または、他のスイッチ装置20と接続される。
 図3は、実施形態における、物理ネットワーク、及び、当該物理ネットワーク上で実現される仮想L3ネットワークの構成を示す図である。図3の例では、物理ネットワークにおいて、スイッチ装置20Aに複数の端末30が接続されている。また、L3ネットワークにおいて、端末30A~Fが、論理セグメント「S1」、「S2」、及び、「S3」にグループ化されている。ここで、論理セグメントは、1以上の端末30により構成されるグループである。
 L3ネットワーク上の各端末30には、例えば、サブネットに分割されていないサブネットマスク値を持った、フラットなIPアドレスが割り当てられる。例えば、端末30A、30BのIPアドレスとして、それぞれ、クラスBのプライベートアドレス「IP_A=172.16.0.10/12」、「IP_B=172.16.0.11/12」が割り当てられる。なお、論理セグメントに属する各端末30に、当該論理セグメントに割り当てたサブネットのIPアドレスが割り当てられてもよい。
 制御装置10は、さらに、通信システム1の外部に存在するDNS(Domain Name System)サーバ40と、インターネット等のネットワークを介して接続される。DNSサーバ40は、ドメイン名を含むDNSクエリ(以下、名前解決要求とも記載)に対して、当該ドメイン名に関連付けられたIPアドレスを含むDNSリプライ(以下、名前解決応答とも記載)を応答する。DNSサーバ40は、例えば、インターネット接続業者等が提供する、通常のDNSサーバでもよい。
 制御装置10は、論理セグメント情報記憶部11、通信許可情報記憶部12、位置情報記憶部13、アドレス解決処理部14、アドレス情報記憶部15、及び、名前解決処理部16を含む。
 論理セグメント情報記憶部11は、論理セグメント情報を記憶する。図4は、実施形態における、論理セグメント情報の例を示す図である。図4の論理セグメント情報は、図3のL3ネットワーク構成に対応する。論理セグメント情報は、複数の論理セグメントの各々について、当該論理セグメントに属する端末30のIPアドレスを示す。論理セグメント情報は、例えば、管理者等により予め設定される。
 通信許可情報記憶部12は、通信許可情報を記憶する。図5は、実施形態における、通信許可情報の例を示す図である。通信許可情報は、複数の論理セグメントの内の各組について、当該組の論理セグメント間の通信の可否を示す。なお、論理セグメント内の通信は、常に許可される。通信許可情報は、例えば、管理者等により予め設定される。
 位置情報記憶部13は、位置情報を記憶する。図6は、実施形態における、位置情報の例を示す図である。位置情報は、各端末30のIPアドレスに関連付けて、当該端末30のMACアドレス、当該端末30が接続されたスイッチ装置20の識別子(以下、ID(Identifier)とも記載)と当該スイッチ装置20における物理ポートのIDを示す。
 アドレス解決処理部14は、スイッチ装置20から受信したARPリクエスト(以下、アドレス解決要求とも記載)に基づき、位置情報を設定する。ARPリクエストは、送信元IPアドレス、送信元MACアドレス、及び、MACアドレスを解決すべき端末30のIPアドレス(宛先IPアドレス)を含む。後述するように、スイッチ装置20は、端末30から受信したARPリクエストを、当該スイッチ装置20のIDと当該端末30が接続された(ARPリクエストを受信した)物理ポートのIDとともに制御装置10に転送する。アドレス解決処理部14は、ARPリクエストの送信元IPアドレス、送信元MACアドレス、及び、ARPリクエストとともに転送されたスイッチ装置20のIDと物理ポートのIDを、位置情報に登録する。
 また、アドレス解決処理部14は、論理セグメント情報、及び、通信許可情報を参照し、ARPリクエストの宛先IPアドレスが属する論理セグメントと送信元IPアドレスが属する論理セグメントとの間の通信可否を判定する。通信が許可されている場合、アドレス解決処理部14は、位置情報を参照して、宛先IPアドレスに関連付けられたスイッチ装置20に、当該宛先IPアドレスに関連付けられた物理ポートを指定して、ARPリクエストを転送する。このような制御装置10によるARPリクエストの処理を、ここでは、ARPリクエストに対する介入と呼ぶ。
 一般に、端末30は、起動時やネットワークへの接続時に、自端末30のIPアドレスが重複して利用されていないかの確認、及び、自端末30のMACアドレスの存在を広告するためのARPリクエスト(GARP(Gratuitous ARP)リクエスト)を送信する。制御装置10は、スイッチ装置20から転送されたGARPリクエストを端末30の位置情報の登録のためのみに利用し、GARPリクエストのスイッチ装置20への転送は行わない。なお、制御装置10は、GARPリクエストに基づき、IPアドレスの重複利用を検出し、その結果を管理者等に通知してもよい。
 アドレス情報記憶部15は、アドレス情報を記憶する。図7は、実施形態における、アドレス情報の例を示す図である。アドレス情報は、1以上のドメイン名の各々に関連付けて、端末30のIPアドレスを示す。アドレス情報のドメイン名には、通信システム1内の端末30の内の、IPアドレスの変更対象である端末30のドメイン名が設定される。IPアドレスには、変更対象である端末30の代わりに、当該ドメイン名宛のパケットが送信されるべき他の端末30のIPアドレスが設定される。アドレス情報は、例えば、ポリシーに基づき、管理者等により予め設定される。
 名前解決処理部16は、アドレス情報を参照し、スイッチ装置20から受信したDNSクエリで指定されたドメイン名がアドレス情報に登録されている場合は、当該ドメイン名に関連付けられたIPアドレスを含むDNSリプライを生成する。また、名前解決処理部16は、DNSクエリで指定されたドメイン名がアドレス情報に登録されていない場合は、通信システム1の外部に存在するDNSサーバ40に当該DNSクエリを転送し、DNSリプライを受信する。名前解決処理部16は、DNSリプライの宛先IPアドレス(DNSクエリの送信元IPアドレス)に関連付けられたスイッチ装置20に、当該宛先IPアドレスに関連付けられた物理ポートを指定して、DNSリプライを送信する。このような制御装置10によるDNSクエリの処理を、ここでは、DNSクエリに対する介入と呼ぶ。
 スイッチ装置20は、入力制御部21、出力制御部22、転送制御部23、及び、L2テーブル記憶部24を含む。
 入力制御部21は、端末30から受信したARPリクエストを制御装置10に転送する。他のスイッチ装置20から受信したARPリクエストは、制御装置10に転送されない。また、入力制御部21は、端末30から受信したDNSクエリ(以下、名前解決要求とも記載する)を、制御装置10に転送する。ここで、入力制御部21は、ARPリクエストやDNSクエリを、自スイッチ装置20のID、及び、ARPリクエストやDNSクエリを受信した物理ポートのIDとともに、制御装置10に転送する。
 出力制御部22は、制御装置10から受信したARPリクエストやDNSリプライを、制御装置10により指定された物理ポートに送信する。
 転送制御部23は、端末30や他のスイッチ装置20から受信したARPリクエストの送信元MACアドレス、及び、当該ARPリクエストを受信した物理ポートのIDの組を、L2転送情報として、L2テーブルに登録する。また、転送制御部23は、ARPリクエストを、当該ARPリクエストを受信した物理ポート以外の他のポートに接続された他のスイッチ装置20に転送してもよい。転送制御部23は、ARPリクエストを転送すべき他のスイッチ装置20が無い場合、L2転送情報の登録後に、当該ARPリクエストを廃棄する。ここで、転送制御部23は、予め管理者等により登録された、ARPリクエストの廃棄を示すフロー情報に従って、ARPリクエストを破棄してもよい。
 また、転送制御部23は、L2テーブルに従って、入出力ポート間のユニキャストパケットの転送を制御する。
 L2テーブル記憶部24は、L2テーブルを記憶する。図8は、実施形態における、L2テーブルの例を示す図である。L2テーブルは、各端末30のMACアドレスに関連付けて、当該端末30が接続された(ARPリクエストを受信した)物理ポートのIDを示す。
 なお、制御装置10、及び、スイッチ装置20は、それぞれ、CPU(Central Processing Unit)とプログラムを記憶した記憶媒体を含み、プログラムに基づく制御によって動作するコンピュータであってもよい。
 図9は、実施形態における、コンピュータにより実現された制御装置10の構成を示すブロック図である。
 図9を参照すると、制御装置10は、CPU101、記憶デバイス102(記憶媒体)、入出力デバイス103、及び、通信デバイス104を含む。CPU101は、アドレス解決処理部14、名前解決処理部16を実現するためのプログラムを実行する。記憶デバイス102は、例えば、ハードディスクやメモリ等であり、プログラムに加えて、論理セグメント情報記憶部11、通信許可情報記憶部12、位置情報記憶部13、及び、アドレス情報記憶部15のデータを記憶する。入出力デバイス103は、例えば、キーボード、ディスプレイ等であり、管理者等から、論理セグメント情報や通信許可情報、アドレス情報、各種設定の入力を受け付ける。通信デバイス104は、スイッチ装置20からARPリクエストやDNSクエリを受信し、スイッチ装置20へARPリクエストやDNSリプライを送信する。
 図10は、実施形態における、コンピュータにより実現されたスイッチ装置20の構成を示すブロック図である。
 図10を参照すると、スイッチ装置20は、CPU201、記憶デバイス202(記憶媒体)、入出力デバイス203、及び、通信デバイス204を含む。CPU201は、入力制御部21、出力制御部22、及び、転送制御部23を実現するためのプログラムを実行する。記憶デバイス202は、例えば、ハードディスクやメモリ等であり、プログラムに加えて、L2テーブル記憶部24のデータを記憶する。入出力デバイス203は、例えば、キーボード、ディスプレイ等であり、管理者等から、各種設定の入力を受け付ける。
通信デバイス204は、制御装置10へARPリクエストやDNSクエリを送信し、スイッチ装置20からARPリクエストやDNSリプライを受信する。また、通信デバイス204は、物理ポートとして、端末30や他のスイッチ装置20との間で、各種パケットの送受信を行う。
 次に、実施形態の動作を説明する。
 <アドレス解決処理の動作>
 はじめに、アドレス解決処理の動作について説明する。
 図11は、実施形態における、アドレス解決処理の動作を示すフローチャートである。
 スイッチ装置20の入力制御部21は、物理ポートを介して端末30からARPリクエストを受信すると(ステップS101)、当該ARPリクエストを、制御装置10に転送する(ステップS102)。ここで、入力制御部21は、ARPリクエストとともに、自スイッチ装置20のID、及び、端末30が接続された(ARPリクエストを受信した)物理ポートのIDを制御装置10に送信する。
 また、転送制御部23は、ARPリクエストの送信元MACアドレス、及び、物理ポートのIDの組を、L2転送情報として、L2テーブルに登録する(ステップS103)。
 制御装置10のアドレス解決処理部14は、スイッチ装置20からARPリクエストを受信すると(ステップS201)、当該ARPリクエストの送信元IPアドレスが、位置情報に登録されているかどうかを判定する(ステップS202)。
 登録されていない場合(ステップS202/N)、アドレス解決処理部14は、ARPリクエストの送信元IPアドレス、送信元MACアドレス、スイッチ装置20のID、及び、物理ポートのIDの組を、位置情報に登録する(ステップS203)。
 次に、アドレス解決処理部14は、ARPリクエストがGARPリクエストかどうかを判定する(ステップS204)。
 GARPリクエストでない場合(ステップS204/N)、アドレス解決処理部14は、ARPリクエストの宛先IPアドレスが位置情報に登録されているかどうかを判定する(ステップS205)。
 登録されている場合(ステップS205/Y)、アドレス解決処理部14は、ARPリクエストの宛先IPアドレスが属する論理セグメントと送信元IPアドレスが属する論理セグメントとの間の通信可否を判定する(ステップS206)。
 通信が許可されている場合(ステップS206/Y)、アドレス解決処理部14は、位置情報から、宛先IPアドレスに関連付けられたスイッチ装置20のID、及び、当該宛先IPアドレスに関連付けられた物理ポートのIDを取得する。アドレス解決処理部14は、取得したスイッチ装置20に、取得した物理ポートを指定して、ARPリクエストを転送する(ステップS207)。
 GARPリクエストの場合(ステップS204/Y)や、宛先IPアドレスが位置情報に登録されていない場合(ステップS205/N)、通信が許可されていない場合(ステップS206/N)、アドレス解決処理部14は、ARPリクエストを破棄する(ステップS208)。
 スイッチ装置20の出力制御部22は、制御装置10からARPリクエストを受信すると(ステップS151)、当該ARPリクエストを、指定された物理ポートを介して端末30に転送する(ステップS152)。
 以上により、実施形態におけるアドレス解決処理の動作が完了する。
 通常のオープンフローシステムでは、端末30から受信したARPリクエストは同じサブネットの端末30にブロードキャストされていた。これに対して、実施形態では、スイッチ装置20が、端末30から受信したARPリクエストを制御装置10に転送し、制御装置10が、通信が許可されている論理セグメント間でARPリクエストを転送する、介入を行う。これにより、通常のIPネットワークにおけるサブネット間の通信の分離と同等の機能が、論理セグメント間で実現される。
 <アドレス解決処理の第1の具体例>
 次に、実施形態におけるアドレス解決処理の第1の具体例を説明する。
 図12は、実施形態における、アドレス解決処理の第1の具体例を示すシーケンスチャートである。
 ここでは、図3のようなL3ネットワークに対して、図4の論理セグメント情報、及び、図5の通信許可情報が設定されていると仮定する。この場合、論理セグメント「S1」-「S2」間の通信は許可されるが、論理セグメント「S1」-「S3」間、及び、「S2」-「S3」間の通信は許可されない。
 はじめに、端末30Aは、起動時に、スイッチ装置20AにGARPリクエストを送信する。この場合、GARPリクエストには、宛先IPアドレス「IP_A」、送信元IPアドレス「IP_A」、及び、送信元MACアドレス「MAC_A」が設定される。
 スイッチ装置20Aは、物理ポート「P1」を介して、端末30AからGARPリクエストを受信する。スイッチ装置20Aは、GARPリクエストを制御装置10に転送する。また、スイッチ装置20Aは、端末30AのMACアドレス「MAC_A」、及び、物理ポートのID「P1」を、図8のようにL2テーブルに登録する。
 制御装置10は、スイッチ装置20AからGARPリクエストを受信すると、端末30AのIPアドレス「IP_A」、MACアドレス「MAC_A」、スイッチ装置20AのID、及び、物理ポートのID「P1」を、図6のように位置情報に登録する。
 同様に、端末30Cは、起動時に、スイッチ装置20AにGARPリクエストを送信する。この場合、GARPリクエストには、宛先IPアドレス「IP_C」、送信元IPアドレス「IP_C」、及び、送信元MACアドレス「MAC_C」が設定される。
 スイッチ装置20Aは、物理ポート「P3」を介して、端末30CからGARPリクエストを受信する。スイッチ装置20Aは、GARPリクエストを制御装置10に転送する。また、スイッチ装置20Aは、端末30CのMACアドレス「MAC_C」、及び、物理ポートのID「P3」を、図8のようにL2テーブルに登録する。
 制御装置10は、スイッチ装置20AからGARPリクエストを受信すると、端末30CのIPアドレス「IP_C」、MACアドレス「MAC_C」、スイッチ装置20AのID、及び、物理ポートのID「P3」を、図6のように位置情報に登録する。
 次に、端末30Aは、端末30C宛の通信を開始するためのARPリクエストを、スイッチ装置20A送信する。この場合、ARPリクエストには、宛先IPアドレス「IP_C」、送信元IPアドレス「IP_A」、及び、送信元MACアドレス「MAC_A」が設定される。
 スイッチ装置20Aは、端末30Aから受信したARPリクエストを制御装置10に転送する。
 制御装置10は、スイッチ装置20AからARPリクエストを受信すると、図4の論理セグメント情報、図5の通信許可情報を参照する。そして、制御装置10は、IPアドレス「IP_A」が属する論理セグメント「S1」とIPアドレス「IP_C」が属する論理セグメント「S2」との通信が許可されていると判定する。制御装置10は、図6の位置情報を参照し、IPアドレス「IP_C」に関連付けられたスイッチ装置20Aに、物理ポート「P3」を指定し、ARPリクエストを転送する。
 スイッチ装置20Aは、制御装置10から受信したARPリクエストを、指定された物理ポート「P3」を介して、端末30Cに転送する。
 次に、端末30Cは、ARPリクエストを受信すると、ARPリプライをスイッチ装置20Aに送信する。この場合、ARPリプライには、宛先IPアドレス「IP_C」、及び、宛先MACアドレス「MAC_C」が設定される。また、ARPリプライのMACヘッダには、宛先MACアドレス「MAC_A」が設定される。
 スイッチ装置20Aは、端末30Cから受信したARPリプライを、MACヘッダの宛先MACアドレス「MAC_A」と図8のL2テーブルに基づき、物理ポート「P1」を介して、端末30Aに転送する。
 次に、端末30Aは、ARPリプライを受信すると、端末30C宛のユニキャストパケットを、スイッチ装置20Aに送信する。この場合、ユニキャストパケットには、宛先IPアドレス「IP_C」とARPリプライにより得られた宛先MACアドレス「MAC_C」が設定される。
 スイッチ装置20Aは、端末30Aから受信したユニキャストパケットを、宛先MACアドレス「MAC_C」と図8のL2テーブルに基づき、物理ポート「P3」を介して、端末30Cに転送する。
 以降、端末30Aと端末30C間のユニキャストパケットは、スイッチ装置20Aにより、宛先MACアドレスとL2テーブルに基づき転送される。
 <アドレス解決処理の第2の具体例>
 次に、実施形態におけるアドレス解決処理の第2の具体例を説明する。
 図13は、実施形態における、物理ネットワーク、及び、当該物理ネットワーク上で実現される仮想L3ネットワークの他の構成を示す図である。図13の例では、物理ネットワークにおいて、複数のスイッチ装置20が互いに接続されている。また、各スイッチ装置20に複数の端末30が接続されている。
 ここでは、図13のようなL3ネットワークに対して、第1の具体例と同様に、図4の論理セグメント情報、及び、図5の通信許可情報が設定されていると仮定する。
 図14は、実施形態におけるアドレス解決処理の第2の具体例を示すシーケンスチャートである。図15は、実施形態における、位置情報の他の例を示す図である。図16は、実施形態における、L2テーブルの他の例を示す図である。
 はじめに、端末30Aは、起動時に、スイッチ装置20AにGARPリクエストを送信する。
 スイッチ装置20Aは、物理ポート「P1」を介して、端末30AからGARPリクエストを受信する。スイッチ装置20Aは、GARPリクエストを制御装置10に転送する。また、スイッチ装置20Aは、端末30AのMACアドレス「MAC_A」、及び、物理ポートのID「P1」を、図16のようにL2テーブルに登録する。さらに、スイッチ装置20Aは、GARPリクエストをスイッチ装置20B、20Cに転送する。スイッチ装置20B、20Cも、端末30AのMACアドレス、及び、物理ポートのIDを、図16のようにL2テーブルに登録する。
 制御装置10は、スイッチ装置20AからGARPリクエストを受信すると、端末30AのIPアドレス「IP_A」、MACアドレス「MAC_A」、スイッチ装置20AのID、及び、物理ポートのID「P1」を、図15のように位置情報に登録する。
 同様に、端末30Cは、起動時に、スイッチ装置20BにGARPリクエストを送信する。
 スイッチ装置20Bは、物理ポート「P1」を介して、端末30CからGARPリクエストを受信する。スイッチ装置20Bは、GARPリクエストを制御装置10に転送する。また、スイッチ装置20Bは、端末30CのMACアドレス「MAC_C」、及び、物理ポートのID「P1」を、図16のようにL2テーブルに登録する。さらに、スイッチ装置20Bは、GARPリクエストをスイッチ装置20A、20Cに転送する。スイッチ装置20A、20Cも、端末30AのMACアドレス、及び、物理ポートのIDを、図16のようにL2テーブルに登録する。
 制御装置10は、スイッチ装置20BからGARPリクエストを受信すると、端末30CのIPアドレス「IP_C」、MACアドレス「MAC_C」、スイッチ装置20BのID、及び、物理ポートのID「P1」を、図15のように位置情報に登録する。
 次に、端末30Aは、端末30C宛の通信を開始するためのARPリクエストを、スイッチ装置20A送信する。
 スイッチ装置20Aは、端末30Aから受信したARPリクエストを制御装置10に転送する。
 制御装置10は、スイッチ装置20AからARPリクエストを受信すると、図4の論理セグメント情報、図5の通信許可情報を参照する。そして、制御装置10は、IPアドレス「IP_A」が属する論理セグメント「S1」とIPアドレス「IP_C」が属する論理セグメント「S2」との通信が許可されていると判定する。制御装置10は、図15の位置情報を参照し、IPアドレス「IP_C」に関連付けられたスイッチ装置20Bに、物理ポート「P1」を指定し、ARPリクエストを転送する。
 スイッチ装置20Bは、制御装置10から受信したARPリクエストを、指定された物理ポート「P1」を介して、端末30Cに送信する。
 次に、端末30Cは、ARPリクエストを受信すると、ARPリプライをスイッチ装置20Bに送信する。
 スイッチ装置20Bは、端末30Cから受信したARPリプライを、MACヘッダの宛先MACアドレス「MAC_A」と図16のL2テーブルに基づき、物理ポート「P3」を介して、スイッチ装置20Aに転送する。スイッチ装置20Aは、スイッチ装置20Bから受信したARPリプライを、MACヘッダの宛先MACアドレス「MAC_A」と図16のL2テーブルに基づき、物理ポート「P1」を介して、端末30Aに転送する。
 次に、端末30Aは、ARPリプライを受信すると、端末30C宛のユニキャストパケットを、スイッチ装置20Aに送信する。
 スイッチ装置20Aは、端末30Aから受信したユニキャストパケットを、宛先MACアドレス「MAC_C」と図16のL2テーブルに基づき、物理ポート「P4」を介して、スイッチ装置20Bに転送する。スイッチ装置20Bは、スイッチ装置20Aから受信したユニキャストパケットを、宛先MACアドレス「MAC_C」と図16のL2テーブルに基づき、物理ポート「P1」を介して、端末30Cに転送する。
 以降、端末30Aと端末30C間のユニキャストパケットは、スイッチ装置20A、20Bにより、宛先MACアドレスとL2テーブルに基づき転送される。
 <名前解決処理の動作>
 次に、名前解決処理の動作について説明する。
 図17は、実施形態における、名前解決処理の動作を示すフローチャートである。
 スイッチ装置20の入力制御部21は、端末30から物理ポートを介してDNSクエリを受信すると(ステップS301)、当該DNSクエリを、制御装置10に転送する(ステップS302)。ここで、入力制御部21は、DNSクエリとともに、自スイッチ装置20のID、及び、端末30が接続された(DNSクエリを受信した)物理ポートのIDを制御装置10に送信する。
 制御装置10の名前解決処理部16は、スイッチ装置20からDNSクエリを受信すると(ステップS401)、当該DNSクエリで指定されたドメイン名が、アドレス情報に登録されているかどうかを判定する(ステップS402)。
 登録されていない場合(ステップS402/N)、名前解決処理部16は、DNSサーバ40にDNSクエリを転送し(ステップS403)、当該DNSサーバ40からDNSリプライを取得する(ステップS404)。
 登録されている場合(ステップS402/Y)、名前解決処理部16は、アドレス情報から、当該ドメイン名に関連付けられたIPアドレスを取得する。名前解決処理部16は、取得したIPアドレスを含むDNSリプライを生成する(ステップS405)。
 名前解決処理部16は、DNSリプライの宛先IPアドレス(DNSクエリの送信元IPアドレス)に関連付けられたスイッチ装置20に、当該宛先IPアドレスに関連付けられた物理ポートを指定して、DNSリプライを送信する(ステップS406)。
 スイッチ装置20の出力制御部22は、制御装置10からDNSリプライを受信すると(ステップS303)、当該DNSリプライを、指定された物理ポートを介して端末30に転送する(ステップS304)。
 以上により、実施形態における名前解決処理の動作が完了する。
 通常のオープンフローシステムでは、端末30から受信したDNSクエリは所定のDNSサーバ40に転送されていた。これに対して、実施形態では、スイッチ装置20が、端末30から受信したDNSクエリを制御装置10に転送し、制御装置10がアドレス情報に基づきDNSリプライを生成する、介入を行う。これにより、特定の宛先ホストについて、宛先IPアドレスの変更を行うことができる。
 <名前解決処理の具体例>
 次に、実施形態における名前解決処理の具体例を説明する。
 図18は、実施形態における、名前解決処理の具体例を示すシーケンスチャートである。
 ここでは、図3のようなL3ネットワークに対して、図7のアドレス情報が設定されていると仮定する。この場合、端末30Cのドメイン名「Domain_C」宛てのパケットの宛先IPアドレスは、端末30CのIPアドレス「IP_C」から、端末30DのIPアドレス「IP_D」に変更される。
 はじめに、端末30Aは、ドメイン名「Domain_C」の宛の通信を開始するためのDNSクエリを、スイッチ装置20Aに送信する。この場合、DNSクエリには、ドメイン名「Domain_C」が設定される。
 スイッチ装置20Aは、物理ポート「P1」を介して、端末30AからDNSクエリを受信する。スイッチ装置20Aは、DNSクエリを制御装置10に転送する。
 制御装置10は、スイッチ装置20AからDNSクエリを受信すると、図7のアドレス情報から、ドメイン名「Domain_C」に関連付けられたIPアドレス「IP_D」を取得し、DNSリプライを生成する。この場合、DNSリプライには、ドメイン名「Domain_C」、IPアドレス「IP_D」が設定される。制御装置10は、スイッチ装置20Aに、物理ポート「P1」を指定し、DNSリプライを送信する。
 スイッチ装置20Aは、制御装置10から受信したDNSリプライを、指定された物理ポート「P1」を介して、端末30Aに送信する。
 以降、上述のアドレス解決処理に従って、端末30Aは、端末30DのIPアドレス「IP_D」に対するMACアドレス「MAC_D」を取得し、端末30Dとの間で通信を開始する。
 <実施形態の変形例>
 上述の実施形態では、L3アドレスがIPv4アドレスの場合を例に説明したが、L3アドレスはIPv6アドレスでもよい。この場合、L3ネットワーク上の各端末30には、例えば、サブネット分割されていない同一プレフィックスを持った、フラットなIPアドレスが割り当てられる。例えば、図3における、端末30A、30BのIPアドレスとして、それぞれ、「IP_A=fd00::10/8」、「IP_B=fd00::11/8」が割り当てられる。
 そして、アドレス解決処理では、上述のARPリクエスト/リプライの代わりに、NDリクエスト/NDリプライが用いられる。スイッチ装置20は、端末30から受信したNDリクエストを制御装置10に転送し、制御装置10は、通信が許可されている論理セグメント間でNDリクエストを転送する。
 また、名前解決処理では、アドレス情報において、DNSクエリで指定されたドメイン名に対してIPv6アドレスが設定されていれば、制御装置10は、当該IPv6アドレスが設定されたDNSリプライを生成する。
 なお、普及している端末30の多くはIPv4、IPv6両方のプロトコルスタックを実装しているデュアルスタック端末である。DNSにおけるIPアドレスには、IPv4アドレスであるAレコードと、IPv6アドレスであるAAAAレコードが定義でき、デュアルスタック端末は、Aレコード、及び、AAAAレコードの両方を理解できる。このため、ドメイン名に対するAレコード(IPv4アドレス)を問い合わせるDNSクエリに対し、AAAAレコード(IPv6アドレス)が設定されたDNSリプライを返すことで、宛先IPアドレスを、IPv4アドレスからIPv6アドレスへ変更できる。すなわち、上述のDNSクエリへの介入は、宛先IPアドレスの変更だけでなく、IPv4環境からIPv6環境へのスムーズな移行にも適用できる。
 <実施形態の基本的な構成>
 次に、実施形態の基本的な構成について説明する。
 図19は、実施形態の基本的な構成を示すブロック図である。図19を参照すると、通信システム1は1以上のスイッチ装置20と制御装置10(通信制御装置)を含む。
 スイッチ装置20は、転送制御部23(転送制御手段)、入力制御部21(入力制御手段)、及び、出力制御部22(出力制御手段)を含む。転送制御部23は、パケットの宛先L2アドレスに基づいて、ポート間のパケットの転送を制御する。入力制御部21は、宛先L3アドレスに対するL2アドレスを解決するためのアドレス解決要求を、いずれかのポートにおいて受信した場合に、当該アドレス解決要求を制御装置10に転送する。出力制御部22は、アドレス解決要求を制御装置10から受信した場合に、当該アドレス解決要求を指定されたポートに送信する。
 制御装置10は、論理セグメント情報記憶部11(論理セグメント情報記憶手段)、通信許可情報記憶部12(通信許可情報記憶手段)、位置情報記憶部13(位置情報記憶手段)、及び、アドレス解決処理部14(アドレス解決処理手段)を含む。論理セグメント情報記憶部11は、複数の論理セグメントの各々に関連付けて当該論理セグメントに属するL3アドレスを示す論理セグメント情報を記憶する。通信許可情報記憶部12は、複数の論理セグメントの各組に関連付けて当該組の論理セグメント間の通信の可否を示す通信許可情報を記憶する。位置情報記憶部13は、L3アドレスに関連付けてスイッチ装置20の識別子と当該スイッチ装置20のポートの識別子とを示す位置情報を記憶する。アドレス解決処理部14は、スイッチ装置20からアドレス解決要求を受信した場合、論理セグメント情報と通信許可情報に基づき、アドレス解決要求の宛先L3アドレスと送信元L3アドレスのそれぞれが属する論理セグメント間の通信が許可されているかどうかを判定する。許可されている場合、アドレス解決処理部14は、位置情報に基づき、当該宛先L3アドレスに関連付けられたポートを指定して、当該アドレス解決要求を、当該宛先L3アドレスに関連付けられたスイッチ装置20に転送する。
 <実施形態の効果>
 次に、実施形態の効果について説明する。
 実施形態によれば、汎用的なオープンフロースイッチを用いたオープンフローシステムにおいて、L3ネットワークと同等のネットワークセグメントの分離を実現できる。その理由は、以下の通りである。すなわち、スイッチ装置20は、アドレス解決要求を制御装置10に転送する。制御装置10は、アドレス解決要求の宛先L3アドレスと送信元L3アドレスのそれぞれが属する論理セグメント間の通信が許可されているか判断する。許可されている場合に、制御装置10は、宛先L3アドレスに関連付けられたスイッチ装置20に、宛先L3アドレスに関連付けられたポートを指定して、アドレス解決要求を転送する。ここで、各端末30に対しては、管理が非常に容易なフラットな(IPサブネットに分割されていない)IPアドレスが割り当てられ、1以上の端末30により構成されるグループである論理セグメント、及び、論理セグメント間の通信可否が、柔軟に定義できる。
 これにより、通常のL3ネットワークを、安価な汎用スイッチ装置20、及び、安価な汎用サーバで実現可能なソフトウェアベースの制御装置10で置き換えることができる。
さらに、L3ネットワークの定義が、フラットなIPアドレスと論理セグメントにより単純化されるため、ネットワークの管理性が向上する。
 また、実施形態によれば、汎用的なオープンフロースイッチを用いたオープンフローシステムにおいて、L3ネットワークと同様の宛先L3アドレスの変更を実現できる。その理由は、以下の通りである。すなわち、スイッチ装置20は、名前解決要求を制御装置10に転送する。制御装置10は、名前解決要求で指定されたドメイン名に関連付けられたL3アドレスを含む名前解決応答を生成する。制御装置10は、名前解決要求の送信元L3アドレスに関連付けられたスイッチ装置20に、送信元L3アドレスに関連付けられたポートを指定して、名前解決応答を送信する。ここで、管理者等のポリシーに基づき、IPアドレスの変更対象である端末30のドメイン名に対して、変更先のIPアドレスが関連付けられる。
 これにより、安価な汎用スイッチ装置20を用いて、リダイレクションのような、管理者等のポリシーに基づいた宛先L3アドレスの自在な変更を容易に実現できる。
 さらに、変更先のIPアドレスとしてIPv6アドレスを設定し、IPv4アドレスを要求する名前解決要求に対してIPv6アドレスを応答することにより、宛先IPアドレスをIPv4からIPv6アドレスへ変更できる。これにより。IPv4環境からIPv6環境へのスムーズな移行を実現できる。
 以上、実施形態を参照して本願発明を説明したが、本願発明は上記実施形態に限定されるものではない。本願発明の構成や詳細には、本願発明のスコープ内で当業者が理解し得る様々な変更をすることができる。
 この出願は、2017年6月15日に出願された日本出願特願2017-117702を基礎とする優先権を主張し、その開示のすべてをここに取り込む。
 1  通信システム
 10  制御装置
 11  論理セグメント情報記憶部
 12  通信許可情報記憶部
 13  位置情報記憶部
 14  アドレス解決処理部
 15  アドレス情報記憶部
 16  名前解決処理部
 20  スイッチ装置
 21  入力制御部
 22  出力制御部
 23  転送制御部
 24  L2テーブル記憶部
 30  端末
 40  DNSサーバ
 101  CPU
 102  記憶デバイス
 103  入出力デバイス
 104  通信デバイス
 201  CPU
 202  記憶デバイス
 203  入出力デバイス
 204  通信デバイス
 60  OFC
 70  OFS
 80  端末

Claims (10)

  1.  パケットの宛先L2アドレスに基づいて、ポート間のパケットの転送を制御する、転送制御手段と、
     宛先L3アドレスに対するL2アドレスを解決するためのアドレス解決要求を、いずれかのポートにおいて受信した場合に、当該アドレス解決要求を通信制御装置に転送する入力制御手段と、
     前記アドレス解決要求を前記通信制御装置から受信した場合に、当該アドレス解決要求を指定されたポートに送信する出力制御手段と、
     を含む、1以上のスイッチ装置と、
     複数の論理セグメントの各々に関連付けて当該論理セグメントに属するL3アドレスを示す論理セグメント情報を記憶する、論理セグメント情報記憶手段と、
     前記複数の論理セグメントの各組に関連付けて当該組の論理セグメント間の通信の可否を示す通信許可情報を記憶する、通信許可情報記憶手段と、
     L3アドレスに関連付けてスイッチ装置の識別子と当該スイッチ装置のポートの識別子とを示す位置情報を記憶する、位置情報記憶手段と、
     前記1以上のスイッチ装置の内のいずれかから前記アドレス解決要求を受信した場合に、前記論理セグメント情報と前記通信許可情報に基づき、当該アドレス解決要求の宛先L3アドレスと送信元L3アドレスのそれぞれが属する論理セグメント間の通信が許可されているかどうかを判定し、許可されていれば、前記位置情報に基づき、当該宛先L3アドレスに関連付けられたポートを指定して、当該アドレス解決要求を、当該宛先L3アドレスに関連付けられたスイッチ装置に転送する、アドレス解決処理手段と、
     を含む通信制御装置と、
     を備える通信システム。
  2.  前記入力制御手段は、前記アドレス解決要求とともに、自スイッチ装置の識別子、及び、当該アドレス解決要求を受信したポートの識別子を、前記通信制御装置に転送し、
     前記アドレス解決処理手段は、前記アドレス解決要求の送信元L3アドレスに関連付けて、当該アドレス解決要求とともに転送されたスイッチ装置の識別子とポートの識別子を、前記位置情報に設定する、
     請求項1に記載の通信システム。
  3.  前記入力制御手段は、さらに、ドメイン名に対するL3アドレスを解決するための名前解決要求を、いずれかのポートにおいて受信した場合に、当該名前解決要求を前記通信制御装置に転送し、
     前記出力制御手段は、さらに、前記通信制御装置から名前解決応答を受信した場合に、当該名前解決応答を指定されたポートに送信し、
     前記通信制御装置は、さらに、
     ドメイン名に関連付けてL3アドレスを示すアドレス情報を記憶する、アドレス情報記憶手段と、
     前記1以上のスイッチ装置の内のいずれかから前記名前解決要求を受信した場合に、前記アドレス情報に基づき、当該名前解決要求で指定されたドメイン名に関連付けられたL3アドレスを含む前記名前解決応答を生成し、前記位置情報に基づき、当該名前解決要求の送信元L3アドレスに関連付けられたスイッチ装置に、当該送信元L3アドレスに関連付けられたポートを指定して、当該名前解決応答を送信する、名前解決処理手段と、
     を含む、
     請求項1または2に記載の通信システム。
  4.  前記アドレス情報は、ドメイン名に関連付けてIPv4アドレスまたはIPv6アドレスを示し、
     前記名前解決処理手段は、前記名前解決要求でIPv4アドレスの解決が要求された場合に、前記アドレス情報において当該名前解決要求で指定されたドメイン名に関連付けられたL3アドレスがIPv6アドレスであれば、当該IPv6アドレスを含む前記名前解決応答を生成する、
     請求項3に記載の通信システム。
  5.  複数の論理セグメントの各々に関連付けて当該論理セグメントに属するL3アドレスを示す論理セグメント情報を記憶する、論理セグメント情報記憶手段と、
     前記複数の論理セグメントの各組に関連付けて当該組の論理セグメント間の通信の可否を示す通信許可情報を記憶する、通信許可情報記憶手段と、
     L3アドレスに関連付けてスイッチ装置の識別子と当該スイッチ装置のポートの識別子とを示す位置情報を記憶する、位置情報記憶手段と、
     1以上のスイッチ装置の内のいずれかから、宛先L3アドレスに対するL2アドレスを解決するためのアドレス解決要求を受信した場合に、前記論理セグメント情報と前記通信許可情報に基づき、当該アドレス解決要求の宛先L3アドレスと送信元L3アドレスのそれぞれが属する論理セグメント間の通信が許可されているかどうかを判定し、許可されていれば、前記位置情報に基づき、当該宛先L3アドレスに関連付けられたポートを指定して、当該アドレス解決要求を、当該宛先L3アドレスに関連付けられたスイッチ装置に転送する、アドレス解決処理手段と、
     を備えた通信制御装置であって、
     前記1以上のスイッチ装置の各々は、パケットの宛先L2アドレスに基づいて、ポート間のパケットの転送を制御し、いずれかのポートで受信した前記アドレス解決要求を、前記通信制御装置に転送し、前記通信制御装置から受信した前記アドレス解決要求を、指定されたポートに送信する、
     通信制御装置。
  6.  パケットの宛先L2アドレスに基づいて、ポート間のパケットの転送を制御する、転送制御手段と、
     宛先L3アドレスに対するL2アドレスを解決するためのアドレス解決要求を、いずれかのポートにおいて受信した場合に、当該アドレス解決要求を通信制御装置に転送する入力制御手段と、
     前記アドレス解決要求を前記通信制御装置から受信した場合に、当該アドレス解決要求を指定されたポートに送信する出力制御手段と、
     を備えたスイッチ装置であって、
     前記通信制御装置は、複数の論理セグメントの各々に関連付けて当該論理セグメントに属するL3アドレスを示す論理セグメント情報を記憶し、前記複数の論理セグメントの各組に関連付けて当該組の論理セグメント間の通信の可否を示す通信許可情報を記憶し、L3アドレスに関連付けてスイッチ装置の識別子と当該スイッチ装置のポートの識別子とを示す位置情報を記憶し、1以上のスイッチ装置の内のいずれかから前記アドレス解決要求を受信した場合に、前記論理セグメント情報と前記通信許可情報に基づき、当該アドレス解決要求の宛先L3アドレスと送信元L3アドレスのそれぞれが属する論理セグメント間の通信が許可されているかどうかを判定し、許可されていれば、前記位置情報に基づき、当該宛先L3アドレスに関連付けられたポートを指定して、当該アドレス解決要求を、当該宛先L3アドレスに関連付けられたスイッチ装置に転送する、
     スイッチ装置。
  7.  通信制御装置において、
     1以上のスイッチ装置の内のいずれかから、宛先L3アドレスに対するL2アドレスを解決するためのアドレス解決要求を受信した場合に、複数の論理セグメントの各々に関連付けて当該論理セグメントに属するL3アドレスを示す論理セグメント情報と前記複数の論理セグメントの各組に関連付けて当該組の論理セグメント間の通信の可否を示す通信許可情報に基づき、当該アドレス解決要求の宛先L3アドレスと送信元L3アドレスのそれぞれが属する論理セグメント間の通信が許可されているかどうかを判定し、
     許可されていれば、L3アドレスに関連付けてスイッチ装置の識別子と当該スイッチ装置のポートの識別子とを示す位置情報に基づき、当該宛先L3アドレスに関連付けられたポートを指定して、当該アドレス解決要求を、当該宛先L3アドレスに関連付けられたスイッチ装置に転送する、
     通信制御方法であって、
     前記1以上のスイッチ装置の各々は、パケットの宛先L2アドレスに基づいて、ポート間のパケットの転送を制御し、いずれかのポートで受信した前記アドレス解決要求を、前記通信制御装置に転送し、前記通信制御装置から受信した前記アドレス解決要求を、指定されたポートに送信する、
     通信制御方法。
  8.  パケットの宛先L2アドレスに基づいて、ポート間のパケットの転送を制御するスイッチ装置において、
     宛先L3アドレスに対するL2アドレスを解決するためのアドレス解決要求を、いずれかのポートにおいて受信した場合に、当該アドレス解決要求を通信制御装置に転送し、
     前記アドレス解決要求を前記通信制御装置から受信した場合に、当該アドレス解決要求を指定されたポートに送信する、
     通信制御方法であって、
     前記通信制御装置は、1以上のスイッチ装置の内のいずれかから前記アドレス解決要求を受信した場合に、複数の論理セグメントの各々に関連付けて当該論理セグメントに属するL3アドレスを示す論理セグメント情報と前記複数の論理セグメントの各組に関連付けて当該組の論理セグメント間の通信の可否を示す通信許可情報に基づき、当該アドレス解決要求の宛先L3アドレスと送信元L3アドレスのそれぞれが属する論理セグメント間の通信が許可されているかどうかを判定し、許可されていれば、L3アドレスに関連付けてスイッチ装置の識別子と当該スイッチ装置のポートの識別子とを示す位置情報に基づき、当該宛先L3アドレスに関連付けられたポートを指定して、当該アドレス解決要求を、当該宛先L3アドレスに関連付けられたスイッチ装置に転送する、
     通信制御方法。
  9.  通信制御装置として用いるコンピュータに、
     1以上のスイッチ装置の内のいずれかから、宛先L3アドレスに対するL2アドレスを解決するためのアドレス解決要求を受信した場合に、複数の論理セグメントの各々に関連付けて当該論理セグメントに属するL3アドレスを示す論理セグメント情報と前記複数の論理セグメントの各組に関連付けて当該組の論理セグメント間の通信の可否を示す通信許可情報に基づき、当該アドレス解決要求の宛先L3アドレスと送信元L3アドレスのそれぞれが属する論理セグメント間の通信が許可されているかどうかを判定する処理と、
     許可されていれば、L3アドレスに関連付けてスイッチ装置の識別子と当該スイッチ装置のポートの識別子とを示す位置情報に基づき、当該宛先L3アドレスに関連付けられたポートを指定して、当該アドレス解決要求を、当該宛先L3アドレスに関連付けられたスイッチ装置に転送する処理と、
     を実行させる、プログラムを格納する、コンピュータが読み取り可能な記録媒体であって、
     前記1以上のスイッチ装置の各々は、パケットの宛先L2アドレスに基づいて、ポート間のパケットの転送を制御し、いずれかのポートで受信した前記アドレス解決要求を、前記通信制御装置に転送し、前記通信制御装置から受信した前記アドレス解決要求を、指定されたポートに送信する、
     記録媒体。
  10.  パケットの宛先L2アドレスに基づいて、ポート間のパケットの転送を制御するスイッチ装置として用いるコンピュータに、
     宛先L3アドレスに対するL2アドレスを解決するためのアドレス解決要求を、いずれかのポートにおいて受信した場合に、当該アドレス解決要求を通信制御装置に転送する処理と、
     前記アドレス解決要求を前記通信制御装置から受信した場合に、当該アドレス解決要求を指定されたポートに送信する処理と、
     を実行させる、プログラムを格納する、コンピュータが読み取り可能な記録媒体であって、
     前記通信制御装置は、1以上のスイッチ装置の内のいずれかから前記アドレス解決要求を受信した場合に、複数の論理セグメントの各々に関連付けて当該論理セグメントに属するL3アドレスを示す論理セグメント情報と前記複数の論理セグメントの各組に関連付けて当該組の論理セグメント間の通信の可否を示す通信許可情報に基づき、当該アドレス解決要求の宛先L3アドレスと送信元L3アドレスのそれぞれが属する論理セグメント間の通信が許可されているかどうかを判定し、許可されていれば、L3アドレスに関連付けてスイッチ装置の識別子と当該スイッチ装置のポートの識別子とを示す位置情報に基づき、当該宛先L3アドレスに関連付けられたポートを指定して、当該アドレス解決要求を、当該宛先L3アドレスに関連付けられたスイッチ装置に転送する、
     記録媒体。
PCT/JP2018/022591 2017-06-15 2018-06-13 通信システム、通信制御装置、スイッチ装置、通信制御方法、及び、記録媒体 WO2018230608A1 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2017-117702 2017-06-15
JP2017117702 2017-06-15

Publications (1)

Publication Number Publication Date
WO2018230608A1 true WO2018230608A1 (ja) 2018-12-20

Family

ID=64659586

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2018/022591 WO2018230608A1 (ja) 2017-06-15 2018-06-13 通信システム、通信制御装置、スイッチ装置、通信制御方法、及び、記録媒体

Country Status (1)

Country Link
WO (1) WO2018230608A1 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110581803A (zh) * 2019-10-09 2019-12-17 中国联合网络通信集团有限公司 基于sdn的报文转发方法和装置

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2013057960A1 (en) * 2011-10-21 2013-04-25 Nec Corporation Control apparatus for forwarding apparatus, control method for forwarding apparatus, communication system, and program
WO2014132958A1 (ja) * 2013-02-26 2014-09-04 日本電気株式会社 通信システム、制御装置、通信方法およびプログラム
US20160330167A1 (en) * 2014-01-23 2016-11-10 Huawei Technologies Co., Ltd. Arp Implementation Method, Switch Device, and Control Device

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2013057960A1 (en) * 2011-10-21 2013-04-25 Nec Corporation Control apparatus for forwarding apparatus, control method for forwarding apparatus, communication system, and program
WO2014132958A1 (ja) * 2013-02-26 2014-09-04 日本電気株式会社 通信システム、制御装置、通信方法およびプログラム
US20160330167A1 (en) * 2014-01-23 2016-11-10 Huawei Technologies Co., Ltd. Arp Implementation Method, Switch Device, and Control Device

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110581803A (zh) * 2019-10-09 2019-12-17 中国联合网络通信集团有限公司 基于sdn的报文转发方法和装置

Similar Documents

Publication Publication Date Title
US10785186B2 (en) Control plane based technique for handling multi-destination traffic in overlay networks
CN109937401B (zh) 经由业务旁路进行的负载均衡虚拟机的实时迁移
EP3031197B1 (en) Handling of virtual machine mobility in large data center
EP2984796B1 (en) Method and system for providing an information centric network with a software defined network
WO2011069399A1 (zh) 地址映射方法及接入业务节点
WO2012081631A1 (ja) スイッチング装置、その上位装置、ネットワーク及びパケット転送方法
JP6323444B2 (ja) 通信システム、制御装置、通信方法およびプログラム
WO2013141340A1 (ja) 制御装置、通信装置、通信システム、通信方法及びプログラム
US11818096B2 (en) Enforcement of inter-segment traffic policies by network fabric control plane
Scott et al. Addressing the Scalability of Ethernet with MOOSE
JP2015133556A (ja) 制御装置および転送制御方法
JP6299745B2 (ja) 通信システム、制御装置、通信方法及びプログラム
US11646991B2 (en) System and method for optimizing ARP broadcast
JP2007081877A (ja) ネットワークシステム及びデータ転送方法
EP3395049A1 (en) ROUTER AND METHOD FOR CONNECTING AN IPv4 NETWORK AND AN IPv6 NETWORK
JP2009147695A (ja) 通信制御方法およびシステム
WO2013071825A1 (zh) 一种实现身份位置分离网络的设备及方法
WO2018230608A1 (ja) 通信システム、通信制御装置、スイッチ装置、通信制御方法、及び、記録媒体
WO2014156143A1 (ja) ホームゲートウェイ装置およびパケット転送方法
JP5747997B2 (ja) 制御装置、通信システム、仮想ネットワークの管理方法およびプログラム
JP5350333B2 (ja) パケット中継装置及びネットワークシステム
CN110620715A (zh) 虚拟扩展局域网通信方法、隧道端点和控制器
WO2017170155A1 (ja) 通信システム、フロー制御装置、フロー処理装置及び制御方法
JP2009212739A (ja) データ処理システム、データ処理方法、及びデータ処理プログラム
JP2005086256A (ja) トンネルゲートウェイ装置

Legal Events

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

Ref document number: 18818552

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 18818552

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: JP