论文笔记(1) B4: Experience with a Globally-Deployed Software Defined WAN

传送门:原论文连接

 一、论文简介

本论文是Google在2013的SIGCOMM上发表的一篇关于其成功部署的基于SDN的B4系统的论文。其中介绍了B4的设计,以及在实际运行过程中的一些经验。本论文的参考价值在于,它是第一篇对于成功部署全球性的SDN系统的总结,对我们理解和实际的SDN部署有很好的指导作用。

二、B4特性

1)大量的带宽需求部署到少量的站点。

2)弹性流量要求寻求最大化平均带宽。

3)对边缘服务器和网络进行全面控制,实现边缘速率限制和需求测量。

4)中心化的流量控制使得链路的利用率可以接近100%。

5)  同时支持标准的路由协议和中心化的流量控制。

6)高可应用扩展性,支持快速部署和迭代,并支持与终端应用程序紧密集成,以适应故障或通信模式变化的自适应。

7)  基于商业化的交换机硬件。

三、关键设计

1.设计思想

1)把传输失败作为寻常事件,并将影响报告给端的应用程序。

2)硬件交换机有简单的接口来编程实现中央控制下的转发表。

3)在架构上实现两个独立的广域网,面向用户的和连接数据中心的。

4)将硬件和软件进行隔离,使得软硬件发展解耦。

2.Traffic Engineering (TE)的作用

1)通过控制边缘网络来裁定竞争性请求,谁将获得有限的资源。

2)根据优先级,使用多路径的隧道来充分利用链路的带宽。

3)当连接失效或者应用需求改变时,动态重新分配带宽。

3.运行在B4上的应用类型

1)用户数据复制

2)分布式存储和运算

3)大量数据同步

4.SDN/openflow带来的好处

1)  SDN基于软件的定制化控制面板,能够在普通服务器上运行,能够很好的协调计划中网络变化和意外网络改变。

2)SDN使得我们可以充分发挥高性能硬件的能力。

3)基于网线而不是路由的中心化结构。

5.B4的架构

                                         

图中的几个缩写:

1)NCS:Network Control Servers, 网络控制服务器。

2)OFC:OpenFlow controllers, OpenFlow 控制器。

3)OFA:OpenFlow Agent, OpenFlow 代理。

4)iBGP:internal Border Gateway Protocol,内部边界网关协议。

5)eBGP:external Border Gateway Protocol,外部边界网关协议。

6)TE:Traffic Engineering, 流量工程。

7)RAP:Routing Application Proxy, 应用路由代理。

8)NCAs: Network Control Applications ,网络控制应用程序。

各层之间的联系:

1)B4服务的对象是一些站点,每一个站点由若干服务器集群组成。

2)站点中交换机只做流量转发,复杂的路由控制由站点控制器完成。

3)站点控制层由网络控制器组成,包括OFC和NCAs。

4)全局控制层包含逻辑上中心化的应用,通过站点层的NCAs来实现。

5)每一个服务器站点在逻辑上都是一个自治系统,拥有一个IP前缀;每个cluster包含一个BGP路由器与B4交换机配对。

6)建立了一个集成化的中心服务,既包括路由,又包括流量工程。

7)每一个B4站点包含多路的交换线路,每个端口都连上远方的端点,所有的站点都需要被均匀的分配流量,B4通过等价路由hash来实现必须的负载均衡。

架构特性:

1)分布式路由和中心化流量工程

6.交换机设计

1)通过控制传输速率来避免使用大缓存和包丢失。

2)使用自己定制的交换机用来实现,可以使得软件和硬件相互分离,同时因为没有现成的平台支持SDN部署。

3)用16个16*10G的普通交换机实现一个128*10G的 B4交换机。

4)在交换机上直接运行路由协议。

5)用户层使用OFA来实现硬件层面的管道,OFA连接远处的OFC。

6)OFA是用来在翻译OF信息,相当于一个中间层。

7.网络控制功能

1)B4的大部分功能运行在站点控制层的NCS中。

2)帕克索斯通过单调递增的ID来标记Leader,并将其传递给客户端。

3)使用修改后的Onix来进行openflow的控制。

8.集成路由的架构

1)一些缩写

ISIS:intermedia system to intermediate system, 中间系统到中间系统。

RIP:routing information protocal,路由信息协议,一种内部网关协议。

ECMP:equal-cost multipath routing,等价路由。

NIB:network information base,个网络信息库,包括目前网络的所有状态,被Onix用来作为控制层的决策。

2)路由设计

[1]RAP是作为一个SDN应用,用来连接Quagga和底层的硬件switch,在功能上主要实现BGP/ISIS的路由信息的更新,switch和Quagga之间的路由包,接口更新。

