WO2017073033A1 - Flow processing device, communication system and flow processing method - Google Patents

Flow processing device, communication system and flow processing method Download PDF

Info

Publication number
WO2017073033A1
WO2017073033A1 PCT/JP2016/004629 JP2016004629W WO2017073033A1 WO 2017073033 A1 WO2017073033 A1 WO 2017073033A1 JP 2016004629 W JP2016004629 W JP 2016004629W WO 2017073033 A1 WO2017073033 A1 WO 2017073033A1
Authority
WO
WIPO (PCT)
Prior art keywords
mac
entry
frame
flow processing
duplication
Prior art date
Application number
PCT/JP2016/004629
Other languages
French (fr)
Japanese (ja)
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 JP2017547608A priority Critical patent/JP6460256B2/en
Publication of WO2017073033A1 publication Critical patent/WO2017073033A1/en

Links

Images

Definitions

  • the present invention relates to a flow processing device, a communication system, and a communication method.
  • IEEE 802.1Q As a network standard, there is IEEE (Institut of Electric and Electronics Engineers, Inc.) 802.1Q. IEEE 802.1Q is called QinQ.
  • VLAN Virtual LAN
  • Virtual LAN is a technology for constructing a virtual LAN (Local Area Network) in a network.
  • 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 has a configuration in which a virtual bridge is arranged under a virtual network.
  • a virtual network ID (IDentifier) and a virtual bridge ID managed by the flow control apparatus are associated with an OVID (Outer VLAN ID) and an IVID (Inner VLAN ID) of the frame, respectively.
  • OVID Outer VLAN ID
  • IVID Inner VLAN ID
  • Patent Document 1 describes that normal communication may not be possible in a network environment composed of virtual machines and network devices that are virtually constructed. Specifically, in Patent Document 1, in the above environment, if the MAC address set at the time of virtual machine creation is duplicated, normal communication cannot be performed with an operating virtual machine with the duplicated MAC address. It is described that it may be.
  • Patent Document 2 discloses that client devices are assigned to different subnets in order to prevent normal communication from being disabled due to MAC duplication. Specifically, in order to avoid the above, Patent Document 2 discloses that client devices are assigned to different subnets so that two client devices having the same MAC address are not assigned to the same subnet as necessary. ing.
  • 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 provides a flow processing device, a communication system, and a flow processing method capable of avoiding erroneous transfer due to MAC duplication even when MAC duplication occurs in the flow processing device. That is.
  • the MAC address table in which the MAC entry is registered and the information related to the frame in accordance with the transmission destination information of the MAC entry being updated based on the received frame are displayed.
  • a communication system includes a node that transfers a frame based on an instruction from a control device, and a flow processing device that transfers a frame received from the node based on a MAC address table in which a MAC entry is registered.
  • the flow processing device includes a MAC duplication table for registering a duplicate entry including information related to the frame in response to the update of the transmission destination information of the MAC entry based on the received frame, and a MAC duplication An access list table for registering transfer entries for transferring frames related to the plurality of duplicate entries in response to the registration of a plurality of duplicate entries related to each other in the table, and a plurality of duplicate entries The frame related to is transferred according to the transfer entry.
  • the flow processing method registers a MAC entry, and registers a duplicate entry including information related to the frame when the transmission destination information of the MAC entry is updated based on the received frame.
  • a transfer entry for transferring a frame related to the plurality of duplicate entries is registered, and a frame related to the plurality of duplicate entries is transferred. The transfer is performed according to the entry.
  • the flow processing apparatus, communication system, and flow processing method of the present invention can avoid erroneous transfer due to MAC duplication even when MAC duplication occurs in the flow processing apparatus.
  • 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, an edge node 200, 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.
  • OpenFlow network a general switch mechanism is separated into the following modules.
  • the first module is an OFC (OFC: OpenFlow Controller) that is a module that can be changed by externally programming the route determination process.
  • the second module is an OFS (OFS: OpenFlow Switch) that is a module that performs only packet transfer processing.
  • OFC OpenFlow Controller
  • OFS OpenFlow Switch
  • 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 rules are defined by various combinations using any or all of the following addresses and ports, and are distinguishable.
  • the address is a destination address (Destination Address) and a source address (Source Address) included in the header area of each protocol layer of the packet.
  • a port is defined by various combinations using any or all of a destination port (Destination Port) and a source port (Source Port), and is distinguishable.
  • the above address includes a MAC address (Media Access Control Address) and an IP address (Internet Protocol Address).
  • Information on the ingress port (Ingress Port) can also be used as a rule for the flow entry.
  • a part (or all) of a header area value of a packet indicating a flow expressed by a regular expression or a wild card “*” may be set as a flow entry rule. it can.
  • 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, OFS determines that the packet is a “first packet”. Then, the OFS inquires of the OFC about how to process the packet by transferring a copy (duplicate) of the packet to the OFC.
  • 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 edge node 200 is located at the boundary of the physical network 500 and executes processing for the packet.
  • the edge node 200 includes, for example, an OFS function. Note that the edge node 200 includes not only the packet processing with the OFS function, but also the function of processing the packet by MAC learning, for example.
  • edge node 200 and the flow processing device 400 may be devices having the same configuration.
  • the device when the device is arranged at the boundary of the physical network 500, the device becomes the edge node 200, and the transfer process is executed under the control of the flow control device 100.
  • the device when the device is arranged in the core portion of the physical network 500, the device becomes the flow processing device 400, and executes a transfer process by MAC learning.
  • the terminal 300 is a device that performs communication via the edge node 200, the flow processing device 400, and the like.
  • the terminal 300 is, for example, a mobile phone, a PC (Personal Computer), or a mobile router.
  • the terminal 300 is, for example, a smart device (for example, a smart meter, a smart TV, or a wearable terminal that monitors household power consumption), an M2M (Machine to Machine) device, or the like.
  • the M2M device includes, for example, an industrial device, a car, a healthcare device, and a home appliance in addition to the above device.
  • 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 600 based on MAC learning.
  • the flow control device 100 remotely controls the edge node 200 and 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.
  • the virtual network ID and virtual bridge ID managed by the flow control apparatus 100 are associated with the OVID and IVID of the frame 600, respectively.
  • the QinQ model realizes transfer control of MAC forwarding in units of virtual bridges in units of virtual networks.
  • 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. Therefore, if a different frame 600 having the same source MAC address and OVID but different IVID is input (received) from different ports in one flow processing device 400, MAC movement (MAC duplication) occurs. End up. That is, every time the different frame 600 is input, MAC movement (MAC duplication) occurs. That is, for a plurality of virtual bridges included in a specific virtual network, when a different frame 600 having the same source MAC address and OVID but different IVID is input, MAC movement (MAC duplication) occurs. Resulting in.
  • FIG. 2 is a diagram illustrating a configuration example of the flow processing apparatus 400.
  • the flow processing device 400 includes, for example, a control unit 401, a port 410, a MAC address table 420, a MAC duplication table 490, and an access list table 450.
  • the control unit 401 and the MAC duplication table 490 are configured on software.
  • the port 410, the MAC address table 420, and the access list table 450 are configured as hardware.
  • the port 410 is an interface that transmits and receives the frame 600.
  • the MAC address table 420 includes a MAC entry 421.
  • the key is “OVID and destination MAC address”, and the action is “output port”. That is, when the frame 600 including “OVID and destination MAC address” specified in the MAC entry 421 is input, the flow processing device 400 can determine the output port.
  • the flow processing device 400 receives the frame 600B of “OVID: N1, IVID: B1, transmission source MAC address: M1” from the edge node 200B.
  • 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 400 After receiving the frame 600B, the flow processing device 400 receives the frame 600C of “OVID: N1, IVID: B2, transmission source MAC address: M1” from the edge node 200C.
  • 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. Update.
  • the updated transfer rule is that “the frame with the transmission destination MAC address M1 and the OVID N1 is transferred to the port 410C”. This is a MAC move.
  • the flow processing apparatus 400 receives a frame 600A of “OVID: N1, IVID: B1, transmission source MAC address: M2, transmission destination MAC address: M1” from the edge node 200A.
  • the flow processing apparatus 400 transfers the frame 600A according to 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 frame 600A is transferred to the “port 410C” different from the original transfer destination (“port 410B”).
  • the MAC address table 420 is rewritten (MAC moves). Therefore, there is a problem that the frame 600A is transferred to “port 410B” at one time and transferred to “port 410C” at another time.
  • the flow processing apparatus 400 in the first embodiment includes the MAC duplication table 490 and solves the problem due to the MAC duplication.
  • the control unit 401 of the flow processing device 400 responds to the reception of the frame 600 (for example, the frame 600B and the frame 600C) in which the source MAC address and the OVID overlap from each of the different input ports as follows. Operate.
  • the control unit 401 registers a transfer rule using the transmission destination MAC address, OVID, and IVID in the MAC duplication table 490. For example, when the flow processing apparatus 400 receives the frame 600C following the frame 600B, the flow processing apparatus 400 operates as follows. In the MAC duplication table 490, the flow processing device 400, based on the frame 600C, “MAC duplication entry indicating that the transmission destination MAC address is M1, the OVID is N1, and the IVID is B2 is transferred to the port 410C”.
  • the control unit 401 stores, in the MAC duplication table 490, based on the frame 600B, the MAC duplication indicating that “the frame with the transmission destination MAC address of M1, the OVID of N1, and the IVID of B1 is transferred to the port 410B”.
  • the entry 491 is learned.
  • the control unit 401 of the flow processing device 400 operates as follows according to the fact that a plurality of MAC duplication entries 491 having the same transmission destination MAC address and OVID are registered in the MAC duplication table 490. That is, the control unit 401 deletes the transfer rule related to the duplicate entry from the MAC address table 420.
  • the flow processing apparatus 400 for example, stores in the MAC duplication table 490 “Destination MAC address is M1, OVID is N1, IVID is B2” and “Destination MAC address is M1, OVID is N1, and IVID is B1”. When is registered, it operates as follows.
  • the flow processing device 400 deletes the related transfer rule from the MAC address table 420 that “transfers the frame having the destination MAC address M1 and the OVID N1 to the port 410B”.
  • the transfer rule to be deleted is a transfer rule having the same MAC duplicate entry 491 and “destination MAC address and OVID”.
  • the control unit 401 of the flow processing apparatus 400 sets an output MAC duplication entry 491 (transfer rule) corresponding to the transfer rule learned in the MAC duplication table 490 in the access list table 450.
  • the control unit 401 operates as follows according to the fact that a plurality of duplicate entries having the same “destination MAC address” and “OVID” are registered in the MAC duplication table 490. That is, the control unit 401 registers an output entry (MAC duplicate UC (Unified Communication) output entry 453) in the access list table 450.
  • the MAC duplicate UC output entry 453 is an entry whose keys are “destination MAC address”, “OVID”, and “IVID” and whose action is “destination port”.
  • the first transfer rule is a transfer rule indicating that “a frame having a transmission destination MAC address of M1, an OVID of N1, and an IVID of B1 is transferred to the port 410B”.
  • the second transfer rule is a transfer rule indicating that “a frame with a destination MAC address of M1, an OVID of N1, and an IVID of B2 is transferred to the port 410C”.
  • the flow processing apparatus 400 can perform transfer in consideration of “IVID”, and can transfer the frame 600 to the original transfer destination.
  • the flow processing device 400 when receiving the frame 600A from the edge node 200A, the flow processing device 400 operates as follows. The flow processing device 400 transfers the frame 600A according to the transfer rule included in the access list table 450, which “transfers the frame with the destination MAC address M1, the OVID N1, and the IVID B1 to the port 410B”. Forward to port 410B.
  • FIG. 3 is a flowchart showing an operation example of the flow processing apparatus 400 in the first embodiment.
  • the flow processing device 400 receives different frames 600 having the same transmission source address from different ports 410 (S101). For example, the flow processing device 400 receives a frame 600B of “OVID: N1, IVID: B1, and transmission source MAC address: M1” from the edge node 200B. On the other hand, the flow processing device 400 receives a frame 600C of “OVID: N1, IVID: B2, source MAC address: M1” from the edge node 200C, for example.
  • the control unit 401 of the flow processing device 400 detects that a MAC move has occurred in the MAC address table 420 due to the reception of the frames 600 having the same transmission source address from different ports 410 (S102). .
  • MAC address table 420 learns a transfer rule that “transfers a frame with destination MAC address M1 and OVID N1 to port 410B” (MAC learning).
  • the MAC address table 420 updates the first transfer rule to the second transfer rule in response to reception of the frame 600C (MAC movement).
  • the first transfer rule is a transfer rule indicating that “a frame with a destination MAC address of M1 and an OVID of N1 is transferred to the port 410B”.
  • the second transfer rule is a transfer rule indicating that “a frame with a destination MAC address of M1 and an OVID of N1 is transferred to the port 410C”.
  • the control unit 401 detects that the MAC movement has occurred.
  • the control unit 401 registers the MAC duplication entry 491 related to the received frame 600 in the MAC duplication table 490 (S103). Specifically, the control unit 401, based on the frame 600C, “transfers the frame with the transmission destination MAC address M1, the OVID N1, and the IVID B2 to the port 410C, for the MAC duplication table 490”
  • the MAC duplication entry 491 is learned. For example, when the frame 600B is received again after the frame 600C, the control unit 401 operates as follows. That is, based on the frame 600B, the control unit 401 learns the MAC duplication entry 491 indicating that “the frame having the transmission destination MAC address M1, the OVID N1, and the IVID B2 is transferred to the port 410C”.
  • the control unit 401 of the flow processing device 400 operates as follows according to the fact that a plurality of MAC duplication entries 491 having the same transmission destination MAC address and OVID are registered in the MAC duplication table 490. In other words, the control unit 401 deletes the transfer rule related to the MAC duplicate entry 491 from the MAC address table 420 (S104). For example, the control unit 401 stores in the MAC duplication table 490 that “destination MAC address is M1, OVID is N1, IVID is B2,” and “destination MAC address is M1, OVID is N1, and IVID is B1”. If registered, it operates as follows. The control unit 401 deletes the related transfer rule from the MAC address table 420 that “transfers the frame with the destination MAC address M1 and the OVID N1 to the port 410B (or port 410C)”.
  • control unit 401 deletes the MAC entry 421 as a transfer rule.
  • the control unit 401 sets an entry for output (transfer rule) corresponding to the transfer rule learned in the MAC duplication table 490 in the access list table 450 (S105). For example, the control unit 401 operates as follows according to the fact that a plurality of duplicate entries having the same “destination MAC address” and “OVID” are registered in the MAC duplication table 490. That is, the control unit 401 registers an output entry (MAC duplicate UC output entry 453) in the access list table 450.
  • the flow processing device 400 transfers the received frame 600 according to the MAC duplicate UC output entry 453 (S106). For example, when receiving the frame 600A, the flow processing device 400 operates as follows. The flow processing device 400 transfers the frame 600A according to the transfer rule included in the access list table 450, which “transfers the frame with the destination MAC address M1, the OVID N1, and the IVID B1 to the port 410B”. Forward to port 410B.
  • the flow processing apparatus 400 includes the MAC duplication table 490 that operates on software, and sets a transfer rule that takes into account “IVID” when a duplicate MAC occurs. Therefore, the flow processing apparatus 400 can transfer the frame 600 to the correct transmission destination even when MAC duplication occurs.
  • FIG. 19 is a diagram illustrating a schematic configuration example of the first embodiment.
  • the flow control device 400 includes a MAC address table 420, a MAC duplication table 490, and an access list table 450.
  • the MAC address table 420 registers the MAC entry 421.
  • the MAC duplication table 490 registers a duplication entry including information related to the frame in response to the transmission destination information of the MAC entry 421 being updated based on the received frame.
  • An example of a duplicate entry is a MAC duplicate entry 491.
  • the access list table 450 registers a transfer entry for transferring a frame related to a plurality of duplicate entries in response to registration of a plurality of duplicate entries related to each other in the duplicate table.
  • An example of the transfer entry is a MAC duplicate UC output entry 453.
  • the flow control device 400 of FIG. 19 transfers frames related to a plurality of duplicate entries according to the transfer entry, similarly to the flow processing device 400 of FIG. 2.
  • the flow processing apparatus 400 of FIG. 19 includes the MAC duplication table 490, as with the flow processing apparatus 400 of FIG. 2, and sets a transfer rule that takes into account “IVID” when a duplicate MAC occurs. To do. Therefore, the flow processing apparatus 400 of FIG. 19 can transfer the frame 600 to the correct transmission destination even when MAC duplication occurs.
  • FIG. 4 is a diagram illustrating a configuration example of a communication system according to the second embodiment of the present invention.
  • the communication system includes, for example, a flow control device 100, an edge node 200, a terminal 300, and a flow processing device 400.
  • the edge node 200 and the terminal 300 have the same configurations as the edge node 200 and the terminal 300 of the communication system in the first embodiment shown in FIG.
  • the flow control device 100 sets the virtual network 700 and the virtual bridge 710 in response to a request from a user or a host control device, for example.
  • the physical network 500 includes, for example, the edge node 200 and the flow processing device 400, and provides a physical environment for realizing the transfer of the frame 600 in the virtual network using the virtual network 700A and the virtual bridges 710A and 710B.
  • the flow control apparatus 100 performs settings on the physical network 500 necessary for realizing virtual communication between the terminals 300 in the virtual network 700 for the edge node 200 to be managed. For example, the flow control apparatus 100 instructs the edge node 200A to perform frame conversion of the frame 600A in order to transfer the frame 600A transmitted from the terminal 300A on the virtual network 700A. More specifically, the flow control apparatus 100 associates the OVID of the frame 600A received from the terminal 300A with the ID: N1 of the virtual network 700A for the edge node 200A. Then, the flow control apparatus 100 instructs frame conversion for associating the IVID of the frame 600A with the ID: B1 of the virtual bridge 710A.
  • the frame 600B (OVID: N1, IVID: B1, source MAC address: M1) and the frame 600C (OVID: N1, IVID: B2, source MAC address: M1) are IVID (virtual). Bridge) is different.
  • the OVID and the source MAC address are the same. Therefore, when the MAC address table 420 included in the flow processing device 400 receives the frame 600B and the frame 600C, MAC movement occurs. Therefore, if the flow processing apparatus 400 receives the frame 600A of “OVID: N1, IVID: B1, transmission source MAC address: M1, transmission destination MAC address: M1” and performs transfer according to the MAC address table 420, an error occurs. Transfers can occur.
  • the flow processing device 400 uses, for example, the software MAC duplication table 490 to avoid erroneous transfer due to the MAC movement.
  • FIG. 5 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 450.
  • the flow processing apparatus 400 includes a frame processing unit 460, a MAC duplication processing unit 470, a hardware processing unit 480, 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 450 are configured in hardware.
  • the frame processing unit 460, the MAC duplication processing unit 470, the hardware processing unit 480, 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 the following transfer rule that “when the frame 600C passes after the frame 600B passes,“ transfer the frame with the destination MAC address M1 and the OVID N1 to the port 410B ”: Rewrite. That is, the MAC address table 420 rewrites the transfer rule with a transfer rule that “transfers a frame with the destination MAC address M1 and the OVID N1 to the port 410C”.
  • the flow processing apparatus 400 receives the frame 600A having the MAC address: M1 as the transmission destination, the flow processing apparatus 400 transmits the frame 600A to the port 410C of the MAC entry 421 (transfer rule) of the MAC address table 420. Therefore, the flow processing apparatus 400 transmits not only to the port 410B that is the correct transmission destination but also to the port 410C that is the wrong transmission destination.
  • the flow processing apparatus 400 includes a MAC duplication table 490 to prevent erroneous transfer due to MAC movement.
  • 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 450.
  • 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 441A.
  • the key is “OVID” and the action is “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 441A according to an instruction of the flow control device 100 or a configuration of the flow processing device 400.
  • the MAC address table 420 includes a MAC entry 421.
  • the key is “OVID and transmission destination MAC address”, and the action is “output port” designation. That is, when the frame 600 including “OVID and destination MAC address” specified in the MAC entry 421 is input, the 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 performed (that is, a new MAC entry 421 is registered).
  • the MAC entry 421 updates the output port information (port 410 identifier, port number, etc.) designated in the MAC entry 421 to the input port information (port 410 identifier, port number, etc.) of the frame 600. (MAC move).
  • the MAC entry 421 is deleted.
  • the access list table 450 includes two logical tables, an access list table 450A for frame transfer and an access list table 450B for MAC duplication monitoring.
  • an access list table 450A for frame transfer
  • an access list table 450B for MAC duplication monitoring.
  • the access list table 450 has “entry priority” indicating the priority when applied to the frame 600 in the logical table.
  • each entry included in the access list table 450 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 to the frame 600. Priority is applied.
  • an entry described at a higher level (upper position) in the access list table 450 is a higher priority entry.
  • the UC output entry 451A included in the access list table 450A (for frame transfer) 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 UC output entry 451A has a role of outputting the frame 600 from the port 410 specified by the MAC entry 421.
  • the frame 600 When the frame 600 does not hit (HIT) the UC output entry 451A (when MAC learning is not performed), the frame 600 hits the Flooding output entry 452A having a lower priority than the UC output entry 451A (HIT). To do. Then, the frame 600 is output as Flooding.
  • the UC output entry 451A and the Flooding output entry 452A are registered / updated / deleted in the access list table 450A in accordance with 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 receives the frame 600 hit (HIT) in the monitoring entry 454A 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 491B 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 preventing MAC learning when a frame 600 that hits (HIT) the entry 431 for aging 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 key is “VID, IVID, destination MAC address” and the action is “port output”.
  • the MAC duplication processing unit 470 instructs the access list table 450A to register the MAC duplication UC output entries 453A and 453B.
  • the MAC duplicate UC output entries 453A and 453B have a role to output the frame 600 in which the duplicate MAC has occurred to the correct port 410.
  • the access list table 450A registers, as the MAC duplicate UC output entry 453A, that “the frame with the destination MAC address M1, the OVID N1, and the IVID B1 is transferred to the port 410B”.
  • the access list table 450A registers, as the MAC duplicate UC output entry 453B, that “the frame with the transmission destination MAC address M1, the OVID N1, and the IVID B2 is transferred to the port 410C”.
  • 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. Also, the hardware processing unit 480 detects the age-out of the MAC duplication entry 491 from the statistical information (frame statistics) of the frame 600 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 MAC duplication UC output entry 453 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 the deletion of the MAC entry 451A and the registration of the monitoring entry 454A for each table configured by hardware. By deleting the MAC entry 451A, 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.
  • the monitoring entry 454A has a role of notifying the MAC duplication processing unit 470 operating on software of the newly generated frame 600 that causes the MAC duplication.
  • the MAC duplication processing unit 470 registers a MAC duplication entry 491 for a new MAC duplication in the MAC duplication table 490, and registers an aging entry 431 and a MAC duplication UC output entry 453 in each table on the hardware. Therefore, the flow processing device 400 can dynamically cope with MAC duplication.
  • the key is “OVID, transmission source MAC address, Metadata”, and the action is “copy frame 600 to software”.
  • the metadata is registered under the condition that only the frame 600 that has not hit the aging entry 431 is hit (HIT). That is, Metadata is used to detect only newly generated MAC duplication and notify the software.
  • FIG. 6 is a diagram showing a configuration example of entries stored in each table described above.
  • the key is “OVID, IVID, destination MAC address”, and the action is “designate output port”.
  • the MAC entry 421 has a key “OVID, destination MAC address” and an action “designate output port”.
  • the key is “OVID” and the action is “frame relay”.
  • the key is “OVID, IVID, transmission source MAC address, input port”, and the action is “MAC learning cancel, WriteMetadata”.
  • the key is “OVID, IVID, transmission destination MAC address”, and the action is “port designation”.
  • the key is “OVID, transmission source MAC address, Metadata”, and the action is “copy frame to software”.
  • FIG. 7 is a flowchart showing an operation example of the flow processing apparatus 400 in the second embodiment.
  • the terminal 300A and the terminal 300B communicate with each other via the flow processing device 400 (S201). Specifically, the flow processing device 400 receives the frame 600A of “OVID: N1, IVID: B1, transmission source MAC address: M2, 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. 8 is a diagram illustrating a configuration example of the flow processing device 400 when the terminal 300A and the terminal 300B communicate 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 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 device 400 receives the frame 600C of “OVID: N1, IVID: B2, transmission source MAC address: M1, transmission destination MAC address: M5” from the port 410C (S202).
  • 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 (S203).
  • the flow processing device 400 When the flow processing device 400 receives the frame 600C, the MAC entry 421A of the MAC address table 420 is rewritten with the content “transfer frame with destination MAC address M1 and OVID N1 to port 410C”. (MAC move). That is, the frame 600C is the same key as “OVID: N1, destination MAC address M1” of the MAC entry 421A that has already been learned in the MAC address table 420, and the port 410 is different. Therefore, the flow processing device 400 updates the port of the MAC entry 421A to the input port 410C of the frame 600C (S204).
  • the flow processing apparatus 400 transfers the frame 600C according to the MAC entry 421C of the transmission destination learned in advance in the MAC address table 420 and the entry 451A for UC output registered in the access list table 450A (S205).
  • 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 420.
  • the frame processing unit 460 notifies the frame 600C to the MAC duplication processing unit 470 (S206).
  • 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 (S207).
  • 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 hardware processing unit 480 deletes the instructed MAC entry 421A (S208).
  • the flow processing device 400 is not a MAC duplication, and the MAC 600 is not notified to the software when the MAC is moved. I do.
  • FIG. 9 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 the MAC entry 421 including the IVID that cannot be expressed by hardware by software.
  • the key of the MAC duplicate entry 491B is “OVID: N1, IVID: B2, destination MAC address: M1”, and the action is “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 a transmission destination hits (HITF) the Flooding output entry 452A of the access list table 450A, and is output as Flooding.
  • FIG. 10 is a flowchart illustrating another operation example of the flow processing apparatus 400 according to the second embodiment.
  • FIG. 10 is a flowchart illustrating an operation example when the flow processing apparatus 400 receives the frame 600C from the port 410C after the operation of FIG.
  • the flow processing device 400 receives the frame 600C of “OVID: N1, IVID: B2, transmission source MAC address: M1, transmission destination MAC address: M5” from the port 410C (S301).
  • the frame 600C hits (HIT) the VLAN entry 441A, and proceeds to the processing of the MAC address table 420 (S302).
  • the flow processing apparatus 400 registers the MAC entry 421A in the MAC address table 420 because there is no entry with “OVID: N1, destination MAC address: M1” corresponding to the frame 600C as a key (S303).
  • the flow processing device 400 executes a transfer process for the frame 600C according to the MAC entry 421C of the transmission destination learned in advance in the MAC address table 420 and the UC output entry 451A of the access list table 450A (S304).
  • FIG. 11 is a flowchart illustrating another operation example of the flow processing apparatus 400 according to the second embodiment.
  • FIG. 11 is a flowchart illustrating an operation example when the flow processing apparatus 400 receives the frame 600B from the port 410B after the operation of FIG.
  • the flow processing device 400 receives the frame 600B of “OVID: N1, IVID: B1, transmission source MAC address: M1, transmission destination MAC address: M2” via the port 410B (S401).
  • the frame 600B hits (HIT) the VLAN entry 441A of the VLAN table 440, and proceeds to the processing of the MAC address table 420 (S402).
  • the flow processing device 400 When the flow processing device 400 receives the frame 600B, the MAC entry 421A 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 410B”. (MAC move). That is, the frame 600B 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 410 is different. Therefore, the flow processing device 400 updates the port of the MAC entry 421A to the input port 410B of the frame 600B (S403).
  • the flow processing device 400 transfers the frame 600B according to the MAC entry 421B learned in advance in the MAC address table 420 and the UC output entry 451A registered in the access list table 450A (S404).
  • the destination flow processing device 400 notifies the frame processing unit 460 of the frame 600B in response to the occurrence of MAC movement in the MAC address table 420.
  • the frame processing unit 460 notifies the frame 600B to the MAC duplication processing unit 470 (S405).
  • the MAC duplication processing unit 470 registers the MAC duplication entry 491A in the MAC duplication table 490 based on information (for example, header information) included in the frame 600B (S406).
  • the MAC duplicate entry 491A is an entry having “OVID: N1, IVID: B1, transmission destination MAC address: M1” as a key and “port 410B” as an output port.
  • the MAC duplication processing unit 470 causes MAC duplication (MAC migration) due to the presence of a plurality of entries having the same “OVID: N1, destination MAC address: M1” but different “IVID” in the MAC duplication table 490. (S407).
  • the MAC duplication processing unit 470 instructs the hardware processing unit 480 to register “aging entries 431A and 431B” in the frame conversion table 430. Further, the MAC duplication processing unit 470 instructs the hardware processing unit 480 to register “MAC duplication UC output entries 453A and 453B” in the access list table 450A (S408).
  • the flow processing apparatus 400 hits (HITs) the MAC duplicated UC output entry 453 for the frame 600 having the destination MAC address M1, such as the frame 600A, regardless of the presence or absence of the MAC entry 421A on the hardware. . Therefore, the flow processing apparatus 400 can output the frame 600 whose destination MAC address is M1 to the correct destination port 410.
  • the MAC duplication processing unit 470 instructs the hardware processing unit 480 to delete the MAC entry 421A (S409). In addition, the MAC duplication processing unit 470 instructs the access list table 450B to register the monitoring entry 454A (S409).
  • FIG. 12 is a diagram illustrating a configuration example of the flow processing device 400 when the frame 600C is further input from the port 410B after the frame 600C is input from the port 410C in the state of FIG.
  • the MAC address table 420 learns the MAC entry 421A by inputting the frame 600C. Thereafter, in the MAC address table 420, MAC movement (MAC duplication) occurs due to the input of the frame 600B. Therefore, the frame processing unit 460 receives the notification of the frame 600B in response to occurrence of MAC movement (MAC duplication).
  • the MAC duplication processing unit 470 registers the MAC duplication entry 491A in the MAC duplication table 490.
  • the MAC duplication processing unit 470 registers the aging entries 431A and 431B in the frame conversion table 430 via the hardware processing unit 480. Also, the MAC duplication processing unit 470 registers the MAC duplication UC output entries 453A and 453B via the hardware processing unit 480.
  • the aging entry 431A and the MAC duplicate UC output entry 453A are hardware entries corresponding to the MAC duplicate entry 491A, and are set based on the “key” and “action” of the MAC duplicate entry 491A.
  • the aging entry 431B and the MAC duplicate UC output entry 453B are hardware entries corresponding to the MAC duplicate entry 491B, and are set based on the “key” and “action” of the MAC duplicate entry 491B.
  • the aging entry 431 and the MAC duplicated UC output entry 453 operate as the role of MAC forwarding in the inner VLAN unit.
  • the MAC address table 420 does not include a MAC entry 421 that hits (HIT). However, the flow processing apparatus 400 outputs to the port 410B, which is the correct transmission destination, in accordance with the UC output entry 451A and the MAC duplicate UC output entry 453A.
  • FIG. 13 is a diagram illustrating an operation example when the flow processing device 400 receives the frame 600D from the port 410D in the state of FIG.
  • the flow processing apparatus 400 receives the frame 600D of “OVID: N1, IVID: B3, transmission destination MAC address: M1, transmission source MAC address: M4” from the port 410D (S501).
  • the frame 600D proceeds to the processing of the MAC address table 420 by hitting (HIT) the VLAN entry 441A of the VLAN table 440 (S502).
  • the flow processing device 400 does not have an entry in the MAC address table 420 with “OVID: N1, destination MAC address: M1” corresponding to the frame 600D as a key. Therefore, the flow processing apparatus 400 registers the MAC entry 421A whose key is “OVID: N1, destination MAC address: M1” and “port 410D” is the output port (S503).
  • the frame 600D of “OVID: N1, IVID: B3, transmission destination MAC address: M1” is as follows.
  • the frame 600D hits (HIT) the MAC entry 421 of the MAC address table 420, and does not hit (HIT) because the MAC duplicate UC output entry 453 does not match the key, and hits (HIT) the UC output entry 451A. . Therefore, the frame 600D can be transmitted to the correct transmission destination (port 410D).
  • the flow processing device 400 executes a transfer process for the frame 600D according to the MAC entry 421D registered in the MAC address table 420 in advance and the UC output entry 451A in the access list table 450A of the transmission destination (S504).
  • the flow processing device 400 transmits the frame 600D to the frame processing unit 460 by the action of the monitoring entry 454A.
  • the frame processing unit 460 notifies the frame 600D to the MAC duplication processing unit 470 (S505).
  • the MAC duplication processing unit 470 registers the MAC duplication entry 491C in the MAC duplication table 490 based on information (such as header information) included in the frame 600D. However, the MAC duplication processing unit 470 registers the MAC duplication entry 491C in the MAC duplication table 490 with “OVID: N1, IVID: B3, destination MAC address: M1” as a key, and the output port as “port 410D” ( S506).
  • the MAC duplication processing unit 470 instructs the hardware processing unit 480 to register the aging entry 431C and the MAC duplication UC output entry 453C (S507).
  • the flow processing apparatus 400 transmits the frame 600D of “OVID: N1, IVID: B3, transmission MAC address: M1” to the correct output port 410D by registering the MAC duplicate UC output entry 453C. Is possible.
  • the MAC duplication processing unit 470 instructs the hardware processing unit 480 to delete the MAC entry 421A (S508).
  • the hardware processing unit 480 instructs to delete the MAC entry 421A. Therefore, even when duplication occurs again by receiving another frame 600 including “OVID: N1, transmission source MAC address: M1”, the MAC entry 421A is deleted, and UC transfer can be performed. Note that the processing of the flow processing device 400 when the duplication occurs again is the same as the operation example illustrated in FIG.
  • FIG. 14 is a diagram illustrating a configuration example of the flow processing device 400 when the frame 600D is input from the port 410D in the state of FIG.
  • the flow processing device 400 learns the MAC entry 421A in the MAC address table 420 by receiving the frame 600D. Further, the flow processing device 400 hits (HIT) both the UC output entry 451A and the monitoring entry 454A in the access list table 450.
  • the frame 600D is notified to the frame processing unit 460.
  • the MAC duplication processing unit 470 registers the MAC duplication entry 491C, and registers the aging entry 431C and the MAC duplication UC output entry 453C via the hardware processing unit 480.
  • the hardware processing unit 480 instructs to delete the MAC entry 421A, and the MAC entry 421A is deleted.
  • FIG. 15 is a flowchart showing an operation example of the flow processing device 400 when the input of the frame 600D is stopped from the state of FIG. 14 and the hardware processing unit 480 detects the aging-out of the entry 431C for aging.
  • the hardware processing unit 480 detects the aging-out of the aging entry 431C by stopping the reception of the frame 600D in the flow processing device 400 (S601).
  • the hardware processing unit 480 notifies the age-out to the MAC duplication processing unit 470 (S602).
  • the hardware processing unit 480 deletes the MAC duplication entry 491C in the MAC duplication table 490 (S603).
  • the MAC duplication processing unit 470 determines that the MAC duplication continues because there are a plurality of entries with different IVIDs in the MAC duplication table 490 (S604).
  • the MAC duplication processing unit 470 instructs the hardware processing unit 480 to delete the aging entry 431C and the MAC duplication UC output entry 453C.
  • FIG. 16 shows an example of the configuration of the flow processing device 400 when the reception of the frame 600D to the flow processing device 400 is stopped and the hardware processing unit 480 detects the aging-out entry 431C in the state of FIG. FIG.
  • the MAC duplication processing unit 470 deletes the MAC duplication entry 491C that is no longer necessary, and deletes the aging entry 431C and the MAC duplication UC output entry 453C via the hardware processing unit 480.
  • FIG. 17 is a flowchart illustrating an operation example when the reception of the frame 600C in the flow processing device 400 is stopped from the state of FIG. 16 and the hardware processing unit 480 detects the aging-out of the entry 431B for aging.
  • the hardware processing unit 480 If the hardware processing unit 480 stops receiving the frame 600C in the flow processing device 400, the hardware processing unit 480 detects the aging-out of the entry 431B for aging (S701).
  • the hardware processing unit 480 notifies the MAC duplication processing unit 470 of the detection of age-out (S702).
  • the hardware processing unit 480 deletes the MAC duplication entry 491B from the MAC duplication table 490 (S703).
  • the MAC duplication processing unit 470 determines that the MAC duplication has been resolved because there are not a plurality of entries with different IVIDs in the MAC duplication table 490 (S704).
  • the MAC duplication processing unit 470 deletes the MAC duplication entry 491A of the MAC duplication table 490.
  • the MAC duplication processing unit 470 instructs the hardware processing unit 480 to delete the aging entries 431A and 431B and the MAC duplication UC output entries 453A and 453B.
  • the flow processing device 400 can return to the MAC forwarding processing in the normal state in which the MAC duplication hardware entry is not used.
  • FIG. 18 shows an example of the configuration of the flow processing device 400 when the flow processing device 400 stops receiving the frame 600C and the hardware processing unit 480 detects the aging entry 431B age-out in the state of FIG. FIG.
  • the MAC duplication processing unit 470 determines that the MAC duplication has been eliminated, and deletes the MAC duplication entries 491A and 491B. Then, the MAC duplication processing unit 470 deletes the aging entries 431A and 431B, the MAC duplication UC output entries 453A and 453B, and the monitoring entry 454A via the hardware processing unit 480.
  • the flow processing apparatus 400 includes the MAC duplication table 490, and sets a transfer rule that considers “IVID” in response to occurrence of a duplicate MAC. Therefore, the flow processing apparatus 400 can transfer the frame 600 to the correct transmission destination even when MAC duplication occurs.
  • the flow processing apparatus 400 in the case where a MAC movement occurs due to a different frame 600 having the same “OVID, IVID, MAC address” being input from different ports 410 is described. It is embodiment regarding a process. Note that the technique of the third embodiment can be applied to any of the first embodiment, the second embodiment, and the embodiments described later.
  • the configuration example of the communication system according to the third embodiment is the same as the configuration example of the communication system according to the second embodiment illustrated in FIG. 4, detailed description thereof is omitted.
  • the configuration example of the flow processing apparatus 400 of the third embodiment is the same as the configuration example of the flow processing apparatus 400 of the second embodiment illustrated in FIG. 5, detailed description is omitted.
  • the flow processing apparatus 400 creates the MAC entry 421A by inputting the frame 600C to the port 410C from the state after the completion of the processing in FIG. In this state, when the frame 600C is input from the port 410E (not shown), the port 410 is different from the “port 410C” designated by the action of the MAC entry 421A existing in the MAC address table 420, and therefore the MAC movement occurs. Therefore, the frame 600C is notified to the MAC duplication processing unit 470 again.
  • the MAC duplication processing unit 470 updates the port of the MAC duplication entry 491B from “port 410C” to “port 410E” based on the information regarding the input port 410 included in the frame 600C.
  • the subsequent operation example of the flow processing apparatus 400 is the same as the operation example of the flow processing apparatus 400 of the second embodiment.
  • the flow processing device 400 when the frame 600C is input from the port 410E instead of the port 410C from the state after the completion of the processing in FIG. 11, the flow processing device 400 operates as follows.
  • the input port at the time of entry registration included in the key of the aging entry 431B corresponding to the frame 600C is 410C, and the frame 600C does not hit (HIT) the aging entry 431B. Therefore, the flow processing apparatus 400 performs MAC learning in the MAC address table 420 and registers the MAC entry 421A.
  • the frame 600C hits (HIT) the monitoring entry 454A, and the MAC duplication processing unit 470 is notified of the frame 600C.
  • the MAC duplication processing unit 470 updates the port information included in the MAC duplication entry 491B from “port 410C” to “port 410E” based on the information regarding the input port included in the frame 600C.
  • the MAC duplication processing unit 470 deletes / adds the aging entry 431B to the hardware processing unit 480 (deletion / addition is performed because the key port information is updated).
  • the MAC duplication processing unit 470 also updates the action port 410 of the MAC duplication UC output entry 453B.
  • MAC flapping occurs due to the same “OVID, IVID, MAC address”, and the notification of the frame 600 to the software frequently occurs. Therefore, in order to reduce the load on the CPU of the flow processing device 400, it is desirable to provide a protection time for the entry and not to update the entry within the protection time.
  • the MAC duplication processing unit 470 updates the port 410 of the MAC duplication entry 491 or the action port 410 of the MAC duplication UC output entry 453B. Therefore, erroneous transfer due to the occurrence of duplication of the frame 600 even when a MAC move occurs due to a different frame 600 having the same “OVID, IVID, MAC address” being input from different ports 410. Can be prevented.
  • the fourth embodiment of the present invention is an embodiment that suppresses an increase in the number of entries in the access list table 450.
  • the technique of the fourth embodiment can be applied to any of the first embodiment, the second embodiment, and the third embodiment.
  • the configuration example of the communication system according to the fourth embodiment is the same as the configuration example of the communication system according to the second embodiment illustrated in FIG. Further, the configuration example of the flow processing apparatus 400 of the fourth embodiment is the same as the configuration example of the flow processing apparatus 400 of the second embodiment illustrated in FIG. 5, and thus detailed description thereof is omitted.
  • VRRP Virtual Router Redundancy Protocol
  • the access list table 450 generally has a smaller number of entries that can be registered than the MAC address table 420. In this case, for example, if VRRP routers are connected to a network and frames 600 for advertisement (the same MAC address) are exchanged between all the VLANs, a large amount of table resources are consumed.
  • the access list table 450 may have fewer entries that can be registered than the MAC address table 420. In this case, for example, if a VRRP router is connected to a network and a frame 600 (the MAC address is the same) used for advertising is exchanged between all the VLANs, the resources of the access list table 450 are consumed much. End up. Therefore, the flow processing apparatus 400 according to the fourth embodiment avoids exhaustion of entry resources in the access list table 450 when duplicate MAC addresses are determined in advance in the network configuration or the like.
  • the flow processing apparatus 400 enables a static MAC duplication entry 491 to be registered in the access list table 450 by configuration.
  • the flow processing device 400 inputs the MAC address and the MAC address mask as parameters to the static MAC duplicate entry 491 of the access list table 450 according to the configuration.
  • the MAC duplication processing unit 470 registers the MAC learning cancel entry in the frame conversion table 430 via the frame processing unit 460 in accordance with the addition of the static MAC duplication entry 491 by the configuration. In addition, the MAC duplication processing unit 470 deletes the MAC entry 421 included in the MAC address / mask set by the configuration from the MAC address table 420.
  • the key is “MAC address mask designation of source MAC address” and the action is “MAC learning cancel”. If the source MAC address of the input frame 600 is included in the key condition of the MAC learning cancellation entry by the MAC learning cancellation entry, the flow processing device 400 performs MAC learning in the MAC address table 420. No longer done. That is, since the MAC entry 421 does not exist, the frame 600 having the MAC address included in the “MAC address / mask” of the MAC learning cancel entry has a flooding operation.
  • the MAC learning cancellation entry competes with the dynamically added aging entry 431 and MAC duplicated UC output entry 453. Therefore, the MAC learning cancellation entry has priority over the statically set MAC duplication entry 491, and the aging entry 431 and the MAC duplication UC output entry 453 having the conditions included in the MAC address / mask need to be deleted. is there.

