WO2017170155A1 - 通信システム、フロー制御装置、フロー処理装置及び制御方法 - Google Patents

通信システム、フロー制御装置、フロー処理装置及び制御方法 Download PDF

Info

Publication number
WO2017170155A1
WO2017170155A1 PCT/JP2017/011805 JP2017011805W WO2017170155A1 WO 2017170155 A1 WO2017170155 A1 WO 2017170155A1 JP 2017011805 W JP2017011805 W JP 2017011805W WO 2017170155 A1 WO2017170155 A1 WO 2017170155A1
Authority
WO
WIPO (PCT)
Prior art keywords
mac
flow
duplication
virtual network
frame
Prior art date
Application number
PCT/JP2017/011805
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 JP2018509196A priority Critical patent/JP6566124B2/ja
Priority to US16/085,295 priority patent/US20190089674A1/en
Publication of WO2017170155A1 publication Critical patent/WO2017170155A1/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/50Address allocation
    • H04L61/5046Resolving address allocation conflicts; Testing of addresses
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/46Interconnection of networks
    • H04L12/4641Virtual LANs, VLANs, e.g. virtual private networks [VPN]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • 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 flow control device, a flow processing device, and a control method.
  • the control device controls a plurality of flow processing devices using a control protocol such as OpenFlow based on the virtual network configuration set by the user or the host control device.
  • the QinQ model is, for example, a configuration in which a virtual bridge is arranged under a virtual network, and a virtual network ID (IDentification) and a virtual bridge ID managed by the flow control device are respectively represented by an OVID (Outer VLAN ID) and an IVID of the frame.
  • OVID Outer VLAN ID
  • IVID an IVID of the frame.
  • MAC Media Access Control
  • Patent Document 1 in a network environment composed of virtual machines and network devices that are virtually constructed, if the MAC addresses set at the time of virtual machine creation overlap, the MAC addresses overlap. It is described that normal communication with a running virtual machine may be disabled.
  • Patent Document 2 prevents MAC duplication by preventing two client devices having the same MAC address from being assigned to the same subnet.
  • the core switch in the QinQ model may receive a frame having the same transmission source MAC address although the IVID is different, and a MAC duplication problem occurs in the core switch.
  • the present invention is to provide a communication system, a flow control device, a flow processing device, and a control method capable of suppressing the occurrence of MAC duplication.
  • the communication system is a flow processing device that transmits a MAC duplication notification indicating the occurrence of MAC duplication when the transmission source MAC addresses of a plurality of frames belonging to a predetermined virtual network received from different ports are the same. And a flow control device that changes the configuration of the predetermined virtual network when the MAC duplication notification is received from the flow processing device.
  • a flow control apparatus is a flow control apparatus capable of controlling a flow processing apparatus that processes a plurality of frames belonging to a predetermined virtual network, and that performs MAC duplication in the plurality of frames from the flow processing apparatus.
  • a MAC duplication control unit that requests a change in the configuration of the predetermined virtual network, and a virtual network management unit that changes the configuration of the predetermined virtual network in response to the request It is characterized by including these.
  • a flow processing apparatus is a flow processing apparatus controlled by a flow control apparatus, wherein a plurality of ports that receive a plurality of frames belonging to a predetermined virtual network and the plurality of ports received from different ports And MAC duplication processing means for sending a MAC duplication notification indicating the occurrence of MAC duplication to the flow control device when the frame source MAC addresses are the same.
  • the control method includes a step of transmitting a MAC duplication notification indicating the occurrence of MAC duplication when the transmission source MAC addresses of a plurality of frames belonging to a predetermined virtual network received from different ports are the same; Changing the configuration of the predetermined virtual network when the MAC duplication notification is received.
  • the flow processing apparatus, communication system, and communication method of the present invention can suppress the occurrence of MAC duplication.
  • FIG. 1 is a diagram illustrating a configuration example of a communication system according to the first embodiment of the present invention.
  • the communication system in the first embodiment includes a flow control device 100, a terminal 300, and a flow processing device 400.
  • the flow processing device 400 is included in the physical network 500.
  • the flow control apparatus 100 can manage a node that executes packet processing in, for example, a centralized management architecture.
  • the centralized management architecture is, for example, an OpenFlow network.
  • the conventional switch mechanism has an OFC (OFC: OpenFlow Controller) that can be changed by externally programming route determination processing, and OFS (OFS) that is a module that performs only packet transfer processing. : OpenFlow Switch).
  • OFC OpenFlow Controller
  • OFS OFS
  • the OFS in the OpenFlow network is an edge switch and a core switch that form the OpenFlow network and are under the control of the OFC.
  • the OFC controls the behavior of the OFS by manipulating the OFS flow table.
  • the flow table is a table in which flow entries (Flow entries) defining predetermined operations (actions) to be performed on packets (communication data) that match (match) predetermined conditions (rules) are registered.
  • Flow entries flow entries defining predetermined operations (actions) to be performed on packets (communication data) that match (match) predetermined conditions (rules) are registered.
  • Each OFS holds at least one flow table.
  • the OFC holds all the flow tables having the same contents as the flow tables of each subordinate OFS. That is, the OFC holds a master table for each OFS flow table.
  • “holding a flow table” means that the flow table is managed. As long as the flow table can be managed via a network or the like, the flow table may not actually exist within itself. For example, it is conceivable that OFC and OFS share the same flow table on the network.
  • the flow entry rule is any of a destination address (Destination Address), a source address (Source Address), a destination port (Destination Port), and a source port (Source Port) included in the header area of each protocol layer of the packet. Defined or distinguishable by various combinations using or all. Note that the above address includes a MAC address (Media Access Control Address) and an IP address (Internet Protocol Address). In addition to the above, information on the ingress port (Ingress Port) can also be used as a rule for the flow entry. In addition, as a rule of the flow entry, a part (or all) of the header area value of the packet indicating the flow can be set by a regular expression, a wild card “*”, or the like.
  • OFS processes a packet that matches the content described in the rule column according to the content described in the action column.
  • the OFC can control processing for matching packets by registering such a flow entry in the OFS.
  • OFS When a packet arrives, OFS reads the header information (transmission source information, transmission destination information, etc.) of the packet, and from the flow table of its own, a flow entry having a matching rule (hereinafter referred to as a matching flow entry and Search). If the search results in a matching flow entry, OFS processes the packet as described in the action for that flow entry. When a plurality of flow entries are found, the packet is processed according to the flow entry having the highest priority among the found flow entries. If no matching flow entry is found as a result of the search, the OFS determines that the packet is a “first packet” and transfers a copy (duplicate) of the packet to the OFC. Inquires of the OFC about whether or not to process.
  • a matching flow entry and Search a flow entry having a matching rule
  • the OFC When the OFC receives an inquiry from the OFS, the OFC performs route calculation and derives an optimum route for transferring the inquiry packet to the transmission destination.
  • the OFC additionally registers a new flow entry for configuring the derived route in the OFS flow table. At this time, the OFC additionally registers the same flow entry in its own flow table.
  • the terminal 300 is a device that performs communication via the flow processing device 400.
  • the terminal 300 is, for example, a mobile phone, a PC (Personal Computer), a mobile router, a smart device (for example, a smart meter, smart TV, or wearable terminal that monitors household power consumption), an M2M (Machine to Machine) device, or the like.
  • M2M devices include, for example, industrial devices, cars, healthcare devices, home appliances, and the like in addition to the above devices.
  • the flow processing device 400 is, for example, a core node included in a network (QinQ model) using QinQ.
  • the flow processing apparatus 400 transfers the received frame based on MAC learning.
  • the flow control device 100 remotely controls the flow processing device 400 using a control protocol such as OpenFlow based on the virtual network configuration set by the user or the host control device.
  • the QinQ model is a simple configuration in which a virtual bridge is arranged under a virtual network. By associating the virtual network ID and virtual bridge ID managed by the flow control device with the OVID and IVID of each frame, Transfer control of MAC forwarding is realized for each virtual bridge.
  • the control of the flow processing device 400 is executed by MAC forwarding in units of Outer VLAN that can be controlled by a hardware chip. For this reason, when a different frame having the same source MAC address and OVID but having a different IVID is input (received) from a different port to one flow processing device 400, the MAC move (MAC duplication) occurs. That is, for a plurality of virtual bridges included in a specific virtual network, when different frames with different IVIDs are input with the same source MAC address and OVID, the frames are input between the different IVIDs. Each time a MAC move (MAC duplication) occurs. In this case, there arises a problem that a frame whose destination is the source MAC address is transferred not only to the correct destination but also to the wrong destination.
  • the flow control apparatus 100 controls each of the frames with MAC duplication to belong to different virtual networks, thereby preventing the occurrence of the MAC duplication.
  • FIG. 2 is a diagram illustrating a configuration example of the flow processing apparatus 400.
  • the flow processing device 400 includes, for example, a flow processing unit 401, a port 410, a MAC address table 420, a MAC duplication table 490, and an access list table 450.
  • the flow processing unit 401 and the MAC duplication table 490 are configured on software.
  • the port 410, the MAC address table, and the access list table 450 are configured as hardware.
  • the flow processing unit 401 and the MAC duplication table 490 configured on software may be implemented in hardware.
  • the port 410 is an interface that transmits and receives the frame 600.
  • the MAC address table 420 includes MAC entries.
  • the key is “OVID and destination MAC address”, and the action is “output port” designation. That is, when a frame 600 including “OVID and destination MAC address” specified in the MAC entry is input, an output port can be determined.
  • the flow processing device 400D receives the frame 600B of “OVID: N1, IVID: B1, transmission source MAC address: M1” from the flow processing device 400B.
  • the MAC address table 420 of the flow processing device 400 determines that the transfer rule “transfers the frame with the transmission destination MAC address M1 and the OVID N1 to the port 410B” in response to receiving the frame 600B. (MAC learning).
  • the flow processing device 400D After receiving the frame 600B, the flow processing device 400D receives the frame 600C of “OVID: N1, IVID: B2, transmission source MAC address: M1” from the flow processing device 400C.
  • the MAC address table 420 of the flow processing device 400 indicates that the transfer rule that “the frame with the transmission destination MAC address M1 and the OVID N1 is transferred to the port 410B” in response to the reception of the frame 600C. Is updated to a transfer rule that “transfers the frame with the transmission destination MAC address M1 and the OVID N1 to the port 410C” (MAC transfer).
  • the flow processing device 400D receives the frame 600A of “OVID: N1, IVID: B1, transmission source MAC address: M1, transmission destination MAC address: M1” from the flow processing device 400A.
  • the flow processing device 400D transfers the frame 600A in accordance with the updated transfer rule “transfers the frame with the transmission destination MAC address M1 and the OVID N1 to the port 410C”.
  • the transmission destination MAC address is “M1”
  • the original transfer destination is “port 410B”.
  • the flow processing device 400 detects the occurrence of MAC duplication and notifies the flow control device 100 of the occurrence of the MAC duplication. Receiving the notification of the occurrence of MAC duplication, the flow control apparatus 100 changes the configuration of the virtual network so that each frame with the MAC duplication belongs to a different virtual network. When each frame with the MAC overlap belongs to a different virtual network, the OVID stored in each frame becomes different from each other. Therefore, in the first embodiment, MAC duplication is prevented.
  • the flow processing unit 401 of the flow processing device 400 receives a frame (for example, the frame 600B and the frame 600C) in which the transmission source MAC address and the OVID overlap from each of the different input ports, and then the MAC duplication table 490.
  • a transfer rule using the source MAC address, OVID, and IVID is registered. For example, if the flow processing device 400D receives the frame 600C following the frame 600B, the flow destination device “the destination MAC address is M1, the OVID is N1, and the IVID is based on the frame 600C in the MAC duplication table 490.
  • a duplicate entry indicating that “the frame of B2 is transferred to the port 410C” is learned.
  • the flow processing unit 401 of the flow processing device 400 performs a predetermined notification indicating that “MAC duplication has occurred” to the flow control device 100 in response to detecting the occurrence of MAC duplication. Further, the flow processing unit 401 of the flow processing device 400 sends a predetermined notification indicating that “MAC duplication has occurred” to the flow control device 100 in response to registration of the duplicate entry in the MAC address table 490. Do.
  • the predetermined notification includes information regarding each of the frames in which the MAC duplication has occurred.
  • the information regarding each of the frames in which the MAC duplication has occurred includes, for example, the OVID and IVID stored in each of the frames in which the MAC duplication has occurred.
  • the information regarding each frame in which MAC duplication has occurred may be, for example, duplicate entries registered in the MAC duplication table 490.
  • the information regarding each frame in which MAC duplication has occurred may be, for example, the frame itself in which MAC duplication has occurred.
  • the signal is not limited to a signal indicating “MAC duplication has occurred”, and may be a signal indicating “duplicate entry has been registered”, for example.
  • FIG. 3 is a diagram illustrating a configuration example of the flow control apparatus 100 according to the first embodiment.
  • the flow control apparatus 100 includes a message transmission / reception unit 110, a MAC duplication control unit 120, a virtual network management unit 130, an OFS control unit 140, and a virtual network 700 (for example, configured in a memory or a database). Virtual network 700).
  • the message transmission / reception unit 110 includes a function of performing communication with the flow processing device 400.
  • the message transmission / reception unit 110 is an interface for performing communication, for example.
  • the MAC duplication control unit 120 In response to receiving a predetermined notification indicating that “MAC duplication has occurred” from the flow processing device 400, the MAC duplication control unit 120 notifies the virtual network management unit 130 of the virtual network with the MAC duplication. Instruct the separation of. Based on the OVID and IVID included in the notified information received from the flow processing device 400, the MAC duplication control unit 120 instructs the separation of the virtual network with the MAC duplication.
  • the virtual network management unit 130 In response to an instruction from the MAC duplication control unit 120, the virtual network management unit 130 performs separation of virtual networks with MAC duplication. For example, in response to an instruction from the MAC duplication control unit 120, the virtual network management unit 130 moves a virtual bridge with MAC duplication from the current virtual network to another virtual network.
  • the OFS control unit 140 notifies the flow processing device 400 of a flow change message based on the separation of the virtual network.
  • FIG. 4 is a flowchart showing an operation example of the flow processing apparatus 400 in the first embodiment.
  • the port 410 of the flow processing device 400 transmits and receives frames (S1-1).
  • the flow processing unit 401 of the flow processing device 400 detects whether or not MAC duplication has occurred (S1-2). For example, the flow processing unit 401 detects that MAC duplication has occurred in response to reception of frames (for example, frames 600B and 600C) in which the source MAC address and OVID overlap from each of different input ports. To do.
  • frames for example, frames 600B and 600C
  • the flow processing unit 401 registers MAC duplication information (MAC duplication entry) in the MAC duplication table 490 (S1-3). For example, when the frame 600C is received following the frame 600B, the flow processing unit 401, in the MAC duplication table 490, based on the frame 600C, the transmission destination “destination MAC address is M1, OVID is N1, and IVID is A duplicate entry indicating that “the frame of B2 is transferred to the port 410C” is learned.
  • the flow processing unit 401 When the occurrence of MAC duplication is detected, the flow processing unit 401 performs a predetermined notification indicating that “MAC duplication has occurred” to the flow control apparatus 100 (S1-4).
  • FIG. 5 is a flowchart showing an operation example of the flow control apparatus 100 according to the first embodiment.
  • the MAC duplication control unit 120 of the flow control device 100 receives a predetermined notification indicating “MAC duplication has occurred” from the flow processing device 400 via the message transmission / reception unit 110 (S2-1).
  • the MAC duplication control unit 120 instructs the virtual network management unit 130 to separate a virtual network with MAC duplication in response to receiving a predetermined notification indicating that “MAC duplication has occurred” ( S2-2). Based on the OVID and IVID included in the notified information received from the flow processing device 400, the MAC duplication control unit 120 instructs the separation of the virtual network with the MAC duplication. In response to an instruction from the MAC duplication control unit 120, the virtual network management unit 130 performs separation of virtual networks with MAC duplication. For example, in response to an instruction from the MAC duplication control unit 120, the virtual network management unit 130 moves a virtual bridge with MAC duplication from the current virtual network to another virtual network.
  • the OFS control unit 140 notifies the flow processing device 400 of a flow change message based on the separation of the virtual network (S2-3).
  • the flow processing device 400 detects the occurrence of MAC duplication and notifies the flow control device 100 of the occurrence of MAC duplication. Then, the flow control apparatus 100 that has received the notification of occurrence of MAC duplication changes the configuration of the virtual network so that each of the frames with MAC duplication belongs to different virtual networks. When each frame with the MAC overlap belongs to a different virtual network, the OVID stored in each frame becomes different from each other. Therefore, in the first embodiment, MAC duplication is prevented.
  • FIGSecond Embodiment> 6 and 7 are diagrams illustrating a configuration example of a communication system according to the second embodiment of the present invention.
  • 6 is a configuration example before the flow control device 100 separates the virtual network
  • FIG. 7 is a configuration example after the flow control device 100 separates the virtual network.
  • the communication system includes, for example, a flow control device 100, a terminal 300, and a flow processing device 400.
  • the terminal 300 has the same configuration as the terminal 300 of the communication system in the first embodiment shown in FIG.
  • the physical network 500 includes, for example, the flow processing device 400, and provides a physical environment for realizing frame transfer in the virtual network using the virtual network 700 and the virtual bridges 710A and 710B.
  • FIG. 8 is a diagram illustrating a configuration example of the flow processing device 400 according to the second embodiment.
  • the flow processing device 400 includes a port 410, a frame conversion table 430, a VLAN table 440, a MAC address table 420, and an access list table (for frame transfer) 450A.
  • the flow processing device 400 includes a frame processing unit 460, a MAC duplication processing unit 470, a hardware processing unit 480, a message transmission / reception unit 481, and a MAC duplication table 490.
  • the port 410, the frame conversion table 430, the VLAN table 440, the MAC address table 420, and the access list table (for frame transfer) 450A are configured in hardware.
  • the frame processing unit 460, the MAC duplication processing unit 470, the hardware processing unit 480, the message transmission / reception unit 481, and the MAC duplication table 490 are configured in software.
  • the frame processing unit 460 of the flow processing device 400 detects the MAC movement when the frame 600B and the frame 600C pass through the hardware MAC address table 420.
  • the MAC move is a process in which the transfer rule is rewritten in the transfer rule having the same OVID and destination MAC address in the MAC address table 420.
  • the MAC address table 420 learns a transfer rule that “a frame with a destination MAC address of M1 and an OVID of N1 is transferred to the port 410B”.
  • the MAC address table 420 has a transfer rule that “when the frame 600C passes through the frame 600B,“ transfers the frame with the transmission destination MAC address M1 and the OVID N1 to the port 410B ”. Rewrite the frame with the MAC address M1 and the OVID N1 to the transfer rule “transfer to the port 410C”.
  • the flow processing apparatus 400 receives the frame 600B having the MAC address: M1 as the transmission destination, the flow processing apparatus 400 transmits the frame 600C to the port of the MAC entry (transfer rule) in the MAC address table. The transmission is made not only to the destination port 410B but also to the wrong destination port 410C.
  • the flow processing device 400 detects the occurrence of MAC duplication and notifies the flow control device 100 of the occurrence of the MAC duplication. Receiving the notification of the occurrence of MAC duplication, the flow control apparatus 100 moves each of the virtual bridges in which the MAC duplication has occurred to different virtual networks. As a result, each of the frames with the MAC overlap belongs to a different virtual network, so that the OVID stored in each of the frames is different from each other. Therefore, in the second embodiment, MAC duplication is prevented.
  • the port 410 is an interface that transmits and receives the frame 600.
  • the received frame 600 is subjected to pipeline processing in the order of the port 410, the frame conversion table 430, the VLAN table 440, the MAC address table 420, and the access list table (for frame transfer) 450A.
  • the frame conversion table 430 is a table for performing VLAN conversion of the frame 600. Note that the frame conversion table 430 has a function for updating the frame 600 and can also execute other actions for the frame 600. In the second embodiment, the frame conversion table 430 is used, for example, to execute a MAC learning cancel action.
  • the VLAN table 440 includes a VLAN entry 441.
  • the VLAN entry 441 has a key “OVID” and an action “frame relay (for example, an action for proceeding to processing to the MAC address table 420 in the subsequent stage)”. If there is no entry corresponding to the input frame 600 in the VLAN table 440, the frame 600 is discarded.
  • the VLAN table 440 executes registration / update / deletion of the VLAN entry 441 according to an instruction from the flow control apparatus 100 or a configuration of the flow processing apparatus 400.
  • the MAC address table 420 includes MAC entries.
  • the key is “OVID and transmission destination MAC address”, and the action is “output port” designation. That is, when a frame 600 including “OVID and destination MAC address” specified in the MAC entry is input, an output port can be determined.
  • the MAC entry 421 is automatically registered / updated / deleted by hardware. If there is no MAC entry 421 with “OVID and destination MAC address” included in the frame 600 input to the MAC address table 420 as a key, MAC learning is executed (that is, a new MAC entry is registered). ).
  • the MAC entry is deleted.
  • the access list table (for frame transfer) 450A is a table for frame transfer.
  • a frame 600 hit (HIT) is input to an entry included in the access list table (for frame transfer) 450A, the action of the hit entry is applied to the frame 600.
  • the access list table (for frame transfer) 450A has an “entry priority” indicating the priority when applied to the frame 600 in the logical table.
  • each of the entries included in the access list table (for frame transfer) 450A includes a priority, and when there are a plurality of entries that hit the input frame 600, the action specified by the entry with the higher priority Is applied in preference to the frame 600.
  • an entry described in a higher level (upper position) of the access list table (for frame transfer) 450A is a high priority entry.
  • the UC output entry 451A included in the access list table (for frame transfer) 450A is an entry in which only the frame 600 hit (HIT) in the MAC entry 421 of the MAC address table 420 is hit (HIT).
  • the frame 600 is output from the designated port 410.
  • the frame 600 When the frame 600 does not hit (HIT) the entry for UC output (when MAC learning is not performed), the frame 600 has a lower priority than the entry for UC output 451A (HIT) for the entry for flooding output.
  • the UC output entry and the Flooding output entry are registered / updated / deleted in the access list table 250 according to an instruction from the flow control apparatus 100.
  • the frame processing unit 460 receives the frame 600 that has caused the MAC movement or a copy thereof.
  • the frame processing unit 460 notifies the MAC duplication processing unit 470 of the frame 600 or a copy thereof.
  • the MAC duplication processing unit 470 registers an entry in the MAC duplication table 490 based on the information (header information and the like) of the frame 600 received from the frame processing unit 460. For example, the MAC duplication processing unit 470 registers the MAC duplication entries 491A and 491B corresponding to the frames 600A and 600B in the MAC duplication table 490, and manages them as a MAC entry including a format including IVID.
  • the MAC duplication processing unit 470 registers / updates / deletes entries in each hardware table based on the information (header information and the like) of the frame 600 received from the frame processing unit 460 to the hardware processing unit 480. Instruct. For example, the MAC duplication processing unit 470 registers the aging entries 431A and 431B in the hardware frame conversion table 430 based on the information of the MAC duplication entries 491A and 291B in the MAC duplication table 490. Instruct. The aging entries 431A and 431B have a role of detecting aging when the frames 600A and 600B are not input.
  • the key is “OVID, IVID, source MAC address, input port”, and the action is “MAC learning cancellation and WriteMetadata”.
  • the MAC learning cancellation has a role of not performing MAC learning when a frame that hits (HIT) the aging entry 431 is input to the MAC address table 420.
  • WriteMetadata has a role of holding that the aging entry 431 is hit (HIT) as Frame information.
  • the MAC duplication processing unit 470 instructs the access list table (for frame transfer) 450A to register the UC output entries 451A and 452A.
  • the UC output entries 451A and 452A have a role of outputting a frame in which a duplicate MAC has occurred to a correct port.
  • the access list table (for frame transfer) 450A registers, as the UC output entry 451A, that “the frame with the source MAC address M1, OVID N1, and IVID B1 is transferred to port 1”. To do.
  • the access list table (for frame transfer) 450A registers, as a UC output entry 452B, that “the frame with the source MAC address M1, OVID N1, and IVID B2 is transferred to port 2”. To do.
  • the hardware processing unit 480 registers / updates / deletes an entry in each hardware table in accordance with an instruction from the MAC duplication processing unit 470. Further, the age-out of the MAC duplicate entry is detected from the frame statistical information (frame statistics) of the aging entry 431. When the hardware processing unit 480 detects the age-out, the hardware processing unit 480 notifies the MAC duplication processing unit 470 of the age-out.
  • the UC output entry 452 and the aging entry 431 can avoid erroneous transfer in the flow processing device 400 and can follow aging.
  • the MAC duplication processing unit 470 instructs to delete the MAC entry 421A for each table configured by hardware. By deleting the MAC entry 421A, even if new MAC duplication further occurs, MAC learning can be performed quickly on the hardware, and the frame 600 transfer processing can be shifted to UC transfer. It becomes.
  • FIG. 9 is a diagram illustrating a configuration example of entries stored in each table described above.
  • the MAC duplicate entry has a key “OVID, IVID, MAC address” and an action “designate output port”.
  • the key is “OVID, MAC address” and the action is “designate output port”.
  • the key is “OVID” and the action is “frame relay”.
  • the key is “OVID, IVID, source MAC address”, and the action is “MAC learning cancel, WriteMetadata”.
  • the key is “OVID, IVID, destination MAC address”, and the action is “port designation”.
  • the flow control device 100 has the same configuration as the flow control device 100 of the communication system in the first embodiment shown in FIG.
  • the message transmission / reception unit 110 of the flow control device 100 receives the MAC duplication notification from the message transmission / reception unit 481 of the flow processing device 400.
  • the MAC duplication notification is a predetermined notification indicating that “MAC duplication has occurred”.
  • the MAC duplication notification includes, for example, information regarding each frame in which MAC duplication has occurred.
  • the information regarding each frame in which MAC duplication has occurred is, for example, a duplicate entry registered in the MAC duplication table 490.
  • the message transmission / reception unit 110 transfers the received MAC duplication notification to the MAC duplication control unit 120.
  • the MAC duplication control unit 120 extracts the virtual network ID (OVID) and the virtual bridge ID (IVID) in which the MAC duplication has occurred from the received MAC duplication notification, and the extracted virtual bridges to different virtual networks.
  • the virtual network management unit 130 is instructed to be separated.
  • the MAC duplication control unit 120 sends a control message related to the frame conversion process and the flow change process related to the VLAN tag to the OFS control unit 140 from the separated virtual network information (OVID, IVID). Send.
  • the virtual network management unit 130 moves each of the virtual bridges with overlapping MACs to different virtual network data (virtual network data). Separation). When the virtual network separation is completed, the virtual network management unit 130 transmits the separated virtual network information to the MAC duplication control unit 120.
  • the information of the separated virtual network includes the ID (OVID) of each virtual network after the separation and the ID (IVID) of the virtual bridge.
  • the OFS control unit 140 creates a flow change message and transmits it to the flow processing device via the message transmission / reception unit 110.
  • the flow change message is, for example, a flow entry in OpenFlow.
  • FIG. 10 is a flowchart illustrating an operation example of the flow processing apparatus 400 according to the second embodiment.
  • the terminal 300A and the terminal 300B communicate with each other via the flow processing device 400 (S3-1). Specifically, the flow processing device 400 receives the frame 600A of “OVID: N1, IVID: B1, transmission source MAC address: M1, transmission destination MAC address: M1” from the port 410A, and passes through the port 410B. Forward. Further, the flow processing device 400 receives the frame 600B of “OVID: N1, IVID: B1, transmission source MAC address: M1, transmission destination MAC address: M2” from the port 410B, and transfers it through the port 410A.
  • FIG. 11 is a diagram illustrating a configuration example of the flow processing device 400 when the terminal 300A and the terminal 300B are communicating with each other.
  • the flow processing device 400 receives the frame 600A from the terminal 300A via the port 410A.
  • the MAC address table 420 of the flow processing device 400 learns the MAC entry 421B that “transfers the frame having the transmission destination MAC address M2 and the OVID N1 to the port 410A”.
  • the flow processing apparatus 400 receives the frame 600B from the terminal 300B via the port 410B.
  • the MAC address table 420 of the flow processing device 400 learns the MAC entry 421A that “transfers the frame having the transmission destination MAC address M1 and the OVID N1 to the port 410B”.
  • the MAC address table 420 learns the MAC entry 421A and the MAC entry 421B.
  • the MAC entry 421C and the MAC entry 421D are learned in advance.
  • the transfer processing of the frame 600B is executed according to the MAC entry 421B registered in the MAC address table 420.
  • the transfer processing of the frame 600A is executed according to the MAC entry 421A registered in the MAC address table 420.
  • the access list table (for frame transfer) 450A registers a UC output entry 451A and a Flooding output entry 452A.
  • the frame 600 that hits the MAC entry 421 registered in the MAC address table 420 is transferred from the port 410 specified by the MAC entry 421 according to the UC output entry 451A.
  • the frame 600A is transferred from the port 410A designated by the MAC entry 421A in accordance with the UC output entry 451A.
  • the flow processing apparatus 400 receives the frame 600C of “OVID: N1, IVID: B2, transmission source MAC address: M1, transmission destination MAC address: M5” from the port 410C (S3-2).
  • the frame 600C hits (HIT) the VLAN entry 441A of the VLAN table 440, and proceeds to the processing of the MAC address table 420 (S3-3).
  • the MAC entry 421B of the MAC address table 420 is rewritten with the content “transfer frame with the destination MAC address M1 and OVID N1 to the port 410C”. (MAC move). That is, since the frame 600C is the same key as “OVID: N1, transmission MAC address M1” of the MAC entry 421A that has already been learned in the MAC address table 420, and the port is different, the port of the MAC entry 421 is The input port 410C of the frame 600C is updated (S3-4).
  • the flow processing device 400 transfers the frame 600C according to the destination MAC entry 421C learned in advance in the MAC address table 420 and the UC output entry 451A registered in the access list table (for frame transfer) 450A. Is executed (S3-5).
  • the flow processing device 400 notifies the frame processing unit 460 of the frame 600C in response to the occurrence of MAC movement (MAC duplication) in the MAC address table.
  • the frame processing unit 460 notifies the frame 600C to the MAC duplication processing unit 470 (S3-6).
  • the MAC duplication processing unit 470 registers the MAC duplication entry 491B in the MAC duplication table 490 based on information (for example, header information) included in the frame 600C (S3-7).
  • the MAC duplication entry 491B is an entry that uses “OVID: N1, IVID: B2, transmission destination MAC address: M1” as a key and “port 410C” as an output port.
  • the MAC duplication processing unit 470 instructs the hardware processing unit 480 to delete the MAC entry 421A.
  • the MAC duplication processing unit 470 deletes the instructed MAC entry 421A (S3-8).
  • the flow processing device 400 since the flow processing device 400 is not MAC duplicating and the frame is not notified to the software when the MAC moves, the flow processing device 400 performs processing for deleting the MAC duplication entry 491B from the MAC duplication table 490 when a predetermined time has elapsed. Do.
  • FIG. 12 is a diagram illustrating a configuration example of the flow processing device 400 when the frame 600C is received via the port 410C of the flow processing device 400 in the state of FIG.
  • the frame processing unit 460 receives the notification of the frame 600C.
  • the MAC duplication processing unit 470 registers the MAC duplication entry 491B in the MAC duplication table 490 when the frame processing unit 460 is notified of the frame 600C.
  • the key is “OVID, IVID, destination MAC address”, and the action is “output port”. That is, the MAC duplication entry 491 manages, with software, a MAC entry including an IVID that cannot be expressed by hardware.
  • the key of the MAC duplicate entry 491B is “OVID: N1, IVID: B2, destination MAC address: M1”, and the action is “input port 410C”.
  • the MAC duplication entry 491B is set based on the frame 600C.
  • the MAC entry 421A is deleted via the hardware processing unit 480 according to an instruction from the MAC duplication processing unit 470.
  • the frame 600A having the MAC address: M1 as the transmission destination hits (HIT) the Flooding output entry 452A of the access list table (for frame transfer) 450A, and is output as Flooding.
  • the MAC duplication processing unit 470 transmits a MAC duplication notification to the flow processing device 400 (S3-9).
  • the MAC duplication notification includes, for example, a MAC duplication entry 491B.
  • FIG. 13 illustrates a configuration example of the flow processing device 400 when the MAC duplication processing unit 470 transmits a MAC duplication notification to the flow processing device 400 via the message transmission / reception unit 481 in the state of FIG. FIG.
  • the MAC duplication processing unit 470 instructs transmission of a MAC duplication notification via the message transmission / reception unit 481 in response to the MAC duplication entry 491B being registered in the MAC duplication table.
  • FIG. 14 is a flowchart illustrating an operation example of the flow control apparatus 100 according to the second embodiment.
  • the message transmission / reception unit 110 of the flow control device 100 receives the MAC duplication notification from the message transmission / reception unit 481 of the flow processing device 400 (S4-1).
  • the MAC duplication notification includes, for example, a MAC duplication entry 491B.
  • the MAC duplication control unit 120 In response to the reception of the MAC duplication notification, the MAC duplication control unit 120 extracts the virtual network ID (OVID) and the virtual bridge ID (IVID) in which the MAC duplication has occurred from the received MAC duplication notification.
  • the virtual network management unit 130 is instructed to separate the virtual bridge thus created into different virtual networks (S4-2).
  • FIG. 15 is a diagram illustrating a configuration example of the flow control device 100 when the MAC duplication notification is received from the flow processing device 400.
  • the message transmission / reception unit 110 of the flow control apparatus 100 receives the MAC duplication notification
  • the message transmission / reception unit 110 transfers the MAC duplication notification to the MAC duplication control unit 120.
  • the MAC duplication control unit 120 based on information about each of the frames in which the MAC duplication has occurred, included in the received MAC duplication notification, the virtual network ID (OVID) in which the MAC duplication has occurred and the virtual bridge ID ( IVID) and instruct the virtual network management unit 130 to separate the virtual network.
  • OVID virtual network ID
  • IVID virtual bridge ID
  • the virtual network management unit 130 moves each of the virtual bridges in which the MAC duplication has occurred to different virtual network data based on the virtual bridge 710 of the virtual network 700 ( S4-3).
  • FIG. 16 is a diagram illustrating a configuration example of the flow control apparatus 100 after the virtual network management unit 130 that has received the network separation instruction in FIG. 15 separates the virtual network.
  • the virtual network management unit 130 assigns each of the virtual bridges (ID: B1, B2) with overlapping MACs to different virtual networks (ID: N1) and virtual networks (ID: N2). To separate.
  • the virtual network management unit 130 separates the virtual bridge (ID: B2) from the virtual bridge 710 and moves it to the virtual network 720.
  • the virtual network management unit 130 transmits information on the separated virtual network to the MAC duplication control unit 120.
  • the information of the separated virtual network includes the ID (OVID) of each virtual network after the separation and the ID (IVID) of the virtual bridge.
  • the MAC duplication processing unit 120 transmits, to the OFS control unit 140, a control message related to frame conversion processing and flow change processing related to the VLAN tag from the separated virtual network information (OVID, IVID). (S4-4).
  • the OFS control unit 140 notifies the flow processing device 400 of a flow change message based on the separation of the virtual network (S4-5).
  • FIG. 17 is a diagram illustrating a configuration example of the flow control device 100 in a case where the OFS control unit 140 transmits a message regarding the flow change accompanying the change of the virtual network to the flow processing device 400.
  • the OFS control unit 140 instructs the flow processing device 400 including the processing rule for the flow regarding the flow related to the frame changed along with the separation of the virtual network to change the processing rule.
  • the OFS control unit 140 may notify the flow processing apparatus 400 of the changed processing rule.
  • the OFS control unit 140 associates the OVID of the frame transmitted from the terminal 300C with the virtual network 700B (ID: N2), and associates the IVID of the frame with the virtual bridge 710B (ID: B2). ) Is notified.
  • the OFS control unit 140 adds a flow from the Egress side with respect to the flow change, and adds the flow on the Ingress side after the addition of the flow on the Egress side is completed.
  • the OFS control unit 140 deletes the pre-change flow in the order of the Ingress side and the Egress side after completing the addition of the Ingress flow in order to prevent communication interruption.
  • FIG. 7 is a configuration example of the communication system after the flow control device 100 separates the virtual network. As shown in FIG. 7, for the frame 600C in which the MAC duplication occurred in FIG. 6, the correspondence between the OVID and IVID of the frame 600C is the virtual network 700B and the virtual bridge 710B, respectively. The occurrence of MAC duplication is prevented.
  • the flow processing device 400 detects the occurrence of MAC duplication and notifies the flow control device 100 of the occurrence of MAC duplication. Receiving the notification of the occurrence of MAC duplication, the flow control apparatus 100 moves each of the virtual bridges in which the MAC duplication has occurred to different virtual networks. As a result, each of the frames with the MAC overlap belongs to a different virtual network, so that the OVID stored in each of the frames is different from each other. Therefore, in the second embodiment, MAC duplication is prevented.
  • DESCRIPTION OF SYMBOLS 100 Flow control apparatus 300 Terminal 400 Flow processing apparatus 401 Flow processing part 410 Port 420 MAC address table 421 MAC entry 430 Frame conversion table 431 Aging entry 440 VLAN table 441 VLAN entry 450 Access list table 451 UC output entry 460 Frame processing Unit 470 MAC duplication processing unit 480 hardware processing unit 490 MAC duplication table 491 MAC duplication entry 500 physical network 600 frame 700 virtual network 710 virtual bridge

