前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >SDN-数据与控制分离

SDN-数据与控制分离

作者头像
s09g
发布2022-07-06 14:53:24
8800
发布2022-07-06 14:53:24
举报
文章被收录于专栏:s09g的技术博客

什么是数据平面和控制平面

SDN有两个基本特征:

  1. 分离数据平面和控制平面
  2. 进行统一的网络行为管理

Control Plane: 控制平面在逻辑上控制转发行为。比如路由协议, 网络中间设备(middlebox: NAT, 负载均衡,firewall, IDS, etc.)

Data Plane: 数据平面负责根据控制平面的逻辑转发流量。比如IP层转发,2层交换

将数据平面和控制平面分离的优势:

1. 网络可以独立于硬件发展

传统路由交换设备的控制器、软硬件是捆绑销售,购买路由器的同时也购买了捆绑的软件包。这种做法有个明显的问题:功能更新缓慢,至少以年为周期。SDN可以快速的更新网络服务。

所谓网络服务,是指网络设备提供的功能特性。传统路由交换设备可以理解成拥有多端口的计算机,它也需要一个操作系统。以Cisco设备为例,运行着Cisco IOS (Cisco Internetwork Operating System)

Cisco IOS提供多种特性,版本12.3之后各种特性的组合被打包成了特性集。从C2900到C6500,不同特性集会被提供给不同型号的产品,以交换机为例,默认都会加载Layer 2 Base Package, 多层交换机会加载IP Base Package, 核心层设备会加载Advanced Enterprise Services Package

路由设备上默认加载IP Base Package, 此外还可加载加密、认证、防火墙、QoS等一系列网络服务。Cisco设备拥有产品号和IOS型号,不同型号代表着不同的软件包版本,比如同为IP Base Package,7200、7300系列路由器拥有SSH支持,但是800到3800系列就没有。7200的Advanced IP Services还服从政府对路由数据进行侦听的要求,因此7200的软件包比3800会贵上很多。

传统路由器与SDN的关系类似于车载导航仪和手机导航,二者在产品迭代和功能更新上至少有10倍的速度差距。软件层独立于硬件发展,这意味着购买路由器、交换机、middlebox等不再受功能集的约束,不再需要采购特定型号的设备。

谷歌的网络设备提供商主要为:Cisco, Juniper, Arista 三家 (GCP官方博客证实)。

Google自B4开始使用自研设备,使用廉价设备负责转发,用中心控制器负责路由,以此代替高价的特制设备, 摆脱了厂商的控制。

2.使用高层软件程序控制网络行为

利用更高阶的程序整个网络控制行为,更容易推断网络的行为,而且更容易调试和检查。在大型网络中更容易管理。

SDN vs. 域间路由

Internet由多个AS(自治系统)组成,每个AS内路由器通过Intra-domain routing protocol(域内路由协议)彼此交换路由信息(距离向量协议:RIP,EIGRP;链路状态协议:OSPF、IS-IS)。自治系统边界路由器通过Interdomain routing protocol(域间路由协议)交换路由信息(BGP)

目前的域间路由是靠配置加策略来实现的。路由选择要按照选路原则一一匹配,操作员需要用有限的匹配条件来控制进出边界的流量,而且BGP还很难和别的协议合作。BGP选路原则应该是所有CCIE内心最大的恐惧,Cisco提供了13条不同优先级的选路原则。而Juniper的算法提供了15条。现在广泛使用的BGP v4还是2008年IEEE上发表的。相比之下,SDN就可以直接用route controller(路由控制器)更新状态。

案例1: 边界机房维护

假设运营商想维护边界出口的机房1,在现有配置下CCIE可能需要手动调整所有邻接的OSPF权重,等待OSPF收敛(靠LSA/LSU泛洪,通告到域内所有路由器),然后在维护完成后再改回原有的权重。

SDN的做法会非常简单直观,以RCP(Routing Control Platform)为例。RCP可以直接通知入口的路由设备使用机房2作为出口。所有流量就会直接避开机房1。

案例2: 动态控制流量

现有的路由协议全是基于规则和策略(路由表/转发表 + 标签/QoS),无法做到动态控制流量。比如,如果用户希望某一部分流量只通过数据中心1,另一部分只通过数据中心2。这时候就需要建立专属通道(VPN/VLAN)。或者在类似双十一的活动时,网络流量激增,希望启动备用的机房。这时候就需要提前配置负载均衡设备。而SDN可以直接在接收流量时对路由进行控制,分配到指定的数据中心。

数据中心寻址问题

2层网络只需要少量配置,但是扩展性很差。交换机仅靠MAC寻址实现通信,用在大型网络中会形成广播风暴。3层网络可以使用路由协议,但是需要的配置数量也相对增加了。

传统数据中心使用核心层、汇聚层、接入层三层结构,接入层使用二层交换机,汇聚层使用三层交互机跨网段通讯,核心层使用专业路由器与公网互联。在二层使用生成树协议构建无环拓扑,使用VLAN连接每个Pod。

然而生成树协议会产生阻塞端口。2010年,Cisco推出vPC虚拟端口通道(virtual-port-channel),消除了阻塞端口,充分利用带宽。vPC在相对小型的数据中心表现优异,同时生成树协议作为fail-safe故障安全机制仍被使用。

然而随着虚拟化技术的发展,原本分隔在每个Pod中的资源被集中到了中心化的资源池中。vPC开始应用到汇聚层和核心层之间。

而由于更多分布式应用程序的需求,东西向(横向,这是上北下南那一套)的流量开始增加。而vPC只能提供两个上行链接,三层架构存在带宽瓶颈。因此开发了Spine-and-Leaf Architecture(脊叶架构)。这种架构中,每个叶层交换机都和脊层交换机全互联。

SDN利用已有的2层网络进行寻址(分离数据平面与控制平面之后,所有的控制由软件完成,交换机只需要转发流量)。SDN会给予每个主机一个PMAC(Pseudo MAC,伪MAC)地址,PMAC与主机在拓扑中的位置有关。当host向别的IP发送信息时,host首先发出ARP请求,询问谁(哪个MAC地址)拥有某个特定的IP。ARP请求并不会被广播出去,而会被交换机拦截,再转发给Fabric Manager 结构管理器或者Central Controller 中央控制器Controller或Fabric Manager会回复伪MAC,以此来改写packet的源MAC和目标MAC (数据包在2层传输时,MAC地址会被不断改写)。

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2019-09-19,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 s09g的技术博客 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 将数据平面和控制平面分离的优势:
  • SDN vs. 域间路由
  • 数据中心寻址问题
相关产品与服务
私有网络
私有网络(Virtual Private Cloud,VPC)是基于腾讯云构建的专属云上网络空间,为您在腾讯云上的资源提供网络服务,不同私有网络间完全逻辑隔离。作为您在云上的专属网络空间,您可以通过软件定义网络的方式管理您的私有网络 VPC,实现 IP 地址、子网、路由表、网络 ACL 、流日志等功能的配置管理。私有网络还支持多种方式连接 Internet,如弹性 IP 、NAT 网关等。同时,您也可以通过 VPN 连接或专线接入连通腾讯云与您本地的数据中心,灵活构建混合云。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档