Landscapes

  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

A core switch in a QinQ model receives frames having different IVIDs but having the same transmission source MAC address in some cases, and therefore a problem of MAC duplication occurs in the core switch. To solve this problem, this flow processing device is characterized by being provided with: an MAC address table 420 in which an MAC entry is registered; an MAC duplication table 490 in which in response to the updating of transmission destination information of the MAC entry on the basis of a received frame, a duplicate entry including information related to the frame is registered; and an access list table 450A in which in response to the registration of a plurality of duplicate entries related to each other in the MAC duplication table, a transfer entry for transferring the frame related to the plurality of duplicate entries is registered, wherein the frame related to the plurality of duplicate entries is transferred in accordance with the transfer entry.

Description

フロー処理装置、通信システム及びフロー処理方法Flow processing apparatus, communication system, and flow processing method
 本発明は、フロー処理装置、通信システム及び通信方法に関する。 The present invention relates to a flow processing device, a communication system, and a communication method.
 ネットワークの規格として、IEEE(Institute of Electrical and Electronics Engineers, Inc.)802.1Qがある。IEEE802.1Qは、QinQと呼ばれている。 As a network standard, there is IEEE (Institut of Electric and Electronics Engineers, Inc.) 802.1Q. IEEE 802.1Q is called QinQ.
 また、ネットワークに仮想的なLAN(Local Area Network)を構築する技術として、VLAN(Virtual LAN)がある。 Also, VLAN (Virtual LAN) is a technology for constructing a virtual LAN (Local Area Network) in a network.
 大規模な仮想ネットワークを構築するために、QinQを用いた仮想ネットワーク構成モデル(QinQモデル)が採用されている。 In order to construct a large-scale virtual network, a virtual network configuration model (QinQ model) using QinQ is adopted.
 QinQモデルでは、制御装置が、ユーザや上位制御装置により設定された仮想ネットワーク構成に基づき、OpenFlowなどの制御プロトコルを使用して、複数のフロー処理装置を制御する。QinQモデルは、例えば、仮想ネットワークの配下に仮想ブリッジを配置する構成である。QinQモデルは、フロー制御装置が管理する仮想ネットワークID(IDentifier)と仮想ブリッジIDとを、それぞれフレームのOVID(Outer VLAN ID)とIVID(Inner VLAN ID)とに対応づける。このことで、QinQモデルは、当該仮想ブリッジ単位でMAC(Media Access Control)フォワーディングを実現する。 In the QinQ model, 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. For example, the QinQ model has a configuration in which a virtual bridge is arranged under a virtual network. In the QinQ model, a virtual network ID (IDentifier) and a virtual bridge ID managed by the flow control apparatus are associated with an OVID (Outer VLAN ID) and an IVID (Inner VLAN ID) of the frame, respectively. Thus, the QinQ model realizes MAC (Media Access Control) forwarding in units of the virtual bridge.
 ここで、特許文献1には、仮想的に構築される仮想マシンとネットワーク装置とで構成されるネットワーク環境では、正常な通信ができなくなってしまう場合があることが記載されている。詳細には、特許文献1には、上記環境では、仮想マシン作成時に設定されるMACアドレスが重複すると、MACアドレスが重複してしまった稼働中の仮想マシンに対して、正常な通信ができなくなってしまう場合があることが記載されている。 Here, Patent Document 1 describes that normal communication may not be possible in a network environment composed of virtual machines and network devices that are virtually constructed. Specifically, in Patent Document 1, in the above environment, if the MAC address set at the time of virtual machine creation is duplicated, normal communication cannot be performed with an operating virtual machine with the duplicated MAC address. It is described that it may be.
 そして、特許文献2には、MAC重複によって正常な通信ができなくなってしまうことを回避するために、クライアント装置を異なるサブネットに割り当てることが開示されている。詳細には、特許文献2には、上記を回避するため、必要に応じて同じMACアドレスをもつ2つのクライアント装置が同じサブネットに割り当てられないように、クライアント装置を異なるサブネットに割り当てることが開示されている。 Patent Document 2 discloses that client devices are assigned to different subnets in order to prevent normal communication from being disabled due to MAC duplication. Specifically, in order to avoid the above, Patent Document 2 discloses that client devices are assigned to different subnets so that two client devices having the same MAC address are not assigned to the same subnet as necessary. ing.