Landscapes

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

Abstract

QinQモデルにおけるフロー処理装置は、IVIDは異なるが、送信元MACアドレスが同じフレームを受信する場合があり、当該フロー処理装置においてMAC重複の問題が発生してしまう。 本発明の一態様の通信システムは、異なるポートから受信した所定の仮想ネットワークに属する複数のフレームの送信元MACアドレスが同一の場合に、MAC重複の発生を示すMAC重複通知を送信するフロー処理装置と、前記フロー処理装置から前記MAC重複通知を受信した場合に、前記所定の仮想ネットワークの構成を変更するフロー制御装置と、を含む。

Description

通信システム、フロー制御装置、フロー処理装置及び制御方法
 本発明は、通信システム、フロー制御装置、フロー処理装置及び制御方法に関する。
 大規模な仮想ネットワークを構築するために、QinQを用いた仮想ネットワーク構成モデル(QinQモデル)が採用されている。
 QinQモデルでは、制御装置が、ユーザや上位制御装置により設定された仮想ネットワーク構成に基づき、OpenFlowなどの制御プロトコルを使用して、複数のフロー処理装置を制御する。QinQモデルは、例えば、仮想ネットワークの配下に仮想ブリッジを配置する構成であり、フロー制御装置が管理する仮想ネットワークID(IDentification)と仮想ブリッジIDとを、それぞれフレームのOVID(Outer VLAN ID)とIVID(Inter VLAN ID)とに対応づけることで、当該仮想ブリッジ単位でMAC(Media Access Control)フォワーディングを実現する。
 ここで、特許文献1には、仮想的に構築される仮想マシンとネットワーク装置とで構成されるネットワーク環境では、仮想マシン作成時に設定されるMACアドレスが重複すると、MACアドレスが重複してしまった稼働中の仮想マシンに対して、正常な通信ができなくなってしまう場合があることが記載されている。
 そして、特許文献2には、MAC重複によって正常な通信ができなくなってしまうことを回避するために、必要に応じて同じMACアドレスをもつ2つのクライアント装置が同じサブネットに割り当てられないように、クライアント装置を異なるサブネットに割り当てることが開示されている。
