华为SDN学习笔记
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
分区 SDN 的第 10 页
动作集&动作
• 动作集(Action Set)是一系列匹配域和相应动作的合集。动作集是与每个数据包相关联的,初始是一个空集。
• 一个OF条目可以通过Write-Action或Clear-Action来修改动作集。
• 动作集中,一系列动作的处理优先级如下: Copy TTL inwards -> pop -> push MPLS -> push-PBB -> push VLAN -> copy TTL outwards - > decrement TTL ->set ->qos - > group -> output [一系列动作的执行顺序并不由添加动作的顺序而决定,而是按照优先级执行] 一 个 Action set 里 每 种 类 型 的 action 最 多 只 有 一 个 , action 类 型 大 致 如 下 所 示 : 。 1 ) COPY TTL inwards : 在 数 据 包 上 执 行 copy TTL inwards 操 作 。 。 2 ) POP : pop 出 数 据 包 里 所 有 的 tag 。 。 3 ) push-MPLS: push MPLS tag 到 数 据 包 里 。 。 4 ) push-PBB: push PBB tag 到 数 据 包 里 。 。 5 ) push-VLAN : push VI-AN tag 到 数 据 包 里 。 。 6 ) copy TTL outwards : 在 数 据 包 上 执 行 Copy TTL outwards 操 作 · 。 7 ) decrement TTL: 降 低 数 据 包 的 TTL 。 。 8 ) set : 在 数 据 包 上 执 行 set - fields回 操 作 。【选路,可以修改MAC地址】 。 9 ) qos : 执 行 与 qos 相 关 的 操 作 , 比 如 set-queue。 。 10 ) group : 转 到 指 定 的 Group Table 里 继 续 执 行 其 Action Bucket 里 的 action(s) )【动作递归】 。 11) output : 如 果 没 有 group action 指 定 , 那 么 将 数 据 包 转 发 到 指 定 的 Port里
分区 SDN 的第 2 页
控制通道
2017年6月17日 9:40
SDN控制器和转发器之间的通道,称之为控制通道。 控制通道分为两种:
• 带内方式 控制通道和用户业务共用物理网络。
• 带外方式 控制通道和用户业务数据不会共用物理网络。
类型
带内
ຫໍສະໝຸດ Baidu带外
成本
成本低
成本高
QoS
为控制通道提供高优先级的QOS 独占带宽,不受用户数据转发影响
OpenFlow协议
2017年8月12日 13:38
分区 SDN 的第 6 页
OpenFlow架构
2017年6月28日 20:12
定义了两个角色:
OpenFlow Controller 控制平面,计算路径、下发条目。
OpenFLow Switch 转发平面,转发数据,接收命令、流表,并上报状态信息。
Table miss表项,类似于默认路由。默认不存在。 OF流表格式:
分区 SDN 的第 9 页
一 个 流 表 中 包 含 多 个 流 表 項 。每 个 流 表 项 包 含 : 匹配字段:对数据包匹配,包括人端口和数据包报头,以及由前一个表指定的可选元数据。 优 先 级 : 流 表 項 的 匹 配 次 序 ,越大越好 计数器:更新些配数据包的计数 指令:修改动作集或流水线处理 超时:最大时间计数器或流有效时间 Cookie: 由 控 制 器 选 择 的 不 透 明 数 据 值 。 控 制 器 用 来 过 滤 流 统 计 数 据 , 流 改 变 和 流 删除 。 但 处 理 数 据 包 时 不 能 使 用 。 OF v1.4匹 配 字 段 包 括 : 2层、2.5层、3层、4层字段。
分区 SDN 的第 13 页
转发器收 到 之 后 , 回 应 Reply 消 息 , 携 带 自 己 的 属 性 信 息 , 如 支 持 的 流 表 格 式 , 缓冲区大 小等。至此,通道建立成功。 4 . 控 制 器 和 转 发 器 会 互 相 发 送 Echo 报 文 对 连 接 对 端 进 行 检 测 。 发 起 检测的一端定 时 发 送 Eeho Request 消 息 , 对 端 收 到 后 回 应 Reply 消 息 。 若 发 起 端 在 一 定 次数内没 有 收 到 Reply 报 文 , 则 会 判 定 对 端 故 障 , 断 开 连 接 。 交换端口信息上报:
• 转发层 基于2层或3层转发表转发。
SDN控制器面临的挑战 ------------------------------------------------------
• 可靠性 • 性能 • 开放能力
SDN网络价值 ------------------------------------------------------
SDN网络架构
2017年8月12日 15:34
SDN和NFV的本质区别与业务关联 -----------------------------------------------------SDN关键特征:
• 集中控制,优化全局效率 • 开放接口,加快业务上线 • 网络抽象,屏蔽底层差异
NFV关键特征: • 上层业务云化,底层业务标准化 • 分层运营,加快业务上线速度
预路由协议 和 流触发协议
预路由
流触发
在传统IP路由协议,在流量发生 前建立好路由, 不匹配的会被丢弃
根据流量的需求建立路由。当一台转发器收到数据 包, 发现匹配不到流表,可以转发给控制器,控制器为这 些数据包产生特殊的路由条目
成熟
不成熟
安全性高
安全性低,易收到恶意攻击
分区 SDN 的第 4 页
分区 SDN 的第 5 页
组表主要包含以下几个字段: 。组 标 识 符 : 一 个 32 位 的 无 符 号 整数唯一 标 识 。 类 型 : 指 示 不 同 定 义 的 组 类型 。 计 数 器: 被 该 组 条 目 处 过 的 数据包 的 统 计 量 。 动 作 桶: 一 系 列 动 作 的 集合 及 其 参数 每个 数 据 流 可 以 被 划 分 到 相 应 的 组 中 , 动 作 指令 的 执 行 可以 针 对 属 于 同 一 组 标 识 符 的 所 有 数 掘 包 。【类似路由汇聚】 计量表: 可以完成常见的QOS操作,如速率限制。 【总结】 OpenFlow的流表:
OpenFlow通道建立信令流程:
OpenFlow 通 道 是 基 于 TCP 连 接 建 立 的 。 在 通 道 建 立 成 功 后 , 通 道 两 端 设备仍会互相发送检测报文以维护通道连接。 如 图 所 示 , OpenFlow 通 道 的 建 立 和 维 护 遵 循 以 下 流 程 , 1.用户在控制器和转发器上都配置完毕后,控制器和转发器会首先 建 立 TCP 连 接 , 2 . 在 TCP 连 接 建 立 后 , 控 制 器 和 转 发 器 会 相 互 发 送 Hello 报 文 , 携 带 版 本号等信息 进行协商。 3 . 协 商 后 , 控 制 器 发 送 Features Request 报 文 查 询 转 发 器 的 属 性 信 息 , 转发器收
SDN的面向网络架构的创新,NFV是面向设备形态的创新
SDN网络架构的三层模型 ------------------------------------------------------
• 协同应用层 经过控制器的抽象,使用通用接口完成用户意图的各种应用程序,如openstack、OSS 等。
• 控制层 实现内部交换路径计算和边界业务路由计算。南向、北向接口。
TAB-MISS表项
分区 SDN 的第 11 页
TAB-MISS表项 • TAB-MISS表项类似于默认路由,具有最低的匹配优先级0,用于匹配其他表项没有匹配的所有数据包。 • 默认情况不存在tab-miss表项,需要配置。
流表的删除 流表项可以通过三种方式删除
• 控制器请求 • 交换机流的超时机制 • OF交换机的逐出机制 组表 Group id Group type Counters Action buckets
• 流表 (instruction )- > 动作集(action里有指令可以转到组表处理) • 组表 (group ID)- > 动作桶 • 计量表
分区 SDN 的第 12 页
OpenFlow工作原理
2017年8月12日 12:42
OF协议中包含三种类型的消息: • Controller-to-switch 由控制器发起,用于管理和检查交换机的状态 • Asynchronous 由交换机发起,当交换机状态发送改变时,通知控制器 • Symmetric 对称消息,由交换机或者控制器发起,如: hello消息:建立OF连接 echo消息:维护OF连接,测量时延 vendor消息:预留消息
分区 SDN 的第 7 页
openflow交换机:只支持OF交换。
分区 SDN 的第 8 页
Openflow转发表项
2017年8月9日 23:02
流水线处理: OF1.1设计了多级流表,用以减少开销。 OF SW从Table0开始,流水线处理(不能逆向流动)。 每个Tabel中,各个流表项按照优先级依次匹配。 查表流程:
• 快速网络创新 简化网络
分区 SDN 的第 1 页
• 简化网络 • 网络设备白牌话 • 业务自动化 • 网络路径调优和流量调优 SDN发展 -----------------------------------------------------OpenDaylight:倾向于数据中心,厂家 ONOS:倾向于运营商
分区 SDN 的第 3 页
三、转发流表的计算和下发 转发流表的计算和传统IP路由算法相同。 转发流表下发使用的协议: ○ PCE协议 ○ BGP协议 ○ Netconf协议 ○ OpenFlow协议
四、控制通道根据流表信息进行数据转发
二层控制通道: 利用VLAN技术和MSTP技术,组成二层通道。 三层控制通道: 利用IGP协议,生成控制通道。
流表下发:
分区 SDN 的第 14 页
OpenFlow流 表 支 持 两 种 下 发 模 式 : 。 主 动 模式
故障影响
控制通道建立过程
不管是带内还是带外,关键是实现控制和转发器通信。可以采用传统的分布式网络方法生 成。
• 2层网络:VLAN、MSTP • 3层网络:RIP、OSPF、ISIS、BGP
控制通道功能
控制器工作过程: 一、控制通道建立
二、转发器向控制器注册信息和资源上报 设备信息:控制器收集厂家、设备型号、版本等信息,加载对应驱动。 标签信息:收集MPLS标签。 接口资源信息:收集接口名字、接口ID、接口类型。 网络拓扑信息:二层拓扑可以使用链路层发现协议(LLDP协议)。三层拓扑利用 IGP,链路状态协议自身也会收集拓扑信息 。
OpenFlow交换机组件 : • 安全通道
• 组表 包含组条目,与一个或多个动作相关联。
• 流表 多级流表按照流水线处理。
OpenFlow交换机端口: • 物理端口 • 逻辑端口,如Tunnel、聚合口 • 保留端口 ALL:表示所有端口均可用于转发指定数据包。 controller:表示到controller的控制通道,可以用作出接口和入接口。出接口封装数 据包,入接口表示确认。 TABLE:表示openflow流水线的开始。 IN_PORT:代表数据包的入端口。 ANY:用在没有指定端口的情形。 可选保留的端口: Local:本地管理接口,可以用于转发器和控制器带内通信,类型loopback口。 Normal:传统的非openflow流水线处理。仅可以用作普通流水线的出接口。 FLOOD:表示使用普通流水线处理泛洪过程。 根据Openflow定义的保留端口,交换机可以被分为: 混合交换机:既支持传统交换,也支持OF交换。 openflow交换机:只支持OF交换。
动作集&动作
• 动作集(Action Set)是一系列匹配域和相应动作的合集。动作集是与每个数据包相关联的,初始是一个空集。
• 一个OF条目可以通过Write-Action或Clear-Action来修改动作集。
• 动作集中,一系列动作的处理优先级如下: Copy TTL inwards -> pop -> push MPLS -> push-PBB -> push VLAN -> copy TTL outwards - > decrement TTL ->set ->qos - > group -> output [一系列动作的执行顺序并不由添加动作的顺序而决定,而是按照优先级执行] 一 个 Action set 里 每 种 类 型 的 action 最 多 只 有 一 个 , action 类 型 大 致 如 下 所 示 : 。 1 ) COPY TTL inwards : 在 数 据 包 上 执 行 copy TTL inwards 操 作 。 。 2 ) POP : pop 出 数 据 包 里 所 有 的 tag 。 。 3 ) push-MPLS: push MPLS tag 到 数 据 包 里 。 。 4 ) push-PBB: push PBB tag 到 数 据 包 里 。 。 5 ) push-VLAN : push VI-AN tag 到 数 据 包 里 。 。 6 ) copy TTL outwards : 在 数 据 包 上 执 行 Copy TTL outwards 操 作 · 。 7 ) decrement TTL: 降 低 数 据 包 的 TTL 。 。 8 ) set : 在 数 据 包 上 执 行 set - fields回 操 作 。【选路,可以修改MAC地址】 。 9 ) qos : 执 行 与 qos 相 关 的 操 作 , 比 如 set-queue。 。 10 ) group : 转 到 指 定 的 Group Table 里 继 续 执 行 其 Action Bucket 里 的 action(s) )【动作递归】 。 11) output : 如 果 没 有 group action 指 定 , 那 么 将 数 据 包 转 发 到 指 定 的 Port里
分区 SDN 的第 2 页
控制通道
2017年6月17日 9:40
SDN控制器和转发器之间的通道,称之为控制通道。 控制通道分为两种:
• 带内方式 控制通道和用户业务共用物理网络。
• 带外方式 控制通道和用户业务数据不会共用物理网络。
类型
带内
ຫໍສະໝຸດ Baidu带外
成本
成本低
成本高
QoS
为控制通道提供高优先级的QOS 独占带宽,不受用户数据转发影响
OpenFlow协议
2017年8月12日 13:38
分区 SDN 的第 6 页
OpenFlow架构
2017年6月28日 20:12
定义了两个角色:
OpenFlow Controller 控制平面,计算路径、下发条目。
OpenFLow Switch 转发平面,转发数据,接收命令、流表,并上报状态信息。
Table miss表项,类似于默认路由。默认不存在。 OF流表格式:
分区 SDN 的第 9 页
一 个 流 表 中 包 含 多 个 流 表 項 。每 个 流 表 项 包 含 : 匹配字段:对数据包匹配,包括人端口和数据包报头,以及由前一个表指定的可选元数据。 优 先 级 : 流 表 項 的 匹 配 次 序 ,越大越好 计数器:更新些配数据包的计数 指令:修改动作集或流水线处理 超时:最大时间计数器或流有效时间 Cookie: 由 控 制 器 选 择 的 不 透 明 数 据 值 。 控 制 器 用 来 过 滤 流 统 计 数 据 , 流 改 变 和 流 删除 。 但 处 理 数 据 包 时 不 能 使 用 。 OF v1.4匹 配 字 段 包 括 : 2层、2.5层、3层、4层字段。
分区 SDN 的第 13 页
转发器收 到 之 后 , 回 应 Reply 消 息 , 携 带 自 己 的 属 性 信 息 , 如 支 持 的 流 表 格 式 , 缓冲区大 小等。至此,通道建立成功。 4 . 控 制 器 和 转 发 器 会 互 相 发 送 Echo 报 文 对 连 接 对 端 进 行 检 测 。 发 起 检测的一端定 时 发 送 Eeho Request 消 息 , 对 端 收 到 后 回 应 Reply 消 息 。 若 发 起 端 在 一 定 次数内没 有 收 到 Reply 报 文 , 则 会 判 定 对 端 故 障 , 断 开 连 接 。 交换端口信息上报:
• 转发层 基于2层或3层转发表转发。
SDN控制器面临的挑战 ------------------------------------------------------
• 可靠性 • 性能 • 开放能力
SDN网络价值 ------------------------------------------------------
SDN网络架构
2017年8月12日 15:34
SDN和NFV的本质区别与业务关联 -----------------------------------------------------SDN关键特征:
• 集中控制,优化全局效率 • 开放接口,加快业务上线 • 网络抽象,屏蔽底层差异
NFV关键特征: • 上层业务云化,底层业务标准化 • 分层运营,加快业务上线速度
预路由协议 和 流触发协议
预路由
流触发
在传统IP路由协议,在流量发生 前建立好路由, 不匹配的会被丢弃
根据流量的需求建立路由。当一台转发器收到数据 包, 发现匹配不到流表,可以转发给控制器,控制器为这 些数据包产生特殊的路由条目
成熟
不成熟
安全性高
安全性低,易收到恶意攻击
分区 SDN 的第 4 页
分区 SDN 的第 5 页
组表主要包含以下几个字段: 。组 标 识 符 : 一 个 32 位 的 无 符 号 整数唯一 标 识 。 类 型 : 指 示 不 同 定 义 的 组 类型 。 计 数 器: 被 该 组 条 目 处 过 的 数据包 的 统 计 量 。 动 作 桶: 一 系 列 动 作 的 集合 及 其 参数 每个 数 据 流 可 以 被 划 分 到 相 应 的 组 中 , 动 作 指令 的 执 行 可以 针 对 属 于 同 一 组 标 识 符 的 所 有 数 掘 包 。【类似路由汇聚】 计量表: 可以完成常见的QOS操作,如速率限制。 【总结】 OpenFlow的流表:
OpenFlow通道建立信令流程:
OpenFlow 通 道 是 基 于 TCP 连 接 建 立 的 。 在 通 道 建 立 成 功 后 , 通 道 两 端 设备仍会互相发送检测报文以维护通道连接。 如 图 所 示 , OpenFlow 通 道 的 建 立 和 维 护 遵 循 以 下 流 程 , 1.用户在控制器和转发器上都配置完毕后,控制器和转发器会首先 建 立 TCP 连 接 , 2 . 在 TCP 连 接 建 立 后 , 控 制 器 和 转 发 器 会 相 互 发 送 Hello 报 文 , 携 带 版 本号等信息 进行协商。 3 . 协 商 后 , 控 制 器 发 送 Features Request 报 文 查 询 转 发 器 的 属 性 信 息 , 转发器收
SDN的面向网络架构的创新,NFV是面向设备形态的创新
SDN网络架构的三层模型 ------------------------------------------------------
• 协同应用层 经过控制器的抽象,使用通用接口完成用户意图的各种应用程序,如openstack、OSS 等。
• 控制层 实现内部交换路径计算和边界业务路由计算。南向、北向接口。
TAB-MISS表项
分区 SDN 的第 11 页
TAB-MISS表项 • TAB-MISS表项类似于默认路由,具有最低的匹配优先级0,用于匹配其他表项没有匹配的所有数据包。 • 默认情况不存在tab-miss表项,需要配置。
流表的删除 流表项可以通过三种方式删除
• 控制器请求 • 交换机流的超时机制 • OF交换机的逐出机制 组表 Group id Group type Counters Action buckets
• 流表 (instruction )- > 动作集(action里有指令可以转到组表处理) • 组表 (group ID)- > 动作桶 • 计量表
分区 SDN 的第 12 页
OpenFlow工作原理
2017年8月12日 12:42
OF协议中包含三种类型的消息: • Controller-to-switch 由控制器发起,用于管理和检查交换机的状态 • Asynchronous 由交换机发起,当交换机状态发送改变时,通知控制器 • Symmetric 对称消息,由交换机或者控制器发起,如: hello消息:建立OF连接 echo消息:维护OF连接,测量时延 vendor消息:预留消息
分区 SDN 的第 7 页
openflow交换机:只支持OF交换。
分区 SDN 的第 8 页
Openflow转发表项
2017年8月9日 23:02
流水线处理: OF1.1设计了多级流表,用以减少开销。 OF SW从Table0开始,流水线处理(不能逆向流动)。 每个Tabel中,各个流表项按照优先级依次匹配。 查表流程:
• 快速网络创新 简化网络
分区 SDN 的第 1 页
• 简化网络 • 网络设备白牌话 • 业务自动化 • 网络路径调优和流量调优 SDN发展 -----------------------------------------------------OpenDaylight:倾向于数据中心,厂家 ONOS:倾向于运营商
分区 SDN 的第 3 页
三、转发流表的计算和下发 转发流表的计算和传统IP路由算法相同。 转发流表下发使用的协议: ○ PCE协议 ○ BGP协议 ○ Netconf协议 ○ OpenFlow协议
四、控制通道根据流表信息进行数据转发
二层控制通道: 利用VLAN技术和MSTP技术,组成二层通道。 三层控制通道: 利用IGP协议,生成控制通道。
流表下发:
分区 SDN 的第 14 页
OpenFlow流 表 支 持 两 种 下 发 模 式 : 。 主 动 模式
故障影响
控制通道建立过程
不管是带内还是带外,关键是实现控制和转发器通信。可以采用传统的分布式网络方法生 成。
• 2层网络:VLAN、MSTP • 3层网络:RIP、OSPF、ISIS、BGP
控制通道功能
控制器工作过程: 一、控制通道建立
二、转发器向控制器注册信息和资源上报 设备信息:控制器收集厂家、设备型号、版本等信息,加载对应驱动。 标签信息:收集MPLS标签。 接口资源信息:收集接口名字、接口ID、接口类型。 网络拓扑信息:二层拓扑可以使用链路层发现协议(LLDP协议)。三层拓扑利用 IGP,链路状态协议自身也会收集拓扑信息 。
OpenFlow交换机组件 : • 安全通道
• 组表 包含组条目,与一个或多个动作相关联。
• 流表 多级流表按照流水线处理。
OpenFlow交换机端口: • 物理端口 • 逻辑端口,如Tunnel、聚合口 • 保留端口 ALL:表示所有端口均可用于转发指定数据包。 controller:表示到controller的控制通道,可以用作出接口和入接口。出接口封装数 据包,入接口表示确认。 TABLE:表示openflow流水线的开始。 IN_PORT:代表数据包的入端口。 ANY:用在没有指定端口的情形。 可选保留的端口: Local:本地管理接口,可以用于转发器和控制器带内通信,类型loopback口。 Normal:传统的非openflow流水线处理。仅可以用作普通流水线的出接口。 FLOOD:表示使用普通流水线处理泛洪过程。 根据Openflow定义的保留端口,交换机可以被分为: 混合交换机:既支持传统交换,也支持OF交换。 openflow交换机:只支持OF交换。