说三道四技术文摘-感悟人生的经典句子
说三道四 > 文档快照

SDN解决方案总结:OpenFlow、虚拟机、OpenStack和VXLAN/NVGRE

HTML文档下载 WORD文档下载 PDF文档下载
虽然SDN的概念衍生于OpenFlow,但其目前已不仅仅限于OpenFlow这一种解决方案。@北京-小武对目前实现SDN的解决方案进行了总结,包括OpenFlow、虚拟机、OpenStack和VXLAN/NVGRE。

【编者按】SDN是一个对现有网络考虑了兼容性的框架,@北京-小武认为如果结合具体的业务需求,将OpenFlow的规则利用起来,必能给客户带来收益,给云计算、设备商和芯片商等企业带来发展的机会和激烈的竞争。同时鉴于OpenFlow的很多问题,作者认为其可能仅是一种过渡形态的昙花一现。以下为原文:

前面说了很多传统交换机的流程以及OpenFlow交换机的内容,并结合常用的网络功能对比了二者的差异。但是需要明白的是,OpenFlow交换机就是OpenFlow交换机,如果用OpenFlow交换机不是结合SDN的方式来使用,而是用其实现传统的基于MAC的二层转发或者基于IP的三层转发,那么就没有必要折腾了,何必哪?费力费钱还没有收益。尤其是运营商,对于OpenFlow的态度,尽管他们又各种各样的设备管理和维护问题,但是如同他们不自研网络设备,再加上钱多人懒,是不会对运营商网络做出什么SDN方面的改进的,除了某些项目名称。OpenFlow交换机就是基于流标项的转发,可以结合SDN被用于结合业务的转发,无需考虑MAC学习,无需考虑是否有路由,而是用户或者管理员根据自己的需要来配置交换机。所以利用BMC或者MVL的传统商用交换芯片来做OpenFlow的开发,会导致表项容量小、OpenFlow标准支持不完全、对交换芯片其他处理流程组件浪费的现象。

OpenFlow

像卫峰书中讲的那样,SDN和OpenFlow关系,二者是不能划等号的。例如OpenStack中,如果Neutron下的plugin用Linux bridge,那么这个就不是SDN了吗?显然答案为仍然是SDN网络。SDN我理解的是一种思想,而不是一种方案或者功能。所以网络很多做法都是和SDN有着扯不清的关系,但是这个绝非像某些大的互联网公司扯自己的产品硬跟SDN挂钩那样,因为他们的产品开发时研发和测试人员脑袋里连SDN的概念都没有听说过,现在国内互联网公司和很多的设备商都还只是停留在观望和接触的状态,并没有什么实质的SDN产品或者方案。并且SDN并不代表完全脱离硬件,有的云计算公司对于网络虚拟化中有一些硬件参与就不认可是SDN,难道说要全世界的人都用一台服务器,里面的每人用的虚拟机都用虚拟端口通信才算是真的SDN吗?这个逻辑充满了荒谬。SDN只是一种思想,一种站在用户角度、站在管理员角度可以参与管理和控制网络底层转发决策需求的满足和实现。底层转发的实现是否是纯软件或者有多大程度的硬件参与并不重要。如果一个人坚持这么认为,我只能说这个人不懂SDN。而OpenFlow交换机提供的基于流标项的转发方式,正是SDN用硬件作为底层转发时所需要的,因此可以说OpenFlow交换机是SDN底层用硬件实现的一种方式,而虚拟网络里采用OpenVswitch互通虚拟机则是用OpenFlow流表实现SDN思想的一种纯软件方案。

OpenFlow作为SDN底层实现的一个理想选择,在转发层面确实有很多优势,但是个人认为也有很多需要注意的点:

  • 如前文所述,将控制平面和转发平面进行分离,减少了控制点,增加了控制平面的负担,需要比以往有更强的CPU计算能力的设备才能堪重负;
  • SDN强调管理员在管理网络方面的能力,这些无疑对管理员的技能和对所管理的业务熟悉度有了更高一步的要求,这点与网络设备智能化、自动化、傻瓜化的发展思想多少是有点相悖的;
  • OpenFlow的多表项为业务实现提供了灵活性,但是这无疑增加了设备的成本,并且为交换芯片驱动开发人员在软件中记录和维护配置表项、容错等研发工作提供相当大的复杂度;
  • OpenFlow在转发层面相比于传统方式有了很大提高,应该是先兼容以前所有的转发方式,但是现在的标准中,还有很多传统转发方式支持但是OpenFlow中不支持的,比如我要实现某个出端口中SIP=1.1.1.1的报文全丢弃,标准中暂时没有出现匹配出端口的的内容,希望OpenFlow标准尽快得到完善;
  • 传统交换机中还有很多非产生直接转发意义或动作方面的功能,比如流控、队列调度、WRED等方面都要涉及交换芯片MMU,而这些OpenFlow是很难对各个厂家通过标准而统一的,所以OpenFlow标准化方面还有很多的工作要做;

