Communication apparatus, system, method, and non-transitory medium for securing network communication
First Claim
Patent Images
1. A communication apparatus comprising:
- a processor;
a memory storing therein program instructions executable by the processor; and
a plurality of network interfaces, each of the plurality of the network interfaces adapted to be connected to a network, wherein the processor is configured to execute;
a plurality of switch processes, each of the plurality of the switch processes configured to be executed in an environment allocated thereto, the environment arranged for each of the plurality of the switch processes being isolated from each of one or more environments arranged for remaining one or more switch processes, each of the plurality of the switch processes performing switch processing on a flow associated thereto; and
a dispatcher process that receives a packet from at least one of the plurality of the network interfaces and dispatches the packet to an associated switch process, based on a dispatch rule that defines association of a flow with a dispatch destination switch process,wherein the associated switch process, upon reception of the packet dispatched thereto by the dispatcher process, performs matching of header field information of the packet with a flow entry for handling a flow, and handling of the packet based on a result of the matching, wherein the flow entry includes a match field for being matched with header field information of a packet received; and
an action field to prescribe handling of a matching packet,wherein the communication apparatus further includes;
a transmitter that, when a dispatch rule for a first flow indicated by header field information of a packet received from at least one of the plurality of the network interfaces is not present, sends a query for the dispatch rule for the first flow to a controller that controls the communication apparatus, andwherein the processor is configured to, on receipt of the dispatch rule for the first flow sent from the controller, create an isolated environment, invoke a first switch process associated with the first flow in the isolated environment, and cause the transmitter to send a response to the controller, whereinthe first switch process associated with the first flow, upon reception of a first flow entry for handling the first flow from the controller, handles one or more packets associated with the first flow, based on the first flow entry.
1 Assignment
0 Petitions
Accused Products
Abstract
A communication apparatus comprising a plurality of communication processes, each of the communication processes configured to be executed in an environment allocated thereto and isolated from each of one or more environments arranged for remaining one or more processes, each of the communication processes performing communication processing on a flow associated thereto, a network interface connected to a network; a dispatcher that dispatches a packet to the communication process based on a dispatch rule that defines association of a flow with a communication process.
40 Citations
18 Claims
-
1. A communication apparatus comprising:
-
a processor; a memory storing therein program instructions executable by the processor; and a plurality of network interfaces, each of the plurality of the network interfaces adapted to be connected to a network, wherein the processor is configured to execute; a plurality of switch processes, each of the plurality of the switch processes configured to be executed in an environment allocated thereto, the environment arranged for each of the plurality of the switch processes being isolated from each of one or more environments arranged for remaining one or more switch processes, each of the plurality of the switch processes performing switch processing on a flow associated thereto; and a dispatcher process that receives a packet from at least one of the plurality of the network interfaces and dispatches the packet to an associated switch process, based on a dispatch rule that defines association of a flow with a dispatch destination switch process, wherein the associated switch process, upon reception of the packet dispatched thereto by the dispatcher process, performs matching of header field information of the packet with a flow entry for handling a flow, and handling of the packet based on a result of the matching, wherein the flow entry includes a match field for being matched with header field information of a packet received; and
an action field to prescribe handling of a matching packet,wherein the communication apparatus further includes; a transmitter that, when a dispatch rule for a first flow indicated by header field information of a packet received from at least one of the plurality of the network interfaces is not present, sends a query for the dispatch rule for the first flow to a controller that controls the communication apparatus, and wherein the processor is configured to, on receipt of the dispatch rule for the first flow sent from the controller, create an isolated environment, invoke a first switch process associated with the first flow in the isolated environment, and cause the transmitter to send a response to the controller, wherein the first switch process associated with the first flow, upon reception of a first flow entry for handling the first flow from the controller, handles one or more packets associated with the first flow, based on the first flow entry. - View Dependent Claims (2, 4, 5)
-
-
3. A communication apparatus, comprising:
-
a processor; a memory storing therein program instructions executable by the processor; and a plurality of network interfaces, each of the plurality of the network interfaces adapted to be connected to a network, wherein the processor is configured to execute; a plurality of management processes, each of the plurality of the management processes configured to be executed in an environment allocated thereto, the environment arranged for each of the plurality of management processes being isolated from each of one or more environments arranged for remaining one or more management processes, each management process performing communication with a controller that controls the communication apparatus; and a dispatcher process, wherein the communication apparatus further comprises a packet processing hardware unit arranged between the plurality of the network interfaces and the dispatcher process, the packet processing hardware unit performing packet processing according to a flow entry for handling a flow, wherein a management process receives and deletes a flow entry to and from the packet processing hardware, wherein the dispatcher process monitors addition and deletion of each flow entry for handling a flow and on reception of a notification sent from the packet processing hardware unit when there is no flow entry matching a packet header of a received packet, the dispatcher process forwards the notification to a corresponding management process according to a dispatch rule.
-
-
6. A controller apparatus comprising:
-
a processor; a memory storing therein program instructions executable by the processor; and a plurality of network interfaces, each of the plurality of the network interfaces adapted to be connected to a network, wherein the processor is configured to execute; a plurality of controller processes, each of the plurality of the controller processes configured to be executed in an environment allocated thereto, the environment arranged for each of the plurality of the controller processes being isolated from each of one or more environments arranged for remaining one or more controller processes, each of the plurality of the controller processes performing control of one or more associated switch processes; and a dispatcher process that dispatches a message from a switch to an associated controller process, based on a dispatch rule that defines association of a switch with a controller process to which a message from the switch is dispatched.
-
-
7. A communication system comprising:
-
a switch; a controller to control the switch, wherein the switch comprises; a first processor; a memory storing therein program instructions executable by the first processor; and a plurality of network interfaces, each of the plurality of the network interfaces adapted to be connected to a network, wherein the first processor is configured to execute; a plurality of switch processes, each of the plurality of the switch processes configured to be executed in an environment allocated thereto, the environment arranged for each of the plurality of the switch processes being isolated from each of one or more environments arranged for remaining one or more switch processes, each of the plurality of the switch processes performing switch processing on a flow associated thereto; and a dispatcher process that receives a packet from at least one of the plurality of the network interfaces and dispatches the packet to an associated switch process, based on a dispatch rule that defines association of a flow with a dispatch destination switch process, wherein the switch further includes; a transmitter that, when a dispatch rule for a first flow indicated by header field information of a packet received from at least one of the plurality of the network interfaces is not present, sends a query for the dispatch rule for the first flow to the controller, wherein the first processor is configured to, on receipt of the dispatch rule for the first flow sent from the controller, create an isolated environment, invoke a first switch process associated with the first flow in the isolated environment, and cause the transmitter to send a response to the controller, and wherein the first switch process associated with the first flow, upon reception of a first flow entry for handling the first flow from the controller, handles one or more packets associated with the first flow, based on the first flow entry. - View Dependent Claims (8, 9, 10, 11, 12, 13, 14, 15, 16)
-
-
17. A communication method for a communication system including a switch and a controller, the method comprising:
-
dispatching a packet received by the switch to an associated switch process included in the switch, based on a dispatch rule that defines association of a flow with a dispatch destination switch process; the associated switch process, out of a plurality of switch processes included in the switch, performing switch processing on a flow associated thereto, each of the plurality of the switch processes being configured to be executed in an environment allocated thereto, the environment arranged for each of the plurality of the switch processes being isolated from each of other one or more environments arranged for remaining one or more switch processes; dispatching by the controller a message received from the associated switch process to an associated controller process, based on a dispatch rule that defines association of a switch process with a dispatch destination controller process; and the associated controller process which is one of a plurality of controller processes included in the controller, performing control processing for the associated switch process included in the switch, based on the message, each of the controller processes configured to be executed in an environment allocated thereto, the environment arranged for each of the plurality of the controller processes being isolated from each of other one or more environments arranged for remaining one or more controller processes.
-
-
18. A non-transitory computer-readable recording medium storing therein a program to be executed by a computer, the program causing the computer to execute processes comprising:
-
a plurality of switch processes, each of the plurality of the switch processes being executed in an environment allocated thereto, the environment arranged for each of the plurality of the switch processes being configured to be isolated from each of one or more environments arranged for remaining one or more switch processes, each of the plurality of the switch processes performing communication processing on a flow associated thereto; a dispatching process that receives a packet from at least one of a plurality of network interfaces and dispatches the packet to an associated switch process, based on a dispatch rule that defines association of a flow with a dispatch destination switch process, wherein the associated switch process, upon reception of the packet dispatched thereto by the dispatching process, performs matching of header field information of the packet with a flow entry for handling a flow, and handling of the packet based on a result of the matching, wherein the flow entry includes a match field for being matched with header field information of a packet received; and
an action field to prescribe handling of a matching packet;when a dispatch rule for a first flow indicated by header field information of a packet received from at least one of the plurality of the network interfaces is not present, sending a query for the dispatch rule for the first flow to a controller; on receipt of the dispatch rule for the first flow sent from the controller, creating an isolated environment, invoking a first switch process associated with the first flow in the isolated environment, and sending a response to the controller; and the first switch process associated with the first flow, upon reception of a new flow entry for handling the first flow from the controller, handling one or more packets associated with the first flow, based on the new flow entry.
-
Specification