[2]OFA用来和OFC进行通信,相当于连接了数据层和控制层。

3)RAP

[1]RAP本质上就是路由的具体实现。

[2]RAP可以将每个RIB条目翻译成两个openflow的流表。

9.流量工程

1)中心化的流量架构的组成

网络拓扑图,TE可以集成主干线路来计算点到点的边,这可以降低输入的复杂度

流集合,TE不能再应用粒度上进行操控,因此我们将FG定义为一个{源站,目站,QoS}的三元组。

隧道,所谓的隧道是一种逻辑连接。

隧道集群,把FG映射成隧道和对应的权值问题。

2)带宽函数

[1]为了捕获相对优先级,将bandwidth函数和每一个应用相互关联,具体说来就是就是根据流的优先级,维度的规模来分配带宽。

[2]bandwidth函数是根据管理员指定的权值自动推导的。

3)优化算法

[1]用线性规划的方法进行分配的代价很高,因此设计一个近似算法取得99%的效果,却在效率上提升了25倍

(4)生成隧道集群

[1]通过不断迭代来寻找瓶颈边,优先的隧道是不包含瓶颈边的,并且瓶颈边也不再参与TG的生成。

[2]算法终止条件是,每条边都满足分配或者我们不能再找到一条更好的隧道。

(5)tunnel集群的量化

[1]进行粒度分割在本质上是一个整数规划问题,由于复杂性问题,在处理时,采用的是一种启发式的方法。

10.TE 协议和Openflow

1)目标:如何在分布式,错误发生情况下实现隧道集群,隧道和流集群到openflow的转换

2)B4交换机可以扮演的角色:分流,运输,解析

外部IP是一个tunnel-ID而不是一个真正的网络IP,TE提前定义了一张表,用来进行相互的转换。

3)案例分析:

[1]根据包的头部进行分流,通过一个资源IP和母的IP,在图中就是sip,和dip

[2]整个传输过程分为两段,在B4的传输和在B4之外的传输,在B4之外的传输使用的最长前缀匹配原则。

4)TE和路由的组成

[1]TE支持最短路径路由和TE,这样当TE失效时仍然可以使用。

[2]根据openflow流表条目的优先级和硬件的容量,我们把不同的流映射成不同的硬件表。

[3]最终我们根据访问控制列表(ACL)来设置转发行为。

[4]多路径表和隧道解析表可以进行map,同样的端口由于tunnel不一样,可能最终的映射结果不一样。

5)在站点之间协调TE的状态

[1]每个控制器TDB来设置必须的关于个体的转发表,这个抽象过程将TE从硬件表中独立出来。

[2]TED以键值对的方式存储全局的隧道,隧道集群和集群。

[3]OFC将TE选项变为流编程指令。

6)依赖和失败

[1]一个条目不能被删除,除非所有引用它的都被删除了。这和数据库中依赖性是一回事。

[2]在TE和OFC之间自动同步TED的内容,首先会计算普通TED视图和TE主节点和OFC之间的差异。基于关系和进程号生成独一无二的标识。

[3]顺序问题。编号,并拒绝小号,接收大号。

[4]一个TE操作可能失败,应为远程调用可能失败,或者是OFC拒绝。标记失败的,并且定时清理。

  • 1
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
编译原理是计算机专业的一门核心课程,旨在介绍编译程序构造的一般原理和基本方法。编译原理不仅是计算机科学理论的重要组成部分,也是实现高效、可靠的计算机程序设计的关键。本文将对编译原理的基本概念、发展历程、主要内容和实际应用进行详细介绍编译原理是计算机专业的一门核心课程,旨在介绍编译程序构造的一般原理和基本方法。编译原理不仅是计算机科学理论的重要组成部分,也是实现高效、可靠的计算机程序设计的关键。本文将对编译原理的基本概念、发展历程、主要内容和实际应用进行详细介绍编译原理是计算机专业的一门核心课程,旨在介绍编译程序构造的一般原理和基本方法。编译原理不仅是计算机科学理论的重要组成部分,也是实现高效、可靠的计算机程序设计的关键。本文将对编译原理的基本概念、发展历程、主要内容和实际应用进行详细介绍编译原理是计算机专业的一门核心课程,旨在介绍编译程序构造的一般原理和基本方法。编译原理不仅是计算机科学理论的重要组成部分,也是实现高效、可靠的计算机程序设计的关键。本文将对编译原理的基本概念、发展历程、主要内容和实际应用进行详细介绍编译原理是计算机专业的一门核心课程,旨在介绍编译程序构造的一般原理和基本

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值