特開2013-168771号公報JP 2013-168771 A 特表2012-525018号公報Special table 2012-525018 gazette
 上述したとおり、特許文献2に記載の発明は、同じMACアドレスをもつ2つのクライアント装置が同じサブネットに割り当てられないようにすることで、MAC重複を発生させないようにするものである。 As described above, the invention described in Patent Document 2 prevents MAC duplication by preventing two client devices having the same MAC address from being assigned to the same subnet.
 しかしながら、特許文献2に記載の発明では、同じサブネット内に同じMACアドレスをもつ2つのクライアント装置を割り当てることができないため、MACアドレスの設定の柔軟性が低下してしまうという問題が生じる。また、QinQモデルにおけるコアスイッチは、IVIDは異なるが、送信元MACアドレスが同じフレームを受信する場合があり、当該コアスイッチにおいてMAC重複の問題が発生してしまう。 However, in the invention described in Patent Document 2, since two client devices having the same MAC address cannot be assigned in the same subnet, there arises a problem that the flexibility of MAC address setting is reduced. In addition, 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.
 本発明は、上記課題に鑑み、フロー処理装置においてMAC重複が発生した場合であっても、当該MAC重複による誤転送を回避することが可能なフロー処理装置、通信システム及びフロー処理方法を提供することである。 In view of the above problems, the present invention provides a flow processing device, a communication system, and a flow processing method capable of avoiding erroneous transfer due to MAC duplication even when MAC duplication occurs in the flow processing device. That is.
 本発明の一態様のフロー処理装置は、MACエントリが登録されたMACアドレステーブルと、受信したフレームに基づいてMACエントリの送信先情報が更新されたことに応じて、当該フレームに関連する情報を含む重複エントリを登録するMAC重複テーブルと、MAC重複テーブルに互いに関連する複数の重複エントリが登録されたことに応じて、当該複数の重複エントリに関連するフレームを転送するための転送用エントリを登録するアクセスリストテーブルと、を備え、複数の重複エントリに関連するフレームを、転送用エントリに従って転送することを特徴とする。 According to the flow processing device of one embodiment of the present invention, the MAC address table in which the MAC entry is registered and the information related to the frame in accordance with the transmission destination information of the MAC entry being updated based on the received frame are displayed. A MAC duplication table for registering duplicate entries, and a transfer entry for transferring frames related to the plurality of duplicate entries in response to registration of a plurality of duplicate entries related to each other in the MAC duplication table And an access list table for transferring a frame related to a plurality of duplicate entries according to the transfer entry.
 本発明の一態様の通信システムは、制御装置からの指示に基づいてフレームを転送するノードと、ノードから受信したフレームを、MACエントリが登録されたMACアドレステーブルに基づいて転送するフロー処理装置と、を含み、フロー処理装置は、受信したフレームに基づいてMACエントリの送信先情報が更新されたことに応じて、当該フレームに関連する情報を含む重複エントリを登録するMAC重複テーブルと、MAC重複テーブルに互いに関連する複数の重複エントリが登録されたことに応じて、当該複数の重複エントリに関連するフレームを転送するための転送用エントリを登録するアクセスリストテーブルと、を備え、複数の重複エントリに関連するフレームを、転送用エントリに従って転送することを特徴とする。 A communication system according to an aspect of the present invention includes a node that transfers a frame based on an instruction from a control device, and a flow processing device that transfers a frame received from the node based on a MAC address table in which a MAC entry is registered. The flow processing device includes a MAC duplication table for registering a duplicate entry including information related to the frame in response to the update of the transmission destination information of the MAC entry based on the received frame, and a MAC duplication An access list table for registering transfer entries for transferring frames related to the plurality of duplicate entries in response to the registration of a plurality of duplicate entries related to each other in the table, and a plurality of duplicate entries The frame related to is transferred according to the transfer entry.
 本発明の一態様のフロー処理方法は、MACエントリを登録し、受信したフレームに基づいてMACエントリの送信先情報が更新されたことに応じて、当該フレームに関連する情報を含む重複エントリを登録し、互いに関連する複数の重複エントリが登録されたことに応じて、当該複数の重複エントリに関連するフレームを転送するための転送用エントリを登録し、複数の重複エントリに関連するフレームを、転送用エントリに従って転送する、ことを特徴とする。 The flow processing method according to one aspect of the present invention registers a MAC entry, and registers a duplicate entry including information related to the frame when the transmission destination information of the MAC entry is updated based on the received frame. In response to the registration of a plurality of duplicate entries related to each other, a transfer entry for transferring a frame related to the plurality of duplicate entries is registered, and a frame related to the plurality of duplicate entries is transferred. The transfer is performed according to the entry.
 本発明のフロー処理装置、通信システム及びフロー処理方法は、フロー処理装置においてMAC重複が発生した場合であっても、当該MAC重複による誤転送を回避することが可能である。 The flow processing apparatus, communication system, and flow processing method of the present invention can avoid erroneous transfer due to MAC duplication even when MAC duplication occurs in the flow processing apparatus.
第1の実施形態の通信システムの構成例である。It is a structural example of the communication system of 1st Embodiment. 第1の実施形態のフロー処理装置の構成例である。It is a structural example of the flow processing apparatus of 1st Embodiment. 第1の実施形態におけるフロー処理装置の動作例を示すフローチャートである。It is a flowchart which shows the operation example of the flow processing apparatus in 1st Embodiment. 第2の実施形態の通信システムの構成例である。It is a structural example of the communication system of 2nd Embodiment. 第2の実施形態のフロー処理装置の構成例である。It is a structural example of the flow processing apparatus of 2nd Embodiment. 第2の実施形態の各テーブルに格納されるエントリの構成例である。It is a structural example of the entry stored in each table of 2nd Embodiment. 第2の実施形態におけるフロー処理装置の動作例を示すフローチャートである。It is a flowchart which shows the operation example of the flow processing apparatus in 2nd Embodiment. 第2の実施形態のフロー処理装置の構成例である。It is a structural example of the flow processing apparatus of 2nd Embodiment. 第2の実施形態のフロー処理装置の他の構成例である。It is another structural example of the flow processing apparatus of 2nd Embodiment. 第2の実施形態におけるフロー処理装置の他の動作例を示すフローチャートである。It is a flowchart which shows the other operation example of the flow processing apparatus in 2nd Embodiment. 第2の実施形態におけるフロー処理装置の他の動作例を示すフローチャートである。It is a flowchart which shows the other operation example of the flow processing apparatus in 2nd Embodiment. 第2の実施形態のフロー処理装置の他の構成例である。It is another structural example of the flow processing apparatus of 2nd Embodiment. 第2の実施形態におけるフロー処理装置の他の動作例を示すフローチャートである。It is a flowchart which shows the other operation example of the flow processing apparatus in 2nd Embodiment. 第2の実施形態のフロー処理装置の他の構成例である。It is another structural example of the flow processing apparatus of 2nd Embodiment. 第2の実施形態におけるフロー処理装置の他の動作例を示すフローチャートである。It is a flowchart which shows the other operation example of the flow processing apparatus in 2nd Embodiment. 第2の実施形態のフロー処理装置の他の構成例である。It is another structural example of the flow processing apparatus of 2nd Embodiment. 第2の実施形態におけるフロー処理装置の他の動作例を示すフローチャートである。It is a flowchart which shows the other operation example of the flow processing apparatus in 2nd Embodiment. 第2の実施形態のフロー処理装置の他の構成例である。It is another structural example of the flow processing apparatus of 2nd Embodiment. 第1の実施形態の概要の構成例である。It is an example of composition of an outline of a 1st embodiment.
 以下、本発明の実施形態及び実施例について、図面を参照して説明する。各実施形態は、例示であり、本発明は各実施形態に限定されるものではない。なお、この概要に付記した図面参照符号は、理解を助けるための一例として各要素に便宜上付記したものであり、この概要の記載はなんらの限定を意図するものではない。 Hereinafter, embodiments and examples of the present invention will be described with reference to the drawings. Each embodiment is an exemplification, and the present invention is not limited to each embodiment. Note that the reference numerals of the drawings attached to the outline are attached to the respective elements for convenience as an example for facilitating understanding, and the description of the outline is not intended to be any limitation.
 なお、同様の複数の構成には、同じ参照符号とアルファベットを付す。これらの構成をまとめて説明する場合は、参照符号を用いる。 It should be noted that the same reference numerals and alphabets are attached to a plurality of similar configurations. Reference numerals are used to collectively describe these configurations.
 <第1の実施形態>
 図1は、本発明の第1の実施形態における通信システムの構成例を示す図である。
