6.3、SDN在云计算中的应用

目录

一、SDN概念

1.1、传统网络机制

1.2、SDN网络机制

1.3、二者区别        

1.4、SDN架构

二、云数据中心

2.1、公有云环境特点

  2.2、两大挑战

 2.3、云数据中心引入SDN技术解决两大挑战

三、SDN云计算解决方案

3.1、SDN云计算解决方案之控制平面openflow协议

3.1.1、流表项内容

3.1.1.1、匹配字段

3.1.1.2、优先级

3.1.1.3、计数器

3.1.1.4、指令集

3.1.1.5、超时

3.1.1.6、cookie

3.1.2、读懂openflow流表

3.2、SDN云计算解决方案之转发平面vxlan协议

3.2.1、Vxlan概念

3.2.2、Vxlan封装

3.2.2.1、Vxlan包头

3.2.2.2、外层UDP包头   

3.2.2.3、外层IP包头

3.2.2.4、数据包二层包头

3.2.3、以实例分析在Vxlan数据包转发过程中流经各节点发生的变化


一、SDN概念

        SDN,(software Defined Networking )即软件定义网络

        广义概念:泛指向上层应用开放接口,实现软件编程控制的各类基础网络架构,涉及技术包括:OpenFlow、以Vxlan为代表的Overlay技术、I2RS,并有越来越多的技术纳入到SDN范畴。

        狭义概念:将网络控制功能与转发功能分离,实现控制可编程的新兴网络架构。

1.1、传统网络机制

        如下图,如果想从A访问D,那么就需要对ABCD每个设备配置路由协议。当B到C的流量满载后,传统网络并不会自动调整路由,如果此时想通过A-B-E-F-D路由实现访问,同样需要对每个设备配置转发策略。

        可以看出,传统网络存在三大问题:

        1)管理难、部署难。各厂商配置命令不一,且无法统一管理;

        2)流量控制难。缺少控制大脑对全网链路流量动态调整;

        3)无法灵活调控。无法便捷编程进行借口调用。

1.2、SDN网络机制

        SDN能够完美解决上述传统网络存在的问题,其具有以下三大特征

        1)转控分离。将控制层面集中控制器统一控制;

        2)软件与硬件解耦。不再局限硬件设备只能部署某个厂商的网络操作系统;

        3)业务与网络解耦。实现新业务快速上线。

1.3、二者区别        

        以道路交通为例,如下图

1.4、SDN架构

        3+2架构:3层架构,2个接口

        第1层:开放可编程接口的应用层,主要实现网络业务的抽象,允许用户以自定义的方式对网络业务进行编程;

        第2层:实现集中化网络控制的控制层,整个网络的控制中枢,管理转发设备的运行状态和数据转发;

        第3层:专注于数据转发的转发设备层,基于控制层指令完成数据处理和转发的设备

        三层架构之前形成了2个接口,以控制层为核心,控制层与应用层之间的接口为北向接口,控制层与转发设备层之间的接口为南向接口。

        北向接口是网络开放的核心,主要为http,restful

        南向接口是集中控制的基础,主要为openflow,netconf,ovsdb

二、云数据中心

2.1、公有云环境特点

        1、按需:用户能够自定义其网络架构和网络分区分域,例如能够自定义网段地址,划分Vlan,设置网关。
        2、动态:根据用户的需求能自动化部署网络资源,并能支持客户随时频繁地调整。
        3、安全:用户之间能进行隔离,网络边界能进行防护。

        VM:虚拟服务器

        vswitch:虚拟交换机        

  2.2、两大挑战

        挑战一:在传统数据中心解决方案中,通常采用Vlan或VRF的技术实现用户虚拟网络的隔离,但是这两项技术都存在用户数最大为4096的限制

        挑战二:为保障业务平滑迁移上云,用户期望业务规划的私网ip保持不变,会引发不同用户的私网ip地址冲突问题

 2.3、云数据中心引入SDN技术解决两大挑战

        控制平面:南向接口采用openflow协议实现控制

        数据转发平面:采用Vxlan协议构建overlay叠加网络实现用户网络的安全隔离。