虚拟机、iptables

为了提高物理服务器CPU的利用率,出现了使用虚拟机的概念,这样一台物理设备有多台虚拟机,分别“计算”处理不同的数据,如果物理服务器是多核的情况下,可以说是真正的并行计算不同的数据。当一台物理机内有很多虚拟机时,虚拟机的通信和隔离就有了需求,因为可能在一台物理机内的虚拟机承载着不同的业务,而承载相同业务的虚拟机分布在多台物理机上。打个比方,中国每个城市是一台物理机,每个城市里的企事业单位是不同虚拟机;同一台物理机的每个企事业单位之间是无法用自己的内网直接通信的,他们必须都将内网地址转化为外网地址才能在公网上交互数据;而每个企事业单位可能有很多分地,比如可能腾讯在北京有几个地方,而在广州、深圳和上海还有分地,所有腾讯的这些分地内网都是想通的,其他企事业单位在任何处的公司里都可以通过内网转换后利用外网访问腾讯提供在公网的服务,这个就是不同虚拟机之间的隔离和互通。如果阿里内网的一台设备,想SSH到腾讯的一台内网机器上,必须给腾讯的这台设备赋予一个公网的IP,且通常情况下,从阿里这台设备上发出的报文到达腾讯内网时,会通过一种功能将报文的目的IP从公网地址转成腾讯的内网IP地址,这种功能就是NAT。为了进制这种现象的发生,腾讯的内网可以通过iptables配置这台设备进制外网ssh连接。iptables是云计算中虚拟机常用的技术,NAT是iptables的一个功能子集,就像对报文丢弃是OpenFlow规则中动作的一种一样。而云计算是把所有相关的管理节点和计算节点进行多虚一,看做是一个大的整体并进行统一的资源管理和调度;在所有的这些物理机上的虚拟机之间的通信和隔离,有很多种实现方案,但从技术方案上说基本都是二层vlan隔离或者对vlan数目要求过多时的vxlan方案及nvgre方案。拿OpenStack举例,Neutron下面的plugin仅官方支持的就有十来种之多,还有很多非官方维护的,OVS的一出现就受到关注有其道理;因为最初虚拟机之间的隔离是采用Linux bridge技术,非常的不灵活而且配置无法模板化,对于搭建复杂的虚拟网络是无法满足的;并且对于虚拟网络的调试、监控、故障定位都是非常不便的,而且搭建复杂拓扑的功能也很多无法满足;Openvswitch的出现解决了这些问题,并引入了QOS、镜像、CFM、netflow等功能,而且它还可以支持OpenFlow标准,最重要的是有一套用C语言的开源实现;导致其在网络虚拟化里得到了很大的重视。这部分内容在论文《Extending Networking into the Virtualization Layer》和《VirtualSwitching in an Era of Advanced Edges》有非常详细的介绍。

OpenStack

OpenStack现在是一个非常火的开源社区,官方有大量的资料和大牛贡献代码及文档。但是从国内的分享来看,大部分是基于如何搭建出某种简单的环境,尤其是网络这块如何搭建,以保证能建立虚拟机后在虚拟机内部可以正确的访问各种网络,但是从介绍来看绝大多数的分享者对OpenStack的底层技术并不了解,甚至出现了两台云主机在两个vlan就无法ping通的实验。因为网络虚拟化在OpenStack进行商业活动中提供服务的重要性,每年的OpenStack会议都有大量的会议在讨论网络相关的技术。而此时也是SDN体现价值的一个重要案例。OpenStack的缺点已经被各种吐槽,我个人认为OpenStack为了获取最广泛的支持,采取了吸纳百家的策略,就是现在项目众多,耦合性也越来越大;最麻烦的是,对于计算、网络和存储的虚拟化,它不是采用了一种经过考虑后慎重选择一种最有前途的然后进行专注和持续积累的方式,而是选择了每种技术都支持且经过抽象封装了一层中间层,这就导致的问题是OpenStack的专注无法集中,开发者的力量被分散,代码需要经过多次的封装,自然也就效率非常低下。商业版本除了修正其固有的BUG外,还必须解决上述问题。