特開2013-168771号公報 特表2012-525018号公報
 上述したとおり、特許文献2に記載の発明は、同じMACアドレスをもつ2つのクライアント装置が同じサブネットに割り当てられないようにすることで、MAC重複を発生させないようにするものである。
 しかしながら、特許文献2に記載の発明では、同じサブネット内に同じMACアドレスをもつ2つのクライアント装置を割り当てることができないため、MACアドレスの設定の柔軟性が低下してしまうという問題が生じる。また、QinQモデルにおけるコアスイッチは、IVIDは異なるが、送信元MACアドレスが同じフレームを受信する場合があり、当該コアスイッチにおいてMAC重複の問題が発生してしまう。
 本発明は、上記課題に鑑み、MAC重複の発生を抑制可能な通信システム、フロー制御装置、フロー処理装置及び制御方法を提供することである。
 本発明の一形態における通信システムは、異なるポートから受信した所定の仮想ネットワークに属する複数のフレームの送信元MACアドレスが同一の場合に、MAC重複の発生を示すMAC重複通知を送信するフロー処理装置と、前記フロー処理装置から前記MAC重複通知を受信した場合に、前記所定の仮想ネットワークの構成を変更するフロー制御装置と、を含む。
 本発明の一形態におけるフロー制御装置は、所定の仮想ネットワークに属する複数のフレームを処理するフロー処理装置を制御可能なフロー制御装置であって、前記フロー処理装置から前記複数のフレームにおけるMAC重複の発生を示すMAC重複通知を受信した場合に、前記所定の仮想ネットワークの構成の変更を要求するMAC重複制御手段と、前記要求に応じて、前記所定の仮想ネットワークの構成を変更する仮想ネットワーク管理手段と、を含むことを特徴とする。
 本発明の一形態におけるフロー処理装置は、フロー制御装置によって制御されるフロー処理装置であって、所定の仮想ネットワークに属する複数のフレームを受信する複数のポートと、異なるポートから受信した前記複数のフレームの送信元MACアドレスが同一の場合に、前記フロー制御装置に対して、MAC重複の発生を示すMAC重複通知を送信するMAC重複処理手段とを含むことを特徴とする。
 本発明の一形態における制御方法は、異なるポートから受信した所定の仮想ネットワークに属する複数のフレームの送信元MACアドレスが同一の場合に、MAC重複の発生を示すMAC重複通知を送信するステップと、前記MAC重複通知を受信した場合に、前記所定の仮想ネットワークの構成を変更するステップとを含む。
 本発明のフロー処理装置、通信システム及び通信方法は、MAC重複の発生を抑制することが可能である。
