SDN的概念已经流行了很多年了,从一开始的实验室产品到2012年谷歌宣布其主干网络已经全面运行在OpenFlow上,使广域线路的利用率从30%提升到接近饱和。从而证明了OpenFlow不再仅仅是停留在学术界的一个研究模型,而是已经完全具备了可以在产品环境中应用的技术成熟度。

SDN社区力量在2014年的时候还很薄弱,控制器才只有floodlight、Ryu和极不成熟的opendaylight,科研机构和高校都还在用mininet在做模拟实验,后来有了运营商主导的ONOS控制器、Juniper OpenContrail和华为的DragonFlow,和较为成熟的OpenvSwitch情况才有所好转,可以利用X86服务器搭建小型的SDN网络。

到现在出现了很多白牌交换机厂商,有了很多商业的优秀的SDN控制器,和不仅在数据中心的场景,还有了SD-WAN等广域网场景,而现在SDN的概念也在扩大,随着OpenStack云计算的火热,由Neutron组件等优秀开源的项目,和集成的大量功能的Plugin也在推翻传统的SDN的定义。随着用户对SDN的追捧,和云计算项目的落地,不得不说SDN现在已经在大量的用户的生产环境中使用。关注九州云微信公众号“九州云99CLOUD”,可获得SDN相关案例白皮书,诸多九州云SDN实践均有详细解析。

SDN网络的选型

SDN网络的优势在这里就不展开讨论了,SDN目前有很多组网方案,来满足不同的用户场景。

(一) 控制器通过南向协议来控制白牌交换机的转发

第一种实现,就是纯南向协议的实现不支持任何传统协议。通过SDN控制器来发现全网拓扑,计算路径,再通过南向协议下发流表,实现流量按策略转发。如下图所示。

在云计算的场景中,SDN控制器可以利用OpenStack Neutron来实现控制平面,通过OpenFlow/Netconf控制 VXLAN VTEP、GW、IP GW。它的优点是可以通过软交换机来实现网络的创建、子网的划分、路由的选择以及防火墙策略的管理等功能。如下图所示。

(二)松散控制模式方案(通过网络设备控制协议自学习)

VxLAN隧道自动建立以及隧道自动关联;通过标准EVPN完成隧道建立和地址学习,利用EVPN的BGP RR实现邻居发现 ,每个设备都通告自己的VxLAN信息,每个VTEP设备都有全网的VXLAN信息以及VxLAN和下一跳的关系。VTEP设备会和那些跟自己有相同VXLAN的下一跳自动建立VXLAN隧道,并将此VxLAN隧道跟这些相同的VxLAN关联。SDN控制器只负责下发服务策略,不下发控制流表,可靠性更高。注意这里是VxLAN是属于在Underlay进行网络传输的。

MAC/IP route通过MP-BGP传输到对端VTEP。现实中要求BGP连接是fullmesh(任意两两互连),而为了减轻配置压力,通常会引入BGPRR(Router Reflector)。BGP RR的作用是将一个BGP Speaker的数据反射给所有其他连接的BGP peer。使用BGP RR可以使得所有的BGP Speaker只需与BGP RR建立连接,否则按照full mesh,任意一个BGP Speaker必须与其他所有的BGP peer建立BGP连接。

(三)VLAN模型组网

在OpenStack的环境中Neutron网络组件可以选择VLAN组网模型。VLAN模型的特点缺点是需要在传统的网络交换机上放开对应的VLAN,因此在做网络接入时需要依赖网络的规划,同时在多租户隔离上不是特别方便,仍然需要在网络交换机上做操作,即网络组网不够灵活;优点是VLAN技术比较成熟,不管是性能上还是稳定性上都比较好。

尾语

在数据中心,大致有三种方式部署软件定义的网络。一种方法是使用OpenFlow/Netconf,一种SDN的南向标准,但是经常因可扩展性差而被诟病。一种更受欢迎的方式是使用虚拟网络覆盖,即使用VxLAN Overlay的方式扩展组网。这种技术是目前应用最广泛的。另外一种主流的技术是根据开放的协议,称为BGP EVPN,这是一种在数据中心将分别属于不同的租户之间的虚拟机进行流量隔离。其非常强大,是因为其能够实现让分别位于数据中心不同部分或完全位于不同的数据中心的虚拟机之间的专用连接。其也能够使整个虚拟机从一台主机设备迁移到另一台。欲深入了解SDN相关技术及落地实践,可关注九州云微信公众号,获得SDN方案白皮书,诸多九州云SDN实践均有详细解析。

关于九州云99Cloud

九州云成立于2012年,是中国第一家从事OpenStack和相关开源服务的专业公司。公司成立六年,秉承“开源· 赋能变革”的理念,已经从单一的OpenStack产品提供商,发展成为涵盖云核心、云运营、云运维和云安全等多个领域的开源软件和服务提供商。九州云已支持了国家电网、中国人民银行、中国银联、中国移动、中国电信、中国联通、中国资源卫星、中航信(航旅纵横)、eBay、国际陆港集团、中国人寿、万达信息、东风汽车、诺基亚等重量级客户。在2018年最新的Queen发行版排名中,九州云在核心模块贡献跃居全球第四,中国第二,其中在容器部署Kolla项目、NFV编排Tacker项目等重量级项目上贡献全球第一。