VXLAN/NVGRE

VXLAN和NVGRE的两种方案都是为了解决大二层中Vlan ID个数不够的问题,除了卫峰所述的封装导致的传输效率降低和负载均衡受影响外,还会对硬件设备的要求上有进一步提高,据我所知,现在BCM或MVL几乎只有一两款芯片产品支持,这对OpenFlow的本意来说本身就是个挑战;更别说那些通过收购其他网络公司来完善自己产品布局的某些企业下这些收购后的子公司,他们的产品更是在SDN上没有什么大的进展。

从ACL中吸收了经验而改进形成的OpenFlow规则,结合现在盛行的SDN概念,已经开出了很多花朵,但是这些花朵能否最后能秋季成熟还是个未知数。但是OpenFlow确实在QOS分类、实现ACL的防火墙的安全功能、在现有网络上对新协议进行试验都是十分有效的。SDN是一个对现有网络考虑了兼容性的框架,如果结合具体的业务需求,将OpenFlow的规则利用起来,必能给客户带来收益,给云计算、设备商和芯片商等企业带来发展的机会和激烈的竞争。OpenFlow到底是会革命成功大放光彩,还是仅是一种过渡形态的昙花一现,可能后者的概率要大一些。

原文链接:SDN的选择(责编/周小璐)