第1の実施形態の通信システムの構成例である。 第1の実施形態のフロー処理装置の構成例である。 第1の実施形態におけるフロー制御装置の構成例である。 第1の実施形態におけるフロー処理装置の動作例を示すフローチャートである。 第1の実施形態におけるフロー制御装置の動作例を示すフローチャートである。 第2の実施形態の通信システムの構成例である。 第2の実施形態の通信システムの他の構成例である。 第2の実施形態のフロー処理装置の構成例である。 各テーブルに格納されるエントリの構成例を示す図である。 第2の実施形態におけるフロー処理装置の動作例を示すフローチャートである。 第2の実施形態のフロー処理装置の他の構成例である。 第2の実施形態のフロー処理装置の他の構成例である。 第2の実施形態のフロー処理装置の他の構成例である。 第2の実施形態におけるフロー制御装置の動作例を示すフローチャートである。 第2の実施形態のフロー処理装置の他の構成例である。 第2の実施形態のフロー処理装置の他の構成例である。 第2の実施形態のフロー処理装置の他の構成例である。
 以下、本発明の実施形態及び実施例について、図面を参照して説明する。各実施形態は、例示であり、本発明は各実施形態に限定されるものではない。なお、この概要に付記した図面参照符号は、理解を助けるための一例として各要素に便宜上付記したものであり、この概要の記載はなんらの限定を意図するものではない。
 <第1の実施形態>
 図1は、本発明の第1の実施形態における通信システムの構成例を示す図である。
 図1に示すように、第1の実施形態における通信システムは、フロー制御装置100と、端末300と、フロー処理装置400とを含む。フロー処理装置400は、物理ネットワーク500に含まれる。
 フロー制御装置100は、例えば、集中管理型のアーキテクチャにおいて、パケット処理を実行するノードを管理可能である。
 集中管理型のアーキテクチャは、例えば、OpenFlowネットワークである。OpenFlowネットワークでは、従来のスイッチの機構が、経路の決定処理を外部からプログラミングすることで変更可能としたモジュールであるOFC(OFC:OpenFlow Controller)と、パケット転送処理のみを行うモジュールであるOFS(OFS:OpenFlow Switch)とに分離されている。
 OpenFlowネットワークにおけるOFSとは、OpenFlowネットワークを形成し、OFCの制御下にあるエッジスイッチ及びコアスイッチのことである。OpenFlowネットワークでは、OFCが、OFSのフローテーブルを操作することによりOFSの挙動を制御する。
 フローテーブルとは、所定の条件(ルール)に適合(マッチ)するパケット(通信データ)に対して行うべき所定の動作(アクション)を定義したフローエントリ(Flow entry)が登録されたテーブルである。
 各OFSは、フローテーブルを少なくとも1つ保持している。OFCは、配下の各OFSのフローテーブルと同じ内容のフローテーブルを全て保持している。すなわち、OFCは、各OFSのフローテーブルのマスターテーブルを保持している。なお、「フローテーブルを保持している」とは、そのフローテーブルを管理していることを意味する。そのフローテーブルをネットワーク経由等で管理可能であれば、実際には、そのフローテーブルが自身の内部に存在していなくても良い。例えば、OFCとOFSが、ネットワーク上にある同一のフローテーブルを共有することも考えられる。
 フローエントリのルールは、パケットの各プロトコル階層のヘッダ領域に含まれる送信先アドレス(Destination Address)、送信元アドレス(Source Address)、送信先ポート(Destination Port)、送信元ポート(Source Port)のいずれか又は全てを用いた様々な組み合わせにより定義され、区別可能である。なお、上記のアドレスには、MACアドレス(Media Access Control Address)やIPアドレス(Internet Protocol Address)を含むものとする。また、上記に加えて、入口ポート(Ingress Port)の情報も、フローエントリのルールとして使用可能である。また、フローエントリのルールとして、フローを示すパケットのヘッダ領域の値の一部(又は全部)を、正規表現やワイルドカード「*」等で表現したものを設定することもできる。
 OFSは、ルールの欄に記述された内容にマッチするパケットを、アクションの欄に記述された内容に従って処理する。OFCは、このようなフローエントリをOFSに登録することで、マッチするパケットに対する処理を制御できるのである。
 OFSは、パケットが到着した時、当該パケットのヘッダ情報(送信元情報や送信先情報等)を読み取り、自身のフローテーブルの中から、マッチするルールを持つフローエントリ(以下、マッチするフローエントリと呼ぶ)を検索する。検索の結果、マッチするフローエントリが見つかった場合、OFSは、そのフローエントリのアクションに記載されている通りにパケットを処理する。なお、複数のフローエントリが見つかった場合、見つかったフローエントリのうち、最も優先度が高いフローエントリに従い、パケットを処理する。また、検索の結果、マッチするフローエントリが見つからなかった場合、OFSは、当該パケットを「ファーストパケット」と判断し、当該パケットのコピー(複製)をOFCに転送することで、当該パケットをどのように処理すべきかについてOFCに問い合わせる。
 OFCは、OFSから問い合わせを受けた場合、経路計算を行い、問い合わせを受けたパケットを送信先まで転送するための最適な経路を導出する。また、OFCは、OFSのフローテーブルに、導出した経路を構成するためのフローエントリを新規に追加登録する。このとき、OFCは、自身のフローテーブルにも同じフローエントリを新規に追加登録する。
 端末300は、フロー処理装置400を介して通信を行う装置である。端末300は、例えば、携帯電話、PC(Personal Computer)、モバイルルータ、スマートデバイス(例えば、家庭の消費電力をモニタするスマートメータ、スマートテレビ、ウェアラブル端末)、M2M(Machine to Machine)デバイス等である。M2Mデバイスは、例えば、上記のデバイスに加え、産業機器、車、ヘルスケア機器、家電等を含む。
 フロー処理装置400は、例えば、QinQを用いたネットワーク(QinQモデル)に含まれるコアノードである。なお、フロー処理装置400は、受信したフレームを、MAC学習に基づいて転送する。
 QinQモデルでは、フロー制御装置100が、ユーザや上位制御装置により設定された仮想ネットワーク構成に基づき、OpenFlowなどの制御プロトコルを使用して、フロー処理装置400を遠隔制御する。QinQモデルは、仮想ネットワーク配下に仮想ブリッジを配置する単純な構成であり、フロー制御装置が管理する仮想ネットワークIDと仮想ブリッジIDを、それぞれフレームのOVIDとIVIDに対応づけることで、仮想ネットワーク単位の仮想ブリッジ単位で、MACフォワーディングの転送制御を実現している。
 しかしながら、フロー処理装置400の制御は、ハードウェアチップで制御可能なOuterVLAN単位のMACフォワーディングで実行される。そのため、1つのフロー処理装置400に、送信元MACアドレスとOVIDとは同じだが、異なるIVIDである異なるフレームが、異なるポートから入力(受信)した場合、当該異なるフレームが入力する都度、MAC移動(MAC重複)が発生してしまう。すなわち、特定の仮想ネットワークに含まれる複数の仮想ブリッジに対して、送信元MACアドレスとOVIDとは同じだが、異なるIVIDである異なるフレームが入力した場合には、当該異なるIVID間においてフレームが入力される度に、MAC移動(MAC重複)が発生してしまう。この場合、当該送信元MACアドレスを宛先とするフレームが、正しい送信先だけでなく、誤った送信先にも転送されてしまうという問題が生じる。
 そこで、第1の実施形態では、フロー制御装置100において、MAC重複となったフレームの各々を互いに異なる仮想ネットワークに属するように制御することで、当該MAC重複の発生を防止する。
 図2は、フロー処理装置400の構成例を示す図である。フロー処理装置400は、例えば、フロー処理部401と、ポート410と、MACアドレステーブル420と、MAC重複テーブル490と、アクセスリストテーブル450とを備える。フロー処理部401とMAC重複テーブル490は、ソフトウェア上に構成される。ポート410と、MACアドレステーブルと、アクセスリストテーブル450とは、ハードウェアとして構成される。なお、フロー処理装置400において、ソフトウェア上に構成されるフロー処理部401やMAC重複テーブル490は、ハードウェアにおいて実装されていてもよい。
 ポート410は、フレーム600を送受信するインターフェースである。
 MACアドレステーブル420は、MACエントリを含む。MACエントリ421は、キーが“OVID及び宛先MACアドレス”であり、アクションが“出力ポート”指定である。すなわち、MACエントリに指定された“OVID及び宛先MACアドレス”を含むフレーム600が入力した場合、出力ポートが決定できる。
 ここで、フロー処理装置400Dは、フロー処理装置400Bから、“OVID:N1、IVID:B1、送信元MACアドレス:M1”のフレーム600Bを受信する。この場合、フロー処理装置400のMACアドレステーブル420は、フレーム600Bを受信したことに応じて、“送信先MACアドレスがM1で、OVIDがN1のフレームを、ポート410Bに転送する”旨の転送ルールを学習する(MAC学習)。
 フロー処理装置400Dは、フレーム600Bを受信した後に、フロー処理装置400Cから、“OVID:N1、IVID:B2、送信元MACアドレス:M1”のフレーム600Cを受信する。この場合、フロー処理装置400のMACアドレステーブル420は、フレーム600Cを受信したことに応じて、“送信先MACアドレスがM1で、OVIDがN1のフレームを、ポート410Bに転送する”旨の転送ルールを、“送信先MACアドレスがM1で、OVIDがN1のフレームを、ポート410Cに転送する”旨の転送ルールに更新する(MAC移動)。
 続いて、フロー処理装置400Dは、フロー処理装置400Aから、“OVID:N1、IVID:B1、送信元MACアドレス:M1、送信先MACアドレス:M1”のフレーム600Aを受信する。この場合フロー処理装置400Dは、更新した“送信先MACアドレスがM1で、OVIDがN1のフレームを、ポート410Cに転送する”旨の転送ルールに従って、当該フレーム600Aを転送する。ここで、フレーム600Aは送信先MACアドレスが“M1”であるところ、本来の転送先は“ポート410B”である。しかしながら、フレーム600Cに基づいてMACアドレステーブル420が更新された結果、当該フレーム600Aは本来の転送先(“ポート410B”)とは異なる“ポート410C”に転送されてしまうという問題が生じる。また、フレーム600Bとフレーム600Cとを受信する毎にMACテーブル420が書き換わる(MAC移動する)ため、フレーム600Aが、ある時は“ポート410B”に転送され、別の時は“ポート410C”に転送されてしまうという問題も生じる。
 そこで、第1の実施形態において、フロー処理装置400は、MAC重複の発生を検出し、当該MAC重複の発生をフロー制御装置100に通知する。MAC重複の発生の通知を受けたフロー制御装置100は、MAC重複となったフレームの各々が互いに異なる仮想ネットワークに属するように、仮想ネットワークの構成を変更する。MAC重複となったフレームの各々が互いに異なる仮想ネットワークに属するようになると、当該フレームの各々に格納されるOVIDは、互いに異なるものとなる。そのため、第1の実施形態では、MAC重複が防止される。
 フロー処理装置400のフロー処理部401は、異なる入力ポートの各々から、送信元MACアドレスとOVIDとが重複するフレーム(例えば、フレーム600Bとフレーム600C)を受信したことに応じて、MAC重複テーブル490に、送信元MACアドレスと、OVIDと、IVIDとを用いた転送ルールを登録する。例えば、フロー処理装置400Dは、フレーム600Bに続いてフレーム600Cを受信した場合、MAC重複テーブル490において、フレーム600Cに基づいて、送信先“送信先MACアドレスがM1で、OVIDがN1で、IVIDがB2のフレームを、ポート410Cに転送する”旨の重複エントリを学習する。
 フロー処理装置400のフロー処理部401は、MAC重複の発生を検知したことに応じて、フロー制御装置100に対して、“MAC重複が発生したこと”を示す所定の通知を行う。また、フロー処理装置400のフロー処理部401は、MACアドレステーブル490に重複エントリを登録したことに応じて、フロー制御装置100に対して、“MAC重複が発生したこと”を示す所定の通知を行う。所定の通知は、MAC重複が発生したフレームの各々に関する情報を含む。MAC重複が発生したフレームの各々に関する情報は、例えば、MAC重複が発生したフレームの各々に格納されているOVID、および、IVIDを含む。MAC重複が発生したフレームの各々に関する情報は、例えば、MAC重複テーブル490に登録された重複エントリであってもよい。MAC重複が発生したフレームの各々に関する情報は、例えば、MAC重複が発生したフレームそのものであってもよい。なお、“MAC重複が発生したこと”を示す信号に限られず、例えば、“重複エントリが登録されたこと”を示す信号などであってもよい。
 図3は、第1の実施形態におけるフロー制御装置100の構成例を示す図である。図3に示すように、フロー制御装置100は、メッセージ送受信部110と、MAC重複制御部120と、仮想ネットワーク管理部130と、OFS制御部140と、仮想ネットワーク700(例えば、メモリやデータベースにおいて構成される仮想ネットワーク700)を含む。
 メッセージ送受信部110は、フロー処理装置400との間で通信を行う機能を含む。