<First Embodiment>
FIG. 1 is a diagram illustrating a configuration example of a communication system according to the first embodiment of the present invention.
 図1に示すように、第1の実施形態における通信システムは、フロー制御装置100と、エッジノード200と、端末300と、フロー処理装置400とを含む。フロー処理装置400は、物理ネットワーク500に含まれる。 As shown in FIG. 1, the communication system in the first embodiment includes a flow control device 100, an edge node 200, a terminal 300, and a flow processing device 400. The flow processing device 400 is included in the physical network 500.
 フロー制御装置100は、例えば、集中管理型のアーキテクチャにおいて、パケット処理を実行するノードを管理可能である。 The flow control apparatus 100 can manage a node that executes packet processing in, for example, a centralized management architecture.
 集中管理型のアーキテクチャは、例えば、OpenFlowネットワークである。OpenFlowネットワークでは、一般的なスイッチの機構が、次のモジュールに分離されている。第1のモジュールは、経路の決定処理を外部からプログラミングすることで変更可能としたモジュールであるOFC(OFC:OpenFlow Controller)である。第2のモジュールは、パケット転送処理のみを行うモジュールであるOFS(OFS:OpenFlow Switch)である。 The centralized management architecture is, for example, an OpenFlow network. In the OpenFlow network, a general switch mechanism is separated into the following modules. The first module is an OFC (OFC: OpenFlow Controller) that is a module that can be changed by externally programming the route determination process. The second module is an OFS (OFS: OpenFlow Switch) that is a module that performs only packet transfer processing.
 OpenFlowネットワークにおけるOFSとは、OpenFlowネットワークを形成し、OFCの制御下にあるエッジスイッチ及びコアスイッチのことである。OpenFlowネットワークでは、OFCが、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. In the OpenFlow network, the OFC controls the behavior of the OFS by manipulating the OFS flow table.
 フローテーブルとは、所定の条件(ルール)に適合(マッチ)するパケット(通信データ)に対して行うべき所定の動作(アクション)を定義したフローエントリ(Flow entry)が登録されたテーブルである。 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.
 各OFSは、フローテーブルを少なくとも1つ保持している。OFCは、配下の各OFSのフローテーブルと同じ内容のフローテーブルを全て保持している。すなわち、OFCは、各OFSのフローテーブルのマスターテーブルを保持している。なお、「フローテーブルを保持している」とは、そのフローテーブルを管理していることを意味する。そのフローテーブルをネットワーク経由等で管理可能であれば、実際には、そのフローテーブルが自身の内部に存在していなくても良い。例えば、OFCとOFSが、ネットワーク上にある同一のフローテーブルを共有することも考えられる。 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. Note that “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.
 フローエントリのルールは、以下のアドレス及びポートのいずれか、又は、全てを用いた様々な組み合わせにより定義され、区別可能である。アドレスは、パケットの各プロトコル階層のヘッダ領域に含まれる送信先アドレス(Destination Address)、及び、送信元アドレス(Source Address)である。ポートは、送信先ポート(Destination Port)、及び送信元ポート(Source Port)のいずれか又は全てを用いた様々な組み合わせにより定義され、区別可能である。なお、上記のアドレスは、MACアドレス(Media Access Control Address)やIPアドレス(Internet Protocol Address)を含むものとする。また、上記に加えて、入口ポート(Ingress Port)の情報も、フローエントリのルールとして使用可能である。また、フローエントリのルールは、フローエントリのルールとして、フローを示すパケットのヘッダ領域の値の一部(又は全部)を、正規表現やワイルドカード「*」等で表現したものを設定することもできる。 The flow entry rules are defined by various combinations using any or all of the following addresses and ports, and are distinguishable. The address is a destination address (Destination Address) and a source address (Source Address) included in the header area of each protocol layer of the packet. A port is defined by various combinations using any or all of a destination port (Destination Port) and a source port (Source Port), and is distinguishable. 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 flow entry rule, a part (or all) of a header area value of a packet indicating a flow expressed by a regular expression or a wild card “*” may be set as a flow entry rule. it can.
 OFSは、ルールの欄に記述された内容にマッチするパケットを、アクションの欄に記述された内容に従って処理する。OFCは、このようなフローエントリをOFSに登録することで、マッチするパケットに対する処理を制御できるのである。 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は、パケットが到着した時、当該パケットのヘッダ情報(送信元情報や送信先情報等)を読み取り、自身のフローテーブルの中から、マッチするルールを持つフローエントリ(以下、マッチするフローエントリと呼ぶ)を検索する。検索の結果、マッチするフローエントリが見つかった場合、OFSは、そのフローエントリのアクションに記載されている通りにパケットを処理する。なお、複数のフローエントリが見つかった場合、見つかったフローエントリのうち、最も優先度が高いフローエントリに従い、パケットを処理する。また、検索の結果、マッチするフローエントリが見つからなかった場合、OFSは、当該パケットを「ファーストパケット」と判断する。そして、OFSは、当該パケットのコピー(複製)をOFCに転送することで、当該パケットをどのように処理すべきかについてOFCに問い合わせる。 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, OFS determines that the packet is a “first packet”. Then, the OFS inquires of the OFC about how to process the packet by transferring a copy (duplicate) of the packet to the OFC.
 OFCは、OFSから問い合わせを受けた場合、経路計算を行い、問い合わせを受けたパケットを送信先まで転送するための最適な経路を導出する。また、OFCは、OFSのフローテーブルに、導出した経路を構成するためのフローエントリを新規に追加登録する。このとき、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.
 エッジノード200は、物理ネットワーク500の境界に位置し、パケットに対する処理を実行する。エッジノード200は、例えば、OFSの機能を含む。なお、エッジノード200は、OFSの機能でパケットを処理するだけでなく、例えば、MAC学習によってパケットを処理する機能も含む。 The edge node 200 is located at the boundary of the physical network 500 and executes processing for the packet. The edge node 200 includes, for example, an OFS function. Note that the edge node 200 includes not only the packet processing with the OFS function, but also the function of processing the packet by MAC learning, for example.
 なお、エッジノード200と、フロー処理装置400とは、同様の構成を備える装置であってもよい。この場合において、当該装置が物理ネットワーク500の境界に配置される場合には、エッジノード200となり、フロー制御装置100からの制御によって、転送処理を実行する。一方、当該装置が物理ネットワーク500のコア部分に配置される場合には、フロー処理装置400となり、MAC学習によって転送処理を実行する。 Note that the edge node 200 and the flow processing device 400 may be devices having the same configuration. In this case, when the device is arranged at the boundary of the physical network 500, the device becomes the edge node 200, and the transfer process is executed under the control of the flow control device 100. On the other hand, when the device is arranged in the core portion of the physical network 500, the device becomes the flow processing device 400, and executes a transfer process by MAC learning.
 端末300は、エッジノード200やフロー処理装置400などを介して通信を行う装置である。端末300は、例えば、携帯電話、PC(Personal Computer)、又は、モバイルルータである。あるいは、端末300は、例えば、スマートデバイス(例えば、家庭の消費電力をモニタするスマートメータ、スマートテレビ、ウェアラブル端末)、又は、M2M(Machine to Machine)デバイス等である。M2Mデバイスは、例えば、上記のデバイスに加え、産業機器、車、ヘルスケア機器、及び、家電等を含む。 The terminal 300 is a device that performs communication via the edge node 200, the flow processing device 400, and the like. The terminal 300 is, for example, a mobile phone, a PC (Personal Computer), or a mobile router. Alternatively, the terminal 300 is, for example, a smart device (for example, a smart meter, a smart TV, or a wearable terminal that monitors household power consumption), an M2M (Machine to Machine) device, or the like. The M2M device includes, for example, an industrial device, a car, a healthcare device, and a home appliance in addition to the above device.
 フロー処理装置400は、例えば、QinQを用いたネットワーク(QinQモデル)に含まれるコアノードである。なお、フロー処理装置400は、受信したフレーム600を、MAC学習に基づいて転送する。 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 600 based on MAC learning.
 QinQモデルでは、フロー制御装置100が、ユーザや上位制御装置により設定された仮想ネットワーク構成に基づき、OpenFlowなどの制御プロトコルを使用して、エッジノード200及びフロー処理装置400を遠隔制御する。QinQモデルは、仮想ネットワーク配下に仮想ブリッジを配置する単純な構成である。QinQモデルは、フロー制御装置100が管理する仮想ネットワークIDと仮想ブリッジIDを、それぞれフレーム600のOVIDとIVIDに対応づける。そのことで、QinQモデルは、仮想ネットワーク単位の仮想ブリッジ単位で、MACフォワーディングの転送制御を実現している。 In the QinQ model, the flow control device 100 remotely controls the edge node 200 and 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. In the QinQ model, the virtual network ID and virtual bridge ID managed by the flow control apparatus 100 are associated with the OVID and IVID of the frame 600, respectively. As a result, the QinQ model realizes transfer control of MAC forwarding in units of virtual bridges in units of virtual networks.
 しかしながら、フロー処理装置400の制御は、ハードウェアチップで制御可能なOuterVLAN単位のMACフォワーディングで実行される。そのため、1つのフロー処理装置400に、送信元MACアドレスとOVIDとは同じだが、異なるIVIDである異なるフレーム600が、異なるポートから入力(受信)した場合、MAC移動(MAC重複)が発生してしまう。つまり、当該異なるフレーム600が入力する都度、MAC移動(MAC重複)が発生してしまう。すなわち、特定の仮想ネットワークに含まれる複数の仮想ブリッジに対して、送信元MACアドレスとOVIDとは同じだが、異なるIVIDである異なるフレーム600が入力した場合には、MAC移動(MAC重複)が発生してしまう。つまり、当該異なるIVID間においてフレーム600が入力される度に、MAC移動(MAC重複)が発生してしまう。この場合、当該送信元MACアドレスを送信先とするフレーム600が、正しい送信先だけでなく、誤った送信先にも転送されてしまうという問題が生じる。 However, 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. Therefore, if a different frame 600 having the same source MAC address and OVID but different IVID is input (received) from different ports in one flow processing device 400, MAC movement (MAC duplication) occurs. End up. That is, every time the different frame 600 is input, MAC movement (MAC duplication) occurs. That is, for a plurality of virtual bridges included in a specific virtual network, when a different frame 600 having the same source MAC address and OVID but different IVID is input, MAC movement (MAC duplication) occurs. Resulting in. That is, every time the frame 600 is input between the different IVIDs, MAC movement (MAC duplication) occurs. In this case, there arises a problem that the frame 600 having the transmission source MAC address as the transmission destination is transferred not only to the correct transmission destination but also to the wrong transmission destination.
 図2は、フロー処理装置400の構成例を示す図である。フロー処理装置400は、例えば、制御部401と、ポート410と、MACアドレステーブル420と、MAC重複テーブル490と、アクセスリストテーブル450とを備える。制御部401とMAC重複テーブル490は、ソフトウェア上に構成される。ポート410と、MACアドレステーブル420と、アクセスリストテーブル450とは、ハードウェアとして構成される。 FIG. 2 is a diagram illustrating a configuration example of the flow processing apparatus 400. The flow processing device 400 includes, for example, a control unit 401, a port 410, a MAC address table 420, a MAC duplication table 490, and an access list table 450. The control unit 401 and the MAC duplication table 490 are configured on software. The port 410, the MAC address table 420, and the access list table 450 are configured as hardware.
 ポート410は、フレーム600を送受信するインターフェースである。 The port 410 is an interface that transmits and receives the frame 600.
 MACアドレステーブル420は、MACエントリ421を含む。MACエントリ421は、キーが“OVID及び送信先MACアドレス”であり、アクションが“出力ポート”の指定である。すなわち、MACエントリ421に指定された“OVID及び送信先MACアドレス”を含むフレーム600が入力した場合、フロー処理装置400は、出力ポートを決定できる。 The MAC address table 420 includes a MAC entry 421. In the MAC entry 421, the key is “OVID and destination MAC address”, and the action is “output port”. That is, when the frame 600 including “OVID and destination MAC address” specified in the MAC entry 421 is input, the flow processing device 400 can determine the output port.
 ここで、フロー処理装置400は、エッジノード200Bから、“OVID:N1、IVID:B1、送信元MACアドレス:M1”のフレーム600Bを受信する。この場合、フロー処理装置400のMACアドレステーブル420は、フレーム600Bを受信したことに応じて、“送信先MACアドレスがM1で、OVIDがN1のフレームを、ポート410Bに転送する”旨の転送ルールを学習する(MAC学習)。 Here, the flow processing device 400 receives the frame 600B of “OVID: N1, IVID: B1, transmission source MAC address: M1” from the edge node 200B. In this case, 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).
 フロー処理装置400は、フレーム600Bを受信した後に、エッジノード200Cから、“OVID:N1、IVID:B2、送信元MACアドレス:M1”のフレーム600Cを受信する。この場合、フロー処理装置400のMACアドレステーブル420は、フレーム600Cを受信したことに応じて、“送信先MACアドレスがM1で、OVIDがN1のフレームを、ポート410Bに転送する”旨の転送ルールを更新する。ここで、更新後の転送ルールは、“送信先MACアドレスがM1で、OVIDがN1のフレームを、ポート410Cに転送する”旨である。これが、MAC移動である。 After receiving the frame 600B, the flow processing device 400 receives the frame 600C of “OVID: N1, IVID: B2, transmission source MAC address: M1” from the edge node 200C. In this case, 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. Update. Here, the updated transfer rule is that “the frame with the transmission destination MAC address M1 and the OVID N1 is transferred to the port 410C”. This is a MAC move.
 続いて、フロー処理装置400は、エッジノード200Aから、“OVID:N1、IVID:B1、送信元MACアドレス:M2、送信先MACアドレス:M1”のフレーム600Aを受信する。この場合、フロー処理装置400は、更新した“送信先MACアドレスがM1で、OVIDがN1のフレームを、ポート410Cに転送する”旨の転送ルールに従って、当該フレーム600Aを転送する。ここで、フレーム600Aは送信先MACアドレスが“M1”であるところ、本来の転送先は“ポート410B”である。しかしながら、フレーム600Cに基づいてMACアドレステーブル420が更新された結果、当該フレーム600Aは本来の転送先(“ポート410B”)とは異なる“ポート410C”に転送されてしまうという問題が生じる。また、フレーム600Bとフレーム600Cとが受信する毎にMACアドレステーブル420が書き換わる(MAC移動する)。そのため、フレーム600Aが、ある時は“ポート410B”に転送され、別の時は“ポート410C”に転送されてしまうという問題も生じる。 Subsequently, the flow processing apparatus 400 receives a frame 600A of “OVID: N1, IVID: B1, transmission source MAC address: M2, transmission destination MAC address: M1” from the edge node 200A. In this case, the flow processing apparatus 400 transfers the frame 600A according to the updated transfer rule “transfers the frame with the transmission destination MAC address M1 and the OVID N1 to the port 410C”. Here, in the frame 600A, the transmission destination MAC address is “M1”, and the original transfer destination is “port 410B”. However, as a result of updating the MAC address table 420 based on the frame 600C, there arises a problem that the frame 600A is transferred to the “port 410C” different from the original transfer destination (“port 410B”). Further, every time the frame 600B and the frame 600C are received, the MAC address table 420 is rewritten (MAC moves). Therefore, there is a problem that the frame 600A is transferred to “port 410B” at one time and transferred to “port 410C” at another time.
 そこで、第1の実施形態におけるフロー処理装置400は、MAC重複テーブル490を含み、MAC重複による問題を解決する。 Therefore, the flow processing apparatus 400 in the first embodiment includes the MAC duplication table 490 and solves the problem due to the MAC duplication.
 フロー処理装置400の制御部401は、異なる入力ポートの各々から、送信元MACアドレスとOVIDとが重複するフレーム600(例えば、フレーム600Bとフレーム600C)を受信したことに応じて、次のように動作する。制御部401は、MAC重複テーブル490に、送信先MACアドレスと、OVIDと、IVIDとを用いた転送ルールを登録する。例えば、フロー処理装置400は、フレーム600Bに続いてフレーム600Cを受信した場合、次のように動作する。フロー処理装置400は、MAC重複テーブル490において、フレーム600Cに基づいて、“送信先MACアドレスがM1で、OVIDがN1で、IVIDがB2のフレームを、ポート410Cに転送する”旨のMAC重複エントリ491を学習する。フロー処理装置400は、フレーム600Cを受信した後に、再度、フレーム600Bを受信すると、MACアドレステーブル420において、再度、MAC移動が発生する。従って、制御部401は、MAC重複テーブル490に、フレーム600Bに基づいて、“送信先MACアドレスがM1で、OVIDがN1で、IVIDがB1のフレームを、ポート410Bに転送する”旨のMAC重複エントリ491を学習する。 The control unit 401 of the flow processing device 400 responds to the reception of the frame 600 (for example, the frame 600B and the frame 600C) in which the source MAC address and the OVID overlap from each of the different input ports as follows. Operate. The control unit 401 registers a transfer rule using the transmission destination MAC address, OVID, and IVID in the MAC duplication table 490. For example, when the flow processing apparatus 400 receives the frame 600C following the frame 600B, the flow processing apparatus 400 operates as follows. In the MAC duplication table 490, the flow processing device 400, based on the frame 600C, “MAC duplication entry indicating that the transmission destination MAC address is M1, the OVID is N1, and the IVID is B2 is transferred to the port 410C”. 491 is learned. When the flow processing apparatus 400 receives the frame 600B again after receiving the frame 600C, the MAC movement occurs again in the MAC address table 420. Therefore, the control unit 401 stores, in the MAC duplication table 490, based on the frame 600B, the MAC duplication indicating that “the frame with the transmission destination MAC address of M1, the OVID of N1, and the IVID of B1 is transferred to the port 410B”. The entry 491 is learned.
 フロー処理装置400の制御部401は、MAC重複テーブル490において、送信先MACアドレスとOVIDとが同じであるMAC重複エントリ491が複数登録されたことに応じて、次のように動作する。すなわち、制御部401は、MACアドレステーブル420から、当該重複エントリに関連する転送ルールを削除する。フロー処理装置400は、例えば、MAC重複テーブル490に“送信先MACアドレスがM1で、OVIDがN1で、IVIDがB2”及び“送信先MACアドレスがM1で、OVIDがN1で、IVIDがB1”が登録された場合、次のように動作する。すなわち、フロー処理装置400は、MACアドレステーブル420から、関連する“送信先MACアドレスがM1で、OVIDがN1のフレームを、ポート410Bに転送する”旨の転送ルールを削除する。ここで、削除される転送ルールは、MAC重複エントリ491と、“送信先MACアドレスと、OVID”が同じ転送ルールである。 The control unit 401 of the flow processing device 400 operates as follows according to the fact that a plurality of MAC duplication entries 491 having the same transmission destination MAC address and OVID are registered in the MAC duplication table 490. That is, the control unit 401 deletes the transfer rule related to the duplicate entry from the MAC address table 420. The flow processing apparatus 400, for example, stores in the MAC duplication table 490 “Destination MAC address is M1, OVID is N1, IVID is B2” and “Destination MAC address is M1, OVID is N1, and IVID is B1”. When is registered, it operates as follows. That is, the flow processing device 400 deletes the related transfer rule from the MAC address table 420 that “transfers the frame having the destination MAC address M1 and the OVID N1 to the port 410B”. Here, the transfer rule to be deleted is a transfer rule having the same MAC duplicate entry 491 and “destination MAC address and OVID”.
 フロー処理装置400の制御部401は、アクセスリストテーブル450に、MAC重複テーブル490に学習した転送ルールに対応する出力用のMAC重複エントリ491(転送ルール)を設定する。制御部401は、例えば、MAC重複テーブル490において、“送信先MACアドレス”と“OVID”とが同じである重複エントリが複数登録されたことに応じて、次のように動作する。すなわち、制御部401は、アクセスリストテーブル450に、出力用のエントリ(MAC重複UC(Unified Communation)出力用エントリ453)を登録する。MAC重複UC出力用エントリ453は、キーが“送信先MACアドレス”と“OVID”と“IVID”で、アクションが“送信先ポート”のエントリである。例えば、アクセスリストテーブル450には、2つの転送ルールが登録される。第1の転送ルールは、“送信先MACアドレスがM1で、OVIDがN1で、IVIDがB1のフレームを、ポート410Bに転送する”旨の転送ルールである。そして、第2の転送ルールは、“送信先MACアドレスがM1で、OVIDがN1で、IVIDがB2のフレームを、ポート410Cに転送する”旨の転送ルールである。 The control unit 401 of the flow processing apparatus 400 sets an output MAC duplication entry 491 (transfer rule) corresponding to the transfer rule learned in the MAC duplication table 490 in the access list table 450. For example, the control unit 401 operates as follows according to the fact that a plurality of duplicate entries having the same “destination MAC address” and “OVID” are registered in the MAC duplication table 490. That is, the control unit 401 registers an output entry (MAC duplicate UC (Unified Communication) output entry 453) in the access list table 450. The MAC duplicate UC output entry 453 is an entry whose keys are “destination MAC address”, “OVID”, and “IVID” and whose action is “destination port”. For example, two transfer rules are registered in the access list table 450. The first transfer rule is a transfer rule indicating that “a frame having a transmission destination MAC address of M1, an OVID of N1, and an IVID of B1 is transferred to the port 410B”. The second transfer rule is a transfer rule indicating that “a frame with a destination MAC address of M1, an OVID of N1, and an IVID of B2 is transferred to the port 410C”.
 その結果、フロー処理装置400は、“IVID”を加味した転送が可能となり、当該フレーム600を本来の転送先に転送することが可能となる。例えば、フロー処理装置400は、エッジノード200Aからフレーム600Aを受信した場合、次のように動作する。フロー処理装置400は、アクセスリストテーブル450に含まれる“送信先MACアドレスがM1で、OVIDがN1で、IVIDがB1のフレームを、ポート410Bに転送する”旨の転送ルールに従って、当該フレーム600Aをポート410Bに転送する。 As a result, the flow processing apparatus 400 can perform transfer in consideration of “IVID”, and can transfer the frame 600 to the original transfer destination. For example, when receiving the frame 600A from the edge node 200A, the flow processing device 400 operates as follows. The flow processing device 400 transfers the frame 600A according to the transfer rule included in the access list table 450, which “transfers the frame with the destination MAC address M1, the OVID N1, and the IVID B1 to the port 410B”. Forward to port 410B.
 図3は、第1の実施形態におけるフロー処理装置400の動作例を示すフローチャートである。 FIG. 3 is a flowchart showing an operation example of the flow processing apparatus 400 in the first embodiment.
 フロー処理装置400が、送信元アドレスが同じ異なるフレーム600を、異なるポート410から受信する(S101)。フロー処理装置400は、例えば、エッジノード200Bから、“OVID:N1、IVID:B1、送信元MACアドレス:M1”のフレーム600Bを受信する。一方、フロー処理装置400は、例えば、エッジノード200Cから、“OVID:N1、IVID:B2、送信元MACアドレス:M1”のフレーム600Cを受信する。 The flow processing device 400 receives different frames 600 having the same transmission source address from different ports 410 (S101). For example, the flow processing device 400 receives a frame 600B of “OVID: N1, IVID: B1, and transmission source MAC address: M1” from the edge node 200B. On the other hand, the flow processing device 400 receives a frame 600C of “OVID: N1, IVID: B2, source MAC address: M1” from the edge node 200C, for example.
 フロー処理装置400の制御部401は、送信元アドレスが同じ異なるフレーム600を、異なるポート410から受信したことに起因して、MACアドレステーブル420において、MAC移動が発生したことを検出する(S102)。MACアドレステーブル420は、フレーム600Bを受信したことに応じて、“送信先MACアドレスがM1で、OVIDがN1のフレームを、ポート410Bに転送する”旨の転送ルールを学習する(MAC学習)。その後、MACアドレステーブル420は、フレーム600Cを受信したことに応じて、第1の転送ルールを第2の転送ルールに更新する(MAC移動)。第1の転送ルールは、“送信先MACアドレスがM1で、OVIDがN1のフレームを、ポート410Bに転送する”旨の転送ルールである。第2の転送ルールは、“送信先MACアドレスがM1で、OVIDがN1のフレームを、ポート410Cに転送する”旨の転送ルールである。制御部401は、当該MAC移動が発生したことを検出する。 The control unit 401 of the flow processing device 400 detects that a MAC move has occurred in the MAC address table 420 due to the reception of the frames 600 having the same transmission source address from different ports 410 (S102). . In response to receiving frame 600B, MAC address table 420 learns a transfer rule that “transfers a frame with destination MAC address M1 and OVID N1 to port 410B” (MAC learning). Thereafter, the MAC address table 420 updates the first transfer rule to the second transfer rule in response to reception of the frame 600C (MAC movement). The first transfer rule is a transfer rule indicating that “a frame with a destination MAC address of M1 and an OVID of N1 is transferred to the port 410B”. The second transfer rule is a transfer rule indicating that “a frame with a destination MAC address of M1 and an OVID of N1 is transferred to the port 410C”. The control unit 401 detects that the MAC movement has occurred.
 制御部401は、MAC重複テーブル490に、受信したフレーム600に関連するMAC重複エントリ491を登録する(S103)。具体的には、制御部401は、MAC重複テーブル490に対して、フレーム600Cに基づき、“送信先MACアドレスがM1で、OVIDがN1で、IVIDがB2のフレームを、ポート410Cに転送する”旨のMAC重複エントリ491を学習する。制御部401は、例えば、フレーム600Cの後に再度フレーム600Bを受信した場合、次のように動作する。すなわち、制御部401は、当該フレーム600Bに基づき、“送信先MACアドレスがM1で、OVIDがN1で、IVIDがB2のフレームを、ポート410Cに転送する”旨のMAC重複エントリ491を学習する。 The control unit 401 registers the MAC duplication entry 491 related to the received frame 600 in the MAC duplication table 490 (S103). Specifically, the control unit 401, based on the frame 600C, “transfers the frame with the transmission destination MAC address M1, the OVID N1, and the IVID B2 to the port 410C, for the MAC duplication table 490” The MAC duplication entry 491 is learned. For example, when the frame 600B is received again after the frame 600C, the control unit 401 operates as follows. That is, based on the frame 600B, the control unit 401 learns the MAC duplication entry 491 indicating that “the frame having the transmission destination MAC address M1, the OVID N1, and the IVID B2 is transferred to the port 410C”.
 フロー処理装置400の制御部401は、MAC重複テーブル490において、送信先MACアドレスとOVIDとが同じであるMAC重複エントリ491が複数登録されたことに応じて、次のように動作する。すなわち、制御部401は、MACアドレステーブル420から、当該MAC重複エントリ491に関連する転送ルールを削除する(S104)。制御部401は、例えば、MAC重複テーブル490に“送信先MACアドレスがM1で、OVIDがN1で、IVIDがB2”及び“送信先MACアドレスがM1で、OVIDがN1で、IVIDがB1”が登録された場合、次のように動作する。制御部401は、MACアドレステーブル420から、関連する“送信先MACアドレスがM1で、OVIDがN1のフレームを、ポート410B(又は、ポート410C)に転送する”旨の転送ルールを削除する。 The control unit 401 of the flow processing device 400 operates as follows according to the fact that a plurality of MAC duplication entries 491 having the same transmission destination MAC address and OVID are registered in the MAC duplication table 490. In other words, the control unit 401 deletes the transfer rule related to the MAC duplicate entry 491 from the MAC address table 420 (S104). For example, the control unit 401 stores in the MAC duplication table 490 that “destination MAC address is M1, OVID is N1, IVID is B2,” and “destination MAC address is M1, OVID is N1, and IVID is B1”. If registered, it operates as follows. The control unit 401 deletes the related transfer rule from the MAC address table 420 that “transfers the frame with the destination MAC address M1 and the OVID N1 to the port 410B (or port 410C)”.
 具体的には、制御部401は、転送ルールとして、MACエントリ421を削除する。 Specifically, the control unit 401 deletes the MAC entry 421 as a transfer rule.
 制御部401は、アクセスリストテーブル450に、MAC重複テーブル490に学習した転送ルールに対応する出力用のエントリ(転送ルール)を設定する(S105)。制御部401は、例えば、MAC重複テーブル490において、“送信先MACアドレス”と“OVID”とが同じである重複エントリが複数登録されたことに応じて、次のように動作する。すなわち、制御部401は、アクセスリストテーブル450に、出力用のエントリ(MAC重複UC出力用エントリ453)を登録する。 The control unit 401 sets an entry for output (transfer rule) corresponding to the transfer rule learned in the MAC duplication table 490 in the access list table 450 (S105). For example, the control unit 401 operates as follows according to the fact that a plurality of duplicate entries having the same “destination MAC address” and “OVID” are registered in the MAC duplication table 490. That is, the control unit 401 registers an output entry (MAC duplicate UC output entry 453) in the access list table 450.
 フロー処理装置400は、受信したフレーム600を、当該MAC重複UC出力用エントリ453に従って転送する(S106)。フロー処理装置400は、例えば、フレーム600Aを受信した場合、次のように動作する。フロー処理装置400は、アクセスリストテーブル450に含まれる“送信先MACアドレスがM1で、OVIDがN1で、IVIDがB1のフレームを、ポート410Bに転送する”旨の転送ルールに従って、当該フレーム600Aをポート410Bに転送する。 The flow processing device 400 transfers the received frame 600 according to the MAC duplicate UC output entry 453 (S106). For example, when receiving the frame 600A, the flow processing device 400 operates as follows. The flow processing device 400 transfers the frame 600A according to the transfer rule included in the access list table 450, which “transfers the frame with the destination MAC address M1, the OVID N1, and the IVID B1 to the port 410B”. Forward to port 410B.
 上記のとおり、フロー処理装置400は、ソフトウェア上で動作するMAC重複テーブル490を備え、重複するMACが発生したことに応じて、“IVID”を加味した転送ルールを設定する。そのため、フロー処理装置400は、MAC重複が発生した場合であっても、フレーム600を正しい送信先に転送することができる。 As described above, the flow processing apparatus 400 includes the MAC duplication table 490 that operates on software, and sets a transfer rule that takes into account “IVID” when a duplicate MAC occurs. Therefore, the flow processing apparatus 400 can transfer the frame 600 to the correct transmission destination even when MAC duplication occurs.
 [第1の実施形態の概要]
図面を参照して、第1の実施形態の概要を説明する。図19は、第1の実施形態の概要の構成例を示す図である。フロー制御装置400は、MACアドレステーブル420と、MAC重複テーブル490と、アクセスリストテーブル450とを備える。
[Outline of First Embodiment]
The outline of the first embodiment will be described with reference to the drawings. FIG. 19 is a diagram illustrating a schematic configuration example of the first embodiment. The flow control device 400 includes a MAC address table 420, a MAC duplication table 490, and an access list table 450.
 MACアドレステーブル420は、MACエントリ421を登録する。 The MAC address table 420 registers the MAC entry 421.
 MAC重複テーブル490は、受信したフレームに基づいてMACエントリ421の送信先情報が更新されたことに応じて、フレームに関連する情報を含む重複エントリを登録する。重複エントリの一例が、MAC重複エントリ491である。 The MAC duplication table 490 registers a duplication entry including information related to the frame in response to the transmission destination information of the MAC entry 421 being updated based on the received frame. An example of a duplicate entry is a MAC duplicate entry 491.
 アクセスリストテーブル450は、重複テーブルに互いに関連する複数の重複エントリが登録されたことに応じて、複数の重複エントリに関連するフレームを転送するための転送用のエントリを登録する。転送用のエントリに一例が、MAC重複UC出力用エントリ453である。 The access list table 450 registers a transfer entry for transferring a frame related to a plurality of duplicate entries in response to registration of a plurality of duplicate entries related to each other in the duplicate table. An example of the transfer entry is a MAC duplicate UC output entry 453.
 図19のフロー制御装置400は、図2のフロー処理装置400と同様に、複数の重複エントリに関連するフレームを、転送用のエントリに従って転送する。 19, the flow control device 400 of FIG. 19 transfers frames related to a plurality of duplicate entries according to the transfer entry, similarly to the flow processing device 400 of FIG. 2.
 つまり、図19のフロー処理装置400は、図2のフロー処理装置400と同様に、MAC重複テーブル490を備え、重複するMACが発生したことに応じて、“IVID”を加味した転送ルールを設定する。そのため、図19のフロー処理装置400は、MAC重複が発生した場合であっても、フレーム600を正しい送信先に転送することができる。 That is, the flow processing apparatus 400 of FIG. 19 includes the MAC duplication table 490, as with the flow processing apparatus 400 of FIG. 2, and sets a transfer rule that takes into account “IVID” when a duplicate MAC occurs. To do. Therefore, the flow processing apparatus 400 of FIG. 19 can transfer the frame 600 to the correct transmission destination even when MAC duplication occurs.
 <第2の実施形態>
 図4は、本発明の第2の実施形態における通信システムの構成例を示す図である。