三、SDN云计算解决方案

3.1、SDN云计算解决方案之控制平面openflow协议

        SDN采用openflow协议会通过SDN控制器下发openflow流表至转发设备指导数据包转发,也就是说,SDN转发网元不在通过三层路由表或二层MAC地址表来完成数据转发,因此,首先要读懂openflow流表。下图为流表的流表项:      

3.1.1、流表项内容

3.1.1.1、匹配字段

3.1.1.2、优先级

3.1.1.3、计数器

3.1.1.4、指令集

3.1.1.5、超时

3.1.1.6、cookie

3.1.2、读懂openflow流表

        不同厂家流表不一致

        例1:

        1)该流表为Table160的优先级为90的流表项内容

        2)匹配项为ip数据包,目的MAC:fa:16:3f:00:02:d1,目的ip:192.168.1.4

        3)若是数据包的包头与流表匹配项完全匹配,则执行下面动作:

   actions=mod_dl_dst:fa:16:3e:54:20:6a,mod_dl_src:fa:16:3e:2c:f0:e3,strip_vlan,output:3(修改数据包的目的MAC,修改数据源MAC地址,剥掉vlan标签,从交换机的3端口转发数据包)

        例2:

        1)该流表隐藏了超时和cookie

        2)匹配项为数据包来自虚拟交换机的端口2,源MAC:fa:16:3e:83:38:47,目的MAC:16:3e: 54:db:6a,源IP:192.168.100.1/0.0.0.0,目的IP:192.168.100.200/0.0.0.0。

         3)若是数据包的包头与流表匹配项完全匹配,则执行下面动作:

actions:set(tunnel(tun_id=0xd33d57,src=0.0.0.0, dst=10.0.6.1, tos=0x0,ttl=64,flags(key))),2

(将数据包封装为VNI=d33d57的vxlan隧道,vxlan隧道的源IP为0.0.0.0,目的IP为10.0.6.1,并从端口2转发出去)

3.2、SDN云计算解决方案之转发平面vxlan协议

3.2.1、Vxlan概念

        Vxlan:可扩展虚拟局域网络,是基于IP 网络,采用“MAC in UDP”封装形式的二层VPN 技术

        VTEP: Vxlan的边缘设备,Vxlan的封装和解封都在VTEP上进行,两个VTEP之间的点到点的逻辑隧道叫Vxlan隧道

        Vxlan通过Vxlan ID标识,类似于二层网络中的VLAN ID

        Vxlan数据包在SDN环境中转发模式如下图:

3.2.2、Vxlan封装

        Vxlan封装会在原始二层数据桢外添加8字节Vxlan头、8字节UDP头和32字节IP头。

3.2.2.1、Vxlan包头

        8字节Vxlan包头中,主要介绍标记位和Vxlan ID

        标记位为图中的I位,I位为1,则Vxlan ID有效

        Vxlan ID(VNI)为24比特,因此支持2的24次方个ID,该Vxlan ID为内层VLAN。

3.2.2.2、外层UDP包头   

        外层UDP包头,8字节,Vxlan包含在UDP里面,即“MAC in UDP”,UDP包头中,源端口随机,目的端口固定为4789

3.2.2.3、外层IP包头

        外层IP包头,18字节,源IP为VTEP隧道的本端IP地址,目的IP为VTEP隧道的目的端IP地址

3.2.2.4、数据包二层包头

        数据包二层包头,14字节,源MAC为VTEP隧道的本端MAC地址,目的MAC为VTEP隧道的目的端MAC地址,VLAN ID为VTEP隧道的VLAN ID,该VLAN ID为外层VLAN。

3.2.3、以实例分析在Vxlan数据包转发过程中流经各节点发生的变化

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/625592.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Linux的基础命令学习

