SDN开源,从你的全世界路过

近些年,以Linux领衔的开源项目在IT界出尽了风头,涌现了很多的优秀开源项目。如今人人都在讲开源,在刚理解了软件开源之后,又听说了硬件开源,仿佛现在不说开源就不够Bigge。So,为什么要开源呢?在网络数通领域也掀起了开源热潮,我们今天就围绕SDN、NFV来捋一捋开源到底干了什么。

传统网络做了什么
在传统的网络行业中,标准制定和厂商具体的技术实现并不是很合拍。像IETF这些机构会对网络和存储的相关标准进行定义,供应商也会相应地实现他们的解决方案,但这看似两个正常的工作过程往往会由于实现的多样性导致兼容性问题(这会对最初定义的标准造成破坏)。

为了让各种黑盒之间实现兼容,供应商不得不在各种相关工程上耗费数周的时间。然后,工程师们再开个“Plug Fests”大会,来测试和验证硬件和软件的互操作性(话说这样工作真的很充实)。但是为每个新应用建立标准和证明操作性这一过程在效率至上的时代绝对是荒谬和不切实际的。那么为什么在网络中标准化软件和硬件仍然是一个常见的做法呢?

部分原因在于网络标准化已经经历了三十年。以前,这些网络标准由电信用例驱动,已经部署好的失败系统的下行风险是灾难性的,所以无法被忽视。然而重新定义标准化这一繁琐的过程将推迟供应商将产品推向市场的时间。因为修改了固件以后,软件需要重新测试和验证,这就会推迟产品的发行。

如今,Linux已经成为服务器的主流操作系统,但对网络来说并非如此。部分原因在于网络供应商的专制和网络应用程序和服务、网络操作系统(OS)、硬件的黑盒实现。在传统网络中,数据平面和控制平面通过路由器和交换机固件实现。这两个平面协调工作,数据平面负责转发数据流、通过一些协议(包括VXLAN、GRE)处理多个对话、连接与管理远程客户端。控制平面负责处理信号流,定义路由器如何处理传入的数据包,通过使用路由表和实现数据包的优先处理,如差异化服务的QoS。

反过来说,整个系统本质上就是一个黑盒。

软件定义网络(SDN)正是致力于改变这种方式的网络方案。SDN将控制平面从数据平面分离,用软件实现控制平面,从而不再是黑盒实现。这意味着网络应用、网络操作系统、硬件可以来自不同的供应商,只要他们可以使用部署在白盒或“brite”盒上彼此约定的接口进行通信。白盒交换机用的是现成的商用交换机芯片,里面含有开放的SDN软件来运行网络应用程序。

好腻害的Linux
随着Linux进军网络操作系统(基于标准的x86服务器),网络应用程序和网络操作系统之间的通信一直采用标准的Linux协议,该协议是开放的。Linux作为网络操作系统改变了网络格局,因为运行在启用Linux的交换机上的应用程序不再需要IETF标准来进行交互,就像运行在数据中心中Linux服务器上任何的应用程序。

控制平面通过开放接口来开启网络空间基础创新的大门。新一代的网络应用程序之前受限于专门的ASICs(耗时数年,耗资数百万设计和制造出来),现在可以作为小型产品重新构思,因为Linux交换机成为了主流操作系统。

数据平面完成上面讨论的如传输数据、通过一些协议处理多个对话、连接与管理远程客户端等功能。然而,数据平面仍然会或多或少受ASICs和固件的约束。原因在于控制数据平面的供应商(如博科和英特尔)保持网络操作系统和商业芯片之间的接口的关闭状态或者限制访问。

虽然Linux作为网络操作系统,其开发工具和库被广泛使用,但是网络应用程序的开发仍然比较复杂。抛开复杂性不说,在全球社区中,似乎也并不缺少Linux专家一起解决问题。而对于传统网络来说,开发者往往在少数公司掌握的闭源平台上开发。

传统的网络应用程序必须为每个支持的网络操作系统单独编写。但是对于Linux来说,网络应用程序只要编写一次,就可以在任何地方运行。之前花在平台上的循环操作(如互操作性测试)可以被重定向解决由来已久的网络问题(受限于固件/ASICs),开放全新一代的基于软件的网络工具( automation、security、overlays、 fabric managers)。而传统网络没有pan-data中心意识,Linux向新一代网络虚拟化解决方案打开大门,可以利用fabric和overlay的力量提供给网络运营商完全控制物理和虚拟环境的功能。

SDN你在干森么
SDN解决方案通过封装低层协议到更高级别的对象来实现相同的目标。网络虚拟化解决方案实现他们自己虚拟网络的互通性。

云计算运营商正通过以下场景连接云:两个不同的系统之间、两个地理上分散的数据中心之间、公共云和私有云之间,通常会使用像BGP这样的标准协议连接两个云基础设施。

我们的未来捏 
传统网络的垄断地位即将被供应商瓦解,取而代之的是更灵活、创新的软件。运行Linux的交换机将会解决遗留已久的固件/ASICs问题。新入市者利用开源和商品组件能够使得终端用户更易获得市场份额。传统标准向解耦模型的转变最终对终端用户和整个行业来说是双赢的局面。

本文转载自:SDNLAB,原文链接:http://www.sdnlab.com/13048.html

时间: 2024-10-09 22:47:58

SDN开源,从你的全世界路过的相关文章

《从你的全世界路过》票房爆表 光线怎么反而要裁员?

