Openvswitch深度实践:OpenFlow协议与关键组件详解

5星 · 超过95%的资源 需积分: 34 198 下载量 92 浏览量 更新于2024-07-21 5 收藏 6.25MB PDF 举报
Openvswitch实验教程是一份深入讲解Openvswitch的干货分享,长达150页的PPT详细介绍了这个软件定义网络(Software Defined Network,SDN)的核心组件和工作原理。Openvswitch作为一个虚拟交换器,其关键组成部分包括: 1. **OpenFlow通道**(OpenFlowChannel):这是Openvswitch与外部控制器(Controller)之间的通信桥梁,通过OpenFlow协议进行数据交换,实现网络策略的集中管理和配置。 2. **Flow Table**:存储了众多entry,每个entry定义了一种处理数据包的规则。这些规则基于不同的匹配条件(如ingress port、网络头部信息和元数据),按照优先级对进入的数据包进行判断和处理。 3. **Group Table**:处理更复杂的转发规则,它由一系列的GroupEntry组成。每个GroupEntry包含一组操作集合(action buckets),其中包含一系列操作(如Output、Set-Queue for QoS、Drop或发送到特定组)和参数。 4. **Match packets**:在处理过程中,Openvswitch会根据多个字段(如MAC地址、VLAN ID、IP头信息、TCP/UDP等)来匹配数据包,以便决定如何执行后续操作。 5. **Packet processing**:Openvswitch按顺序执行Flowentries中的规则。如果匹配成功,数据包可能被转发、修改,或者交由GroupTable进一步处理。如果不满足任何规则,则可能会丢弃。 6. **Actions**:提供了多种操作选项,如将数据包转发到指定端口、设置QoS队列、丢弃数据包,以及利用Group功能进行更复杂的操作,如镜像流量或使用隧道技术。 7. **Openvswitch的优势**:它不仅支持OpenFlow协议,而且兼容那些支持该协议的硬件交换机,这样使得物理网络设备和虚拟机都能在一个统一的Controller控制下协同工作,提升了网络的灵活性和可管理性。 8. **MatchField和Action的范围**:Openvswitch的MatchField涵盖了TCP/IP协议的多层信息,而Action则包括了如输出到端口、丢弃数据、设置队列优先级等丰富的操作选项,允许对数据包进行精细的控制。 这份教程对于理解和实践Openvswitch的网络架构、配置和管理具有很高的价值,是深入了解SDN和OpenFlow技术的重要资源。通过实际的实验操作,学习者可以更好地掌握如何在虚拟环境中构建和优化网络流量的转发流程。
2018-03-29 上传
学习要求: 熟悉基本的linux命令 具备基本的网络知识 掌握一门编程语言 课程特点: 深刻理解:OpenStack的设计原理,体系构架和关键技术,构建一个OpenStack环境所需的核心组件以及核心组件间的联系; 全面掌握:如何通过不同的部署工具比如packstack,部署OpenStack环境;如何通过单独部署OpenStack核心组件逐渐搭建出OpenStack环境; 定制研发:在学习openstack源码级深度解析培训后,你能了解openstack源码的体系结构,并能根据需要进行定制开发,满足您在实际生产环境中OpenStack的各种疑问和不满足的功能。 ------------------------课程内容------------------------ 课时1、课前学习环境准备 课时2、课程介绍 课时3、OpenStack概论 课时4、实例:OpenStack自动安装(Fuel) 课时5、作业:OpenStack Fuel 课时6、OpenStack安装部署答问 课时7、Keystone 详解 课时8、实例:OpenStack 手动安装 - 环境准 课时9、实例:Keystone 手动安装 课时10、实例:Keystone CLI 使用 课时11、实例:Keystone API使用 课时12、Glance详解 课时13、实例:Glance手动安装以及CLI、API 课时14、实例:Glance镜像制作 课时15、实例:Glance镜像修改 课时16、作业:Keystone手动练习 课时17、Keystone答问 课时18、作业:Glance手动练习 课时19、Nova架构及原理详解 课时20、实例:Nova手动安装 课时21、实例:Instance启动过程回顾 课时22、网络基础知识盘点 课时23、Neutron原理详解 课时24、实例:Neutron手动安装 课时25、实例:网络命名空间 课时26、实例:物理机连接openvswitch的虚 课时27、实例:租户私有网络创建 课时28、Neutron SDN 实现详解 课时29、实例:Neutron SDN 手动实现 课时30、作业:Nova、Neuron手动安装练习 课时31、作业:Neutron 相关实例练习 课时32、Neutron 答问 课时33、Cinder 原理详解 课时34、Cinder iSCSI实现原理详解 课时35、实例:Cinder 手动安装 课时36、Swift 架构与原理详解 课时37、实例:Swift 手动安装 课时38、Dashboard 介绍与演示 课时39、实例:Dashboard 手动安装 课时40、实例:Dashboard 浮动IP访问实例 课时41、实例:Dashboard 块存储的使用 课时42、实例:Dashboard 对象存储的使用 课时43、实例:OpenStack 命令行接口使用 课时44、OpenStack HA与性能调优 课时45、OpenStack Devstack 自动安 课时46、配置 OpenStack Eclipse 开发环境 课时47、配置 OpenStack Eclipse 开发环境 课时48、OpenStack 自动化测试 - 单元测试 课时49、OpenStack 自动化测试 - 集成测试 课时50、Nova 源码结构 课时51、Nova 调用流程源码解析 课时52、Nova 分层架构与业务模型剖析 课时53、Nova 自定义 API 扩展编码实现 课时54、Django 介绍与快速开始 课时55、Django view 和 urls 的用法 课时56、Django Templates 模板的用法(一) 课时57、Django Templates 模板的用法(二) 课时58、Django Form 表单的用法 课时59、Horizon 结构源码剖析(1) 课时60、Horizon 自定义 Panel 编码实现 课时61、Horizon 自定义 DataView 编码实 课时62、企业部署案例:企业私有云规划与案 课时63、OpenStack 和其他开源云平台比较