pwd - 显示当前工作目录的路径 cd - 切换工作目录,ls - 列出当前目录的文件和子目录 rm - 删除文件或目录 mkdir - 创建新目录 rm - 删除目录 nano/vi - 编辑文本文件,按Enter键进入 之后按i键就可以进入写入模式 之后输入文字以后按Esc键与:q就不保…

C# 图解教程 第5版 —— 第22章 命名空间和程序集

文章目录 22.1 引用其他程序集22.2 命名空间22.2.1 命名空间名称22.2.2 命名空间的补充22.2.3 命名空间跨文件伸展22.2.4 嵌套命名空间 22.3 using 指令22.3.1 using 命名空间指令22.3.2 using 别名指令22.3.3 using static 指令 22.4 程序集的结构22.5 程序集标识符22.6 强命名…

Camunda Asynchronous continuations

示例一 Service public class ExceptionService implements JavaDelegate {Overridepublic void execute(DelegateExecution execution) {System.out.println(1/0);} }ACT_RU_TASK :明明是UserTask2完成任务了,ServiceTask内部出错了,按说事务…

Spring Boot接口请求响应慢,超过10秒以上,如无法优化SQL或代码的情况下,建议写入数据库或缓存中,请求接口时从数据库或缓存中读取返回

举例 Override public Map<String, Object> getCockpitStaffAttendanceTask() {Map<String, Object> map new HashMap<>();int chuqin 0; //出勤int queqin 0; //缺勤int chidao 0; //迟到int zaotui 0; //早退//获取所有设备卡号 并且已经绑定了人Lis…

MS-DETR: Efficient DETR Training with Mixed Supervision论文学习笔记

论文地址&#xff1a;https://arxiv.org/pdf/2401.03989.pdf 代码地址&#xff08;中稿后开源&#xff09;&#xff1a;GitHub - Atten4Vis/MS-DETR: The official implementation for "MS-DETR: Efficient DETR Training with Mixed Supervision" 摘要 DETR 通过迭代…

微调您的Embedding模型以最大限度地提高RAG管道中的相关性检索

英文原文地址&#xff1a;https://betterprogramming.pub/fine-tuning-your-embedding-model-to-maximize-relevance-retrieval-in-rag-pipeline-2ea3fa231149 微调您的Embedding模型以最大限度地提高RAG管道中的相关性检索 微调嵌入前后的 NVIDIA SEC 10-K 文件分析 2023 年…

高效工作法:占位图片生成工具助力项目快速迭代

在现代设计和开发项目中&#xff0c;图片资源的重要性不言而喻。然而&#xff0c;项目中经常会遇到寻找合适图片、调整图片尺寸和格式等问题&#xff0c;这些问题不仅耗时耗力&#xff0c;还可能影响到项目的进度和质量。此时&#xff0c;占位图片生成工具应运而生&#xff0c;…

Jmeter 测试脚本录制器-HTTP 代理服务器

Jmeter 测试脚本录制器-HTTP 代理服务器 Jmeter 配置代理服务器代理服务器获取请求地址示例图配置步骤 浏览器配置代理Google 浏览器插件配置代理windows 本地网络配置代理 启动录制&#xff0c;生成证书生成证书导入证书Jmeter 配置证书 浏览器点击页面&#xff0c;录制请求地…

【算法与数据结构】343、LeetCode整数拆分

文章目录 一、题目二、解法三、完整代码 所有的LeetCode题解索引&#xff0c;可以看这篇文章——【算法和数据结构】LeetCode题解。 一、题目 二、解法 思路分析&#xff1a;博主做这道题的时候一直在思考&#xff0c;如何找到 k k k个正整数&#xff0c; k k k究竟为多少合适。…

linux终端查看文件

ls 命令&#xff1a;ls 命令用于列出当前目录下的文件和子目录。默认情况下&#xff0c;它以字母顺序列出文件和目录的名称。例如&#xff0c;要列出当前目录下的所有文件和目录&#xff0c;可以运行以下命令&#xff1a; ls ls -l 命令&#xff1a;ls -l 命令以长格式显示文件…

Nacos 高级详解

一 、服务集群 1 需求 服务提供者搭建集群 服务调用者&#xff0c;依次显示集群中各服务的信息 2 搭建 1&#xff09;修改服务提供方的controller&#xff0c;打印服务端端口号 package com.czxy.controller;import org.springframework.web.bind.annotation.*;import …

数据结构学习 jz39 数组中出现次数超过一半的数字

关键词&#xff1a;排序 摩尔投票法 摩尔投票法没学过所以没有想到&#xff0c;其他的都自己想。 题目&#xff1a;库存管理 II 方法一&#xff1a; 思路&#xff1a; 排序然后取中间值。因为超过一半所以必定在中间值是我们要的结果。 复杂度计算&#xff1a; 时间复杂度…

大数据Doris(五十六):SQL函数之地理位置函数

文章目录 SQL函数之地理位置函数 一、​​​​​​​ST_AsText(GEOMETRY geo)

电阻表示方法和电路应用

电阻 电阻的表示方法 直标法 直标法是将电阻器的类别及主要技术参数的数值直接标注在电阻器表面上 通常用3位阿拉伯数字来标注片状电阻的阻值&#xff0c;其中第1位数代表阻值的第1位有效数&#xff1b;第2位数代表阻值的第二位有效数字&#xff1b;第3位数代表阻值倍率&…

L1-025 正整数A+B(Java)

题的目标很简单&#xff0c;就是求两个正整数A和B的和&#xff0c;其中A和B都在区间[1,1000]。稍微有点麻烦的是&#xff0c;输入并不保证是两个正整数。 输入格式&#xff1a; 输入在一行给出A和B&#xff0c;其间以空格分开。问题是A和B不一定是满足要求的正整数&#xff0…

Oracle常见操作

知识点1&#xff1a;格式化日期 select to_char(sysdate,yyyy-MM-dd HH:mm:ss) as time from dual;运行截图&#xff1a; 知识点2&#xff1a;解锁用户 alter user test account unlock;知识点3&#xff1a;修改密码 alter user test identified by test2;知识点4&#xff…

【分布式技术专题】「架构实践于案例分析」盘点互联网应用服务中常用分布式事务(刚性事务和柔性事务)的原理和方案

微服务架构的分布式事务解决方案 前提介绍知识系统回顾事务ACID事务的难点刚性事务和柔性事务 刚性事务优点局限 分布式事务全局事务&#xff08;DTP模型&#xff09;— 标准分布式事务全局事务(DTP模型) — XAXA接口的实现XA的2PC机制2PC机制的分析 2PC机制的局限 JavaEE平台中…

城市信息模型平台顶层设计与实践-CIM-读书笔记

城市信息模型平台顶层设计与实践-CIM-读书笔记 1、地理空间框架 GB/T 30317—2013《地理空间框架基本规定》规定地理空间框架为&#xff1a;“地理信息数据及其采集、加工、交换、服务所涉及的政策、法规、标准、技术、设施、机制和人力资源的总称&#xff0c;由基础地理信息…

小程序中使用微信同声传译插件实现语音识别、语音合成、文本翻译功能----语音合成(二)

官方文档链接&#xff1a;https://mp.weixin.qq.com/wxopen/plugindevdoc?appidwx069ba97219f66d99&token370941954&langzh_CN#- 要使用插件需要先在小程序管理后台的设置->第三方设置->插件管理中添加插件&#xff0c;目前该插件仅认证后的小程序。 语音合成…

排序算法之八:计数排序

1.计数排序思想 计数排序&#xff0c;顾名思义就是计算数据的个数 计数排序又称非比较排序 思想&#xff1a;计数排序又称为鸽巢原理&#xff0c;是对哈希直接定址法的变形应用。 操作步骤&#xff1a; 统计相同元素出现次数 根据统计的结果将序列回收到原来的序列中 计数…