メッセージ送受信部110は、例えば、通信を行うためのインターフェースである。
 MAC重複制御部120は、フロー処理装置400から、“MAC重複が発生したこと”を示す所定の通知を受けたことに応じて、仮想ネットワーク管理部130に対して、MAC重複している仮想ネットワークの分離を指示する。MAC重複制御部120は、フロー処理装置400から受信した通知された情報に含まれるOVID、および、IVIDに基づいて、MAC重複している仮想ネットワークの分離を指示する。
 仮想ネットワーク管理部130は、MAC重複制御部120からの指示に応じて、MAC重複している仮想ネットワークの分離を実行する。仮想ネットワーク管理部130は、例えば、MAC重複制御部120からの指示に応じて、MAC重複している仮想ブリッジを、現在の仮想ネットワークから、他の仮想ネットワークに移動させる。
 OFS制御部140は、仮想ネットワークが分離されたことに基づいて、フロー処理装置400に対して、フロー変更のメッセージを通知する。
 図4は、第1の実施形態におけるフロー処理装置400の動作例を示すフローチャートである。
 フロー処理装置400のポート410は、フレームの送受信を行う(S1-1)。
 フロー処理装置400のフロー処理部401は、MAC重複の発生の有無を検知する(S1-2)。フロー処理部401は、例えば、異なる入力ポートの各々から、送信元MACアドレスとOVIDとが重複するフレーム(例えば、フレーム600Bとフレーム600C)を受信したことに応じて、MAC重複が発生したと検知する。
 フロー処理部401は、MAC重複の発生を検知した場合(S1-2のYES)に、MAC重複情報(MAC重複エントリ)をMAC重複テーブル490に登録する(S1-3)。フロー処理部401は、例えば、フレーム600Bに続いてフレーム600Cを受信した場合、MAC重複テーブル490において、フレーム600Cに基づいて、送信先“送信先MACアドレスがM1で、OVIDがN1で、IVIDがB2のフレームを、ポート410Cに転送する”旨の重複エントリを学習する。
 フロー処理部401は、MAC重複の発生を検知した場合に、フロー制御装置100に対して、“MAC重複が発生したこと”を示す所定の通知を行う(S1-4)。
 図5は、第1の実施形態におけるフロー制御装置100の動作例を示すフローチャートである。
 フロー制御装置100のMAC重複制御部120は、メッセージ送受信部110を介して、フロー処理装置400から“MAC重複が発生したこと”を示す所定の通知を受信する(S2-1)。
 MAC重複制御部120は、“MAC重複が発生したこと”を示す所定の通知を受けたことに応じて、仮想ネットワーク管理部130に対して、MAC重複している仮想ネットワークの分離を指示する(S2-2)。MAC重複制御部120は、フロー処理装置400から受信した通知された情報に含まれるOVID、および、IVIDに基づいて、MAC重複している仮想ネットワークの分離を指示する。仮想ネットワーク管理部130は、MAC重複制御部120からの指示に応じて、MAC重複している仮想ネットワークの分離を実行する。仮想ネットワーク管理部130は、例えば、MAC重複制御部120からの指示に応じて、MAC重複している仮想ブリッジを、現在の仮想ネットワークから、他の仮想ネットワークに移動させる。
 OFS制御部140は、仮想ネットワークが分離されたことに基づいて、フロー処理装置400に対して、フロー変更のメッセージを通知する(S2-3)。
 上記のとおり、第1の実施形態において、フロー処理装置400は、MAC重複の発生を検出し、当該MAC重複の発生をフロー制御装置100に通知する。そして、MAC重複の発生の通知を受けたフロー制御装置100は、MAC重複となったフレームの各々が互いに異なる仮想ネットワークに属するように、仮想ネットワークの構成を変更する。MAC重複となったフレームの各々が互いに異なる仮想ネットワークに属するようになると、当該フレームの各々に格納されるOVIDは、互いに異なるものとなる。そのため、第1の実施形態では、MAC重複が防止される。
 <第2の実施形態>
 図6及び図7は、本発明の第2の実施形態における通信システムの構成例を示す図である。なお、図6は、フロー制御装置100が仮想ネットワークを分離する前の構成例であり、図7は、フロー制御装置100が仮想ネットワークを分離した後の構成例である。
 なお、第2の実施形態の技術は、第1の実施形態、及び、後述の実施形態のいずれにも適用可能である。
 図6及び図7において、通信システムは、例えば、フロー制御装置100と、端末300と、フロー処理装置400とを含む。
 なお、端末300は、図1に示す第1の実施形態における通信システムの端末300と同様の構成であるため、詳細な説明は省略される。
 物理ネットワーク500は、例えば、フロー処理装置400を含み、仮想ネットワーク700と、仮想ブリッジ710A及び710Bとを用いた仮想ネットワークにおけるフレームの転送を実現するための物理環境を提供する。
 図8は、第2の実施形態における、フロー処理装置400の構成例を示す図である。フロー処理装置400は、ポート410、フレーム変換用テーブル430、VLANテーブル440、MACアドレステーブル420、アクセスリストテーブル(フレーム転送用)450Aを含む。また、フロー処理装置400は、フレーム処理部460、MAC重複処理部470、ハードウェア処理部480、メッセージ送受信部481、MAC重複テーブル490を含む。
 フロー処理装置400において、ポート410、フレーム変換用テーブル430、VLANテーブル440、MACアドレステーブル420、アクセスリストテーブル(フレーム転送用)450Aは、ハードウェアに構成される。フレーム処理部460、MAC重複処理部470、ハードウェア処理部480、メッセージ送受信部481、MAC重複テーブル490は、ソフトウェアに構成される。
 ここで、フロー処理装置400のフレーム処理部460は、フレーム600Bとフレーム600Cとが、ハードウェアのMACアドレステーブル420を通過した際に、MAC移動を検出する。MAC移動は、MACアドレステーブル420において、OVIDと送信先MACアドレスが同一の転送ルールにおいて、転送ルールが書き換えられる処理である。例えば、MACアドレステーブル420は、フレーム600Bが通過した際に、“送信先MACアドレスがM1で、OVIDがN1のフレームを、ポート410Bに転送する”旨の転送ルールを学習する。MACアドレステーブル420は、フレーム600Bの通過後フレーム600Cが通過した際に、“送信先MACアドレスがM1で、OVIDがN1のフレームを、ポート410Bに転送する”旨の転送ルールを、“送信先MACアドレスがM1で、OVIDがN1のフレームを、ポート410Cに転送する”旨の転送ルールに書き換える。
 上記のとおり、フレーム600Bと600Cとは、IVIDは異なるが、OVIDと送信元MACアドレスが同じであるため、フロー処理装置400のMACアドレステーブル420で学習するキー情報(OVIDとMACアドレス)が同じとなる。そのため、フレーム600B、600Cが入力する度に、MACアドレステーブル420のMACエントリ(転送ルール)は、ポート410Bと410Cとの間でMAC移動を繰り返す。そのため、フロー処理装置400は、MACアドレス:M1を送信先とするフレーム600Bを受信した場合、当該フレーム600Cを、MACアドレステーブルのMACエントリ(転送ルール)のポートに対して送信するため、正しい送信先であるポート410Bだけでなく、誤った送信先であるポート410Cにも送信する。
 そこで、第2の実施形態において、フロー処理装置400は、MAC重複の発生を検出し、当該MAC重複の発生をフロー制御装置100に通知する。MAC重複の発生の通知を受けたフロー制御装置100は、MAC重複が発生した仮想ブリッジの各々を、互いに異なる仮想ネットワークにそれぞれ移動させる。その結果、MAC重複となったフレームの各々が互いに異なる仮想ネットワークに属するようになるため、当該フレームの各々に格納されるOVIDは、互いに異なるものとなる。そのため、第2の実施形態では、MAC重複が防止される。
 ポート410は、フレーム600を送受信するインターフェースである。なお、受信したフレーム600は、ポート410、フレーム変換用テーブル430、VLANテーブル440、MACアドレステーブル420、アクセスリストテーブル(フレーム転送用)450Aの順に、パイプライン処理される。
 フレーム変換用テーブル430は、フレーム600のVLAN変換を実施するテーブルである。なお、フレーム変換用テーブル430は、フレーム600を更新するための機能を備え、フレーム600に対するその他のアクションも実行することができる。第2の実施形態において、フレーム変換用テーブル430は、例えば、MAC学習のキャンセルのアクションを実行するために用いられる。
 VLANテーブル440は、VLANエントリ441を含む。VLANエントリ441は、キーが“OVID”であり、アクションが“フレーム中継(例えば、後段のMACアドレステーブル420への処理へ進ませるためのアクション)”である。VLANテーブル440において、入力されたフレーム600に対応するエントリが存在しない場合には、当該フレーム600は廃棄される。VLANテーブル440は、フロー制御装置100の指示、または、フロー処理装置400のコンフィグにより、VLANエントリ441の登録/更新/削除を実行する。
 MACアドレステーブル420は、MACエントリを含む。MACエントリ421は、キーが“OVID及び送信先MACアドレス”であり、アクションが“出力ポート”指定である。すなわち、MACエントリに指定された“OVID及び送信先MACアドレス”を含むフレーム600が入力した場合、出力ポートが決定できる。MACエントリ421は、ハードウェアによって、自動的に登録/更新/削除される。MACアドレステーブル420に入力されたフレーム600に含まれる“OVID及び送信先MACアドレス”をキーとするMACエントリ421が存在しない場合、MAC学習が実行される(すなわち、新たなMACエントリが登録される)。MACエントリ421が存在するが、MACエントリ421に指定された出力ポート410と、フレーム600の入力ポート410とが異なる場合、MACエントリ421に指定された出力ポートの情報(ポートの識別子やポート番号など)を、フレームの入力ポートの情報(ポートの識別子やポート番号など)に更新する(MAC移動)。
 なお、MACアドレステーブル420において、所定の時間である“エージング設定時間”を超える間、MACエントリのキーに一致するフレーム600を受信しなかった場合、当該MACエントリは削除される。
 アクセスリストテーブル(フレーム転送用)450Aは、フレーム転送用のテーブルである。アクセスリストテーブル(フレーム転送用)450Aに含まれるエントリにヒット(HIT)するフレーム600が入力した場合、当該ヒットしたエントリのアクションが当該フレーム600に対して適用される。
 また、アクセスリストテーブル(フレーム転送用)450Aは、論理テーブルにおいて、フレーム600に適用される際の優先度を示す“エントリ優先度”を有する。例えば、アクセスリストテーブル(フレーム転送用)450Aに含まれるエントリの各々は優先度を含み、入力されたフレーム600にヒットするエントリが複数ある場合には、当該優先度の高いエントリで指定されたアクションが当該フレーム600に優先して適用される。なお、第2の実施形態の図面においては、アクセスリストテーブル(フレーム転送用)450Aのより上位(上位置)に記載されたエントリが、高優先のエントリとする。
 アクセスリストテーブル(フレーム転送用)450Aに含まれるUC出力用エントリ451Aは、MACアドレステーブル420のMACエントリ421にヒット(HIT)したフレーム600だけがヒット(HIT)するエントリであり、MACエントリ421によって指定されたポート410からフレーム600を出力する役割を有する。
 フレーム600がUC出力用エントリにヒット(HIT)しない場合(MAC学習されていない場合)、当該フレーム600は、UC出力用エントリ451Aよりも優先度が低い“Flooding出力用エントリにヒット(HIT)し、当該フレーム600はFlooding出力される。UC出力用エントリ及びFlooding出力用エントリは、フロー制御装置100の指示により、アクセスリストテーブル250に登録/更新/削除される。
 フレーム処理部460は、MACアドレステーブル420におけるMAC移動が発生した場合に、当該MAC移動の要因となったフレーム600又はそのコピーを受信する。フレーム処理部460は、MAC重複処理部470に、フレーム600又はそのコピーを通知する。
 MAC重複処理部470は、フレーム処理部460から受信したフレーム600の情報(ヘッダ情報など)に基づいて、MAC重複テーブル490にエントリを登録する。例えば、MAC重複処理部470は、MAC重複テーブル490に、フレーム600A、及び、600Bのそれぞれに対応するMAC重複エントリ491Aと、491Bとを登録し、IVIDを含めた形式のMACエントリとして管理する。
 また、MAC重複処理部470は、フレーム処理部460から受信したフレーム600の情報(ヘッダ情報など)に基づいて、ハードウェアの各テーブルのエントリの登録/更新/削除を、ハードウェア処理部480に指示する。例えば、MAC重複処理部470は、MAC重複テーブル490内のMAC重複エントリ491Aと、291Bとの情報に基づき、ハードウェアのフレーム変換用テーブル430に対して、エージング用エントリ431Aと、431Bとの登録を指示する。エージング用エントリ431A、431Bは、フレーム600A、600Bが入力しなくなった際のエージングを検出する役割を持つ。
 エージング用エントリ431は、キーが“OVID、IVID、送信元MACアドレス、入力ポート”であり、アクションが“MAC学習キャンセル及びWriteMetadata”である。MAC学習キャンセルは、当該エージング用エントリ431にヒット(HIT)するフレームがMACアドレステーブル420に入力した場合に、MAC学習させないという役割を持つ。WriteMetadataは、当該エージング用エントリ431にヒット(HIT)したことを、Frame情報として保持させる役割を持つ。
 また、MAC重複処理部470は、アクセスリストテーブル(フレーム転送用)450Aに対して、UC出力用エントリ451Aと、452Aとの登録を指示する。UC出力用エントリ451A、452Aは、重複MACが発生したフレームを、正しいポートへ出力するための役割を持つ。例えば、アクセスリストテーブル(フレーム転送用)450Aは、UC出力用エントリ451Aとして、“送信元MACアドレスがM1で、OVIDがN1で、IVIDがB1のフレームを、ポート1に転送する”旨を登録する。また、アクセスリストテーブル(フレーム転送用)450Aは、UC出力用エントリ452Bとして、“送信元MACアドレスがM1で、OVIDがN1で、IVIDがB2のフレームを、ポート2に転送する”旨を登録する。
 ハードウェア処理部480は、MAC重複処理部470の指示に従い、ハードウェアの各テーブルに、エントリを登録/更新/削除する。また、エージング用エントリ431のフレームの統計情報(フレーム統計)から、MAC重複エントリのエージアウトを検出する。ハードウェア処理部480は、エージアウトを検出した場合、MAC重複処理部470に当該エージアウトを通知する。
 上記のとおり、UC出力用エントリ452と、エージング用エントリ431によって、フロー処理装置400における誤転送を回避するとともに、エージングにも追随することができる。
 また、MAC重複処理部470は、ハードウェアで構成される各テーブルに対する、MACエントリ421Aの削除を指示する。MACエントリ421Aを削除することで、新規のMAC重複がさらに発生した場合であっても、ハードウェア上ですみやかにMAC学習が動作し、フレーム600の転送処理を、UC転送に移行することが可能となる。
 図9は、上記で説明した各テーブルに格納されるエントリの構成例を示す図である。図9に示すように、MAC重複エントリは、キーが“OVID、IVID、MACアドレス”であり、アクションが“出力ポート指定”である。また、MACエントリは、キーが“OVID、MACアドレス”であり、アクションが“出力ポート指定”である。また、VLANエントリは、キーが“OVID”であり、アクションが“フレーム中継”である。