<Second Embodiment>
FIG. 4 is a diagram illustrating a configuration example of a communication system according to the second embodiment of the present invention.
 なお、第2の実施形態の技術は、第1の実施形態、及び、後述の実施形態のいずれにも適用可能である。 Note that the technique of the second embodiment is applicable to both the first embodiment and the embodiments described later.
 図4において、通信システムは、例えば、フロー制御装置100と、エッジノード200と、端末300と、フロー処理装置400とを含む。なお、エッジノード200と、端末300とは、図1に示す第1の実施形態における通信システムのエッジノード200と、端末300と同様の構成であるため、詳細な説明は省略される。 4, the communication system includes, for example, a flow control device 100, an edge node 200, a terminal 300, and a flow processing device 400. Note that the edge node 200 and the terminal 300 have the same configurations as the edge node 200 and the terminal 300 of the communication system in the first embodiment shown in FIG.
 フロー制御装置100は、例えばユーザや上位制御装置からの要求に応じて、仮想ネットワーク700と、仮想ブリッジ710とを設定する。 The flow control device 100 sets the virtual network 700 and the virtual bridge 710 in response to a request from a user or a host control device, for example.
 物理ネットワーク500は、例えば、エッジノード200と、フロー処理装置400とを含み、仮想ネットワーク700Aと、仮想ブリッジ710A及び710Bとを用いた仮想ネットワークにおけるフレーム600の転送を実現するための物理環境を提供する。フロー制御装置100は、管理するエッジノード200に対して、仮想ネットワーク700における端末300間の仮想的な通信を実現するために必要な、物理ネットワーク500上の設定を行う。例えば、フロー制御装置100は、端末300Aから送信されたフレーム600Aを仮想ネットワーク700A上において転送するために、エッジノード200Aに対して、当該フレーム600Aのフレーム変換を指示する。より具体的には、フロー制御装置100は、エッジノード200Aに対して、端末300Aから受信したフレーム600AのOVIDを仮想ネットワーク700AのID:N1に対応づける。そして、フロー制御装置100は、当該フレーム600AのIVIDを仮想ブリッジ710AのID:B1に対応づけるためのフレーム変換を指示する。 The physical network 500 includes, for example, the edge node 200 and the flow processing device 400, and provides a physical environment for realizing the transfer of the frame 600 in the virtual network using the virtual network 700A and the virtual bridges 710A and 710B. To do. The flow control apparatus 100 performs settings on the physical network 500 necessary for realizing virtual communication between the terminals 300 in the virtual network 700 for the edge node 200 to be managed. For example, the flow control apparatus 100 instructs the edge node 200A to perform frame conversion of the frame 600A in order to transfer the frame 600A transmitted from the terminal 300A on the virtual network 700A. More specifically, the flow control apparatus 100 associates the OVID of the frame 600A received from the terminal 300A with the ID: N1 of the virtual network 700A for the edge node 200A. Then, the flow control apparatus 100 instructs frame conversion for associating the IVID of the frame 600A with the ID: B1 of the virtual bridge 710A.
 フロー処理装置400において、フレーム600B(OVID:N1、IVID:B1、送信元MACアドレス:M1)と、フレーム600C(OVID:N1、IVID:B2、送信元MACアドレス:M1)とは、IVID(仮想ブリッジ)は異なる。しかし、OVIDと送信元MACアドレスが同一である。したがって、フロー処理装置400に含まれるMACアドレステーブル420は、フレーム600Bとフレーム600Cとを受信すると、MAC移動を生じてしまう。そのため、フロー処理装置400が、“OVID:N1、IVID:B1、送信元MACアドレス:M1、送信先MACアドレス:M1”のフレーム600Aを受信した場合、MACアドレステーブル420に従って転送を実行すると、誤転送が発生する可能性がある。 In the flow processing device 400, the frame 600B (OVID: N1, IVID: B1, source MAC address: M1) and the frame 600C (OVID: N1, IVID: B2, source MAC address: M1) are IVID (virtual). Bridge) is different. However, the OVID and the source MAC address are the same. Therefore, when the MAC address table 420 included in the flow processing device 400 receives the frame 600B and the frame 600C, MAC movement occurs. Therefore, if the flow processing apparatus 400 receives the frame 600A of “OVID: N1, IVID: B1, transmission source MAC address: M1, transmission destination MAC address: M1” and performs transfer according to the MAC address table 420, an error occurs. Transfers can occur.
 そこで、フロー処理装置400は、異なる入力元から受信したフレーム600において、MAC重複が発生した際に、例えば、ソフトウェアのMAC重複テーブル490を用いて、当該MAC移動による誤転送を回避する。 Therefore, when a MAC duplication occurs in the frame 600 received from a different input source, the flow processing device 400 uses, for example, the software MAC duplication table 490 to avoid erroneous transfer due to the MAC movement.
 図5は、第2の実施形態における、フロー処理装置400の構成例を示す図である。フロー処理装置400は、ポート410、フレーム変換用テーブル430、VLANテーブル440、MACアドレステーブル420、及びアクセスリストテーブル450を含む。また、フロー処理装置400は、フレーム処理部460、MAC重複処理部470、ハードウェア処理部480、及びMAC重複テーブル490を含む。 FIG. 5 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 450. The flow processing apparatus 400 includes a frame processing unit 460, a MAC duplication processing unit 470, a hardware processing unit 480, and a MAC duplication table 490.
 フロー処理装置400において、ポート410、フレーム変換用テーブル430、VLANテーブル440、MACアドレステーブル420、及びアクセスリストテーブル450は、ハードウェアに構成される。フレーム処理部460、MAC重複処理部470、ハードウェア処理部480、及びMAC重複テーブル490は、ソフトウェアに構成される。 In the flow processing device 400, the port 410, the frame conversion table 430, the VLAN table 440, the MAC address table 420, and the access list table 450 are configured in hardware. The frame processing unit 460, the MAC duplication processing unit 470, the hardware processing unit 480, and the MAC duplication table 490 are configured in software.
 ここで、フロー処理装置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アドレステーブル420は、その転送ルールを、“送信先MACアドレスがM1で、OVIDがN1のフレームを、ポート410Cに転送する”旨の転送ルールに書き換える。 Here, 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. For example, when the frame 600B passes, 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 the following transfer rule that “when the frame 600C passes after the frame 600B passes,“ transfer the frame with the destination MAC address M1 and the OVID N1 to the port 410B ”: Rewrite. That is, the MAC address table 420 rewrites the transfer rule with a transfer rule that “transfers a frame with the destination MAC address M1 and the OVID N1 to the port 410C”.
 上記のとおり、フレーム600Bと600Cとは、IVIDは異なるが、OVIDと送信元MACアドレスが同じであるため、フロー処理装置400のMACアドレステーブル420で学習するキー情報(OVIDとMACアドレス)が同じとなる。そのため、フレーム600B及び600Cが入力する度に、MACアドレステーブル420のMACエントリ421(転送ルール)は、ポート410Bと410Cとの間でMAC移動を繰り返す。そのため、フロー処理装置400は、MACアドレス:M1を送信先とするフレーム600Aを受信した場合、当該フレーム600Aを、MACアドレステーブル420のMACエントリ421(転送ルール)のポート410Cに対して送信する。そのため、フロー処理装置400は、正しい送信先であるポート410Bだけでなく、誤った送信先であるポート410Cにも送信する。 As described above, although the frames 600B and 600C have different IVIDs, the OVID and the source MAC address are the same, so the key information (OVID and MAC address) learned in the MAC address table 420 of the flow processing device 400 is the same. It becomes. Therefore, every time the frames 600B and 600C are input, the MAC entry 421 (transfer rule) in the MAC address table 420 repeats the MAC movement between the ports 410B and 410C. Therefore, when the flow processing apparatus 400 receives the frame 600A having the MAC address: M1 as the transmission destination, the flow processing apparatus 400 transmits the frame 600A to the port 410C of the MAC entry 421 (transfer rule) of the MAC address table 420. Therefore, the flow processing apparatus 400 transmits not only to the port 410B that is the correct transmission destination but also to the port 410C that is the wrong transmission destination.
 そこで、フロー処理装置400は、MAC重複テーブル490を備え、MAC移動による誤転送を防止する。 Therefore, the flow processing apparatus 400 includes a MAC duplication table 490 to prevent erroneous transfer due to MAC movement.
 ポート410は、フレーム600を送受信するインターフェースである。なお、受信後のフレーム600は、ポート410、フレーム変換用テーブル430、VLANテーブル440、MACアドレステーブル420、及びアクセスリストテーブル450の順に、パイプライン処理される。 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 450.
 フレーム変換用テーブル430は、フレーム600のVLAN変換を実施するテーブルである。なお、フレーム変換用テーブル430は、フレーム600を更新するための機能を備え、フレーム600に対するその他のアクションも実行することができる。第2の実施形態において、フレーム変換用テーブル430は、例えば、MAC学習のキャンセルのアクションを実行するために用いられる。 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.
 VLANテーブル440は、VLANエントリ441Aを含む。VLANエントリ441Aは、キーが“OVID”であり、アクションが“フレーム中継(例えば、後段のMACアドレステーブル420への処理へ進ませるためのアクション)”である。VLANテーブル440において、入力されたフレーム600に対応するエントリが存在しない場合には、当該フレーム600は廃棄される。VLANテーブル440は、フロー制御装置100の指示、または、フロー処理装置400のコンフィグにより、VLANエントリ441Aの登録/更新/削除を実行する。 The VLAN table 440 includes a VLAN entry 441A. In the VLAN entry 441A, the key is “OVID” and the action is “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 441A according to an instruction of the flow control device 100 or a configuration of the flow processing device 400.
 MACアドレステーブル420は、MACエントリ421を含む。MACエントリ421は、キーが“OVID及び送信先MACアドレス”であり、アクションが“出力ポート”指定である。すなわち、MACエントリ421に指定された“OVID及び送信先MACアドレス”を含むフレーム600が入力した場合、出力ポートが決定できる。MACエントリ421は、ハードウェアによって、自動的に登録/更新/削除される。MACアドレステーブル420に入力されたフレーム600に含まれる“OVID及び送信先MACアドレス”をキーとするMACエントリ421が存在しない場合、MAC学習が実行される(すなわち、新たなMACエントリ421が登録される)。MACエントリ421が存在するが、MACエントリ421に指定された出力のポート410と、フレーム600の入力のポート410とが異なる場合、次のとおりとなる。すなわち、MACエントリ421は、MACエントリ421に指定された出力ポートの情報(ポート410の識別子やポート番号など)を、フレーム600の入力ポートの情報(ポート410の識別子やポート番号など)に更新する(MAC移動)。 The MAC address table 420 includes a MAC entry 421. In the MAC entry 421, the key is “OVID and transmission destination MAC address”, and the action is “output port” designation. That is, when the frame 600 including “OVID and destination MAC address” specified in the MAC entry 421 is input, the 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 performed (that is, a new MAC entry 421 is registered). ) When the MAC entry 421 exists, but the output port 410 specified in the MAC entry 421 is different from the input port 410 of the frame 600, the following occurs. That is, the MAC entry 421 updates the output port information (port 410 identifier, port number, etc.) designated in the MAC entry 421 to the input port information (port 410 identifier, port number, etc.) of the frame 600. (MAC move).
 なお、MACアドレステーブル420において、所定の時間である“エージング設定時間”を超える間、MACエントリ421のキーに一致するフレーム600を受信しなかった場合、当該MACエントリ421は削除される。 In the MAC address table 420, if the frame 600 matching the key of the MAC entry 421 is not received for a time exceeding the predetermined “aging setting time”, the MAC entry 421 is deleted.
 アクセスリストテーブル450は、2つの論理的なテーブルであるフレーム転送用のアクセスリストテーブル450Aと、MAC重複監視用のアクセスリストテーブル450Bとを含む。アクセスリストテーブル450に含まれるエントリにヒット(HIT)するフレーム600が入力した場合、当該ヒットしたエントリのアクションが当該フレーム600に対して適用される。 The access list table 450 includes two logical tables, an access list table 450A for frame transfer and an access list table 450B for MAC duplication monitoring. When a frame 600 that hits (HIT) an entry included in the access list table 450 is input, the action of the hit entry is applied to the frame 600.
 また、アクセスリストテーブル450は、論理テーブルにおいて、フレーム600に適用される際の優先度を示す“エントリ優先度”を有する。例えば、アクセスリストテーブル450に含まれるエントリの各々は優先度を含み、入力されたフレーム600にヒットするエントリが複数ある場合には、当該優先度の高いエントリで指定されたアクションが当該フレーム600に優先して適用される。なお、第2の実施形態の図面においては、アクセスリストテーブル450のより上位(上位位置)に記載されたエントリが、高優先のエントリとする。 Also, the access list table 450 has “entry priority” indicating the priority when applied to the frame 600 in the logical table. For example, each entry included in the access list table 450 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 to the frame 600. Priority is applied. In the drawing of the second embodiment, an entry described at a higher level (upper position) in the access list table 450 is a higher priority entry.
 アクセスリストテーブル450A(フレーム転送用)に含まれるUC出力用エントリ451Aは、MACアドレステーブル420のMACエントリ421にヒット(HIT)したフレーム600だけがヒット(HIT)するエントリである。そのUC出力用エントリ451Aは、MACエントリ421によって指定されたポート410からフレーム600を出力する役割を有する。 The UC output entry 451A included in the access list table 450A (for frame transfer) 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 UC output entry 451A has a role of outputting the frame 600 from the port 410 specified by the MAC entry 421.
 フレーム600がUC出力用エントリ451Aにヒット(HIT)しない場合(MAC学習されていない場合)、当該フレーム600は、UC出力用エントリ451Aよりも優先度が低いFlooding出力用エントリ452Aにヒット(HIT)する。そして、当該フレーム600は、Flooding出力される。UC出力用エントリ451A及びFlooding出力用エントリ452Aは、フロー制御装置100の指示により、アクセスリストテーブル450Aに登録/更新/削除される。 When the frame 600 does not hit (HIT) the UC output entry 451A (when MAC learning is not performed), the frame 600 hits the Flooding output entry 452A having a lower priority than the UC output entry 451A (HIT). To do. Then, the frame 600 is output as Flooding. The UC output entry 451A and the Flooding output entry 452A are registered / updated / deleted in the access list table 450A in accordance with an instruction from the flow control apparatus 100.
 フレーム処理部460は、MACアドレステーブル420におけるMAC移動が発生した場合に、当該MAC移動の要因となったフレーム600又はそのコピーを受信する。フレーム処理部460は、監視用エントリ454Aにヒット(HIT)したフレーム600又はそのコピーを受信する。フレーム処理部460は、MAC重複処理部470に、フレーム600又はそのコピーを通知する。 When the MAC movement in the MAC address table 420 occurs, the frame processing unit 460 receives the frame 600 that has caused the MAC movement or a copy thereof. The frame processing unit 460 receives the frame 600 hit (HIT) in the monitoring entry 454A or a copy thereof. The frame processing unit 460 notifies the MAC duplication processing unit 470 of the frame 600 or a copy thereof.
 MAC重複処理部470は、フレーム処理部460から受信したフレーム600の情報(ヘッダ情報など)に基づいて、MAC重複テーブル490にエントリを登録する。例えば、MAC重複処理部470は、MAC重複テーブル490に、フレーム600A、及び、600Bのそれぞれに対応するMAC重複エントリ491Aと、491Bとを登録し、IVIDを含めた形式のMACエントリとして管理する。 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.
 また、MAC重複処理部470は、フレーム処理部460から受信したフレーム600の情報(ヘッダ情報など)に基づいて、ハードウェアの各テーブルのエントリの登録/更新/削除を、ハードウェア処理部480に指示する。例えば、MAC重複処理部470は、MAC重複テーブル490内のMAC重複エントリ491Aと、491Bとの情報に基づき、ハードウェアのフレーム変換用テーブル430に対して、エージング用エントリ431Aと、431Bとの登録を指示する。エージング用エントリ431A、及び431Bは、フレーム600A、及び600Bが入力しなくなった際のエージングを検出する役割を持つ。 In addition, 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 491B 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.
 エージング用エントリ431は、キーが“OVID、IVID、送信元MACアドレス、入力ポート”であり、アクションが“MAC学習キャンセル及びWriteMetadata”である。MAC学習キャンセルは、当該エージング用エントリ431にヒット(HIT)するフレーム600がMACアドレステーブル420に入力した場合に、MAC学習させないという役割を持つ。WriteMetadataは、当該エージング用エントリ431にヒット(HIT)したことを、フレーム情報として保持させる役割を持つ。 In the aging entry 431, 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 preventing MAC learning when a frame 600 that hits (HIT) the entry 431 for aging 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.
 また、MAC重複UC出力用エントリ453は、キーが“VID、IVID、送信先MACアドレス”であり、アクションが“ポート出力”である。 Also, in the MAC duplicate UC output entry 453, the key is “VID, IVID, destination MAC address” and the action is “port output”.
 また、MAC重複処理部470は、アクセスリストテーブル450Aに対して、MAC重複UC出力用エントリ453Aと、453Bとの登録を指示する。MAC重複UC出力用エントリ453Aと、453Bは、重複MACが発生したフレーム600を、正しいポート410へ出力するための役割を持つ。例えば、アクセスリストテーブル450Aは、MAC重複UC出力用エントリ453Aとして、“送信先MACアドレスがM1で、OVIDがN1で、IVIDがB1のフレームを、ポート410Bに転送する”旨を登録する。また、アクセスリストテーブル450Aは、MAC重複UC出力用エントリ453Bとして、“送信先MACアドレスがM1で、OVIDがN1で、IVIDがB2のフレームを、ポート410Cに転送する”旨を登録する。 Also, the MAC duplication processing unit 470 instructs the access list table 450A to register the MAC duplication UC output entries 453A and 453B. The MAC duplicate UC output entries 453A and 453B have a role to output the frame 600 in which the duplicate MAC has occurred to the correct port 410. For example, the access list table 450A registers, as the MAC duplicate UC output entry 453A, that “the frame with the destination MAC address M1, the OVID N1, and the IVID B1 is transferred to the port 410B”. In addition, the access list table 450A registers, as the MAC duplicate UC output entry 453B, that “the frame with the transmission destination MAC address M1, the OVID N1, and the IVID B2 is transferred to the port 410C”.
 ハードウェア処理部480は、MAC重複処理部470の指示に従い、ハードウェアの各テーブルに、エントリを登録/更新/削除する。また、ハードウェア処理部480は、エージング用エントリ431のフレーム600の統計情報(フレーム統計)から、MAC重複エントリ491のエージアウトを検出する。ハードウェア処理部480は、エージアウトを検出した場合、MAC重複処理部470に当該エージアウトを通知する。 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. Also, the hardware processing unit 480 detects the age-out of the MAC duplication entry 491 from the statistical information (frame statistics) of the frame 600 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.
 上記のとおり、MAC重複UC出力用エントリ453と、エージング用エントリ431によって、フロー処理装置400における誤転送を回避するとともに、エージングにも追随することができる。また、MAC重複処理部470は、ハードウェアで構成される各テーブルに対する、MACエントリ451Aの削除と、監視用エントリ454Aの登録を指示する。MACエントリ451Aを削除することで、新規のMAC重複がさらに発生した場合であっても、ハードウェア上ですみやかにMAC学習が動作し、フレーム600の転送処理を、UC転送に移行することが可能となる。 As described above, the MAC duplication UC output entry 453 and the aging entry 431 can avoid erroneous transfer in the flow processing device 400 and can follow aging. In addition, the MAC duplication processing unit 470 instructs the deletion of the MAC entry 451A and the registration of the monitoring entry 454A for each table configured by hardware. By deleting the MAC entry 451A, 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.
 監視用エントリ454Aは、新たに発生したMAC重複の要因となったフレーム600を、ソフトウェア上で動作するMAC重複処理部470に通知する役割を担っている。MAC重複処理部470は、新規のMAC重複に対するMAC重複エントリ491をMAC重複テーブル490に登録し、また、エージング用エントリ431やMAC重複UC出力用エントリ453をハードウェア上の各テーブルに登録する。そのため、フロー処理装置400は、動的にMAC重複に対応することが可能となる。 The monitoring entry 454A has a role of notifying the MAC duplication processing unit 470 operating on software of the newly generated frame 600 that causes the MAC duplication. The MAC duplication processing unit 470 registers a MAC duplication entry 491 for a new MAC duplication in the MAC duplication table 490, and registers an aging entry 431 and a MAC duplication UC output entry 453 in each table on the hardware. Therefore, the flow processing device 400 can dynamically cope with MAC duplication.
 監視用エントリ454Aは、キーが“OVID、送信元MACアドレス、Metadata”であり、アクションが“ソフトウェアへのフレーム600のコピー”である。Metadataは、エージング用エントリ431で設定されたMetadataに基づいて、エージング用エントリ431にヒット(HIT)していないフレーム600だけがヒット(HIT)する条件で登録される。すなわち、Metadataは、新たに発生したMAC重複のみを検出して、ソフトウェアに通知するために使用する。 In the monitoring entry 454A, the key is “OVID, transmission source MAC address, Metadata”, and the action is “copy frame 600 to software”. Based on the metadata set in the aging entry 431, the metadata is registered under the condition that only the frame 600 that has not hit the aging entry 431 is hit (HIT). That is, Metadata is used to detect only newly generated MAC duplication and notify the software.
 図6は、上記で説明した各テーブルに格納されるエントリの構成例を示す図である。図6に示すように、MAC重複エントリ491は、キーが“OVID、IVID、送信先MACアドレス”であり、アクションが“出力ポート指定”である。また、MACエントリ421は、キーが“OVID、送信先MACアドレス”であり、アクションが“出力ポート指定”である。また、VLANエントリ441Aは、キーが“OVID”であり、アクションが“フレーム中継”である。また、エージング用エントリ431は、キーが“OVID、IVID、送信元MACアドレス、入力ポート”であり、アクションが“MAC学習キャンセル、WriteMetadata”である。また、MAC重複UC出力用エントリ453は、キーが“OVID、IVID、送信先MACアドレス”であり、アクションが“ポート指定”である。また、監視用エントリ454Aは、キーが“OVID、送信元MACアドレス、Metadata”であり、アクションが“ソフトウェアにフレームをコピー”である。 FIG. 6 is a diagram showing a configuration example of entries stored in each table described above. As shown in FIG. 6, in the MAC duplication entry 491, the key is “OVID, IVID, destination MAC address”, and the action is “designate output port”. The MAC entry 421 has a key “OVID, destination MAC address” and an action “designate output port”. In the VLAN entry 441A, the key is “OVID” and the action is “frame relay”. In the aging entry 431, the key is “OVID, IVID, transmission source MAC address, input port”, and the action is “MAC learning cancel, WriteMetadata”. In the MAC duplicate UC output entry 453, the key is “OVID, IVID, transmission destination MAC address”, and the action is “port designation”. In the monitoring entry 454A, the key is “OVID, transmission source MAC address, Metadata”, and the action is “copy frame to software”.
 図7は、第2の実施形態におけるフロー処理装置400の動作例を示すフローチャートである。 FIG. 7 is a flowchart showing an operation example of the flow processing apparatus 400 in the second embodiment.
 端末300Aと端末300Bとは、フロー処理装置400を介して、相互に通信している(S201)。具体的には、フロー処理装置400は、ポート410Aから、“OVID:N1、IVID:B1、送信元MACアドレス:M2、送信先MACアドレス:M1”のフレーム600Aを受信し、ポート410Bを介して転送する。また、フロー処理装置400は、ポート410Bから、“OVID:N1、IVID:B1、送信元MACアドレス:M1,送信先MACアドレス:M2”のフレーム600Bを受信し、ポート410Aを介して転送する。 The terminal 300A and the terminal 300B communicate with each other via the flow processing device 400 (S201). Specifically, the flow processing device 400 receives the frame 600A of “OVID: N1, IVID: B1, transmission source MAC address: M2, 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.
 図8は、端末300Aと端末300Bとが相互に通信している場合の、フロー処理装置400の構成例を示す図である。 FIG. 8 is a diagram illustrating a configuration example of the flow processing device 400 when the terminal 300A and the terminal 300B communicate with each other.
 フロー処理装置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とが学習されている。 The flow processing device 400 receives the frame 600A from the terminal 300A via the port 410A. As a result, 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”. On the other hand, the flow processing apparatus 400 receives the frame 600B from the terminal 300B via the port 410B. As a result, 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”. As a result, as shown in FIG. 8, the MAC address table 420 learns the MAC entry 421A and the MAC entry 421B. In the flow processing apparatus 400 of FIG. 8, the MAC entry 421C and the MAC entry 421D are learned in advance.
 フロー処理装置400が、フレーム600Bを受信した場合には、MACアドレステーブル420に登録されているMACエントリ421Bに従って、当該フレーム600Bの転送処理が実行される。また、フロー処理装置400が、フレーム600Aを受信した場合には、MACアドレステーブル420に登録されているMACエントリ421Aに従って、当該フレーム600Aの転送処理が実行される。 When the flow processing device 400 receives the frame 600B, the transfer processing of the frame 600B is executed according to the MAC entry 421B registered in the MAC address table 420. When the flow processing device 400 receives the frame 600A, the transfer processing of the frame 600A is executed according to the MAC entry 421A registered in the MAC address table 420.
 また、図9に示すように、アクセスリストテーブル450Aは、UC出力用エントリ451Aと、Flooding出力用エントリ452Aとが登録されている。図9に示すように、MACアドレステーブル420に登録されているMACエントリ421にヒットしたフレーム600は、UC出力用エントリ451Aに従って、MACエントリ421で指定されたポート410から転送される。例えば、フレーム600Aは、UC出力用エントリ451Aに従って、MACエントリ421Aで指定されたポート410Aから転送される。 Also, as shown in FIG. 9, the access list table 450A registers a UC output entry 451A and a Flooding output entry 452A. As shown in FIG. 9, 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. For example, the frame 600A is transferred from the port 410A designated by the MAC entry 421A in accordance with the UC output entry 451A.
 次に、フロー処理装置400は、ポート410Cから、“OVID:N1、IVID:B2、送信元MACアドレス:M1、送信先MACアドレス:M5”のフレーム600Cを受信する(S202)。フレーム600Cは、VLANテーブル440のVLANエントリ441Aにヒット(HIT)することにより、MACアドレステーブル420の処理に進む(S203)。 Next, the flow processing device 400 receives the frame 600C of “OVID: N1, IVID: B2, transmission source MAC address: M1, transmission destination MAC address: M5” from the port 410C (S202). 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 (S203).
 フロー処理装置400がフレーム600Cを受信した場合、MACアドレステーブル420のMACエントリ421Aが、“送信先MACアドレスがM1で、OVIDがN1のフレームを、ポート410Cに転送する”旨の内容に書き換わる(MAC移動)。すなわち、フレーム600Cが、MACアドレステーブル420ですでに学習済みのMACエントリ421Aの“OVID:N1、送信先MACアドレスM1”と同一のキーであり、ポート410が異なる。そのため、フロー処理装置400は、当該MACエントリ421Aのポートを、フレーム600Cの入力のポート410Cに更新する(S204)。 When the flow processing device 400 receives the frame 600C, the MAC entry 421A of the MAC address table 420 is rewritten with the content “transfer frame with destination MAC address M1 and OVID N1 to port 410C”. (MAC move). That is, the frame 600C is the same key as “OVID: N1, destination MAC address M1” of the MAC entry 421A that has already been learned in the MAC address table 420, and the port 410 is different. Therefore, the flow processing device 400 updates the port of the MAC entry 421A to the input port 410C of the frame 600C (S204).
 フロー処理装置400は、フレーム600Cを、MACアドレステーブル420に予め学習されている送信先のMACエントリ421Cと、アクセスリストテーブル450Aに登録されているUC出力用エントリ451Aに従って、転送する(S205)。 The flow processing apparatus 400 transfers the frame 600C according to the MAC entry 421C of the transmission destination learned in advance in the MAC address table 420 and the entry 451A for UC output registered in the access list table 450A (S205).
 フロー処理装置400は、MACアドレステーブル420におけるMAC移動(MAC重複)が生じたことに応じて、フレーム600Cを、フレーム処理部460に通知する。フレーム処理部460は、フレーム600Cを、MAC重複処理部470に通知する(S206)。 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 420. The frame processing unit 460 notifies the frame 600C to the MAC duplication processing unit 470 (S206).
 MAC重複処理部470は、フレーム600Cに含まれる情報(例えば、ヘッダ情報)に基づき、MAC重複テーブル490に、MAC重複エントリ491Bを登録する(S207)。MAC重複エントリ491Bは、“OVID:N1、IVID:B2、送信先MACアドレス:M1”をキーとして、“ポート410C”を出力ポートとするエントリである。 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 (S207). 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.
 MAC重複処理部470は、ハードウェア処理部480に、MACエントリ421Aの削除を指示する。ハードウェア処理部480は、指示されたMACエントリ421Aを削除する(S208)。 The MAC duplication processing unit 470 instructs the hardware processing unit 480 to delete the MAC entry 421A. The hardware processing unit 480 deletes the instructed MAC entry 421A (S208).
 MACエントリ421Aを削除することにより、次に受信したフレーム600が、600Cであっても、フレーム600Bであっても、すみやかにMAC学習が動作し、UC転送に移行することが可能である。 By deleting the MAC entry 421A, it is possible to move to UC transfer promptly by MAC learning regardless of whether the next received frame 600 is 600C or 600B.
 また、フロー処理装置400は、MAC重複ではなく、MAC移動の際には、ソフトウェアにフレーム600が通知されないため、一定時間経過した場合には、MAC重複テーブル490からMAC重複エントリ491Bを削除する処理を行う。 In addition, the flow processing device 400 is not a MAC duplication, and the MAC 600 is not notified to the software when the MAC is moved. I do.
 図9は、図8の状態において、フロー処理装置400のポート410Cを介して、フレーム600Cを受信した場合の、フロー処理装置400の構成例を示す図である。 FIG. 9 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.
 フロー処理装置400のMACアドレステーブル420において、フレーム600Cが入力されたことによりMAC移動が発生するため、フレーム処理部460は、当該フレーム600Cの通知を受ける。 In the MAC address table 420 of the flow processing device 400, since the MAC movement occurs when the frame 600C is input, the frame processing unit 460 receives the notification of the frame 600C.
 MAC重複処理部470は、フレーム処理部460からフレーム600Cを通知されたことにより、MAC重複テーブル490にMAC重複エントリ491Bを登録する。 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.
 MAC重複エントリ491Bは、キーが“OVID,IVID、送信先MACアドレス”であり、アクションが“出力ポート”である。すなわち、MAC重複エントリ491は、ハードウェアで表現できないIVIDを含めたMACエントリ421を、ソフトウェアで管理する。 In the MAC duplicate entry 491B, the key is “OVID, IVID, destination MAC address”, and the action is “output port”. That is, the MAC duplication entry 491 manages the MAC entry 421 including the IVID that cannot be expressed by hardware by software.
 MAC重複エントリ491Bのキーは、“OVID:N1、IVID:B2、送信先MACアドレス:M1”であり、アクションは“ポート410C“である。MAC重複エントリ491Bは、フレーム600Cに基づいて、設定される。 The key of the MAC duplicate entry 491B is “OVID: N1, IVID: B2, destination MAC address: M1”, and the action is “port 410C”. The MAC duplication entry 491B is set based on the frame 600C.
 MACエントリ421Aは、MAC重複処理部470の指示により、ハードウェア処理部480を介して、削除される。MACエントリ421Aの削除により、MACアドレス:M1を送信先とするフレーム600Aは、アクセスリストテーブル450AのFlooding出力用エントリ452Aにヒット(HITF)し、Flooding出力される。 The MAC entry 421A is deleted via the hardware processing unit 480 according to an instruction from the MAC duplication processing unit 470. By deleting the MAC entry 421A, the frame 600A having the MAC address: M1 as a transmission destination hits (HITF) the Flooding output entry 452A of the access list table 450A, and is output as Flooding.
 図10は、第2の実施形態におけるフロー処理装置400の他の動作例を示すフローチャートである。図10は、フロー処理装置400が、図7の動作の後に、ポート410Cからフレーム600Cを受信した場合の動作例を示すフローチャートである。 FIG. 10 is a flowchart illustrating another operation example of the flow processing apparatus 400 according to the second embodiment. FIG. 10 is a flowchart illustrating an operation example when the flow processing apparatus 400 receives the frame 600C from the port 410C after the operation of FIG.
 フロー処理装置400は、ポート410Cから、“OVID:N1、IVID:B2、送信元MACアドレス:M1、送信先MACアドレス:M5”のフレーム600Cを受信する(S301)。 The flow processing device 400 receives the frame 600C of “OVID: N1, IVID: B2, transmission source MAC address: M1, transmission destination MAC address: M5” from the port 410C (S301).
 フロー処理装置400のVLANテーブル440において、フレーム600Cは、VLANエントリ441Aにヒット(HIT)し、MACアドレステーブル420の処理に進む(S302)。 In the VLAN table 440 of the flow processing device 400, the frame 600C hits (HIT) the VLAN entry 441A, and proceeds to the processing of the MAC address table 420 (S302).
 フロー処理装置400は、MACアドレステーブル420に、フレーム600Cに対応する“OVID:N1、送信先MACアドレス:M1”をキーとするエントリがないため、MACエントリ421Aを登録する(S303)。 The flow processing apparatus 400 registers the MAC entry 421A in the MAC address table 420 because there is no entry with “OVID: N1, destination MAC address: M1” corresponding to the frame 600C as a key (S303).
 フロー処理装置400は、フレーム600Cを、MACアドレステーブル420に予め学習されていた送信先のMACエントリ421Cと、アクセスリストテーブル450AのUC出力用エントリ451Aに従って、転送処理を実行する(S304)。 The flow processing device 400 executes a transfer process for the frame 600C according to the MAC entry 421C of the transmission destination learned in advance in the MAC address table 420 and the UC output entry 451A of the access list table 450A (S304).
 図11は、第2の実施形態におけるフロー処理装置400の他の動作例を示すフローチャートである。図11は、フロー処理装置400が、図10の動作の後に、ポート410Bからフレーム600Bを受信した場合の動作例を示すフローチャートである。 FIG. 11 is a flowchart illustrating another operation example of the flow processing apparatus 400 according to the second embodiment. FIG. 11 is a flowchart illustrating an operation example when the flow processing apparatus 400 receives the frame 600B from the port 410B after the operation of FIG.
 フロー処理装置400は、ポート410Bを介して、“OVID:N1、IVID:B1、送信元MACアドレス:M1,送信先MACアドレス:M2”のフレーム600Bを受信する(S401)。 The flow processing device 400 receives the frame 600B of “OVID: N1, IVID: B1, transmission source MAC address: M1, transmission destination MAC address: M2” via the port 410B (S401).
 フロー処理装置400において、フレーム600Bは、VLANテーブル440のVLANエントリ441Aにヒット(HIT)することで、MACアドレステーブル420の処理に進む(S402)。 In the flow processing apparatus 400, the frame 600B hits (HIT) the VLAN entry 441A of the VLAN table 440, and proceeds to the processing of the MAC address table 420 (S402).
 フロー処理装置400がフレーム600Bを受信した場合、MACアドレステーブル420のMACエントリ421Aが、“送信先MACアドレスがM1で、OVIDがN1のフレームを、ポート410Bに転送する”旨の内容に書き換わる(MAC移動)。すなわち、フレーム600Bが、MACアドレステーブル420ですでに学習済みのMACエントリ421Aの“OVID:N1、送信MACアドレスM1”と同一のキーであり、ポート410が異なる。そのため、フロー処理装置400は、当該MACエントリ421Aのポートを、フレーム600Bの入力のポート410Bに更新する(S403)。 When the flow processing device 400 receives the frame 600B, the MAC entry 421A 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 410B”. (MAC move). That is, the frame 600B 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 410 is different. Therefore, the flow processing device 400 updates the port of the MAC entry 421A to the input port 410B of the frame 600B (S403).
 フロー処理装置400は、フレーム600Bを、MACアドレステーブル420に予め学習されているMACエントリ421Bと、アクセスリストテーブル450Aに登録されているUC出力用エントリ451Aに従って、転送処理する(S404)。 The flow processing device 400 transfers the frame 600B according to the MAC entry 421B learned in advance in the MAC address table 420 and the UC output entry 451A registered in the access list table 450A (S404).
 送信先のフロー処理装置400は、MACアドレステーブル420におけるMAC移動が生じたことに応じて、フレーム600Bを、フレーム処理部460に通知する。フレーム処理部460は、フレーム600Bを、MAC重複処理部470に通知する(S405)。 The destination flow processing device 400 notifies the frame processing unit 460 of the frame 600B in response to the occurrence of MAC movement in the MAC address table 420. The frame processing unit 460 notifies the frame 600B to the MAC duplication processing unit 470 (S405).
 MAC重複処理部470は、フレーム600Bに含まれる情報(例えば、ヘッダ情報)に基づき、MAC重複テーブル490に、MAC重複エントリ491Aを登録する(S406)。MAC重複エントリ491Aは、“OVID:N1、IVID:B1、送信先MACアドレス:M1”をキーとして、“ポート410B”を出力ポートとするエントリである。 The MAC duplication processing unit 470 registers the MAC duplication entry 491A in the MAC duplication table 490 based on information (for example, header information) included in the frame 600B (S406). The MAC duplicate entry 491A is an entry having “OVID: N1, IVID: B1, transmission destination MAC address: M1” as a key and “port 410B” as an output port.
 MAC重複処理部470は、MAC重複テーブル490において、“OVID:N1、送信先MACアドレス:M1”が同一だが、“IVID”が異なるエントリが複数存在することにより、MAC重複(MAC移動)が発生していると判断する(S407)。 The MAC duplication processing unit 470 causes MAC duplication (MAC migration) due to the presence of a plurality of entries having the same “OVID: N1, destination MAC address: M1” but different “IVID” in the MAC duplication table 490. (S407).
 MAC重複処理部470は、ハードウェア処理部480に対して、フレーム変換用テーブル430に“エージング用エントリ431Aと431B”を登録することを指示する。また、MAC重複処理部470は、ハードウェア処理部480に対して、アクセスリストテーブル450Aに“MAC重複UC出力用エントリ453Aと453B”の登録を指示する(S408)。 The MAC duplication processing unit 470 instructs the hardware processing unit 480 to register “aging entries 431A and 431B” in the frame conversion table 430. Further, the MAC duplication processing unit 470 instructs the hardware processing unit 480 to register “MAC duplication UC output entries 453A and 453B” in the access list table 450A (S408).
 上記の動作により、UC出力用エントリ451AとFlooding出力用エントリ452Aよりも高優先であるMAC重複UC出力用エントリ453が登録される。よって、フロー処理装置400は、フレーム600Aなどの送信先MACアドレスがM1であるフレーム600を、ハードウェア上のMACエントリ421Aの有無に関わらず、MAC重複UC出力用エントリ453にヒット(HIT)する。従って、フロー処理装置400は、送信先MACアドレスがM1であるフレーム600を、正しい送信先のポート410に出力することが可能となる。 By the above operation, the MAC duplicate UC output entry 453 having higher priority than the UC output entry 451A and the Flooding output entry 452A is registered. Therefore, the flow processing apparatus 400 hits (HITs) the MAC duplicated UC output entry 453 for the frame 600 having the destination MAC address M1, such as the frame 600A, regardless of the presence or absence of the MAC entry 421A on the hardware. . Therefore, the flow processing apparatus 400 can output the frame 600 whose destination MAC address is M1 to the correct destination port 410.
 MAC重複処理部470は、ハードウェア処理部480に対して、MACエントリ421Aの削除を指示する(S409)。また、MAC重複処理部470は、アクセスリストテーブル450Bに、監視用エントリ454Aの登録を指示する(S409)。 The MAC duplication processing unit 470 instructs the hardware processing unit 480 to delete the MAC entry 421A (S409). In addition, the MAC duplication processing unit 470 instructs the access list table 450B to register the monitoring entry 454A (S409).
 図12は、図9の状態において、ポート410Cからフレーム600Cが入力した後に、さらにポート410Bからフレーム600Bが入力した場合のフロー処理装置400の構成例を示す図である。 FIG. 12 is a diagram illustrating a configuration example of the flow processing device 400 when the frame 600C is further input from the port 410B after the frame 600C is input from the port 410C in the state of FIG.
 MACアドレステーブル420は、フレーム600Cの入力により、MACエントリ421Aを学習する。その後、MACアドレステーブル420において、フレーム600Bの入力により、MAC移動(MAC重複)が発生する。したがって、フレーム処理部460は、MAC移動(MAC重複)が発生したことに応じて、フレーム600Bの通知を受ける。 The MAC address table 420 learns the MAC entry 421A by inputting the frame 600C. Thereafter, in the MAC address table 420, MAC movement (MAC duplication) occurs due to the input of the frame 600B. Therefore, the frame processing unit 460 receives the notification of the frame 600B in response to occurrence of MAC movement (MAC duplication).
 MAC重複処理部470は、フレーム処理部460からの通知を受けたことに応じて、MAC重複テーブル490に、MAC重複エントリ491Aを登録する。 In response to receiving the notification from the frame processing unit 460, the MAC duplication processing unit 470 registers the MAC duplication entry 491A in the MAC duplication table 490.
 MAC重複処理部470は、ハードウェア処理部480を介して、フレーム変換用テーブル430に、エージング用エントリ431Aと431Bとを登録する。また、MAC重複処理部470は、ハードウェア処理部480を介して、MAC重複UC出力用エントリ453Aと453Bとを登録する。 The MAC duplication processing unit 470 registers the aging entries 431A and 431B in the frame conversion table 430 via the hardware processing unit 480. Also, the MAC duplication processing unit 470 registers the MAC duplication UC output entries 453A and 453B via the hardware processing unit 480.
 エージング用エントリ431AとMAC重複UC出力用エントリ453Aは、MAC重複エントリ491Aに対応するハードウェアエントリであり、MAC重複エントリ491Aの“キー”と“アクション”を基に設定される。同様に、エージング用エントリ431BとMAC重複UC出力用エントリ453Bは、MAC重複エントリ491Bに対応するハードウェアエントリであり、MAC重複エントリ491Bの“キー”と“アクション”を基に設定される。フロー処理装置400のハードウェア構成においては、エージング用エントリ431とMAC重複UC出力用エントリ453が、InnerVLAN単位のMACフォワーディングの役割として動作する。 The aging entry 431A and the MAC duplicate UC output entry 453A are hardware entries corresponding to the MAC duplicate entry 491A, and are set based on the “key” and “action” of the MAC duplicate entry 491A. Similarly, the aging entry 431B and the MAC duplicate UC output entry 453B are hardware entries corresponding to the MAC duplicate entry 491B, and are set based on the “key” and “action” of the MAC duplicate entry 491B. In the hardware configuration of the flow processing device 400, the aging entry 431 and the MAC duplicated UC output entry 453 operate as the role of MAC forwarding in the inner VLAN unit.
 図12に例示するフロー処理装置400は、フレーム600Aを受信すると、MACアドレステーブル420にはヒット(HIT)するMACエントリ421は存在しない。しかし、フロー処理装置400は、UC出力用エントリ451AやMAC重複UC出力用エントリ453Aに従って、正しい送信先であるポート410Bに出力される。 When the flow processing apparatus 400 illustrated in FIG. 12 receives the frame 600A, the MAC address table 420 does not include a MAC entry 421 that hits (HIT). However, the flow processing apparatus 400 outputs to the port 410B, which is the correct transmission destination, in accordance with the UC output entry 451A and the MAC duplicate UC output entry 453A.
 ここで、図12のパターンとは逆に、フレーム600Cに対応するMAC重複エントリ491Bが存在する状態で、再びフレーム600CによるMAC移動が発生し、ソフトウェアにフレーム600Cが通知される場合も発生し得る。この場合は、MAC重複エントリ491Bに対応するエージング用エントリ431Bと、MAC重複UC出力用エントリ453Bと、監視用エントリ454Aとが登録される。その後、フレーム600Bに対するエントリ登録は、監視用エントリ454Aによりフレーム600Bがソフトウェアに通知された契機で実施される。この場合、MAC重複エントリ491Bだけが登録されているため、MAC重複が発生しているのか、発生していないのかは不明である。そのため、一定時間経過後もMAC重複エントリ491Bだけが登録されている場合は、MAC重複解消と判断し、エージング用エントリ431Bと、MAC重複UC出力用エントリ453Bと、監視用エントリ454Aとを削除する必要がある。 Here, conversely to the pattern of FIG. 12, there may be a case where the MAC movement by the frame 600C occurs again in the state where the MAC duplicate entry 491B corresponding to the frame 600C exists and the frame 600C is notified to the software. . In this case, an aging entry 431B corresponding to the MAC duplication entry 491B, a MAC duplication UC output entry 453B, and a monitoring entry 454A are registered. Thereafter, the entry registration for the frame 600B is performed when the frame 600B is notified to the software by the monitoring entry 454A. In this case, since only the MAC duplication entry 491B is registered, it is unknown whether MAC duplication has occurred or not. Therefore, if only the MAC duplication entry 491B is registered even after a predetermined time has elapsed, it is determined that the MAC duplication is resolved, and the aging entry 431B, the MAC duplication UC output entry 453B, and the monitoring entry 454A are deleted. There is a need.
 図13は、図12の状態で、フロー処理装置400が、ポート410Dからフレーム600Dを受信した場合の動作例を示す図である。 FIG. 13 is a diagram illustrating an operation example when the flow processing device 400 receives the frame 600D from the port 410D in the state of FIG.
 フロー処理装置400は、ポート410Dから、“OVID:N1、IVID:B3、送信先MACアドレス:M1、送信元MACアドレス:M4”のフレーム600Dを受信する(S501)。 The flow processing apparatus 400 receives the frame 600D of “OVID: N1, IVID: B3, transmission destination MAC address: M1, transmission source MAC address: M4” from the port 410D (S501).
 フロー処理装置400において、フレーム600Dは、VLANテーブル440のVLANエントリ441Aにヒット(HIT)することにより、MACアドレステーブル420の処理に進む(S502)。 In the flow processing device 400, the frame 600D proceeds to the processing of the MAC address table 420 by hitting (HIT) the VLAN entry 441A of the VLAN table 440 (S502).
 フロー処理装置400は、MACアドレステーブル420に、フレーム600Dに対応する“OVID:N1、送信先MACアドレス:M1”をキーとするエントリがない。そのため、フロー処理装置400は、キーが“OVID:N1、送信先MACアドレス:M1”で“ポート410D”が出力ポートであるMACエントリ421Aを登録する(S503)。 The flow processing device 400 does not have an entry in the MAC address table 420 with “OVID: N1, destination MAC address: M1” corresponding to the frame 600D as a key. Therefore, the flow processing apparatus 400 registers the MAC entry 421A whose key is “OVID: N1, destination MAC address: M1” and “port 410D” is the output port (S503).
 フロー処理装置400において、フレーム600Dの受信に応じてMACエントリ421Aが登録された直後において、“OVID:N1、IVID:B3、送信先MACアドレス:M1”のフレーム600Dは、次のとおりである。フレーム600Dは、MACアドレステーブル420のMACエントリ421にヒット(HIT)し、MAC重複UC出力用エントリ453はキーに一致しないためヒット(HIT)せず、UC出力用エントリ451Aにヒット(HIT)する。そのため、フレーム600Dは、正しい送信先(ポート410D)に送信できるようになっている。 In the flow processing apparatus 400, immediately after the MAC entry 421A is registered in response to the reception of the frame 600D, the frame 600D of “OVID: N1, IVID: B3, transmission destination MAC address: M1” is as follows. The frame 600D hits (HIT) the MAC entry 421 of the MAC address table 420, and does not hit (HIT) because the MAC duplicate UC output entry 453 does not match the key, and hits (HIT) the UC output entry 451A. . Therefore, the frame 600D can be transmitted to the correct transmission destination (port 410D).
 フロー処理装置400は、フレーム600Dを、MACアドレステーブル420に予め登録されているMACエントリ421Dと、送信先のアクセスリストテーブル450AのUC出力用エントリ451Aに従い、転送処理を実行する(S504)。 The flow processing device 400 executes a transfer process for the frame 600D according to the MAC entry 421D registered in the MAC address table 420 in advance and the UC output entry 451A in the access list table 450A of the transmission destination (S504).
 フロー処理装置400は、監視用エントリ454Aのアクションにより、フレーム600Dをフレーム処理部460に送信する。フレーム処理部460は、フレーム600Dを、MAC重複処理部470に通知する(S505)。 The flow processing device 400 transmits the frame 600D to the frame processing unit 460 by the action of the monitoring entry 454A. The frame processing unit 460 notifies the frame 600D to the MAC duplication processing unit 470 (S505).
 MAC重複処理部470は、フレーム600Dに含まれる情報(ヘッダ情報など)に基づき、MAC重複テーブル490にMAC重複エントリ491Cを登録する。ただし、MAC重複処理部470は、“OVID:N1、IVID:B3、送信先MACアドレス:M1”をキー、出力ポートを“ポート410D”として、MAC重複テーブル490にMAC重複エントリ491Cを登録する(S506)。 The MAC duplication processing unit 470 registers the MAC duplication entry 491C in the MAC duplication table 490 based on information (such as header information) included in the frame 600D. However, the MAC duplication processing unit 470 registers the MAC duplication entry 491C in the MAC duplication table 490 with “OVID: N1, IVID: B3, destination MAC address: M1” as a key, and the output port as “port 410D” ( S506).
 MAC重複処理部470は、ハードウェア処理部480に対して、エージング用エントリ431Cと、MAC重複UC出力用エントリ453Cの登録を指示する(S507)。フロー処理装置400は、当該MAC重複UC出力用エントリ453Cが登録されることにより、“OVID:N1,IVID:B3、送信MACアドレス:M1”のフレーム600Dも、正しい出力のポート410Dに送信することが可能となる。 The MAC duplication processing unit 470 instructs the hardware processing unit 480 to register the aging entry 431C and the MAC duplication UC output entry 453C (S507). The flow processing apparatus 400 transmits the frame 600D of “OVID: N1, IVID: B3, transmission MAC address: M1” to the correct output port 410D by registering the MAC duplicate UC output entry 453C. Is possible.
 MAC重複処理部470は、ハードウェア処理部480に、MACエントリ421Aの削除を指示する(S508)。ハードウェア処理部480が、MACエントリ421Aを削除する指示を行う。そのため、“OVID:N1、送信元MACアドレス:M1”を含む他のフレーム600を受信することによって再度重複が発生した場合も、MACエントリ421Aが削除され、UC転送を行うことが可能となる。なお、再度の重複が発生した場合のフロー処理装置400の処理は、図11に例示する動作例と同様となる。 The MAC duplication processing unit 470 instructs the hardware processing unit 480 to delete the MAC entry 421A (S508). The hardware processing unit 480 instructs to delete the MAC entry 421A. Therefore, even when duplication occurs again by receiving another frame 600 including “OVID: N1, transmission source MAC address: M1”, the MAC entry 421A is deleted, and UC transfer can be performed. Note that the processing of the flow processing device 400 when the duplication occurs again is the same as the operation example illustrated in FIG.
 図14は、図12の状態において、ポート410Dからフレーム600Dが入力したときの、フロー処理装置400の構成例を示す図である。 FIG. 14 is a diagram illustrating a configuration example of the flow processing device 400 when the frame 600D is input from the port 410D in the state of FIG.
 フロー処理装置400は、フレーム600Dの受信により、MACアドレステーブル420ではMACエントリ421AをMAC学習する。また、フロー処理装置400は、アクセスリストテーブル450では、UC出力用エントリ451A及び監視用エントリ454Aの両方にヒット(HIT)する。 The flow processing device 400 learns the MAC entry 421A in the MAC address table 420 by receiving the frame 600D. Further, the flow processing device 400 hits (HIT) both the UC output entry 451A and the monitoring entry 454A in the access list table 450.
 監視用エントリ454Aにヒット(HIT)することで、フレーム600Dは、フレーム処理部460に通知される。 By hitting (HIT) the monitoring entry 454A, the frame 600D is notified to the frame processing unit 460.
 MAC重複処理部470は、MAC重複エントリ491Cを登録し、エージング用エントリ431C及びMAC重複UC出力用エントリ453Cを、ハードウェア処理部480を介して登録する。 The MAC duplication processing unit 470 registers the MAC duplication entry 491C, and registers the aging entry 431C and the MAC duplication UC output entry 453C via the hardware processing unit 480.
 また、ハードウェア処理部480が、MACエントリ421Aを削除する指示を行い、当該MACエントリ421Aは削除される。 In addition, the hardware processing unit 480 instructs to delete the MAC entry 421A, and the MAC entry 421A is deleted.
 図15は、図14の状態から、フレーム600Dの入力が停止し、ハードウェア処理部480がエージング用エントリ431Cのエージアウトを検出したときのフロー処理装置400の動作例を示すフローチャートである。 FIG. 15 is a flowchart showing an operation example of the flow processing device 400 when the input of the frame 600D is stopped from the state of FIG. 14 and the hardware processing unit 480 detects the aging-out of the entry 431C for aging.
 ハードウェア処理部480は、フロー処理装置400におけるフレーム600Dの受信が止まることにより、エージング用エントリ431Cのエージアウトを検出する(S601)。 The hardware processing unit 480 detects the aging-out of the aging entry 431C by stopping the reception of the frame 600D in the flow processing device 400 (S601).
 ハードウェア処理部480は、当該エージアウトを、MAC重複処理部470に通知する(S602)。 The hardware processing unit 480 notifies the age-out to the MAC duplication processing unit 470 (S602).
 ハードウェア処理部480は、MAC重複テーブル490のMAC重複エントリ491Cを削除する(S603)。 The hardware processing unit 480 deletes the MAC duplication entry 491C in the MAC duplication table 490 (S603).
 MAC重複処理部470は、MAC重複テーブル490に異なるIVIDのエントリが複数存在することにより、MAC重複が継続していると判断する(S604)。 The MAC duplication processing unit 470 determines that the MAC duplication continues because there are a plurality of entries with different IVIDs in the MAC duplication table 490 (S604).
 MAC重複処理部470は、ハードウェア処理部480に対して、エージング用エントリ431CとMAC重複UC出力用エントリ453Cの削除を指示する。 The MAC duplication processing unit 470 instructs the hardware processing unit 480 to delete the aging entry 431C and the MAC duplication UC output entry 453C.
 図16は、図14の状態において、フロー処理装置400に対するフレーム600Dの受信が停止し、ハードウェア処理部480がエージング用エントリ431Cのエージアウトを検出した場合の、フロー処理装置400の構成例を示す図である。 FIG. 16 shows an example of the configuration of the flow processing device 400 when the reception of the frame 600D to the flow processing device 400 is stopped and the hardware processing unit 480 detects the aging-out entry 431C in the state of FIG. FIG.
 MAC重複処理部470は、不要となったMAC重複エントリ491Cを削除し、エージング用エントリ431CとMAC重複UC出力用エントリ453Cを、ハードウェア処理部480を介して削除する。 The MAC duplication processing unit 470 deletes the MAC duplication entry 491C that is no longer necessary, and deletes the aging entry 431C and the MAC duplication UC output entry 453C via the hardware processing unit 480.
 図17は、図16の状態から、フロー処理装置400におけるフレーム600Cの受信が停止し、ハードウェア処理部480がエージング用エントリ431Bのエージアウトを検出した場合の動作例を示すフローチャートである。 FIG. 17 is a flowchart illustrating an operation example when the reception of the frame 600C in the flow processing device 400 is stopped from the state of FIG. 16 and the hardware processing unit 480 detects the aging-out of the entry 431B for aging.
 ハードウェア処理部480は、フロー処理装置400におけるフレーム600Cの受信が停止した場合、ハードウェア処理部480は、エージング用エントリ431Bのエージアウトを検出する(S701)。 If the hardware processing unit 480 stops receiving the frame 600C in the flow processing device 400, the hardware processing unit 480 detects the aging-out of the entry 431B for aging (S701).
 ハードウェア処理部480は、エージアウトの検出を、MAC重複処理部470に通知する(S702)。 The hardware processing unit 480 notifies the MAC duplication processing unit 470 of the detection of age-out (S702).
 ハードウェア処理部480は、MAC重複テーブル490のMAC重複エントリ491Bを削除する(S703)。 The hardware processing unit 480 deletes the MAC duplication entry 491B from the MAC duplication table 490 (S703).
 MAC重複処理部470は、MAC重複テーブル490に異なるIVIDのエントリが複数存在しないため、MAC重複が解消したと判断する(S704)。 The MAC duplication processing unit 470 determines that the MAC duplication has been resolved because there are not a plurality of entries with different IVIDs in the MAC duplication table 490 (S704).
 MAC重複処理部470は、MAC重複テーブル490のMAC重複エントリ491Aを削除する。 The MAC duplication processing unit 470 deletes the MAC duplication entry 491A of the MAC duplication table 490.
 MAC重複処理部470は、ハードウェア処理部480に、エージング用エントリ431A及び431Bと、MAC重複UC出力用エントリ453A及び453Bの削除を指示する。MAC重複処理部470が、上記の削除を指示することにより、フロー処理装置400は、MAC重複のハードウェアエントリを使用しない通常状態でのMACフォワーディングの処理に戻ることができる。 The MAC duplication processing unit 470 instructs the hardware processing unit 480 to delete the aging entries 431A and 431B and the MAC duplication UC output entries 453A and 453B. When the MAC duplication processing unit 470 instructs the deletion, the flow processing device 400 can return to the MAC forwarding processing in the normal state in which the MAC duplication hardware entry is not used.
 図18は、図16の状態において、フロー処理装置400におけるフレーム600Cの受信が停止し、ハードウェア処理部480がエージング用エントリ431Bのエージアウトを検出した場合の、フロー処理装置400の構成例を示す図である。 FIG. 18 shows an example of the configuration of the flow processing device 400 when the flow processing device 400 stops receiving the frame 600C and the hardware processing unit 480 detects the aging entry 431B age-out in the state of FIG. FIG.
 MAC重複処理部470は、MAC重複が解消されたと判断し、MAC重複エントリ491A及び491Bを削除する。そして、MAC重複処理部470は、エージング用エントリ431A及び431B、MAC重複UC出力用エントリ453A及び453B、監視用エントリ454Aを、ハードウェア処理部480を介して削除する。 The MAC duplication processing unit 470 determines that the MAC duplication has been eliminated, and deletes the MAC duplication entries 491A and 491B. Then, the MAC duplication processing unit 470 deletes the aging entries 431A and 431B, the MAC duplication UC output entries 453A and 453B, and the monitoring entry 454A via the hardware processing unit 480.
 上記のとおり、フロー処理装置400は、MAC重複テーブル490を備え、重複するMACが発生したことに応じて、“IVID”を加味した転送ルールを設定する。そのため、フロー処理装置400は、MAC重複が発生した場合であっても、フレーム600を正しい送信先に転送することができる。 As described above, the flow processing apparatus 400 includes the MAC duplication table 490, and sets a transfer rule that considers “IVID” in response to occurrence of a duplicate MAC. Therefore, the flow processing apparatus 400 can transfer the frame 600 to the correct transmission destination even when MAC duplication occurs.
 <第3の実施形態>
 本発明の第3の実施形態は、“OVID、IVID、MACアドレス”のいずれもが同一の異なるフレーム600が、異なるポート410から入力されたことによってMAC移動が発生した場合におけるフロー処理装置400の処理に関する実施形態である。なお、第3の実施形態の技術は、第1の実施形態、第2の実施形態、及び、後述の実施形態のいずれにも適用可能である。