一个实用的Delphi屏幕拷贝程序的设计 用Delphi 显示122种图形特效 用Delphi编写DLL实现动态改变分辨率 用Delphi进行OpenGL编程学习心得 用Delphi开发windows95屏幕保护预览程序 用Delphi实现壁纸更换 用DELPHI实现位图显示特技 用DELPHI中Canvas特性开发图形软件 用构件变换法实现动画效果-Delphi资料 在Delphi中使用动态图标 在Delphi中显示Windows图标 在多媒体文件中批量抓取图象-Delphi资料 怎样读出不同格式图形的高和宽-Delphi资料 怎样使用PageUp、PageDown滚动窗体-Delphi资料 怎样制作全透明的窗口-Delphi资料 DELPHI:FormContainer简易手册 Delphi:用FormContainer渐变效果 Delphi4的窗口融合技术 Delphi使用技巧ABC Delphi使用技巧四则 DELPHI中自适应表单的实现 TList的用法-Delphi资料 不规则窗口的实现-Delphi资料 不用标题栏也移动窗体-Delphi资料 窗口建立和关闭时的特效-Delphi资料 窗口中状态行的显示-Delphi资料 动态提示的可视化实现-Delphi资料 动态修改显示器分辨率-Delphi资料 对数据库中的数据进行处理-Delphi资料 改变壁纸-Delphi资料 改变元件的视窗式样-Delphi资料 我在APPlication中开始处加上如下代码,在PB下运行时没问题,怎么编译后执行exe文件后老提示连不??为什么,请赐教!! 在静态切分窗口中,如何显示标题? 求教大虾:如何给软件加上licence限制 抗议CSDN帖子内容为楷体,同意者举手! 如何在画布上画一个带箭头的直线. *-->为对话框应用上妆!在线等待 [诚征交友]不诚勿扰,请条件适合男士入内 有谁用过Cute ftp上传软件,为什么一进行文件同步时,就出现404 object not find的错误 关于界面对象丢失的问题…… 请大家看看这个问题。 我真的很需要帮助。。。请问谁有360度可以许多张图片旋转的代码 360度全景特效 高分求树型结构源代码 现在出了本Jbuilder5的书。有没有谁有这本电子书啊? 高分求树型结构源代码 SDK问题 这句sql有问题吗? 关于驱动程序开发! 在SQL-SERVER中出现数据死锁的情况一般是什么,若是由多个用户同时向数据库更新数据而导致的死锁,解决此问题的办法有那些? 寻找源代码排版软件? 有没有用VC写过短信接收程序,我在接收中文时出现乱码。 请教大虾:用mideaplayer来播放一首歌,如何用progressbar来表示进度? 我想学习驱动程序的开发,请大家帮我推荐几本这方面的书? 编译出错,不解?请高手指点。 能否用Delphi 实现类似东石公司的虚拟光驱系统。 我想学习驱动程序的开发,请大家帮我推荐几本这方面的书? include头文件的问题 急!!!为什么TBlobField 下载时大小受限制,怎么解决? 关于导出动态连接库中的类的问题,不知道这里有没有高手? 一个让我痛苦了n天的问题 关于Hook的一个问题 联合查询如何修改? 获取密码时出错???? my gf photo 我想问一下,java生成的.class文件能不能通过某种工具生成.exe文件? VC中组合框为什么不能下拉? 请问哪有最新的wise for window .net的版本可以下载 "java原型开发"指得是什么开发? 能否用VC++实现类似东石公司的虚拟光驱系统 请问会话Bean和实体Bean的区别在那?能给出例子吗? word文档如何存入SQL SERVER 2000? 请问如何才能在windows 2000 server 上装MTS? 有女朋友而且上网和别的mm聊天的入内签名! 如何显示不同的颜色... 有关网络开发和com的问题,高分征集关注和提供方案! 探讨一下safearray 的使用问题 关于QQ界面的制作? 在主界面中添加一副图片的问题被遮住的问题 有一个EXE执行时,我希望能删除它自己 如何在程序中获取IE当前浏览网页的IP地址或域名地址? 有南京的兄弟吗?我想买《delphi4编程技术内幕》,就是Charlie Calvert那本精华。 如何在工具条上加载图片作为工具条的背景 问一下大家在EXCEL中如何计算百分比! 就告诉我吧打心底麻烦大伙 根据元素周期表可知,原子序数为6的碳原子和原子序数为14的硅原子最外层电子数均为4,则常温下硅的化学性质(选项“活泼”、“不活泼”). 一个物体体积为2立方米,浸没在水中,此物体受到的浮力为多少? 某双星由质量不等的星体S1和S2构成,两星在相互作用之间的万有引力作用下绕连线上某一定点C做匀速圆周某双星由质量不等得星体S1和S2构成,两星在相互作用之间得万有引力作用下绕两者连 非金属与金属发生的置换反应 描写夏天的诗(要简单的)给1年级的小朋友用, 问一下大家在EXCEL中如何计算百分比!麻烦你们了6h 置换反应能金属与非金属反应吗 描写夏天的诗5首(简单的)除了扬万里描写荷花的诗, 请问下大家知道在电子表格中如何计算百分比?谁知道 告诉我吧,不好意思,麻烦各位5b 非金属生成非金属的置换反应非金属+化合物=非金属+化合物 的反应有什么 混酸制备对硝基苯乙腈的反应式 问大家一下在电子表格中如何计算百分比? 有点急,不好意思, 非金属的置换反应是不是非金属强的置换非金属弱的 将质量为1KG的物体浸没在水中称,其重为8N,则该物体在水中受到的浮力是____N 童年的海伦凯勒问莎莉文老师:爱是什么?如果你是莎莉文老师,你准备怎样回答? 光从介质射入空气,入射角和折射角的大小关系. 对硝基苯乙腈水解生成对硝基苯乙酸一步中,如果以乙醇为溶剂,加入少量的质子酸进行反应,会得到什么产物 海伦凯勒还未遇见莎莉文老师之前是怎样的? 光从水中斜射入空气时,折射角大于入射角还是小于入射角还是等于入射角? 质量为1KG的物体所受的浮力为9.8N怎么求这个物体的体积? 海伦凯勒是怎么与莎莉文老师对话的? 当光线重水或者玻璃射入空气中,折射角大于.等于.还是小于入射角? 将质量为1kg的物体浸没在水中,称其重为8N,则改物体在水中受到的浮力是多少N(g取10N/kg).回答...将质量为1kg的物体浸没在水中,称其重为8N,则改物体在水中受到的浮力是多少N(g取10N/kg).回答的大 《再塑生命的人》语文练习册中"莎莉文老师的教育艺术高明在何处?" 高一化学.为什么与Br2反应时 甲烷,苯是与纯溴反应,乙烯是与溴水反应?怎么会有的只跟卤素单质反应而有的可以跟混合物反应? 而且为什么鉴别苯的时候,是将!溴水!加入苯中振荡分层?为什么 将质量为1kg的物体浸没在水中称其重为8N,求物体的体积和物体的密度. 海伦·凯勒在莎莉文老师的教导下发生了什么变化? 在常温下,铁铜铝大多是金属都是——而汞 却是 —— 都填啥? 关于生态平衡的故事 莎莉文老师用什么方法教我学会水字 金属置换作用的生活实例需要一些联系生活的例子,就是那个什么镁加硫酸铜--〉铜加硫酸镁的置换 保护大自然生态平衡的知识和故事 光从空气斜射入其他介质中时,折射光线靠近法线,折射角小于入射角.这句话对吗 在光的折射中什么是法线,入射光线,折射光线,折射角,入射角? 大自然中的一切事物都是互相联系的.这样,才能保持大自然的生态平衡 作文大自然中的一切事物都是互相联系的.这样,才能保持大自然的生态平衡 作文怎么写? 还是一道化学中原子的电子层上的电子荷数的问题有一个同学给我讲了一道题,就是写原子层的电子荷数的时候(在写第20或20以后的原子的时候他先把前面的写完之后写后面的时候他先不写 制备硝基苯的的过程 和 要注意的事项 若0.1mol某单质与足量硫充分反应,质量增加了1.6克,则组成这种单质的元素不可能是( )A.银 B.铁 C.铜 D.钾 EXcel 中怎么计算年龄段的人数A 列 B列姓名 年龄 谭楚芝 24 潘扬 27 王婷 29 程龙 25 谢远忠 35 毛昌军 34 吴菁 26 张晴阳 25 袁晓柯 44 雷娜 31 赵海新 31 我要计算 依然是一道关于化学中原子的电子层的电子荷数的问题.是不是第3层或第3层后面的电子荷荷数都不能为奇数啊,我觉得是不可能的啊, 用金属活动顺序表为什么不能够非水溶液中的置换反应? 原子和离子在化学反应中是可以相互转化举一个离子转化为原子的例子 钠的最外层电子数是1,氩的最外层电子数是6,这2个原子发生化学反应电子层分别会变成怎样比如:钠⑪ 2)8)1)和钾2)8)7)会变成钠⑪ 2)8)和钾⑰2)8)8) 硝基苯怎么水洗硝基苯不也是液体吗,为什么可以用水洗?尽量说得具体点. 天文观测中发现宇宙中存在着“双星”.所谓双星,是两颗质量相近,分别为M1和M2的恒星,它们的距离为r,而r 氯原子的最外电子层上有几个电子 金属金属性强弱顺序表中,h之前的金属都能与稀硫酸反应吗,都是把h离子置换出来吗? 在宇宙中约有一半的恒星是双星,我们把较亮的一颗叫主星,暗的一颗叫伴星.在宇宙中约有一半的恒星是双星,我们把较亮的一颗叫主星,暗的一颗叫伴星.天文学家发现太阳朝某个方向加速运动, 金属活动性顺序不能作为置换反应速度吗?漏了问题…… 应该是:为什么金属活动性顺序不能作为置换反应速度的证据?既然不能,那为什么在金属活动性顺序中,排在氢前面的金属位置越 离子氧化性强弱顺序表 宇宙中 所有的恒星都是双星 为什么太阳是单星 苯可以和溴单质反应 必须要有催化剂么 溴化铁的作用只是改变反应速度么 金属金属性强弱顺序表中,h之前的金属都能与稀硫酸、稀盐酸反应吗,都是把h离子置换出来吗? 某双星系统中两颗恒星围绕他们连线上的某点做匀速圆周,周期T,恒星间距离R求两颗双星的总质量 苯和溴水在有催化剂的作用下能否进行反应呢? 当光线从空气射入玻璃后,折射角大于入射角还是小于入射角 谁知道在电子表格中如何计算百分比? 金属和非金属的置换反应有哪些? 间硝基苯如何制备
备案号:鲁ICP备13029499号-2 说三道四 www.s3d4.cn 说三道四技术文摘