传送门:原论文连接

一、论文简介

本论文是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) B4: Experience with a Globally-Deployed Software Defined WAN相关推荐

  1. 论文阅读: B4: Experience with a Globally-Deployed Software Defined WAN

    B4:全球部署 SDN-WAN 的经验 摘要 介绍了 B4,Google 连接全球数据中心的 WAN 的设计,实施和评估. B4 独特的特征: 大量的带宽部署到少量的节点 弹性通信需求,力求最高平均带 ...

  2. se论文笔记:Ways of Applying Artificial Intelligence in Software Engineering

    一.基本信息 标题:Ways of Applying Artificial Intelligence in Software Engineering 时间:2018 出版源: IEEE 论文领域:软件 ...

  3. ORB-SLAM3 论文笔记

    ORB-SLAM3 论文笔记 这篇博客 ORB-SLAM3系统 相机模型的抽象(Camera Model) 重定位的问题 图片矫正的问题 视觉惯性SLAM的工作原理 相关公式 IMU初始化 跟踪和建图 ...

  4. 【论文笔记】 LSTM-BASED DEEP LEARNING MODELS FOR NONFACTOID ANSWER SELECTION

    一.简介 这篇论文由IBM Watson发表在2016 ICLR,目前引用量92.这篇论文的研究主题是answer selection,作者在这篇论文基础上[Applying Deep Learnin ...

  5. 最新图神经网络论文笔记汇总(附pdf下载)

    点击上方,选择星标或置顶,不定期资源大放送! 阅读大概需要15分钟 Follow小博主,每天更新前沿干货 [导读]近年来,图神经网络变得非常火热,每年顶会在该领域内都会出现大量的研究论文,本文为大家提 ...

  6. [论文笔记] Fast Quality Driven Selection of Composite Web Services (ECOWS, 2006)

    Time: 4.0 hours Jae-Ho Jang, Dong-Hoon Shin, Kyong-Ho Lee, "Fast Quality Driven Selection of Co ...

  7. 论文笔记之:Action-Decision Networks for Visual Tracking with Deep Reinforcement Learning

    论文笔记之:Action-Decision Networks for Visual Tracking with Deep Reinforcement Learning  2017-06-06  21: ...

  8. 光流 速度_[论文笔记] FlowNet 光流估计

    [论文笔记] FlowNet: Learning Optical Flow with Convolutional Networks 说在前面 个人心得: 1. CNN的光流估计主要是速度上快,之后的v ...

  9. 论文笔记 《Maxout Networks》 《Network In Network》

    原文出处:http://zhangliliang.com/2014/09/22/paper-note-maxout-and-nin/ 论文笔记 <Maxout Networks> & ...

  10. 论文笔记:HKMF-T: Recover From Blackouts in TaggedTime Series With Hankel Matrix Factorization

    论文笔记:Hankel Matrix Factorization for Tagged Time Series to Recover Missing Values during Blackouts_U ...

最新文章

  1. 【纪中集训2019.3.20】铁路
  2. jquery动态添加元素无法触发绑定事件的解决方案。
  3. kmeans中的k的含义_聚类分析:kmeans 算法簇个数的确定
  4. 界面 高炉系统_首钢京唐七大系统介绍
  5. 查看git当前tag_常用的 Git 命令清单
  6. MacOS系统自带截图快捷键
  7. 在 TableLayoutPanel 控件中对齐和拉伸控件
  8. Lc1013将数组分成相等的三个部分
  9. 习惯自律错误让我们真正成长
  10. 【算法导论-34】红黑树、顺序统计树的Java实现
  11. 面试时如何回答离开上家公司的原因?
  12. 竖流式沉淀池三角堰计算_一种辐流式沉淀池的双侧堰出水构造的制作方法
  13. 软件架构设计杂记: 好作品是改出来的,好的代码是不断重构打磨出来的, 心性是历经艰难困苦修炼出来的
  14. 魔力宝贝服务器ip修改,魔力宝贝修改代码一览表
  15. 24点纸牌游戏,c语言实现
  16. 小程序微信支付开发流程记录
  17. 二进制有符号数补码计算器
  18. 帮您解决开发SPI4W常见问题
  19. python爬虫豆瓣读书top250+数据清洗+数据库+Java后端开发+Echarts数据可视化(一)
  20. BZOJ2209 [Jsoi2011]括号序列

热门文章

  1. Webpower中国区正式推出邮件编辑利器——Smart editor!
  2. 移动端日期插件rolldate
  3. 服务器怎么ghost备份系统,最详细的ghost备份系统图解
  4. 常见字符的ASCII码值
  5. 4600u黑苹果 r5_黑苹果集显hd4400、hd4600显卡Clover引导驱动方法教程
  6. arma 预测 matlab代码,求助:ARMA模型进行预测
  7. 基于javaswing实现PC端课堂点名程序详细设计
  8. 淘宝天猫店铺装修问题与技巧性经验汇总
  9. 使用EasyCHM破解版制作CHM帮助文档
  10. vue2+vant2搭建H5框架