6.3、SDN在云计算中的应用

发布时间:2024年01月11日

目录

一、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数据包转发过程中流经各节点发生的变化

文章来源:https://blog.csdn.net/qq_33782021/article/details/135505791
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。