软件定义网络SDN专题技术报告
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
•
•
OpenFlow的标准化组织
Dec, 2009
Feb, 2011
Dec, 2011
April, 2012
Sep, 2012
OF 1.0
OF 1.1 多表 MPLS、VLAN group ECMP
OF 1.2 IPv6
功能:
单表 IPv4
OF 1.3 重构了能力协商 PBB IPv6扩展头 多Controller Per flow meter
云计算
虚拟化
SDN未来工作
可扩展性研究
规模部署与跨域通信
在数据中心的应用
与传统网络共存 融合IPv6
与其他新型网络架构融合
入端口
源MAC 地址
目的 MAC地 址 Ether Des
以太网 类型
VLAN ID
VLAN 优先级
源IP地 址
目的IP 地址
IP协 议
IP TOS位
TCP/UDP 源端口
TCP/UDP 目的端 口 TCP/UDP SRC Port
Ingress Port
Ether Source
Ether Type
什么是SDN
软件定义网络(Software Defined Network, SDN ),是由美国斯坦福大学 clean slate研究组提出的一种新型网络创新架构,核心理念是,希望应用软 件可以参与对网络的控制管理,满足上层业务需求,通过自动化业务部署简 化网络运维。 传统网络设备紧耦合的网络架构被分拆成应用、控制、转发三层分离的架构。 控制功能被转移到了服务器,上层应用、底层转发设施被抽象成多个逻辑实 体。如果说现在的网络系统是功能机,系统和硬件出厂时就被捆绑在一起, 那么SDN 就是 Android系统,可以在很多智能手机上安装、升级,同时还能 安装更多更强大的手机 App(SDN 应用层部署)。
转发(Forward)
修改域(Modify-Field)
丢弃(Drop)
Openflow1.0数据包处理流程
匹配 表0 否 ….. 是 是
接收报文
包头解析
实施动作
匹配 表n 否 通过安全通道 发送到控制器
Openflow1.0包头解析过程
初始化包头 设置输入端口,以太 网源地址,目的地址 极其类型,并将其他 所有置为0 判断 设置VLAN ID和 PCP 否 是
18
OpenFlowv1.0之流表结构
• 流表是OpenFlow对网络设备的数据转发功能的抽象 –表项包括了网络中各个层次的网络配置信息
包头域 计数器 动作
• –包头域:用于对交换机接收到的数据包的包头内容进行匹配 –计数器:用于统计数据流量相关信息,可以针对交换机中的每张流 表、每 个数据流、每个设备端口、每个转发队列进行维护 –动作(action):用于指示交换机在收到匹配数据包后如何对其进行 处理
SDN体系结构
应用层
上层应用 API API API
控制层
SDN 控制软件 网路服务 控制数据平面口 (例如OpenFlow) 网络设备 网络设备 网络设备 网络设备
基础设施层
网络设备
SDN特征
控制转发分离
网络虚拟化
可编程接口
控制平面(CP)
转发平面(DP)
SDN 将网络设备的控制平面集中上收到Controller; 传统网络设备的CP与DP 不分离; 网络设备上只保留转发平面(转发表项); • 工作原理:基于物理端口转发 设备之间通过控制协议交互转发信息 ; 软件可以实现灵活的控制面功能满足用户多元化需求
Packet‐in事件(交换机接收数据包)
情况1 当交换机收到一个数据包后,会查找流表,找出与数据包包头相匹配 的条目。如果流表中有匹配条目,则交换机按照流表所指示的action 列表处理数据包。如果流表中没有匹配条目,则交换机会将数据包封 装在Packet‐in消息中发送给控制器处理。此时数据包会被缓存在交换 机中等待处理。
• 策略: Flood
Hub
硬件成为ห้องสมุดไป่ตู้单哑资源,专注转发;
L2Switch • 工作原理:基于MAC地址表转发 • 策略: STP+MAC地址学习
CP DP CP DP
Controller
CP
DP
CP
DP
Router
CP DP
• 工作原理:基于路由表转发
CP DP
CP
DP
CP
DP
• 策略:静态路由+动态路由协议
• Flow Table:Flow Table 里面的每个条 目都会与一个动作相关联,来告诉 网络交换设备来如何处理与这个条 目相关联的 data Flow; Secure Channel:用于连接网络交换 设备和远程网络控制器,在控制器 和网络交换设备之间互相发送命令 和数据包; OpenFlow Protocol:提供一个开放标 准统一的接口,使得控制器和网络 交换设备之间可以相互通信
情况2
交换机流表所指示的action列表中包含转发给控制器的动作 ( Output=CONTROLLER)。此时数据包不会被缓存在交换机中。
控制器配置流表( Flow‐Mod消息)
• Flow‐Mod消息用来添加、删除、修改Openflow交换机 的流表信息
ADD
DELETE
Flow‐Mod
DELETE‐STRICT MODIFY MODIFY‐STRIC
Software Defined Network
1
背景
2
SDN体系架构
SDN特征 SDN关键技术 SDN应用和未来方向
3
4
5
背景
传统的网络设备(交换机、路由器)的固件是由设备制 造商锁定和控制,所以大家希望将网络控制与物理网络拓扑 分离,从而摆脱硬件对网络架构的限制。这样企业便可以像 升级、安装软件一样对网络架构进行修改,满足企业对整个 网站架构进行调整、扩容或升级。而底层的交换机、路由器 等硬件则无需替换,节省大量的成本的同时,网络架构迭代 周期将大大缩短。
* * *
*
*
*
Controller 9
Openflow消息
• Openflow消息总共分为三大类:
Controller‐to‐Switch • • • • • Features 用来获取交换机特性 Configuration 用来配置Openflow交换机 Modify‐State 用来修改交换机状态(修改流表) Read‐Stats 用来读取交换机状态 Send‐Packet 用来发送数据包
OpenFlow1.0之流表动作列表
动作名称 说明
ALL:将数据包从除入端口以外其他所有 端口发出 CONTROLLER:将数据包发送给控制器 LOCAL:将数据包发送给交换机本地端口 TABLE:将数据包按照流表匹配条目处理 IN_PORT:将数据包从入端口发出 NORMAL:按照普通二层交换机流程处理 数据包 FLOOD:将数据包从最小生成树使能端口 转发(不包括入端口) 设置VLAN ID、VLAN优先级,剥离VLAN头 修改源MAC地址、目的MAC地址 修改源IPv4地址、目的IPv4地址、ToS位 修改源端口号、目的端口号 交换机对没有明确指明处理动作的流表项, 将会对与其所匹配的所有数据包进行默认的 丢弃处理
*
FlowTable定义防火墙
MAC SRC MAC DST
IP SRC
IP DST
TCP DPort
TCP SPort * *
Action Drop Port3
Count 250 300
* *
* *
192.168.2.2 192.168.3.5 80 192.168.3.4 192.138.5.4 80
VLAN ID
VLAN Priority
IP Source
IP Des
IP Proto
IP TOS bits
TCP/UDP SRC Port
OpenFlow1.0之流表计数器
• 针对交换机中的每张流表、每个数据流、每个设备端口、每个转 发队列进行维护,用于统计数据流量的相关信息 –针对每张流表,统计当前活动的表项数、数据包查询次数、数 据包匹配次数等 –针对每个数据流,统计接收到的数据包数、字节数、数据流持 续时间等 –针对每个设备端口,除统计接收到的数据包数、发送数据包数、 接收字节 数、发送字节数等指标之外,还可以对各种错误发生的次数进行 统计 –针对每个队列,统计发送的数据包数和字节数,还有发送时的 溢出(Overrun)错误次数等
OpenFlowv1.0之包头域
• 用于匹配交换机接收到的数据包的包头内容,OpenFlow 1.0包头域包含12个元组(tuple) –涵盖ISO网络模型中第二至第四层的网络配置信息 –每一个元组中的数值可以是一个确定的值或者是“ANY • OpenFlow 1.1及后续版本将“包头域”更名为“匹配域
Asynchronous • • • • Packet‐in 用来告知控制器交换机接收到数据包 Flow‐Removed 用来告知控制器交换机流表被删除 Port‐Status 用来告知控制器交换机端口状态更新 Error 用来告知控制器交换机发生错误
Symmetric • Hello 用来建立Openflow连接 • Echo 用来确认交换机与控制器之间的 • Vendor 厂商自定义消息
FlowTable定义路由
MAC SRC MAC DST
IP SRC
IP DST * * *
TCP DPort TCP SPort * * * * * *
Action Port1 Port2 Port3
Count 249 229 898
* * *
* * *
192.168.1.0/254 192.168.2.0/254
以太网类 型 =0X8100
以太网类 型 =0X0806 以太网类 型 =0X0800
设置IP源及目 的地址 设置IP源及目的 地址协议和TOS 位 UDP/TCP源/目的 端口作为四层信 息
IP协议 =6或17
IP协议 =1 使用设定好的包 头域进行查表
ICMP类型和编码 作为四层信息
Flow Table 例子
OF 1.3.1
增强版本协商能力
Open Network Foundation,即开放式网络基金会。ONF是非盈利的组织机构,致力于创新和发展新 型网络架构,即软件定义网络(SDN)。 -ONF成立一年,有超过80家国内外公司加入到ONF的商业化推广和使用SDN技术的推广。 -国内企业包括:华为、中兴、腾讯、盛科、华三等。
基于Openflow的SDN通信流程
基于Openflow的SDN工作流程
①主机向网络发送数据包 ②OF交换机流表无匹配项,通过 PacketIn事件将数据包上报给控 制器 ③控制器下发流表(或PacketOut) ④数据包转发 ⑤同② ⑥同③ ⑦数据包转发
SDN目前应用范围
安全控制
校园 网
数据 中心 网络 管理
CP
DP
CP
DP
CP
DP
CP
DP
CP
DP
CP
DP
CP
DP
CP
DP
通过Controller实现了对基础网络设施的抽象;
应用程序看到的是Controller提供的网络服务
被抽象出的网络
应用程序的视角
Controller
物理网络/Fabric Underlay网络
SDN实现方式
SDN的核心技术:OpenFlow