No relevant resource is found in the selected language.

This site uses cookies. By continuing to browse the site you are agreeing to our use of cookies. Read our privacy policy>Search

Reminder

To have a better experience, please upgrade your IE browser.

upgrade

Configuration Guide - Network Management and Monitoring

CloudEngine 12800 and 12800E V200R005C10

This document describes the configurations of Network Management and Monitoring, including SNMP, RMON, LLDP, NQA, Service Diagnosis, Mirroring, Packet Capture, sFlow, and NETCONF.
Rate and give feedback:
Huawei uses machine translation combined with human proofreading to translate this document to different languages in order to help you better understand the content of this document. Note: Even the most advanced machine translation cannot match the quality of professional translators. Huawei shall not bear any responsibility for translation accuracy and it is recommended that you refer to the English document (a link for which has been provided).
OpenFlow Working Mechanism

OpenFlow Working Mechanism

The controller controls and manages the switch through the OpenFlow protocol. The controller and switch establish an OpenFlow channel, through which they exchange information. If one switch establishes OpenFlow connections with multiple controllers, the controllers notify the switch of their roles through the OpenFlow channel, and the controllers deliver the forwarding information base or flow tables to the switch through the OpenFlow channel. The switch generates ARP entries for data forwarding according to the forwarding information base or flow table.

OpenFlow Channel Establishment and Maintenance

The controller and switch need to establish an OpenFlow channel before they can exchange information. After an OpenFlow channel is established, it needs to be maintained to ensure stability. The OpenFlow channel is established and maintained as follows:

  1. After the OpenFlow connection parameters are configured on the controller and switch, the controller and switch establish a TCP connection.
  2. The controller and switch exchange HELLO packets carrying information such as the OpenFlow protocol version through the TCP connection to negotiate the OpenFlow channel parameters.
  3. After the OpenFlow channel parameters have been negotiated, the controller sends an FEATURES_REQUEST packet to request the switch's attributes. The switch responds with an FEATURES_REPLY packet carrying its own attributes. The OpenFlow channel is established.
  4. The controller and switch exchange the ECHO packets to detect the peer device status. ECHO packets include ECHO_REQUEST and ECHO_REPLY packets. The detection initiator periodically sends ECHO_REQUEST packets, and the peer responds with ECHO_REPLY packets.

    If the initiator does not receive any ECHO_REPLY packets after sending five consecutive ECHO_REQUEST packets, the initiator considers that the peer device has failed, and closes the OpenFlow connection. If the initiator receives a packet (except for ECHO_REPLY) before closing the OpenFlow connection, the initiator restarts the counter.

Figure 5-2 OpenFlow channel establishment and maintenance

Controller Role Notification

A switch can connect to one or more controllers through OpenFlow connections. Establishing OpenFlow connections to multiple controllers improves reliability and implements load balancing. When one controller is faulty or an OpenFlow connection fails, the switch is still connected to other controllers and works normally.

A switch must set up an OpenFlow connection with every configured controller and the connectivities must be ensured. When OpenFlow channels are set up, the controllers actively send ROLE_REQUEST packets carrying controller roles to the switch. The controller roles include EQUAL, MASTER and SLAVE.
  • When the ROLE_REQUEST packet contains OFPCR_ROLE_EQUAL, the controller is determined as the EQUAL. The EQUAL controller has the highest operation right on the switch, and can receive synchronization information from the switch. This controller can send forwarding information base or flow table and Packet-out to the switch. By default, the role of a controller that sets up a connection with the switch is EQUAL.
  • When the ROLE_REQUEST packet contains OFPCR_ROLE_MASTER, the controller is determined as the MASTER. The MASTER has the same rights as EQUAL. If one MASTER exists, the other controllers can only be EQUAL or SLAVE.
  • When the ROLE_REQUEST packet contains OFPCR_ROLE_SLAVE, the controller is determined as the SLAVE. The SLAVE only has the read privilege. The switch will not send synchronization information to the controller or receive the forwarding information base, flow table, and packet-out from the SLAVE. If the switch receives this type of information from the SLAVE, it discards this information and replies with the OFPT_ERROR message.

A controller can determine its own role, and the controllers elect the active one. The switch does not intervene with the active or EQUAL controller election. The switch learns about controller roles from the ROLE_REQUEST packets. The role notification process for the controller is as follows:

  1. After the channel has been set up, the controller sends a ROLE_REQUEST packet to the switch, and the switch returns a ROLE_REPLY packet to the controller.
  2. If a SLAVE is elected as the MASTER, this controller sends a ROLE_REQUEST(MASTER) packet to the switch. The switch records the new controller and replies with a ROLE_REPLY packet. At the same time, the switch sends a ROLE_STATUS packet to the previous MASTER, requesting to change its role to SLAVE.
Figure 5-3 Controller role notification process

Forwarding Database Delivery

The controller generates the forwarding database based on only a few protocols with a large number of packets and frequently changing, and delivers the forwarding database to the switch through the OpenFlow protocol. This mode enhances the computation capability of the switch. For example, the forwarding database generated by the Agile Controller may include IP addresses and MAC addresses. The switch stores the forwarding information and directs packet forwarding by generating ARP entries based on protocols. The process of forwarding database delivery is as follows:
  1. After the controller roles are determined, the EQUAL and MASTER controllers actively send EXPERIMENTER packets to deliver all forwarding information to the switch.
  2. The switch computes the ARP entries based on the forwarding information delivered by the controllers.
Figure 5-4 Forwarding information base delivery

When the forwarding information on a controller changes, the controller actively sends an EXPERIMENTER packet to update the forwarding information on the switch.

When a controller is disconnected from the switch, the switch will not delete the forwarding information delivered by this controller. In addition, the switch will not delete the forwarding information delivered by controllers even after OpenFlow configurations are deleted.

Flow Table Delivery

NOTE:

The CE12800E configured with ED-E, EG-E, and EGA-E series cards does not support Flow_Mod.

The flow table to be delivered by the controller is manually created on the controller to direct packet forwarding. The process of flow table delivery is as follows:
  1. After the controller roles have been determined, the EQUAL and MASTER controllers actively send Flow_Mod(ADD) packets to deliver all flow entries to the switch. The flow entries contain Match Fields, Priority, Instructions and Fail Action.
  2. The switch matches packets against flow entries and forwards the packets based on the flow table.
Figure 5-5 User policy table delivery

When a controller deletes a flow entry, the controller sends a Flow_Mod(DELETE) packet to the switch, and the switch deletes the entry locally.

When a controller adds a flow entry, the controller sends a Flow_Mod(ADD) packet to the switch, and the switch adds the entry locally.

If the Agile Controller is disconnected from the switch, the switch will not delete the flow entries delivered by the Agile Controller. In addition, the switch will not delete flow entries delivered by controllers even after OpenFlow configurations are deleted. You can manually delete flow entries on switch (using CLI).

Packet Transparent Transmission

The controller and switch encapsulate packets into the Packet-in and Packet-out packets and transparently transmit them. These packet types are as follows:

Packet-in: The switch forwards information to the controller through Packet-in.

Packet-out: The controller delivers information to the switch through Packet-out.

Translation
Download
Updated: 2019-04-20

Document ID: EDOC1100075344

Views: 30844

Downloads: 29

Average rating:
This Document Applies to these Products
Related Documents
Related Version
Share
Previous Next