一个爆款的成功,让一个影视公司出现一年不开张.开张吃一年的状况,其实是很不健康的状态 文/张书乐 近日,光线传媒披露三季报,前三季公司实现营业收入11.87亿元,同比增长41.79%:实现净利润5.80亿元,同比增长216.55%. 然而,光线传媒在业绩大涨之时,却陷入"裁员风波",并宣称破局VR市场.此前有消息称,光线传媒将在全公司范围裁员20%左右,校招生.实习生都包括在内.光线传媒总裁王长田近日在接受媒体采访时也坦承了光线对于先看网在VR战略上的重要转向. 同时,光线最新的公告,

《从你的全世界路过》的句子语录

1.我希望有个如你一般的人. 如这山间清晨一般明亮清爽的人, 如奔赴古城道路上阳光一般的人, 温暖而不炙热,覆盖我所有肌肤. 由起点到夜晚,由山野到书房, 一切问题的答案都很简单. 我希望有个如你一般的人,贯彻未来,数遍生命的公路牌.--张嘉佳<从你的全世界路过>   2.我们在同一个时区,却有一辈子的时差.--张嘉佳<从你的全世界路过>3.我觉得这个世界美好无比.晴时满树花开,雨天一湖涟漪,阳光席卷城市,微风穿越指间,入夜每个电台播放的情歌,沿途每条山路铺开的影子,全部是你不经意

从你的全世界路过

也许真的就像朝圣,当到达心目中生地之后,所能做的只有原路返回. 在合适的时间.合适的地点却没有正确的行动,时间的流逝已经消退了原本可以有的激情. 当你见过了那华丽和流光溢彩,有怎能瞧得上这陷入泥土的尘埃. ...... 不再驻足,不再观望. 在此时,在此地,在此生,总要有些追求. 从你的全世界路过,那一抹青绿已留在心底,足以,我将继续前行,一路狂奔!

[读书笔记]从你的全世界路过

小玉点点头,低声说:我不是备胎.我想了想,我是个摆渡人.他在岸这边落水了,我要把他送到河那岸去.河那岸有别人在等他,不是我,我是摆渡人. 小玉看窗外的夜色,说:"我说的拼命,不是拼命工作,不是拼命吃饭,不是拼命解释的拼命,那只是个形容词.我说的拼命,是真的今天就算死了,我也愿意." 你看,我喜欢马力,可哪怕他离婚了,我也没法跟他在一起.我喜欢他,愿意为他做很多事情,如果我们真的在一起,我一定会要求他也这样对我.但是不可能啊,他又不喜欢我.所以,我只想做个摆渡人,这样我很开心."

TF Live首期预告:多云时代,聊聊SDN开源架构

来了来了!TF中文社区线上直播活动"TF Live"即刻启动~ TF中文社区技术代表.瞻博网络中国区合作伙伴技术经理张建勋,将在首次直播活动中,和您一起聊聊如何面对这个多云架构时代.本期活动,由TF中文社区与SDNLAB合作举办-- 在企业未来的数字化转型过程中,如何利用开源架构产品,帮助客户实现在多云环境下的SDN网络架构设计,实现异构云平台网络的统一调度和自动化管理.我们将讨论以下问题: 为什么SDN变得越来越不灵活了? 网络硬件设备到底该怎么选?硬件SDN行不行? 我的云管平台为

从你的全世界路过-论演员的自我修养

线程 1.概念  : 线程是一个程序内部的顺序控制流 2.线程与进程的区别 (1)每个进程都有独立的代码和数据空间(进程上下文),进程间的切换会有较大的开销 (2) 线程可以看做轻量级的进程,同一线程共享代码和数据空间.每个线程有独立的运行栈和程序计数器PC,线程切换的开销小 (3) 多进程 在操作系统中同时运行多个任务(程序) (4) 多线程:在同一应用和程序中有多个顺序流同时进行 3 注意点 (1)java 的线程是通过java.lang.Threadl类来实现的 (2)VM启动时会有一个由

从你的全世界路过- 告白气球

我希望有个人如你一般的人,如山间清爽的风,如古城温暖的光,从清晨   ,   到傍晚,  从山野   ,  到书房 ,一切都没有关系  只要最后是你就好 接口 1.定义:接口(interface)是抽象方法和常量值定义的集合 从本质上讲,接口是一种特殊的抽象类,这种抽象类中包含常量和方法的定义 而没有变量和方法的实现 2举例说明 public interface Runner{ public Static final int id =1; //public static final 可以不写 默

从你的全世界路过-make a mistake

异常 1.Java异常概念 java异常是Java提供的用语处理程序错误的一种机制 所谓错误就是指在程序运行的过程中发生的一些异常事件(如 除0溢出,数组下标越界,索要读取的文件不存在). 2.Java异常的分类 Exception                                                      异常层次结构的根类 ArithmeticException                                      算数错误情形,如以零作除数

从你的全世界路过-孤独的放逐

集合 一.集合类概述 java.util包中提供了一些集合类,这些集合类又被称为容器.数组也是一种容器,但集合类与数组的不同之处在于数组的长度是固定的,而集合的长度是可变的:数组用来存放基本类型的数据,集合用来存放对象的引用.常用的集合有List集合.Set集合和Map集合,其中List与Set继承了Collections接口.各接口还提供了不同的实现类. 这些类的继承关系如下: Java.lang.Object |--Collection |--List:元素是有序的,元素可以重复,因为该集合