また、エージング用エントリは、キーが“OVID、IVID、送信元MACアドレス”であり、アクションが“MAC学習キャンセル、WriteMetadata”である。
また、MAC重複UC出力用エントリは、キーが“OVID、IVID、送信先MACアドレス”であり、アクションが“ポート指定”である。
 第2の実施形態において、フロー制御装置100は、図3に示す第1の実施形態における通信システムのフロー制御装置100と同様の構成である。
 フロー制御装置100のメッセージ送受信部110は、フロー処理装置400のメッセージ送受信部481から、MAC重複通知を受信する。MAC重複通知は、“MAC重複が発生したこと”を示す所定の通知である。MAC重複通知は、例えば、MAC重複が発生したフレームの各々に関する情報を含む。MAC重複が発生したフレームの各々に関する情報は、例えば、MAC重複テーブル490に登録された重複エントリである。メッセージ送受信部110は、受信したMAC重複通知を、MAC重複制御部120に転送する。
 MAC重複制御部120は、受信したMAC重複通知から、MAC重複が発生した仮想ネットワークのID(OVID)と仮想ブリッジのID(IVID)とを抽出し、抽出された仮想ブリッジを、異なる仮想ネットワークに分離するように、仮想ネットワーク管理部130に指示する。また、MAC重複制御部120は、分離された仮想ネットワークの情報(OVID、IVID)から、フレームの変換処理、および、VLANタグに関連するフローの変更の処理に関する制御メッセージを、OFS制御部140に送信する。
 仮想ネットワーク管理部130は、例えば、メモリやデータベースに格納されている仮想ネットワーク700の仮想ブリッジ710に基づいて、MAC重複した仮想ブリッジの各々を、互いに異なる仮想ネットワークデータにそれぞれ移動させる(仮想ネットワークの分離)。仮想ネットワーク管理部130は、仮想ネットワークの分離が完了すると、分離した仮想ネットワークの情報をMAC重複制御部120に送信する。分離した仮想ネットワークの情報は、分離後の各々の仮想ネットワークのID(OVID)と仮想ブリッジのID(IVID)とを含む。
 OFS制御部140は、フロー変更のメッセージを作成して、メッセージ送受信部110を介して、フロー処理装置に送信する。フロー変更のメッセージは、例えば、OpenFlowにおけるフローエントリである。
 図10は、第2の実施形態におけるフロー処理装置400の動作例を示すフローチャートである。
 端末300Aと端末300Bとは、フロー処理装置400を介して、相互に通信している(S3-1)。具体的には、フロー処理装置400は、ポート410Aから、“OVID:N1、IVID:B1、送信元MACアドレス:M1、送信先MACアドレス:M1”のフレーム600Aを受信し、ポート410Bを介して転送する。また、フロー処理装置400は、ポート410Bから、“OVID:N1、IVID:B1、送信元MACアドレス:M1,送信先MACアドレス:M2”のフレーム600Bを受信し、ポート410Aを介して転送する。
 図11は、端末300Aと端末300Bとが相互に通信している場合の、フロー処理装置400の構成例を示す図である。
 フロー処理装置400は、端末300Aから、ポート410Aを介して、フレーム600Aを受信する。その結果、フロー処理装置400のMACアドレステーブル420は、“送信先MACアドレスがM2で、OVIDがN1のフレームを、ポート410Aに転送する”というMACエントリ421Bを学習する。一方、フロー処理装置400は、端末300Bから、ポート410Bを介して、フレーム600Bを受信する。その結果、フロー処理装置400のMACアドレステーブル420は、“送信先MACアドレスがM1で、OVIDがN1のフレームを、ポート410Bに転送する”というMACエントリ421Aを学習する。その結果、図8に示すように、MACアドレステーブル420には、MACエントリ421Aと、MACエントリ421Bとが学習される。なお、図8のフロー処理装置400は、予めMACエントリ421CとMACエントリ421Dとが学習されている。
 フロー処理装置400が、フレーム600Bを受信した場合には、MACアドレステーブル420に登録されているMACエントリ421Bに従って、当該フレーム600Bの転送処理が実行される。また、フロー処理装置400が、フレーム600Aを受信した場合には、MACアドレステーブル420に登録されているMACエントリ421Aに従って、当該フレーム600Aの転送処理が実行される。
 また、図11に示すように、アクセスリストテーブル(フレーム転送用)450Aは、UC出力用エントリ451Aと、Flooding出力用エントリ452Aとが登録されている。図11に示すように、MACアドレステーブル420に登録されているMACエントリ421にヒットしたフレーム600は、UC出力用エントリ451Aに従って、MACエントリ421で指定されたポート410から転送される。例えば、フレーム600Aは、UC出力用エントリ451Aに従って、MACエントリ421Aで指定されたポート410Aから転送される。
 次に、フロー処理装置400は、ポート410Cから、“OVID:N1、IVID:B2、送信元MACアドレス:M1、送信先MACアドレス:M5”のフレーム600Cを受信する(S3-2)。フレーム600Cは、VLANテーブル440のVLANエントリ441Aにヒット(HIT)することにより、MACアドレステーブル420の処理に進む(S3-3)。
 フロー処理装置400がフレーム600Cを受信した場合、MACアドレステーブル420のMACエントリ421Bが、“送信先MACアドレスがM1で、OVIDがN1のフレームを、ポート410Cに転送する”旨の内容に書き換わる(MAC移動)。すなわち、フレーム600Cが、MACアドレステーブル420ですでに学習済みのMACエントリ421Aの“OVID:N1、送信MACアドレスM1”と同一のキーであり、ポートが異なるため、当該MACエントリ421のポートを、フレーム600Cの入力ポート410Cに更新する(S3-4)。
 フロー処理装置400は、フレーム600Cを、MACアドレステーブル420に予め学習されている送信先MACエントリ421Cと、アクセスリストテーブル(フレーム転送用)450Aに登録されているUC出力用エントリ451Aに従って、転送処理を実行する(S3-5)。
 フロー処理装置400は、MACアドレステーブルにおけるMAC移動(MAC重複)が生じたことに応じて、フレーム600Cを、フレーム処理部460に通知する。フレーム処理部460は、フレーム600Cを、MAC重複処理部470に通知する(S3-6)。
 MAC重複処理部470は、フレーム600Cに含まれる情報(例えば、ヘッダ情報)に基づき、MAC重複テーブル490に、MAC重複エントリ491Bを登録する(S3-7)。MAC重複エントリ491Bは、“OVID:N1、IVID:B2、送信先MACアドレス:M1”をキーとして、“ポート410C”を出力ポートとするエントリである。
 MAC重複処理部470は、ハードウェア処理部480に、MACエントリ421Aの削除を指示する。MAC重複処理部470は、指示されたMACエントリ421Aを削除する(S3-8)。
 MACエントリ421Aを削除することにより、次に受信したフレームが、フレーム600Cであっても、フレーム600Bであっても、すみやかにMAC学習が動作し、UC転送に移行することが可能である。
 また、フロー処理装置400は、MAC重複ではなく、MAC移動の際には、ソフトウェアにフレームが通知されないため、一定時間経過した場合には、MAC重複テーブル490からMAC重複エントリ491Bを削除する処理を行う。
 図12は、図11の状態において、フロー処理装置400のポート410Cを介して、フレーム600Cを受信した場合の、フロー処理装置400の構成例を示す図である。
 フロー処理装置400のMACアドレステーブル420において、フレーム600Cが入力されたことによりMAC移動が発生するため、フレーム処理部460は、当該フレーム600Cの通知を受ける。
 MAC重複処理部470は、フレーム処理部460からフレーム600Cを通知されたことにより、MAC重複テーブル490にMAC重複エントリ491Bを登録する。
 MAC重複エントリ491Bは、キーが“OVID,IVID、送信先MACアドレス”であり、アクションが“出力ポート”である。すなわち、MAC重複エントリ491は、ハードウェアで表現できないIVIDを含めたMACエントリを、ソフトウェアで管理する。
 MAC重複エントリ491Bのキーは、“OVID:N1、IVID:B2、送信先MACアドレス:M1”であり、アクションは“入力ポート410C“である。MAC重複エントリ491Bは、フレーム600Cに基づいて、設定される。
 MACエントリ421Aは、MAC重複処理部470の指示により、ハードウェア処理部480を介して、削除される。MACエントリ421Aの削除により、MACアドレス:M1を送信先とするフレーム600Aは、アクセスリストテーブル(フレーム転送用)450AのFlooding出力用エントリ452Aにヒット(HIT)し、Flooding出力される。
 MAC重複処理部470は、フロー処理装置400に対して、MAC重複通知を送信する(S3-9)。MAC重複通知は、例えば、MAC重複エントリ491Bを含む。
 図13は、図12の状態において、MAC重複処理部470が、メッセージ送受信部481を介して、フロー処理装置400に対してMAC重複通知を送信する場合の、フロー処理装置400の構成例を示す図である。
 MAC重複処理部470は、MAC重複テーブルにMAC重複エントリ491Bが登録されたことに応じて、メッセージ送受信部481を介して、MAC重複通知の送信を指示する。
 図14は、第2の実施形態におけるフロー制御装置100の動作例を示すフローチャートである。
 フロー制御装置100のメッセージ送受信部110は、フロー処理装置400のメッセージ送受信部481から、MAC重複通知を受信する(S4-1)。MAC重複通知は、例えば、MAC重複エントリ491Bを含む。
 MAC重複制御部120は、MAC重複通知の受信に応じて、当該受信したMAC重複通知から、MAC重複が発生した仮想ネットワークのID(OVID)と仮想ブリッジのID(IVID)とを抽出し、抽出された仮想ブリッジを、異なる仮想ネットワークに分離するように、仮想ネットワーク管理部130に指示する(S4-2)。
 図15は、MAC重複通知をフロー処理装置400から受信した場合の、フロー制御装置100の構成例を示す図である。図15に示すように、フロー制御装置100のメッセージ送受信部110は、MAC重複通知を受信すると、MAC重複制御部120に転送する。MAC重複制御部120は、受信したMAC重複通知に含まれるMAC重複が発生したフレームの各々に関する情報に基づいて、MAC重複が発生している仮想ネットワークのID(OVID)と、仮想ブリッジのID(IVID)とを取得し、仮想ネットワーク管理部130に対して仮想ネットワークの分離を指示する。
 仮想ネットワーク管理部130は、MAC重複制御部120からの指示に応じて、仮想ネットワーク700の仮想ブリッジ710に基づき、MAC重複が発生した仮想ブリッジの各々を、互いに異なる仮想ネットワークデータにそれぞれ移動させる(S4-3)。
 図16は、図15においてネットワーク分離の指示を受けた仮想ネットワーク管理部130が、仮想ネットワークを分離した後の、フロー制御装置100の構成例を示す図である。図16に示すように、仮想ネットワーク管理部130は、MAC重複している仮想ブリッジ(ID:B1,B2)の各々を、互いに異なる仮想ネットワーク(ID:N1)と仮想ネットワーク(ID:N2)に分離する。仮想ネットワーク管理部130は、例えば、仮想ブリッジ710から仮想ブリッジ(ID:B2)を分離して、仮想ネットワーク720に移動させる。
 仮想ネットワーク管理部130は、仮想ネットワークの分離が完了すると、分離した仮想ネットワークの情報をMAC重複制御部120に送信する。分離した仮想ネットワークの情報は、分離後の各々の仮想ネットワークのID(OVID)と仮想ブリッジのID(IVID)とを含む。
 MAC重複処理部120は、分離された仮想ネットワークの情報(OVID、IVID)から、フレームの変換処理、および、VLANタグに関連するフローの変更の処理に関する制御メッセージを、OFS制御部140に送信する(S4-4)。
 OFS制御部140は、仮想ネットワークが分離されたことに基づいて、フロー処理装置400に対して、フロー変更のメッセージを通知する(S4-5)。
 図17は、OFS制御部140が、仮想ネットワークの変更に伴うフロー変更に関するメッセージを、フロー処理装置400に送信する場合の、フロー制御装置100の構成例を示す図である。OFS制御部140は、仮想ネットワークの分離に伴って変更されたフレームに関連するフローについて、当該フローに対する処理規則を含むフロー処理装置400に対して、当該処理規則の変更を指示する。OFS制御部140は、変更後の処理規則を、フロー処理装置400に通知してもよい。
 OFS制御部140は、例えば、フロー処理装置400Cに対して、端末300Cから送信されるフレームのOVIDを仮想ネットワーク700B(ID:N2)に対応付け、当該フレームのIVIDを仮想ブリッジ710B(ID:B2)に対応づけるための指示を通知する。
 OFS制御部140は、フローの変更について、Egress側からフローを追加し、当該Egress側のフローの追加が完了してから、Ingress側のフロー追加を実施する。OFS制御部140は、通信の遮断を防止するため、Ingressのフロー追加の完了後、変更前のフローをIngress側、Egress側の順に削除する。
 図7は、フロー制御装置100が仮想ネットワークを分離した後の通信システムの構成例である。図7に示すように、図6においてMAC重複が発生していたフレーム600Cについて、当該フレーム600CのOVID、IVIDの対応が、それぞれ仮想ネットワーク700B、仮想ブリッジ710Bとなっており、フロー処理装置400DにおいてMAC重複の発生が防止される。
 上記のとおり、第2の実施形態において、フロー処理装置400は、MAC重複の発生を検出し、当該MAC重複の発生をフロー制御装置100に通知する。MAC重複の発生の通知を受けたフロー制御装置100は、MAC重複が発生した仮想ブリッジの各々を、互いに異なる仮想ネットワークにそれぞれ移動させる。その結果、MAC重複となったフレームの各々が互いに異なる仮想ネットワークに属するようになるため、当該フレームの各々に格納されるOVIDは、互いに異なるものとなる。そのため、第2の実施形態では、MAC重複が防止される。
 以上、本発明の実施形態を説明したが、本発明は、上記したそれぞれの実施形態に限定されるものではない。本発明は、各実施形態の変形・置換・調整に基づいて実施できる。
