所选语种没有对应资源,请选择:

本站点使用Cookies,继续浏览表示您同意我们使用Cookies。Cookies和隐私政策>

提示

尊敬的用户,您的IE浏览器版本过低,为获取更好的浏览体验,请升级您的IE浏览器。

升级
CloudEngine 8800, 7800, 6800, 5800 V200R003C00 配置指南-网络管理与监控

本文档介绍了网络管理与监控的配置,具体包括SNMP配置、RMON配置、NETCONF配置、OpenFlow Agent配置、LLDP配置、NQA配置、镜像配置、报文捕获配置、路径/连通性探测配置、NetStream配置、sFlow配置和iPCA配置。

评分并提供意见反馈 :
华为采用机器翻译与人工审校相结合的方式将此文档翻译成不同语言,希望能帮助您更容易理解此文档的内容。 请注意:即使是最好的机器翻译,其准确度也不及专业翻译人员的水平。 华为对于翻译的准确性不承担任何责任,并建议您参考英文文档(已提供链接)。
OpenFlow工作原理

OpenFlow工作原理

控制器对交换机的控制和管理可以通过OpenFlow协议实现。首先控制器和交换机之间通过建立OpenFlow通道,实现控制器与交换机之间的信息交互。如果交换机与多个控制器建立OpenFlow多连接,那么此时控制器会将自己的角色通过OpenFlow通道告知交换机。随后,控制器将转发信息数据库或用户策略表通过OpenFlow通道下发到交换机。交换机根据转发信息数据库进行协议计算生成ARP表项,从而完成数据的转发;或者根据用户策略表信息,完成数据转发。

通道建立与维护

实现控制器和交换机之间的信息交互之前,需要建立OpenFlow通道,OpenFlow通道建立之后需要进行维护,保证OpenFlow通道的稳定性。OpenFlow通道建立与维护过程如下:

  1. 用户在控制器和交换机上配置完OpenFlow连接参数后,控制器和交换机会建立TCP连接。
  2. TCP连接建立成功后,控制器和交换机会相互发送携带OpenFlow协议版本号等信息的HELLO报文,进行通道协商。
  3. 通道协商成功后,控制器发送FEATURES_REQUEST报文查询交换机的属性信息,交换机将自己的属性信息通过FEATURES_REPLY报文上报到控制器。至此,OpenFlow通道建立成功。
  4. 通道建立成功后,控制器和交换机之间会相互发送ECHO报文对连接的对端设备进行检测。ECHO报文包括ECHO_REQUEST报文和ECHO_REPLY报文,发起检测的一端会定期发送ECHO_REQUEST报文,对端收到后会回应ECHO_REPLY报文。

    如果发起端连续5次发送ECHO_REQUEST报文,都没有收到ECHO_REPLY报文,则判定对端故障,断开OpenFlow连接,如果期间收到其他报文,则重新计时。

图4-2 OpenFlow通道建立与维护

控制器角色通知

交换机可以与单个控制器建立OpenFlow连接,也可以和多个控制器建立OpenFlow多连接。建立多控制器OpenFlow连接具有高可靠性、也可以进行负载分担。当一个控制器故障或者一个OpenFlow连接失败,交换机仍然可以和其他控制器维持OpenFlow连接,进行工作。

在建立OpenFlow通道期间,交换机需要与其配置的所有控制器建立连接,并且要保证每个OpenFlow连接的连通性。在OpenFlow通道建立成功后,控制器会主动发送ROLE_REQUEST报文,该报文中携带了控制器角色等信息。控制器角色分为EQUAL、MASTER和SLAVE,具体内容如下:
  • 当ROLE_REQUEST报文中携带的控制器角色为:OFPCR_ROLE_EQUAL时,表示控制器角色为EQUAL。在这种情况下,控制器对交换机具有最大的权限,可以接收交换机发送的同步信息;控制器可以发送转发信息数据库、用户策略表、Packet-out等报文到交换机。缺省情况下,在交换机和控制器建立连接后,控制器的角色为EQUAL。
  • 当ROLE_REQUEST报文中携带的控制器角色为:OFPCR_ROLE_MASTER时,表示控制器角色为MASTER,MASTER的权利和EQUAL的权利相同。在这种情况下,其余的控制器角色必须为EQUAL或者SLAVE。
  • 当ROLE_REQUEST报文中携带的控制器角色为:OFPCR_ROLE_SLAVE时,表示控制器角色为SLAVE。在这种情况下,控制器只具有读的权限。交换机不会发送同步信息给控制器,也不会接收SLAVE发送转发信息数据库、用户策略表、Packet-out报文,如果交换机收到SLAVE发送的这些信息将直接丢弃并会回复OFPT_ERROR消息。

