Openflow网络的构成和数据转发概述

版权声明:本文为博主原创文章,遵循 CC 4.0 by-sa 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/weixin_41482303/article/details/88623414

Openflow网络的构成要素:

·Open控制器:OpenFlow协议提供的标准数据接口,对OpenFlow交换机中的流表进行控制、管理,实现了对整个网络的集中控制

·Openflow交换机:支持Openflow协议的交换机,在控制器的控制下对数据进行转发

·Openflow通道:连接Openflow控制器和Openflow交换机的通道

·Openflow流表:Openflow交换机对数据执行转发时的凭据,功能与传统网络中的路由表类似。在每个Openflow交换机中,流表可以有多个,每个流表的流表项也可以有多个。

流表项的构成:

在这里插入图片描述

1.头字段:描述了该表项匹配的数据包,匹配项可以是端口,源mac地址,源ip地址,VLAN ID等

2.计数器:记录了该表项的匹配次数,每次处理与表项匹配的数据包时,该数值都会更新

3.行动:描述了对与该表项所匹配的数据包要执行的操作,在Openflow1.0中包含四个行动:

·Forward:转发数据包
·Drop:丢弃数据包
·Enqueue(可选):将数据包转发至现有的已设定的队列中
·Modify-Field(可选):可修改数据包中的VLAN ID,源ip地址,目的ip地址的信息

Openflow网络的特征:

控制面和数据面分离是Openflow网络的一大典型特征,在传统网络中,各个区域相互独立,每个区域具有极大的自治权,区域中的网络设备利用网络协议计算合适的路由,同时控制面和数据面处于同一层级,传统网络中的路由器就是同时包含数据面和控制面的设备。在Openflow网路中的,控制面(Openflow控制器)和数据面(Openflow交换机)相分离,数据面转发数据包,而位于数据面外部的控制面又对数据面进行控制。Openflow交换机负责转发数据,而Openflow控制器通过Openflow通道,在Openflow交换机中设置流表项来完成各种操作。

Openflow网络的数据转发过程:

在这里插入图片描述

1.Openflow交换机接受到来自网络的数据包

2.Openflow交换机执行字头段解析,字头段解析的过程如图所示
在这里插入图片描述
3.已经解析的数据包开始与流表项从0开始进行匹配,若编号为0的流表中不存在与该数据包匹配的选项且存在其他流表时,转到下一个流表继续进行匹配。如果不存在其他流表时,Openflow交换机将根据设置,丢弃该数据包或者将该数据包转发给Openflow控制器来进行操作。

4.当数据包在流表中存在匹配的流表项时,该流表项的计数器会更新匹配的次数,然后Openflow交换机将按照流表项中的行动字段对该数据包执行相关操作

安全通道的建立过程:

1.Openflow交换机对Openflow控制器建立未加密或基于TLS的连接

2.Openflow交换机和Openflow控制器互相发送Hello消息,消息中携带各自支持的最大版本号,安全通道将使用两者中较小的版本号。

3.Openflow控制器发送一个Features请求,Openflow交换机收到后将回复一个Features响应消息。这一过程将使Openflow控制器获得关于Openflow交换机的基本信息。包括Openflow交换机支持的行动,传输容量,以及物理端口等信息。

4.其他设置

Openflow交换机和Openflow控制器之间的消息类型:

消息类型 消息描述
Flow-Mod Openflow控制器对Openflow交换机的流表进行设置,包含添加,删除,变更等操作
Packet-In Openflow交换机将没有流表项匹配的数据包或者设置中需要发送给Openflow控制器的数据包发送给Openflow控制器
Packet-Out Openflow控制器向Openflow交换机发送包含数据包的消息
Flow-Removed 当Openflow交换机中的流表项超时时,Openflow交换机向Openflow交换机发送该消息
Error 当出现错误时,Openflow交换机和控制器都可以发送该消息
Barrier 掌握消息的处理程度
Echo Openflow控制器和Openflow交换机都可以发送该消息来确认二者之间的连接状态,通信延迟等情况
展开阅读全文

没有更多推荐了,返回首页