また、本発明は、各実施形態を任意に組み合わせて実施することもできる。即ち、本発明は、本明細書の全ての開示内容、技術的思想に従って実現できる各種変形、修正を含む。
また、本発明は、SDN(Software-Defined Network)の技術分野にも適用可能である。
 この出願は、2016年3月30日に出願された日本出願特願2016-68843を基礎とする優先権を主張し、その開示の全てをここに取り込む。
 100 フロー制御装置
 300 端末
 400 フロー処理装置
 401 フロー処理部
 410 ポート
 420 MACアドレステーブル
 421 MACエントリ
 430 フレーム変換用テーブル
 431 エージング用エントリ
 440 VLANテーブル
 441 VLANエントリ
 450 アクセスリストテーブル
 451 UC出力用エントリ
 460 フレーム処理部
 470 MAC重複処理部
 480 ハードウェア処理部
 490 MAC重複テーブル
 491 MAC重複エントリ
 500 物理ネットワーク
 600 フレーム
 700 仮想ネットワーク
 710 仮想ブリッジ

Claims (10)

  1.  異なるポートから受信した所定の仮想ネットワークに属する複数のフレームの送信元MACアドレスが同一の場合に、MAC重複の発生を示すMAC重複通知を送信するフロー処理装置と、
     前記フロー処理装置から前記MAC重複通知を受信した場合に、前記所定の仮想ネットワークの構成を変更するフロー制御装置と、
    を含む通信システム。
  2.  前記フロー制御装置は、
      前記複数のフレームの送信元である仮想ブリッチの各々が、互いに異なる仮想ネットワークに属するように、前記所定の仮想ネットワークを分離する
    ことを特徴とする請求項1の通信システム。
  3.  前記フロー処理装置は、
      前記MAC重複が発生した場合に、前記複数のフレームに関する情報を含むMAC重複エントリを記憶する
    ことを特徴とする請求項1又は2に記載の通信システム。
  4.  前記フロー処理装置は、
      前記MAC重複エントリを含む前記MAC重複通知を送信し、
     前記フロー制御装置は、
      前記MAC重複通知に含まれる前記MAC重複エントリに基づいて、前記所定の仮想ネットワークの構成を変更する
    ことを特徴とする請求項3に記載の通信システム。
  5.  前記フロー処理装置は、
      前記所定の仮想ネットワークの識別子であるOVID(Outer VLAN ID)と、前記複数のフレームの送信元である仮想ブリッチの識別子であるIVID(Inter VLAN ID)とを含む前記MAC重複通知を送信する
    ことを特徴とする請求項1乃至3のいずれかの通信システム。
  6.  前記フロー制御装置は、
      受信した前記MAC重複通知に含まれるOVIDとIVIDとに基づいて、前記複数のフレームの送信元である仮想ブリッチの各々が互いに異なる仮想ネットワークに属するように、前記所定の仮想ネットワークを分離する
    ことを特徴とする請求項5の通信システム。
  7.  前記フロー処理装置は、
      前記フロー制御装置からの通知に基づいて、前記複数のフレームの各々に、当該フレームの各々に対応する前記OVIDと前記IVIDとを格納し、
     前記フロー制御装置は、
      前記所定の仮想ネットワークを分離した場合に、前記フロー処理装置に対して、前記複数のフレームの各々に格納する新たなOVIDとIVIDとを通知する
    ことを特徴とする請求項5又は6に記載の通信システム。
  8.  所定の仮想ネットワークに属する複数のフレームを処理するフロー処理装置を制御可能なフロー制御装置であって、
     前記フロー処理装置から前記複数のフレームにおけるMAC重複の発生を示すMAC重複通知を受信した場合に、前記所定の仮想ネットワークの構成の変更を要求するMAC重複制御手段と、
     前記要求に応じて、前記所定の仮想ネットワークの構成を変更する仮想ネットワーク管理手段と、
    を含むことを特徴とするフロー制御装置。
  9.  フロー制御装置によって制御されるフロー処理装置であって、
      所定の仮想ネットワークに属する複数のフレームを受信する複数のポートと、
      異なるポートから受信した前記複数のフレームの送信元MACアドレスが同一の場合に、前記フロー制御装置に対して、MAC重複の発生を示すMAC重複通知を送信するMAC重複処理手段と
    を含むことを特徴とするフロー処理装置。
  10.  異なるポートから受信した所定の仮想ネットワークに属する複数のフレームの送信元MACアドレスが同一の場合に、MAC重複の発生を示すMAC重複通知を送信し、
     前記MAC重複通知を受信した場合に、前記所定の仮想ネットワークの構成を変更する
    制御方法。