控制器角色是由控制器本身决定的。控制器主备的竞选也是由控制器本身进行的,交换机不会干涉控制器主备的选举和EQUAL角色的确定。交换机根据ROLE_REQUEST报文得知控制器的角色。控制器角色通知流程如下:

  1. 通道建立成功后,控制器会主动发送ROLE_REQUEST报文到交换机,交换机收到后返回ROLE_REPLY报文到对应的控制器。
  2. 如果有其他SLAVE控制器竞选为MASTER,此时该控制器将发送ROLE_REQUEST(MASTER)报文通知交换机其角色的改变。交换机收到该报文后,记录新的控制器并返回ROLE_REPLY报文,同时也会发送ROLE_STATUS报文给原主控制器,通知其角色改变为SLAVE。
图4-3 控制器角色通知流程

转发数据库下发

控制器只将部分数量大、变化频繁的协议计算收集到控制器生成转发数据库并通过OpenFlow协议下发到设备,以辅助设备增加计算能力。例如AC控制器生成的转发数据库包括:IP地址、MAC地址等,设备将这些转发信息数据保存起来,并进行协议计算生成ARP转发表项,据此指导报文的转发。转发数据库的下发过程如下:
  1. 控制器的角色确定之后,角色为EQUAL和MASTER的控制器主动批量发送EXPERIMENTER报文,将所有转发数据库下发到交换机。
  2. 交换机收到控制器下发的转发信息数据库后,根据转发信息数据库进行协议计算,生成ARP表项。
图4-4 转发信息数据库下发

当控制器的转发数据库发生变化时,控制器会主动发送EXPERIMENTER报文,实时更新交换机上的转发数据库。

在控制器与交换机之间的连接断开时,交换机不会删除控制器下发的转发数据库。删除OpenFlow相关配置时也不会删除控制器下发的转发数据库。

用户策略表下发

说明:

CE6880EI不支持Flow_Mod消息。

控制器下发的用户策略表是由用户在控制器上创建的,用于指导报文转发。用户策略表的下发过程如下:
  1. 控制器的角色确定之后,角色为EQUAL和MASTER的控制器主动发送Flow_Mod(ADD)报文,将所有的用户策略表下发到交换机。该表项包含的信息为Match Fields,Priority,Instructions和Fail Action。
  2. 交换机收到该用户策略表信息后,对匹配成功的报文按照用户策略表进行转发。
图4-5 用户策略表下发

当控制器需要删除某个用户策略表时,控制器会主动发送Flow_Mod(DELETE)报文,交换机收到该报文后将删除对应的用户策略表信息。

当控制器需要增加某个用户策略表时,控制器会主动发送Flow_Mod(ADD)报文,交换机收到该报文后将新增对应的用户策略表信息。

在AC控制器与交换机之间的连接断开时,交换机不会删除AC控制器下发的用户策略表。删除OpenFlow相关配置时也不会删除控制器下发的用户策略表。如果用户需要删除用户策略表信息,可以交换机上执行清除用户策略表的命令。

报文透传

控制器与交换机之间通过标准的Packet-in和Packet-out报文进行报文的透传。

Packet-in:交换机将获得的信息通过Packet-in报文上送到控制器。

Packet-out:控制器将信息通过Packet-out报文下发到交换机。

翻译
下载文档
更新时间:2019-05-05

文档编号:EDOC1100004380

浏览量:19594

下载量:322

平均得分:
本文档适用于这些产品

相关版本

相关文档

Share
上一页 下一页