开源技术分享:SDN网络浅析与选型相关推荐

  1. Java开源技术分享交流群

    JAVA开源技术分享群 群号:551404618 [Java开源技术分享(群号551404618)][点击链接加入群聊[Java开源技术分享(群号551404618)] [点击链接加入群聊[Java开 ...

  2. 【开源技术分享】无需流媒体服务,让浏览器直接播放rtsp/rtmp的神器:EasyMedia

    不同于市面上其他需要各种转发到流媒体服务的中间件来说,EasyMedia不需要依赖任何nginx-rtmp,srs,zlmediakit等等第三方流媒体服务,只需要你有rtsp或者rtmp等等协议的视 ...

  3. mysql 如何设置延迟启动_技术分享 | MySQL 网络延时参数设置建议

    作者:毛思平 工作11年,从事数据库工作7年,主要在金融行业.主要是做oracle,mysql.现在在农行软开中心主要做数据库应用方面的研究. 本文来源:原创投稿 *爱可生开源社区出品,原创内容未经授 ...

  4. Java开源技术分享:使用TopCode实现手指跟踪

    前言 今天偶然情况下尝试了一下俄罗斯的搜索引擎yandex,果然发现了个新玩意. 这是一位来自英国,目前在泰国Prince of Songkla University (PSU)大学教书的Andrew ...

  5. 【华为云技术分享】网络场景AI模型训练效率实践

    问题 在网络场景下的AI模型训练的过程中,KPI异常检测项目需要对设备内多模块.多类型数据,并根据波形以及异常表现进行分析,这样的数据量往往较大,对内存和性能要求较高. 同时,在设计优化算法时,需要快 ...

  6. SDN 网络技术创新探索 | 移动云 TeaTalk 线上直播 倒计时启动中

    在企业数字化转型.云服务和国家政策等多种因素驱动下,越来越多的企业.行业和政府机关将业务迁移到云上,随着移动云的快速发展,在"多系统.多场景.多业务"需求下,对网络提供差异化的服务 ...

  7. 数据中心网络架构 — 云数据中心网络 — SDN 网络技术

    目录 文章目录 目录 SDN 网络技术 Overlay Controller Underlay Network 如何大一统的全域 SDN 管控? SDN 网络技术 通过 SDN 网络技术,可以将数据中 ...

  8. 基于SDN网络的优化技术和QoS研究分析(二)

    编者按 随着网络技术的发展,越来越多的分布式应用和不同类型的网络技术被部署到网络上,基于传统IP的网络体系结构正面临越来越多的问题,传统的优势正逐渐成为制约网络技术发展的瓶颈. 由于篇幅较长,文章将分 ...

  9. 2017(深圳) .NET技术分享交流会(第二期)网络直播活动

    .NET Core 2.0 已于2017年8月14日正式发布,2017(深圳) .NET技术分享交流会在公众号中发出2个小时后就被抢光了,受限于场地无法增加人数,这次如鹏网杨中科老师提供VIP级的网络 ...

最新文章

  1. java多线程消息队列_java多线程消息队列的实现
  2. JZOJ 5436. 【NOIP2017提高A组集训10.30】Group
  3. mysql增删改查 工具类_Hibernate增删改查数据库之二工具类
  4. Asp.Net就业课堂之模板控件
  5. html编辑器设置为publisher,将PDF转换为Publisher的简单方法
  6. CSDN-markdown 文字样式设置(字体, 大小, 颜色, 高亮底色)与数学表达式设置
  7. c语言关键字中文意思,C语言的32个关键字是什么意思啊
  8. java 快速排序算法简单_排序算法java版,速度排行:冒泡排序、简单选择排序、直接插入排序、折半插入排序、希尔排序、堆排序、归并排序、快速排序......
  9. Lock and Load FCPX 报错处理方法
  10. ad建集成库_手把手教你创建自己的Altium Designer集成元件库
  11. 【小米小爱老师4G网络尊享版使用总结】界面|设置|安装|输入_摘要频道_什么值得买...
  12. 关于利用Windows的Paint 3D制作透明背景图片的说明
  13. arcgis图例背景白色,留出空间
  14. Apple ID 双重认证,请输入有效的电话号码
  15. 微信企业号开发(1)--基础入门
  16. java格式化mac地址,java格式化mac地址(加分隔符,去分隔符)
  17. 快速web开发框架——learun framework
  18. 是不是不知道用什么命令查看mac系统信息?
  19. flush()的作用
  20. 【金融】银行间质押式回购

热门文章

  1. 【下载】Step7 V5.4 中文版【绝对能安装使用】
  2. 学习记录,linux使用wget命令实现整站下载
  3. 姜维拥兵10万 为何守不住刘备的半壁江山
  4. 伪原创文章如何写才算高质量
  5. 谈谈String.intern方法
  6. Android系统结构
  7. 老是未能连接一个window服务器,未能连接一个Windows服务 怎么回事
  8. 基于华为巴龙MH5000-31 5G工业/商业模组开发(二)
  9. 4款口碑爆棚的电脑软件,每一款都值得拥有
  10. 解决css样式中first-child和last-child不生效的问题