Openflow
简述
随着互联网的发展,对于网络的要求越来越高,网络技术的变革显得尤为重要,但由于如今的网络过于依赖设备和协议,不易于进行网络技术的研究。网络设备厂商将设备与协议绑定,形成一个不开放的环境,让他们开放平台似乎是不可能的事,并且也没有有效的途径在生产网络上实验新的技术。这导致了网络技术的发展停滞不前。
为了解决上述问题,Openflow应运而生,其主要实现以下的目标:
- 贯彻高性能和低成本的需求
- 支持范围广泛的研究
- 保证隔离实验和生产网络
- 与设备厂商封闭平台需求保持一致
组成
现代以太网交换机和路由器包含流表来实现防火墙、NAT、QoS和收集策略,但每个厂商的设备的流表都不一样,缺乏统一兼容的协议。因此Openflow提供一个开源的协议来对流表进行编程。如此,管理员可以控制不同的流,选择数据包的路由和处理接受的包,这样可以隔离生产和实验测试网络,也可以进行新协议的研究。
一个Openflow交换机由三部分组成:
- 一个流表,和与每条流绑定的行为(指明如何处理流)
- 一个加密通道,连接交换机和控制器,命令和数据包通过这个通道进行传输
- Openflow协议,提供开源和标准方法进行控制器和交换机通信

专用Openflow交换机是集成Openflow协议和接口,但不支持L2和L3交换的商用交换机。专用Openflow交换机的每条流记录必须包含三个基本的行为:
- 向特定端口转发这条流的数据包
- 封装和向控制器转发数据包
- 抛弃数据包
流表中每条流记录包括:
- 定义流的数据包头
- 定义处理的行为
- 策略,跟踪数据包
而其他支持Openflow交换机(在原来L2和L3交换基础上增加Openflow特性)必须支持:在交换机原来的处理管道中转发流数据包。且交换机必须隔离生产和实验测试网络。

控制器负责在流表中添加和移除流记录,它可以是运行在PC上的简单应用。
Openflow应用
- 网络管理和接入
- VLANs
- 移动无线VOIP客户端
- 无IP网络
Segment Routing
简介
OpenFlow作为最主要的SDN协议,希望以一种全新转发协议颠覆现有以IP、MPLS网络架构。但是,这种激进的演进方式没有得到设备厂家及电信运营商的支持,通过对现有网络协议进行扩展和优化,推动现有网络平滑演进,实现网络开放的目标才是更加可行的选择。
Segment Routing就是这样的背景下,由IETF推动的支持SDN架构的新型路由转发协议。目前,Segment Routing还处于草案阶段,但是已经形成了完整的体系架构,并得到了大部分设备厂家的支持。
Segment Routing(SR)是一种源路由机制,用于优化IP、MPLS网络能力,可使网络具有更高的可扩展性,并以更简单的方式提供TE、FRR、MPLS VPN等功能。SR为网络提供呵呵上层应用快速交互的能力。
工作原理
和MPLS网络 类似,SR以标签交换为基础,只是对IGP协议进行简单的扩展。在SR网络中,通过Segment表示网络前缀,包括Nodal Segment(全局标签)和Adjacency Segment(本地标签)。通过将Nodal Segment和路由前缀相关联,我们可以通过最短路径到达任意节点,而转发路径是一条还是等价多路径负载分担,则取决于网络的IGP拓扑。