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

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

Windows Blue开始按钮或将回归,你怎么看? Evernote推孵化器 不占股权 基于C++和Lua的移动游戏引擎Leadwerks 3发布 苹果秘密测试iOS 7与iPhone 6 或将6月发布 酷6 CTO 陆坚:请先信任你的程序员 从电信联手i-Free,看运营商渠道的加速整合 “Animory”开发者分享HTML5游戏开发经验 Appflood SDK:连接中国与海外App流量交互平台 Apache Subversion 1.7.9正式发布! 微软IE浏览器5大动向 加速吸引开发者 开源的简繁转换库OpenCC支持Node.js 继Opera之后,Adobe表示将支持Google Blink 提高大型软件项目质量的一些实用型技术分享 谷歌推出Mirror API,开发者可为Google Glass开发应用 无需999,也不要499,99美元Linux超级计算机带回家 微软反击AWS:推出EC2并大幅降价,“价格战”正酣 Operation InVersion:拯救了LinkedIn的大修项目 五步走战略——Avocado在最初几周内迅速扩大30倍 NoSQL产品测评:Cassandra、MongoDB、Couchbase和Aerospike 谷歌眼镜开箱评测:比想象更精致 Pinterest谈实战经验:如何在两年内实现零到数百亿的月访问 初创公司Instart Logic:专为电子出版商和网站站长解决“痛点” 未来即卖芯片又卖服务!Intel收购软件厂商Mashery 继MSN之后,微软又开始整合Skype与Lync服务 阿里将推AMOS智能机 斥资10亿鼓励开发App AMPLab开发重构的Hadoop版本Tachyon:吞吐量要比HDFS高300多倍 一名理科生的创业路 十大界面原型与布局工具 Google产品经理Kenneth Norton:如何与工程师共事 如何创建自适应系统来增强用户体验 Jolla下月展示首款Sailfish手机 将重点发展中国区 谁知道免费starcraft站网地址 一个程序开始端像dehpi会有一张图片以便缓冲,问这张图片怎么在程序中设制? 论坛全新开张,欢迎捧场 怎么将asf文件转换成avi文件 存储过程的问题? 如何在PictureBox控件中显示数据库中存储的图象 地址栏不见了!!! @@@@@@@@ TreeView 的问题 @@@@@@@@@@@@@@ 请教:哪里可以下载工具栏控件 怎样不用Delphi6的那个qtintf.dll啊? 对多语言问题的总结,集各位CSDN的智慧,让大家共享之 怎样将string类转化为其他类型,例如... 请问在哪里可以下在IIS 5.0 for Windows NT 4.0? 今天我才明白,我不是那么绝情,那个女孩竟然在我的心里留下了一份震撼 如何检测和修正ghost文件? Friecin(雪客)进来拿分(300分奉上,请高手做答关于MDI和DLL的问题) 想做程序员,考研如何选择 AnsiCompareStr和CompareStr? Behard进来拿分(300分奉上,请高手做答关于MDI和DLL的问题) CDatabase类里获取数据库名的函数是哪个啊? 请问RichEdit中如何在代码中修改选中字符的字体和颜色? 安装 WebSphere应用服务器问题 我发现我怀孕了,不知道是谁的!:( 中国电信 为什么我的打印机打印时会出现重影?? 我怎么把他们一一显示出来在listbox里?代码写出来! 请问BOOT扇区中各个数据的意义。。 有没有一次搞定具体时间的控件 tomcat配置简单的问题 问题:十六大代表需不需要办暂住证? 求教COOKIE的用法! JBuilder 7中如何安装一个Server ### 升级内核 ### 还有一个问题(树型列表) 哪里有Visual InetDev 6.0 下载? "分"到哪里去了? 有关于赋值的问题 技术的挑战,在线等待 有关csdn的一个小的问题? 显示模式的设置 怎么样删除在DATAGRID中选定的行? 如何自动滚动edit控件多行显示时的文字 win2000系统关闭后但不会自动断电源 寻找资料,请帮忙 难啊 统计数据 求:做得漂亮的学校主页 麻烦看一下下面的代码 C#和C++builder比各有什么优缺点?哪一个更灵活更稳定?C#和C++哪个好? bug管理工具有没有web方式的? cs文件中,如何获取confirm对话框的返回值? 2013年春天里的发现作文 请用 is,the,baby,she,of,the,family造句. 英语看图作文.一个人拿着鱼杆钓了一条小鱼,他想钓一条大鱼 英语翻译是我对你有强烈的感觉 还是 对你来说我有很强的感觉? at the moment用什么时态,还有just now 等等等等像这种词组用什么时态,希望一个一个写出来加上时态. 英语翻译不想再受到伤害 ,如果不爱我,女孩,请离我远点! but ___ ____ you have made some progress 填进步sorry 打错了 应该填 至少 take down造句帮忙造个句子 _____(thousand)of people lost their homes in the flood连词成句 sofa /is/on/the/comfortable/it/like/very/we/because/sitting(.) You shouldn't drive here.(同义句转换) You ______ _______ _______ ________ drive here. 用take care to do造句 用一般将来时 _(million) of people lost their lives in the war.怎样填? what do you have for breakfast这里为什么要用for 请老师们简单讲一下for的用法 这题为啥这样做?若不等式Ⅰx - 2Ⅰ+Ⅰx+3Ⅰ≤a有解,则a的取值范围是a≥5为什么呀那你给讲讲吧? 很多桔子,翻译它 He likes to have (apple and milk )for breakfast.就括号提问 We want to buy some potatoes.(一般疑问句) 这题为什么这样做?Isn't Mrs .webster here yet?No,(much to my surprise).为什么是much to my surprise?to my much surprise? 形容说话声音轻柔,语气温和叫什么言什么语 一篇关于你童年玩伴的作文200字,用描写的手法, 这道题为什么这样做?甲每分走50米乙每分走60米丙每分走70米,甲乙A地,丙B地同时相向出发丙遇到乙2分后又遇到甲.A,B两地()设该路全长xm,则有x/(60+70)+2=x/(50+70).解之得:x=3120(m). I drink a glass of milk in breakfast.有错的,找出并改正 What do you usually have for breakfast?和what areWhat do you usually have for breakfast?和What are you usually have for breakfast?急阿!具体点阿各位, 很多话叫( )言( )语 背后散布难听的话叫()言()语 说话声音轻柔、语气温和叫( )言( )语 I drink two_____(玻璃杯)of milk for breakfast What do you usually have for breakfast?可不可一把for改What do you usually have for breakfast?可不可一把for改改成in为什么要用forfor在这里指什么意思 在平行四边形ABCD中,AM垂直于BC,AN垂直于CD,求证AM:AB=MN:AC 连词成句(英语)i,milk,breakfast,drink,for 英语翻译哪个翻译更好?1.红色能在你犹豫不决的时候帮你拿定主意.2.当你犹豫不决的时候,红色能帮你拿定主意. a moment ago和just now有什么区别?a moment ago和just now都是刚才的意思,它们有什么区别? Erevy year many people l___ their lives in traffic a _____. let me know when you finish it如何翻译 just now 和 a moment ago 的区别 英语翻译填moment 还是 minute 为什么 形容数量多的成语和形容人很高兴的四字词语有哪些 在平行四边形ABCD中,AM垂直于BC,AN垂直于CD,若AB=13,BM=5,MC=9.则MN的长度为 I have got some beef inour fridge.(对some提问) 紫外线可以穿过普通的透明玻璃吗? a moment ago 与 just now有什么区别吗? 用英语怎样说“低调点”处事“低调点” 用英语怎么说? 紫外线能透过普通玻璃吗? 如图,在平行四边形ABCD中,DE垂直AB于点E,BM=MC=DC.求证:角EMC=3角BEM8月16号完成 人为什么儿活,又为什么儿死?人活着到底是为了什么阿?活的好累阿? 人活着的这一辈子到底是为了什么? a moment ago与just now的意思分别是什么? 人为什么儿活,又为什么儿死?人活着到底是为了什么阿?活的好累阿? 英语翻译诉求 Their breakfast is eggs,milk,apples and bananas.这句话有错吗?我个人认为is应为are是语法错误?不知正确吗? The typhoon in Taiwan caused many people___their homes.A.to lose B.lost C.to lost D.lose请说理由 形容人物品德高尚我不要成语 英语翻译公司系产供销一体化的食品连锁机构;拥有50余家蛋糕连锁店,现数个地市的分公司酝酿诞生,并在快速稳步发展之中,已成为河南省烘焙连锁的第一品牌.公司一直本着“做一家稳步发 The typhoon in Taiwan last month c( ) many people to lose their homes. 《2013的春天,我真( )》半命题作文600字左右 aswell,give up,makefun of,telliokes,makesb do she,be strict,about take care of 用以上短语造句吖~ Thousands of people in Taiwan had no houses to live in after the typhoon.had no houses to live in 划线提问 《2013年春天,我真_______》作文 ,求原创,在线等待——快~ hunt of什么意思?要是用这个短语造句怎么造? 请问什么品牌的钓线拉力强度比较好?钓到大鱼老断线跑鱼! 2013年的春天 初一作文!急 500字以上,谢谢大神500字以上,写景要描写详细,可以写一件以物喻人的温暖的事情更好 请高手给下面几个短语造句!OUT OF TOUCH ,OUT OF TUNE,OUT OF CIGARETTES,OUT OF BREATH,PUT OUT OF ACTION,GO OVER ,RUN OVER ,GET OVER ,TIDE OVER,PRESIDE OVER , Did the people suffer heavy _(lose)in the typhoon
备案号:鲁ICP备13029499号-2 说三道四 www.s3d4.cn 说三道四技术文摘