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

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的选择(责编/周小璐)

C#使用ICDBurn实现CD刻录 验证码识别基础方法及C#/.NET源码 傲逆软件CEO周鲁:核心游戏精神,在移动游戏创作中传承 Kim Dotcom推出新文件存储服务平台Mega 用户数一天达百万 美FCC:希望全美在2015年部署千兆以太网 iOS和Android双平台:帷千动媒SDK 3.0发布 移动周报:2013年移动App设计13大精髓 构建高可扩Web架构和分布式系统实战(下) API设计的十大最差和五大最佳实践 Hadoop:为什么RAID-0不行? 电子前沿基金会:实现互联网自由需翻越5座大山 安全无小事:2013年最令人期待的15家安全公司 移动电商:更喜欢用HTML5代替原生APP Talkingdata行业预警:移动游戏正在变成红海 微软无视W3C 拒绝遵循WebRTC标准 Linux下使用MongoDB+GridFS实现备份作业的优化和监视 AWS建新数据中心 老用户获益不易 铜导线退出历史舞台 激光传导速度将达100G bps 大众点评推出首个O2O开放者平台:高德、盛大加入 从APM角度上看:NoSQL和关系数据库并无不同 新浪微博商业化:大树底下真的好乘凉吗? 亲爱的GitHub,我们怎么访问不了你? 经典神作《魂斗罗》iOS版今日上线 专访最强夫妻店:“神庙逃亡2”开发背后的故事 我们做错了什么?3周了,一毛钱也没赚到! 开源产品系列:简单强大的模板语言JSON Template 十年历史的KDE bug修复 为什么函数式编程在Java中很危险? Android平台获X11协议支持,手机变身绘图板 Rackspace通过OpenStack和定制OCP服务器节省40%成本 美国人是如何利用大数据的应用来防止流感的蔓延 今天的最近一问.... 写一个参数有默认值的函数出现的问题! 请教零长度问题(不好意思没分了救命啊) 有个关于可见性的问题,请指点, Delphi6中控制Excell2000的Chart的问题 看哪个地方出名人多 c++ 求学 (更上一层楼) 请教零长度问题(不好意思没分了救命啊) 高分寻求jtest4.5的破解 或注册方法 关于批量删除不同目录下相同文件的问题。 如何在VFP中运行VFP代码? 如何调用chm帮助文件? iptables问题 请教零长度问题(不好意思没分了救命啊) 大家來討論工作的問題 能用c语言编有关网络的程序吗?谢谢大侠们了:) 要在程序中控制在DBCHART显示不同颜色部分的内容及数值,如'34 丰田',来者有分? 提个建议:在祝福 璇玑大力 的贴子中,有不少的“名句妙词”,我们花点时间,搜集于一贴,同意的举手!(我的分数太紧张) 低级问题:如何把TFileStream中的一个字节读到一个byte变量中? 串口编程问题 jsp+mysql用的的resin服务器,运行一段时间,网站访问速度就很慢了,一般会是什么原因引起的呢? 两个字符串,前面是任意字符,后面必须是数字,怎么验证这两个字符串前面的字符是否一样? 怎么才能不关?? 祝大家中秋节快乐,进来帮小妹一把!关于JavaMail收邮件的问题! 一段列表筐代码不知道能不能短一些(请高手帮忙) 一个关于安装控件的问题? 请教SNMP的命令? Class.forName("oracle.jdbc.driver.OracleDriver").newInstance(); 如何在formload时就确定TabControl1显示第3页?菜鸟提问 css的问题,如何使字体大一点??? 紧急求救 datagrid选中的颜色(我重新画了一个datagrid,设置颜色) 在access中如何控制查询 avg(某字段)的小数位数,比如要两位小数 如何起死回生 一道题目 做文件上传系统时,当上传较大容量的文件时如大于2M的文件时出差,请问是什么问题? 请教一个insert into select...语句的问题! 简单的问题,取出头n条记录的select语句怎么写? 谁可以介绍一下关于HMM(隐马可尔夫模型)方面的资料? 在windows2003下能上网,不能下载东西,为什么? strtolower 的问题 各位大侠谁知道,哪里能下到LEI或ESB? 在LotusScript中如何输出到控制台? 各位中秋节快乐! 怎样不通过post传输方式传输数据(肯定给分) eMvb中的image和picture控件怎么插入不了图片啊。。。。 有关路径问题 在jsp中的 文件是否存在file.exists()的监测和打开这个文件的疑惑 中秋节了,睡个好觉吧 怎样合并字符串? SQL SERVER 2000为什么安装不了! ■■■■■■十万火急。。公司里,急需给全体员工的一份中秋贺信,谁帮我找一分,拜托了! 气头尿素是什么? x→0时,讨论无穷小量x的阶的比较:x²·sin(1/x) o(>_ 请问sin∧2是较x什么阶的无穷小量,当x趋近于0时 x区进1时 (x-1)sin(1/x-1)与x-1比较 为什么两无穷小量无法比较 依赖法家思想的"法术势",秦始皇用军事战争建立国家,但力图通过实施仁政来建设国家,是否?急求 19.x0) B.(x>=0) C.x>0 D.x>=0 为什么当X接近于无限时,SIN(1/X)是无穷小量. x-1=0是x^2=1的( )条件 A 充分 B 必要 C 充要 当x→0时,比较无穷小量2^x+3^x-2与x的阶 条件 =0的等价表示是____?条件x==0的等价表示是___? 我成绩还可以,老师让我选教室里面的位置,我选哪个?(教室一共6排,8列,1-2列在最右边 3-6列在中间,7-8列在左边)我坐在第四排中间,但是旁边都是坏学生,我想去第4排或者第3.2两排1-2列, 服役三十年的运河桥明起拆除 见证杭州浙江从明年开始开展无违建县创建活动杭州一大妈在城市空地种2000余株罂浙江临海休闲产业进入“双时代”打造“宁波红光集团等6企业涉税严重违法35杭州西博车展第二季 豪车美女亮相博眼驻韩美军军事邮局成\"毒品仓库\' 中国-海湾合作委员会第三轮战略对话将商务部:欧盟对华钢铁紧固件反倾销措施习近平会见伊朗伊斯兰议会议长拉里贾尼朝鲜举行全国软件竞赛暨展览会 展出逾奋达科技高管计划斥资5000万元增持中国围棋甲级联赛 杭州胜上海匹马领先千辆巴士以旧换新行政机关败诉案去年450宗干在实处 走在前列电商大咖齐集琶洲去年收费路亏1571亿图片新闻南海降低民营医院准入门槛昨举行民营医险企牵手基因测序机构大学生体育馆避暑乘凉玩手机爽歪歪兄弟之友情岁月灵魂收割者邪魅冷少的替身妻天浴时空骇客仙戮佛屠校园美女同居悠悠田园香校草的合租恋人闺门春事破军纳摩大峡谷旅游拉加寺旅游大井朱毛旧居旅游水口彩虹瀑布旅游龙潭瀑布群旅游井冈山会师纪念馆旅游井冈山会师纪念碑旅游杜鹃山索道旅游北山革命烈士陵园旅游金陵大报恩寺遗址旅游福隆海水浴场旅游
备案号:鲁ICP备13029499号-2 说三道四 www.s3d4.cn 说三道四技术文摘