PCT/JP2017/011805 2016-03-30 2017-03-23 通信システム、フロー制御装置、フロー処理装置及び制御方法 WO2017170155A1 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2018509196A JP6566124B2 (ja) 2016-03-30 2017-03-23 通信システム、フロー制御装置、フロー処理装置及び制御方法
US16/085,295 US20190089674A1 (en) 2016-03-30 2017-03-23 Communication system, flow control apparatus, flow processing apparatus, and control method

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2016-068843 2016-03-30
JP2016068843 2016-03-30

Publications (1)

Publication Number Publication Date
WO2017170155A1 true WO2017170155A1 (ja) 2017-10-05

Family

ID=59965542

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2017/011805 WO2017170155A1 (ja) 2016-03-30 2017-03-23 通信システム、フロー制御装置、フロー処理装置及び制御方法

Country Status (3)

Country Link
US (1) US20190089674A1 (ja)
JP (1) JP6566124B2 (ja)
WO (1) WO2017170155A1 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2022100833A (ja) * 2020-12-24 2022-07-06 Necプラットフォームズ株式会社 通信制御装置、システム、方法、及びプログラム

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11258888B2 (en) * 2019-11-11 2022-02-22 Cisco Technology, Inc. Parallel redundancy protocol (PRP) using non-overlapping resource unit (RU) groupings on a radio

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010130605A (ja) * 2008-12-01 2010-06-10 Fujitsu Ltd スイッチ
JP2013168771A (ja) * 2012-02-15 2013-08-29 Kddi Corp 重複macアドレスを特定するネットワーク監視システムおよび監視方法
US20150016461A1 (en) * 2013-06-18 2015-01-15 Telefonaktiebolaget L M Ericsson (Publ) Duplicate mac address detection
US20150195178A1 (en) * 2014-01-09 2015-07-09 Ciena Corporation Method for resource optimized network virtualization overlay transport in virtualized data center environments

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8224946B2 (en) * 2009-04-24 2012-07-17 Rockstar Bidco, LP Method and apparatus for accommodating duplicate MAC addresses

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010130605A (ja) * 2008-12-01 2010-06-10 Fujitsu Ltd スイッチ
JP2013168771A (ja) * 2012-02-15 2013-08-29 Kddi Corp 重複macアドレスを特定するネットワーク監視システムおよび監視方法
US20150016461A1 (en) * 2013-06-18 2015-01-15 Telefonaktiebolaget L M Ericsson (Publ) Duplicate mac address detection
US20150195178A1 (en) * 2014-01-09 2015-07-09 Ciena Corporation Method for resource optimized network virtualization overlay transport in virtualized data center environments

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2022100833A (ja) * 2020-12-24 2022-07-06 Necプラットフォームズ株式会社 通信制御装置、システム、方法、及びプログラム
JP7251872B2 (ja) 2020-12-24 2023-04-04 Necプラットフォームズ株式会社 通信制御装置、システム、方法、及びプログラム

Also Published As

Publication number Publication date
JP6566124B2 (ja) 2019-08-28
JPWO2017170155A1 (ja) 2019-01-10
US20190089674A1 (en) 2019-03-21

Similar Documents

Publication Publication Date Title
US20200145334A1 (en) Communication system, communication device, controller, and method and program for controlling forwarding path of packet flow
US9225641B2 (en) Communication between hetrogenous networks
US9794124B2 (en) Information system, control server, virtual network management method, and program
JP5850471B2 (ja) 通信システム、制御装置、ノード制御方法およびプログラム
JP5850068B2 (ja) 制御装置、通信システム、通信方法およびプログラム
US20160212048A1 (en) Openflow service chain data packet routing using tables
JP5652565B2 (ja) 情報システム、制御装置、通信方法およびプログラム
EP3017569A1 (en) Virtual network
US20140344424A1 (en) System, method and computer-readable medium
JP6299745B2 (ja) 通信システム、制御装置、通信方法及びプログラム
JP6566124B2 (ja) 通信システム、フロー制御装置、フロー処理装置及び制御方法
US20150334019A1 (en) Routing control method and non-transitory computer-readable recording medium storing routing control program
JP5747997B2 (ja) 制御装置、通信システム、仮想ネットワークの管理方法およびプログラム
JP6460256B2 (ja) フロー処理装置、通信システム及びフロー処理方法
WO2014126094A1 (ja) 通信システム、通信方法、制御装置、制御装置の制御方法及びプログラム
JP5742268B2 (ja) 通信システム、制御装置、通信方法
JP6519461B2 (ja) 通信システム
JP2009278235A (ja) 通信システム、制御ノード、転送ノード、サービス処理ノード、及び通信方法
WO2016068238A1 (ja) ネットワークの制御システム、制御装置、ネットワーク情報の管理方法及びプログラム
JP2017175522A (ja) ネットワークシステム、制御装置、方法およびプログラム
WO2018230608A1 (ja) 通信システム、通信制御装置、スイッチ装置、通信制御方法、及び、記録媒体
JP2014158084A (ja) パケット中継装置及びパケット中継方法
JP5768600B2 (ja) 通信システム、制御装置、パケット転送方法およびプログラム
WO2015118811A1 (ja) 通信システム、パケット転送装置、パケット転送方法およびパケット転送用プログラム
JP2017183960A (ja) スイッチ制御装置、方法およびプログラム

Legal Events

Date Code Title Description
WWE Wipo information: entry into national phase

Ref document number: 2018509196

Country of ref document: JP

NENP Non-entry into the national phase

Ref country code: DE

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

Ref document number: 17774693

Country of ref document: EP

Kind code of ref document: A1

122 Ep: pct application non-entry in european phase

Ref document number: 17774693

Country of ref document: EP

Kind code of ref document: A1