<Third Embodiment>
In the third embodiment of the present invention, the flow processing apparatus 400 in the case where a MAC movement occurs due to a different frame 600 having the same “OVID, IVID, MAC address” being input from different ports 410 is described. It is embodiment regarding a process. Note that the technique of the third embodiment can be applied to any of the first embodiment, the second embodiment, and the embodiments described later.
 第3の実施形態の通信システムの構成例は、図4に例示する第2の実施形態の通信システムの構成例と同様であるため、詳細な説明は省略される。また、第3の実施形態のフロー処理装置400の構成例は、図5に例示する第2の実施形態のフロー処理装置400の構成例と同様であるため、詳細な説明は省略される。 Since the configuration example of the communication system according to the third embodiment is the same as the configuration example of the communication system according to the second embodiment illustrated in FIG. 4, detailed description thereof is omitted. In addition, since the configuration example of the flow processing apparatus 400 of the third embodiment is the same as the configuration example of the flow processing apparatus 400 of the second embodiment illustrated in FIG. 5, detailed description is omitted.
 フロー処理装置400は、図7の処理完了後の状態から、フレーム600Cがポート410Cに入力することにより、MACエントリ421Aが作成される。その状態において、フレーム600Cが図示しないポート410Eから入力すると、MACアドレステーブル420に存在するMACエントリ421Aのアクションで指定されている“ポート410C”とはポート410が異なるので、MAC移動が発生する。そのため、フレーム600Cが、再度、MAC重複処理部470に通知される。MAC重複処理部470は、フレーム600Cに含まれる入力のポート410に関する情報に基づいて、MAC重複エントリ491Bのポートを、“ポート410C”から“ポート410E”に更新する。その後のフロー処理装置400の動作例は、第2の実施形態のフロー処理装置400の動作例と同様である。 The flow processing apparatus 400 creates the MAC entry 421A by inputting the frame 600C to the port 410C from the state after the completion of the processing in FIG. In this state, when the frame 600C is input from the port 410E (not shown), the port 410 is different from the “port 410C” designated by the action of the MAC entry 421A existing in the MAC address table 420, and therefore the MAC movement occurs. Therefore, the frame 600C is notified to the MAC duplication processing unit 470 again. The MAC duplication processing unit 470 updates the port of the MAC duplication entry 491B from “port 410C” to “port 410E” based on the information regarding the input port 410 included in the frame 600C. The subsequent operation example of the flow processing apparatus 400 is the same as the operation example of the flow processing apparatus 400 of the second embodiment.
 また、フロー処理装置400は、図11の処理完了後の状態から、フレーム600Cがポート410Cではなくポート410Eから入力すると、次のように動作する。フレーム600Cに対応するエージング用エントリ431Bのキーに含まれるエントリ登録時の入力ポートは410Cであり、当該フレーム600Cは当該エージング用エントリ431Bにヒット(HIT)しない。そのため、フロー処理装置400は、MACアドレステーブル420において、MAC学習が実行され、MACエントリ421Aが登録される。 Further, when the frame 600C is input from the port 410E instead of the port 410C from the state after the completion of the processing in FIG. 11, the flow processing device 400 operates as follows. The input port at the time of entry registration included in the key of the aging entry 431B corresponding to the frame 600C is 410C, and the frame 600C does not hit (HIT) the aging entry 431B. Therefore, the flow processing apparatus 400 performs MAC learning in the MAC address table 420 and registers the MAC entry 421A.
 また、フレーム600Cは監視用エントリ454Aにヒット(HIT)し、MAC重複処理部470に、当該フレーム600Cが通知される。MAC重複処理部470は、フレーム600Cに含まれる入力ポートに関する情報を基に、MAC重複エントリ491Bに含まれるポート情報を、“ポート410C”から“ポート410E”に更新する。MAC重複エントリ491Bの更新に応じて、MAC重複処理部470は、ハードウェア処理部480にエージング用エントリ431Bの削除/追加(キーのポート情報を更新するため、削除/追加となる)する。また、MAC重複処理部470は、MAC重複UC出力用エントリ453Bのアクションのポート410を更新する。 Also, the frame 600C hits (HIT) the monitoring entry 454A, and the MAC duplication processing unit 470 is notified of the frame 600C. The MAC duplication processing unit 470 updates the port information included in the MAC duplication entry 491B from “port 410C” to “port 410E” based on the information regarding the input port included in the frame 600C. In response to the update of the MAC duplication entry 491B, the MAC duplication processing unit 470 deletes / adds the aging entry 431B to the hardware processing unit 480 (deletion / addition is performed because the key port information is updated). The MAC duplication processing unit 470 also updates the action port 410 of the MAC duplication UC output entry 453B.
 なお、上記の処理は、同一の“OVID、IVID、MACアドレス”によってMACフラッピングが発生し、ソフトウェアに対するフレーム600の通知が頻発する。そこで、フロー処理装置400のCPUの負荷軽減のために、エントリに保護時間を設けて、保護時間内のエントリ更新は実施しないように構成することが望ましい。 In the above processing, MAC flapping occurs due to the same “OVID, IVID, MAC address”, and the notification of the frame 600 to the software frequently occurs. Therefore, in order to reduce the load on the CPU of the flow processing device 400, it is desirable to provide a protection time for the entry and not to update the entry within the protection time.
 上記のとおり、“OVID、IVID、MACアドレス”のいずれもが同一の異なるフレーム600が、異なるポート410から入力されたことによってMAC移動が発生した場合、次のようになる。すなわち、MAC重複処理部470は、MAC重複エントリ491のポート410、又は、MAC重複UC出力用エントリ453Bのアクションのポート410を更新する。そのため、“OVID、IVID、MACアドレス”のいずれもが同一の異なるフレーム600が、異なるポート410から入力されたことによってMAC移動が発生した場合であっても、フレーム600の重複の発生による誤転送を防止することができる。 As described above, when a MAC move occurs due to a different frame 600 having the same “OVID, IVID, MAC address” being input from different ports 410, the following occurs. That is, the MAC duplication processing unit 470 updates the port 410 of the MAC duplication entry 491 or the action port 410 of the MAC duplication UC output entry 453B. Therefore, erroneous transfer due to the occurrence of duplication of the frame 600 even when a MAC move occurs due to a different frame 600 having the same “OVID, IVID, MAC address” being input from different ports 410. Can be prevented.
 <第4の実施形態>
 本発明の第4の実施形態は、アクセスリストテーブル450のエントリ数の増加を抑制する実施形態である。なお、第4の実施形態の技術は、第1の実施形態、第2の実施形態、及び、第3の実施形態のいずれにも適用可能である。
