三层交换机之软件定义网络(SDN)

背景介绍

随着云计算和虚拟化技术的发展,网络架构正在发生深刻地变革,软件定义网络(SDN - Software Defined Network)无疑是下一代网络的“范式”。

如何实现SDN呢?OpenFlow是目前最流行的SDN实现方式,具体而言有三种:

1、OpenFlow商业交换机,如思科、Juniper Network、盛科等厂商;

2、基于FPGA实现OpenFlow协议;

3、纯软件OpenFlow交换机实现,如Open vSwitch技术;

SDN(Software Defined Network)

SDN是由美国斯坦福大学Clean-Slate课题研究组提出的一种新型网络创新架构,是网络虚拟化的一种实现。其核心技术OpenFlow通过将网络设备的控制面与数据面分离开,从而实现网络流量的灵活控制。

 如上图,数据面就是交换机和路由器硬件,SDN控制器负责整个拓扑网络的转发链路规划,这样可以形成统一的管理。

OpenFlow

OpenFlow是一个协议,可以理解为SDN的一种实现,通过Flow Table来描述报文转发规则,以下是OpenFlow 1.2定义的Flow Table结构:

  • Match Fields:报文匹配字段,包括MAC地址、以太网类型、IP协议类型、IP地址、UDP端口号等
  • Priority:报文优先级,多个匹配项中按照优先级匹配
  • Counters:匹配的次数
  • Instructions:匹配后的操作,如报文编辑、转发属性
  • Timeout:该Flow Table在交换机中存在的时间
  • Cookie:控制器预留的信息,与报文(数据流)处理无关

除了Flow Table之外,还有Group Table、Meter Table等,这些表结构都可以在协议手册中找到。

此外,为了与控制器(Controller)进行通讯,OpenFlow协议还定义了一套交换机与控制器的通讯协议——OpenFlow Channel,这个协议包括:

  • Controller-to-Switch:控制器操作交换机
  • 异步通信(Asynchronous):交换机提交特定报文处理
  • 对称通信(Symmetric):控制器与交换机互相调试

Open vSwitch

Open vSwitch可以理解为一个虚拟交换机,其架构如下:

如上图所示,Open vSwitch就是利用OpenFlow协议设计的虚拟交换机,其报文转发的规则完全依赖Flow Table。

Open vSwitch内部实现近似于一个基于OpenFlow协议的SDN结构,可以将User Space当作控制面(Control Plane),Kernel层当作数据面(Data Plane)。

 

posted on 2022-01-11 23:28  者旨於陽  阅读(882)  评论(0编辑  收藏  举报

导航