HCIE Openflow basic architecture
The basic idea of OpenFlow is to separate the control plane and data plane using standard protocol communication. The data plane uses a stream-based method for forwarding.
The OpenFlow architecture consists of three parts: the controller, the OpenFlow switching module and the OpenFlow protocol.
OpenFlow controller: The control plane server of the OpenFlow protocol, which completes the creation and maintenance of the flow table.
There are two main types of OpenFlow switching modules: dedicated switching modules and compatible switching modules.
For a standard OpenFlow device, the dedicated switching module only supports OpenFlow forwarding. The compatible switch module supports OpenFlow forwarding, as well as normal Layer 2 and Layer 3 forwarding.
The component responsible for OpenFlow protocol management on the OpenFlow switching module is the OpenFlow Agent, which usually establishes an OpenFlow connection with the controller, reports the port information of the OpenFlow switching module, and parses the flow table entry information issued by the controller.
The forwarding database is usually calculated and collected by a large number of protocols with frequent changes by the controller, and delivered to the device through the OpenFlow protocol to assist the device to increase the computing capacity.
The controller sends the flow table to the OpenFlow switching module through Flow_Mod. The flow table is created by the user on the controller to guide packet forwarding. The device matches the packets according to the flow table and processes the packets that are successfully matched, and configures them in the same level of the flow table according to the priority specified by the flow entry. Currently, the device only contains the first-level flow table, and the flow table can contain multiple flow table entries. The flow table items supported by the device include: Match Fields, Priority, Instructions and Fail Action.
- Match Fields: packet matching rules. Contains the message protocol type, source IP address, destination IP address, source port number, destination port number, and DSCP priority.
- Priority: Priority. The higher the value, the higher the priority, and the flow entry with the higher priority is matched first.
- Instructions: Action instruction set. Define the operations that need to be performed for packets matching the flow entry.
- Fail Action: The operation after the successfully matched message is forwarded according to the action in the action instruction set and fails, including the following two:
– Forward: Forward according to the route in the traditional routing table.
– Discard: discard the packet directly.
If there is no Fail Action in the flow table delivered by the controller, the device will default the Fail Action of the flow table to forward.