<Fourth Embodiment>
The fourth embodiment of the present invention is an embodiment that suppresses an increase in the number of entries in the access list table 450. The technique of the fourth embodiment can be applied to any of the first embodiment, the second embodiment, and the third embodiment.
 第4の実施形態の通信システムの構成例は、図4に例示する第2の実施形態の通信システムの構成例と同様であるため、詳細な説明は省略される。また、第4の実施形態のフロー処理装置400の構成例は、図5に例示する第2の実施形態のフロー処理装置400の構成例と同様であるため、詳細な説明は省略される。 The configuration example of the communication system according to the fourth embodiment is the same as the configuration example of the communication system according to the second embodiment illustrated in FIG. Further, the configuration example of the flow processing apparatus 400 of the fourth embodiment is the same as the configuration example of the flow processing apparatus 400 of the second embodiment illustrated in FIG. 5, and thus detailed description thereof is omitted.
 なお、以下で説明に用いるVRRP(Virtual Router Redundancy Protocol)は、デフォルトゲートウェイを冗長化するためのプロトコルである。 Note that VRRP (Virtual Router Redundancy Protocol) used in the following description is a protocol for making the default gateway redundant.
 アクセスリストテーブル450は、MACアドレステーブル420に比べ、登録できるエントリ数が少ないことが一般的である。この場合に、例えば、VRRPルータをネットワークに接続し、ルータ間でアドバタイズのためのフレーム600(MACアドレスが同一)を全VLANで交換すると、テーブルのリソースを多く消費してしまう。アクセスリストテーブル450は、MACアドレステーブル420に比べて、登録できるエントリ数が少ない場合がある。この場合に、例えば、VRRPルータをネットワークに接続し、当該ルータ間でアドバタイズに用いられるフレーム600(MACアドレスが同一となる)を全てのVLANで交換すると、アクセスリストテーブル450のリソースを多く消費してしまう。そこで、第4の実施形態のフロー処理装置400は、ネットワーク構成などにおいて予め重複するMACアドレスが決まっている場合に、アクセスリストテーブル450のエントリリソースの枯渇を回避する。 The access list table 450 generally has a smaller number of entries that can be registered than the MAC address table 420. In this case, for example, if VRRP routers are connected to a network and frames 600 for advertisement (the same MAC address) are exchanged between all the VLANs, a large amount of table resources are consumed. The access list table 450 may have fewer entries that can be registered than the MAC address table 420. In this case, for example, if a VRRP router is connected to a network and a frame 600 (the MAC address is the same) used for advertising is exchanged between all the VLANs, the resources of the access list table 450 are consumed much. End up. Therefore, the flow processing apparatus 400 according to the fourth embodiment avoids exhaustion of entry resources in the access list table 450 when duplicate MAC addresses are determined in advance in the network configuration or the like.
 第4の実施形態のフロー処理装置400は、コンフィグによって、アクセスリストテーブル450に静的なMAC重複エントリ491を登録できるようにする。 The flow processing apparatus 400 according to the fourth embodiment enables a static MAC duplication entry 491 to be registered in the access list table 450 by configuration.
 フロー処理装置400は、コンフィグによって、アクセスリストテーブル450の静的なMAC重複エントリ491に対して、MACアドレスとMACアドレスマスクをパラメータとして入力する。 The flow processing device 400 inputs the MAC address and the MAC address mask as parameters to the static MAC duplicate entry 491 of the access list table 450 according to the configuration.
 MAC重複処理部470は、コンフィグによる静的なMAC重複エントリ491の追加に応じて、フレーム処理部460を介して、MAC学習キャンセル用エントリをフレーム変換用テーブル430に登録する。また、MAC重複処理部470は、コンフィグによって設定されたMACアドレス/マスクに含まれるMACエントリ421を、MACアドレステーブル420から削除する。 The MAC duplication processing unit 470 registers the MAC learning cancel entry in the frame conversion table 430 via the frame processing unit 460 in accordance with the addition of the static MAC duplication entry 491 by the configuration. In addition, the MAC duplication processing unit 470 deletes the MAC entry 421 included in the MAC address / mask set by the configuration from the MAC address table 420.
 MAC学習キャンセル用エントリは、キーが“送信元MACアドレスのMACアドレスマスク指定”であり、アクションが“MAC学習キャンセル”である。フロー処理装置400は、MAC学習キャンセル用エントリにより、入力されたフレーム600の送信元MACアドレスが、当該MAC学習キャンセル用エントリのキーの条件に含まれていれば、MACアドレステーブル420においてMAC学習が行われなくなる。すなわち、MAC学習キャンセル用エントリの“MACアドレス/マスク”に含まれるMACアドレスを送信先とするフレーム600は、MACエントリ421が存在しないため、Flooding動作となる。 In the MAC learning cancel entry, the key is “MAC address mask designation of source MAC address” and the action is “MAC learning cancel”. If the source MAC address of the input frame 600 is included in the key condition of the MAC learning cancellation entry by the MAC learning cancellation entry, the flow processing device 400 performs MAC learning in the MAC address table 420. No longer done. That is, since the MAC entry 421 does not exist, the frame 600 having the MAC address included in the “MAC address / mask” of the MAC learning cancel entry has a flooding operation.
 MAC学習キャンセル用エントリは、動的に追加されたエージング用エントリ431及びMAC重複UC出力用エントリ453と競合する。そのため、MAC学習キャンセル用エントリは、静的に設定されたMAC重複エントリ491を優先し、MACアドレス/マスクに含まれる条件を持つエージング用エントリ431及びMAC重複UC出力用エントリ453は削除する必要がある。 The MAC learning cancellation entry competes with the dynamically added aging entry 431 and MAC duplicated UC output entry 453. Therefore, the MAC learning cancellation entry has priority over the statically set MAC duplication entry 491, and the aging entry 431 and the MAC duplication UC output entry 453 having the conditions included in the MAC address / mask need to be deleted. is there.
 なお、上記のとおり、静的に設定されたMAC重複エントリ491を使用すると、Flooding動作となるため、通信帯域を考慮すると最低限のコンフィグとすることが望ましい。 Note that, as described above, when a statically set MAC duplication entry 491 is used, a Flooding operation is performed. Therefore, it is desirable to set the minimum configuration in consideration of the communication band.
 上記のとおり、静的に設定されたMAC重複エントリ491を使用することにより、アクセスリストテーブル450のエントリ数の増加を抑制することが可能となる。 As described above, it is possible to suppress an increase in the number of entries in the access list table 450 by using the MAC duplicate entry 491 that is statically set.
 以上、本発明の実施形態を説明したが、本発明は、上記したそれぞれの実施形態に限定されるものではない。本発明は、各実施形態の変形・置換・調整に基づいて実施できる。また、本発明は、各実施形態を任意に組み合わせて実施することもできる。即ち、本発明は、本明細書の全ての開示内容、技術的思想に従って実現できる各種変形、修正を含む。また、本発明は、SDN(Software-Defined Network)の技術分野にも適用可能である。 As mentioned above, although embodiment of this invention was described, this invention is not limited to each above-mentioned embodiment. The present invention can be implemented based on modifications, substitutions, and adjustments of the embodiments. The present invention can also be implemented by arbitrarily combining the embodiments. That is, the present invention includes various modifications and corrections that can be realized in accordance with all the disclosed contents and technical ideas of the present specification. The present invention can also be applied to the technical field of SDN (Software-Defined Network).
 この出願は、2015年10月30日に出願された日本出願特願2015-213566を基礎とする優先権を主張し、その開示の全てをここに取り込む。 This application claims priority based on Japanese Patent Application No. 2015-213566 filed on Oct. 30, 2015, the entire disclosure of which is incorporated herein.
 100  フロー制御装置
 200  エッジノード
 300  端末
 400  フロー処理装置
 401  制御部
 410  ポート
 420  MACアドレステーブル
 421  MACエントリ
 430  フレーム変換用テーブル
 431  エージング用エントリ
 440  VLANテーブル
 441  VLANエントリ
 450  アクセスリストテーブル
 451  UC出力用エントリ
 452  Flooding出力用エントリ
 453  MAC重複UC出力用エントリ
 454  監視用エントリ
 460  フレーム処理部
 470  MAC重複処理部
 480  ハードウェア処理部
 490  MAC重複テーブル
 491  MAC重複エントリ
 500  物理ネットワーク
 600  フレーム
