论文笔记(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拒绝。标记失败的,并且定时清理。

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

如若内容造成侵权/违法违规/事实不符,请联系瞎胡闹网进行投诉反馈,一经查实,立即删除!

相关文章

Google B4 论文阅读一

目录 一、B4网络介绍 1. 全局控制层(global) 2. 局部网络控制层(site controllers) 3. 物理设备层(switch hardware) 二、B4网络的效果 三、B4网络的改进和展望 说在前面,博客上有很多人已…

5v升9v升压电路

5v升9v升压电路 现在市场上有许多电子设备需要提供不同电压的供电能力。其中,升压电路是一种常见的电路类型,可以将低电压升高到所需要的电压水平。在本文中,我们将介绍一种5V升9V的升压电路方案,该方案具有以下特点:…

3日行程安排

22号 13:30出发到峡山码头坐船--横山岛景区 峡山码头 船费:来回70r 固定开船时间:9:30,12:00,14:00 或者🈵️12人自动开船,最晚4点有船返回 岛上风景 逛山海“小普陀”寺庙普南禅院,被誉为宁…

多线程与高并发--------线程

一、线程的基础概念 一、基础概念 1.1 进程与线程 什么是进程? 进程是指运行中的程序。 比如我们使用钉钉,浏览器,需要启动这个程序,操作系统会给这个程序分配一定的资源(占用内存资源)。 什么线程&am…

MMORPG大型游戏设计与开发(服务器 游戏场景 地图和区域)

地图的数据以及区域的信息是场景的重要组成部分,这些数据同时存在客户端和服务器,而且都是由编辑器生成的。那么保存的文件数据结构是怎样的?一张3D的场景地图又是怎样处理这些数据的?同时告诉大家这里同样只是讲的理论与设计&…

对话CMU计算机新院长:看好AI交叉创新出成果,建议新生先泛后专

2019-11-21 13:25:16 唐木 发自 天龙寺 量子位 报道 | 公众号 QbitAI 谁是全球最好的大学?谁有全球最好的计算机学院? 如果你问李开复、陆奇、沈向洋、洪小文等功成名就的计算机大牛,多半都会得到同一个答案: Carnegie Mellon …

[转]天龙八部服务器端-共享内存的设计

一、服务器构架 一个天龙八部游戏区,主要服务器部署情况如下图所示: 实际部署可能有所不同。区角色数据库可以安装到Machine4,那么一个区有5台物理机器。LoginServer和WorldServer、CharacterDB、BillingServer有连接。WorldServer和各个GameServer有连接…

天龙八部服务器端---共享内存的设计

2019独角兽企业重金招聘Python工程师标准>>> 原文地址:http://zhktiger.blog.sohu.com/163971755.html,非常感谢作者的分享。 一、服务器构架 一个天龙八部游戏区,主要服务器部署情况如下图所示: 实际部署可能有所不同。区角色…

天龙八部服务器端共享内存的设计

原文:http://zhktiger.blog.sohu.com/163971760.html 一、服务器构架 一个天龙八部游戏区,主要服务器部署情况如下图所示: 实际部署可能有所不同。区角色数据库可以安装到Machine4,那么一个区有5台物理机器。LoginServer和WorldServer、Chara…

初识鸿蒙跨平台开发框架ArkUI-X

HarmonyOS是一款面向万物互联时代的、全新的分布式操作系统。在传统的单设备系统能力基础上,HarmonyOS提出了基于同一套系统能力、适配多种终端形态的分布式理念,能够支持手机、平板、智能穿戴、智慧屏、车机等多种终端设备,提供全场景&#…

虚拟DOM(Virtual DOM)和真实DOM(Real DOM)区别

虚拟DOM(Virtual DOM) 虚拟DOM是以Javascript的形式存在来描述DOM,创建虚拟DOM的目的就是将虚拟DOM更好的渲染到页面UI中,它与真实的DOM是一一对应的不可以直接更新HTML元素更新,更新JSX操作DOM方便,消耗少…

【技术科普】VR、AR、MR的区别

VR、AR、MR定义: 什么是虚拟现实? 虚拟现实(Virtual Reality,简称VR,又译作灵境、幻真)是近年来出现的高新技术,也称灵境技术或人工环境。虚拟现实是利用电脑模拟产生一个三维空间的虚拟世界,提供使用者关…

OSVR接入HMD设备

推荐一本书<<金字塔原理>>&#xff0c;本文按照书中说提的“是什么&#xff0c;为什么&#xff0c;怎么做”&#xff0c;来说明如何把HMD设备接入到OSVR上。 为什么要做OSVR插件 对于我们来说&#xff0c;后续要制作的产品是头盔&#xff0c;对于头盔设备通过插件…

迈德威视SDK

引入 代码 public class MVCamera : InterfaceCamera{#region 属性字段PictureBox pb_ShowImage;//图像框tSdkCameraDevInfo[] tCameraDevInfoList;CameraSdkStatus status;public static CameraHandle[] m_hCamera; // 句柄CAMERA_SNAP_PROC m_CaptureCallback;In…

MVVM 架构,ViewModel和LiveData(一)

MVVM 架构,ViewModel和LiveData(一) 标签&#xff08;空格分隔&#xff09;&#xff1a; 翻译计划 Android开发 原文链接 MVVM architecture, ViewModel and LiveData (Part 1) 正文 在Google I/O之间,Google推出了包含LiveData和ViewModel的组件架构,这有助于开发者们使用…

DRMM model

Paper 的引用&#xff1a; Guo J, Fan Y, Ai Q, et al. A deep relevance matching model for ad-hoc retrieval[C]//Proceedings of the 25th ACM International on Conference on Information and Knowledge Management. ACM, 2016: 55-64. Retrieval or Matching 论文中说到…

JVM(JAVA虚拟机)、DVM(Dalvik虚拟机)和ART虚拟机

一、什么是DVM&#xff0c;和JVM有什么不同&#xff1f; JVM是Java Virtual Machine&#xff0c;而DVM就是Dalvik Virtual Machine&#xff0c;是安卓中使用的虚拟机&#xff0c;所有安卓程序都运行在安卓系统进程里&#xff0c;每个进程对应着一个Dalvik虚拟机实例。他们都提…

关于Hdmi2.1,FRL,DSC,VRR,ALLM你需要知道这些

文章目录 TMDSFRLDSCVRRALLM相关设备Nvidia显卡电视游戏机显示器 注意的坑 最近在研究Hdmi相关内容&#xff08;看游戏设备hhh&#xff09;&#xff0c;网上很多信息都是零零碎碎的&#xff0c;结合自己的一些研究简单记录一下。 Hdmi&#xff0c;High Definition Multimedia I…

HDMI 2.1 VRR功能详解

7.6可变刷新率和快速更新 可变刷新率&#xff08;VRR&#xff09;允许图片在源完成准备后立即通过链路发送。在链路支持的最大字符速率大于给定视频定时所需的速率的情况下&#xff0c;Fast VActive&#xff08;FVA&#xff09;减少了传输图片所需的时间。这些特性提供了性能、…

VVC帧间预测(八)DMVR

解码端运动向量修正(Decoder side motion vector refinement ,DMVR)是为了提高merge模式下双向预测MV的准确性而提出的技术。双向预测是在list0和list1中分别找一个运动向量MV0和MV1&#xff0c;然后将MV0和MV1所指向的预测块进行加权得到最终的预测块。而DMVR不是直接使用MV0和…