OpenFlow网络交换机介绍
SDN是一种数据控制分离、软件可编程的新型网络体系架构。SDN基于OpenFlow的可编程特性,分别由Controller和OpenFlow交换机组成,构成控制层和数据转发层。
SDN采取了集中式的控制平面和散布式的转发平面,两个平面相互分离,控制平面利用控制、转发通讯接口,对转发平面上的网络装备进行集中式管理。
我们可以看到有业务层、控制层、转发层。其中业务层和控制层之间的API叫做“北向接口”,用户可以通过北向接口对控制层进行定义或控制,并触发事件;控制层和转发层之间的API叫做“南向接口”,“南向接口”是控制层与转发层之间的通讯通道,以OpenFlow协议为标准,实现了控制器与交换机之间的信息交互。
下面介绍一下OpenFlow。OpenFlow网络从底到高由以下三部份组成:
1.OpenFlow交换机——实现数据层的转发
2.FlowVisor——对网络进行虚拟化
3.Controller——对网络集中控制
OpenFlow交换机
OpenFlow交换机由安全通道、流表、OpenFlow协议三部份组成。
安全通道
安全通道是连接OpenFlow交换机和控制器通讯的接口。控制器通过这个接口来控制和管理OF交换机,同时OF交换机通过这个接口将事件传给控制器,发送数据包,并接收来自控制器下发数据包。
控制器和交换机一定要通过安全通道进行通讯,而且进行通讯的数据包一定要依照OpenFlow协议规定的格式履行。
流表
流表是数据转发的根据,与交换机的mac地址转发表和IP地址路由表类似,流表中保存了网络中各个层次的网络配置信息,因此可以进行更加丰富的转发规则。交换机收到来自主机的数据包后,会在本机查询对应的动作,和对应的输出端口。
流表有很多流表项,每条流表项都是一个转发规则。流表项的结构以下:
1.包头域用于数据包匹配;
2.计数器用于统计匹配数据包个数;
3.动作用于唆使匹配数据包如何处理;
流表由控制器下发给交换机。下发模式有两种:主动模式、被动模式。
主动模式——控制器将自己搜集的流表信息主动下发给交换机等网络装备,随后网络装备可直接查询流表转发。
被动模式——网络装备收到一个没有匹配的FlowTable记录时,将其封装成Packet_in数据包,转发给控制器,由控制器决定如何处理,并下发流表。