DESCRIPTION OF SYMBOLS 100 Flow control apparatus 200 Edge node 300 Terminal 400 Flow processing apparatus 401 Control 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 452 Flooding output entry 453 MAC duplication UC output entry 454 Monitoring 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

Claims (10)

  1.  MACエントリが登録されたMACアドレステーブルと、
     受信したフレームに基づいて前記MACエントリの送信先情報が更新されたことに応じて、前記フレームに関連する情報を含む重複エントリを登録するMAC重複テーブルと、
     前記MAC重複テーブルに互いに関連する複数の前記重複エントリが登録されたことに応じて、複数の前記重複エントリに関連する前記フレームを転送するための転送用のエントリを登録するアクセスリストテーブルと、を備え、
     複数の前記重複エントリに関連する前記フレームを、転送用の前記エントリに従って転送する
     ことを特徴とするフロー処理装置。
    A MAC address table in which MAC entries are registered;
    A MAC duplication table for registering duplicate entries including information related to the frame in response to the transmission destination information of the MAC entry being updated based on the received frame;
    An access list table for registering a transfer entry for transferring the frame related to the plurality of duplicate entries in response to registration of the plurality of duplicate entries related to each other in the MAC duplication table; Prepared,
    The flow processing apparatus, wherein the frame related to the plurality of duplicate entries is transferred according to the entry for transfer.
  2.  前記MAC重複テーブルに互いに関連する複数の前記重複エントリが登録されたことに応じて、前記MACアドレステーブルから、複数の前記重複エントリに関連する前記フレームに対応する前記MACエントリを削除する制御手段をさらに備える
     ことを特徴とする請求項1に記載のフロー処理装置。
    Control means for deleting, from the MAC address table, the MAC entries corresponding to the frames related to a plurality of duplicate entries, in response to registration of the plurality of duplicate entries related to each other in the MAC duplication table. The flow processing apparatus according to claim 1, further comprising:
  3.  前記MAC重複テーブルに、Outer VLAN ID及びMACアドレスが同一である複数の前記フレームの各々に対応する前記重複エントリが登録されたことに応じて、アクセスリストテーブルに対して複数の前記フレームの各々を転送するための転送用の前記エントリを登録する
     ことを特徴とする請求項1又は2に記載のフロー処理装置。
    In response to registration of the duplicate entry corresponding to each of the plurality of frames having the same Outer VLAN ID and MAC address in the MAC duplication table, each of the plurality of frames is registered in the access list table. The flow processing apparatus according to claim 1, wherein the transfer entry for transfer is registered.
  4.  前記MAC重複テーブルに互いに関連する複数の前記重複エントリが登録されたことに応じて、アクセスリストテーブルに対してOuter VLAN ID、Inter VLAN ID及びMACアドレスをキーとする転送用の前記エントリを登録する
     ことを特徴とする請求項1乃至3のいずれか1項に記載のフロー処理装置。
    In response to registration of a plurality of duplicate entries related to each other in the MAC duplication table, the entry for transfer using the Outer VLAN ID, the Inter VLAN ID, and the MAC address as keys is registered in the access list table. The flow processing apparatus according to claim 1, wherein the flow processing apparatus is configured as described above.
  5.  受信した前記フレームに基づいて前記MACエントリに含まれる送信先ポートに関する情報が更新されたことに応じて、前記MAC重複テーブルに対して前記フレームに関連する情報を含む前記重複エントリを登録する
     ことを特徴とする請求項1乃至4のいずれか1項に記載のフロー処理装置。
    Registering the duplicate entry including the information related to the frame in the MAC duplication table in response to the update of the information regarding the destination port contained in the MAC entry based on the received frame. The flow processing apparatus according to claim 1, wherein the flow processing apparatus is characterized.
  6.  OVID及び送信元MACアドレスが同一の異なる前記フレームが、異なるポートから入力されたことに応じて、前記MACアドレステーブルにおける前記MACエントリの送信先情報を更新する
     ことを特徴とする請求項1乃至5のいずれか1項に記載のフロー処理装置。
    6. The transmission destination information of the MAC entry in the MAC address table is updated in response to the input of different frames having the same OVID and transmission source MAC address from different ports. The flow processing apparatus according to any one of the above.
  7.  転送用の前記エントリが登録された前記フレームに対して、前記MACアドレステーブルに含まれる前記MACエントリを用いた転送をキャンセルするアクションを含むエージング用エントリを登録するフレーム変換用テーブルをさらに含む
     ことを特徴とする請求項1乃至6のいずれか1項に記載のフロー処理装置。
    A frame conversion table for registering an entry for aging including an action for canceling transfer using the MAC entry included in the MAC address table with respect to the frame in which the entry for transfer is registered. The flow processing apparatus according to claim 1, wherein the flow processing apparatus is characterized.
  8.  制御装置からの指示に基づいてフレームを転送するノードと、
     前記ノードから受信した前記フレームを、MACエントリが登録されたMACアドレステーブルに基づいて転送するフロー処理装置と、を含み、
     前記フロー処理装置は、
     受信した前記フレームに基づいて前記MACエントリの送信先情報が更新されたことに応じて、前記フレームに関連する情報を含む重複エントリを登録するMAC重複テーブルと、
     前記MAC重複テーブルに互いに関連する複数の重複エントリが登録されたことに応じて、前記複数の重複エントリに関連する前記フレームを転送するための転送用のエントリを登録するアクセスリストテーブルと、を備え、
     前記複数の重複エントリに関連する前記フレームを、転送用の前記エントリに従って転送する
     ことを特徴とする通信システム。
    A node that forwards a frame based on an instruction from the control device;
    A flow processing device that transfers the frame received from the node based on a MAC address table in which MAC entries are registered, and
    The flow processing apparatus includes:
    A MAC duplication table for registering duplication entries including information related to the frame in response to the transmission destination information of the MAC entry being updated based on the received frame;
    An access list table that registers transfer entries for transferring the frames related to the plurality of duplicate entries in response to registration of a plurality of duplicate entries related to each other in the MAC duplication table. ,
    The communication system, wherein the frame related to the plurality of duplicate entries is transferred according to the entry for transfer.
  9.  MACエントリを登録し、
     受信したフレームに基づいて前記MACエントリの送信先情報が更新されたことに応じて、前記フレームに関連する情報を含む重複エントリを登録し、
     互いに関連する複数の前記重複エントリが登録されたことに応じて、複数の前記重複エントリに関連する前記フレームを転送するための転送用のエントリを登録し、
     複数の前記重複エントリに関連する前記フレームを、転送用の前記エントリに従って転送する、
     ことを特徴とするフロー処理方法。
    Register the MAC entry,
    In response to the destination information of the MAC entry being updated based on the received frame, register a duplicate entry including information related to the frame;
    In response to registration of a plurality of duplicate entries related to each other, a transfer entry for transferring the frame related to the plurality of duplicate entries is registered,
    Forwarding the frame associated with a plurality of the duplicate entries according to the entry for forwarding;
    A flow processing method characterized by the above.
  10.  前記互いに関連する複数の前記重複エントリが登録されたことに応じて、複数の前記重複エントリに関連する前記フレームに対応する前記MACエントリを削除する
     ことを特徴とする請求項9に記載のフロー処理方法。
    The flow processing according to claim 9, wherein the MAC entry corresponding to the frame related to the plurality of duplicate entries is deleted in response to registration of the plurality of duplicate entries related to each other. Method.
PCT/JP2016/004629 2015-10-30 2016-10-19 Flow processing device, communication system and flow processing method WO2017073033A1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2017547608A JP6460256B2 (en) 2015-10-30 2016-10-19 Flow processing apparatus, communication system, and flow processing method

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2015213566 2015-10-30
JP2015-213566 2015-10-30

Publications (1)

Publication Number Publication Date
WO2017073033A1 true WO2017073033A1 (en) 2017-05-04

Family

ID=58631426

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2016/004629 WO2017073033A1 (en) 2015-10-30 2016-10-19 Flow processing device, communication system and flow processing method

Country Status (2)

Country Link
JP (1) JP6460256B2 (en)
WO (1) WO2017073033A1 (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPWO2021024327A1 (en) * 2019-08-02 2021-02-11
JP2022100833A (en) * 2020-12-24 2022-07-06 Necプラットフォームズ株式会社 Communication control device, system, method, and program

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010130605A (en) * 2008-12-01 2010-06-10 Fujitsu Ltd Switch
JP2014195174A (en) * 2013-03-28 2014-10-09 Fujitsu Ltd Virtual machine management device and virtual machine management method

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010130605A (en) * 2008-12-01 2010-06-10 Fujitsu Ltd Switch
JP2014195174A (en) * 2013-03-28 2014-10-09 Fujitsu Ltd Virtual machine management device and virtual machine management method

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPWO2021024327A1 (en) * 2019-08-02 2021-02-11
WO2021024327A1 (en) * 2019-08-02 2021-02-11 日本電信電話株式会社 Transfer device, communication system, transfer method, and transfer program
JP7268741B2 (en) 2019-08-02 2023-05-08 日本電信電話株式会社 Communication system, communication method and communication program
JP2022100833A (en) * 2020-12-24 2022-07-06 Necプラットフォームズ株式会社 Communication control device, system, method, and program
JP7251872B2 (en) 2020-12-24 2023-04-04 Necプラットフォームズ株式会社 Communication control device, system, method, and program

Also Published As

Publication number Publication date
JP6460256B2 (en) 2019-01-30
JPWO2017073033A1 (en) 2018-07-26

Similar Documents

Publication Publication Date Title
EP3122004B1 (en) Traffic switching method, device, and system
US20190260693A1 (en) Virtual network
JP6160446B2 (en) Information processing apparatus, information processing system, and information processing method
US9634887B2 (en) System, method and computer-readable medium for using a plurality of virtual machines
JP5477378B2 (en) Communication flow control system, communication flow control method, and communication flow processing program
EP3095216B1 (en) Single hop overlay architecture for line rate performance in campus networks
US8218446B2 (en) Frame transfer route confirmation method, node, frame transfer route confirmation program and frame transfer route confirmation system
JP5772434B2 (en) Program, information processing apparatus and method, communication apparatus, relay processing method and program for redundancy control
JP6299745B2 (en) COMMUNICATION SYSTEM, CONTROL DEVICE, COMMUNICATION METHOD, AND PROGRAM
JP6460256B2 (en) Flow processing apparatus, communication system, and flow processing method
JP6566124B2 (en) COMMUNICATION SYSTEM, FLOW CONTROL DEVICE, FLOW PROCESSING DEVICE, AND CONTROL METHOD
JP2017228935A (en) Device, method and program for packet transfer control
JP6191191B2 (en) Switch device and control method of switch device
JPWO2013062070A1 (en) Control device, communication system, virtual network management method and program
JPWO2014126094A1 (en) COMMUNICATION SYSTEM, COMMUNICATION METHOD, CONTROL DEVICE, CONTROL DEVICE CONTROL METHOD, AND PROGRAM
WO2016068238A1 (en) Network control system, control device, network information management method, and program
WO2017126063A1 (en) Control apparatus, control program, and device control system
JP2017055324A (en) Repeating apparatus
CN107409088A (en) A kind of data packet forwarding method and the network equipment
JP6693141B2 (en) Packet transfer device, packet transfer method, and program
JP2015065610A (en) Transmission system, transmission apparatus and transmission method
JP2017022579A (en) Communication system, communication node and substitution processing method for communication system
CN117082015A (en) Equipment isolation method, device, switching equipment and storage medium
JP2014158084A (en) Packet relay device and packet relay method
JP2015128213A (en) Communication node, controller, communication system, communication method, and program

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

Country of ref document: EP

Kind code of ref document: A1

ENP Entry into the national phase

Ref document number: 2017547608

Country of ref document: JP

Kind code of ref document: A

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 16859271

Country of ref document: EP

Kind code of ref document: A1