SDN前瞻 传统网络的缺陷

Stella981
• 阅读 630

引言


在网络发展速度如此之快的今天,传统网络的架构充满了危机,主要有这四个问题:

  • 传统网络部署管理困难。
  • 分布式架构瓶颈出现。
  • 流量控制难真正实现。
  • 设备不可编程

现在的网络厂商


SDN前瞻 传统网络的缺陷

  • 种类繁多的网络厂商。

如何对网络设备进行操作?


SDN前瞻 传统网络的缺陷

  • 从图中可以看到,不同厂商的网络设备混杂在一起使用。
  • 但是不同厂商的网络设备要通过不同的方式进行部署(一般是通过Web和命令行),这就使得,对目前这种鱼龙混杂的网络进行统一配置,是一件很困难的事情。
  • 但是它们的底层协议相同,互操作没有问题。

如何管理这么多网络设备?


SDN前瞻 传统网络的缺陷

  • 目前我们通过搭建在服务器上的网管软件来管理。
  • 比如比如学校利用的就是网管软件,架设在服务器中;网管软件生成网络的拓扑图,知道哪一台PC在哪里,出现故障能够进行报警
  • 主流的SNMP(网络管理协议),更多侧重于监控,而不是分配和部署。也就是说,如果网络出出现故障,通过网管报警,还是需要人为修理。

问题一:传统网络布署和管理非常麻烦


SDN前瞻 传统网络的缺陷

网络设备间如何协同工作?


SDN前瞻 传统网络的缺陷

  • 网络设备之间,大部分都是采用 路由交换协议等 网络协议 来进行信息的交互。
  • 协议的逻辑基础:
    1. 邻居建立
    2. 信息共享
    3. 选择路径
  • 大部分网络采用的是典型的分布式网络架构:设备和设备之间相互交流路由信息,然后根据这些信息建立拓扑信息库,按照一些选路的算法计算路径。
  • 说白了就是接力棒式的流程,你交给我,我交给他。
  • 每个设备都有独立的CPU,独立运算。
  • 协议是 网络设备的语言,相当于人类沟通的语言。

如果网络发生动荡,设备如何交互?


SDN前瞻 传统网络的缺陷

  • 网络设备以接力棒的形式不断告诉下一跳邻居设备,然后将故障的链路删除。
  • 但是可能会有多余的重复的信息。

当流量暴增或拓扑暴增时...


SDN前瞻 传统网络的缺陷

  • 现在的云计算,大数据等互联技术的发展,导致网络中的流量越来越多,几乎以指数增长的形式上升,这使得底层网络设备的数量不断增加,压力越来越大,路由收敛的时间越来越长,效率越来越低。
  • 数据中心网(互联网公司)、电信网(运营商),需要变革的意愿最强。

问题二:分布式架构瓶颈


SDN前瞻 传统网络的缺陷

网络带宽分配如何解决?


SDN前瞻 传统网络的缺陷

  • 目前的负载均衡,并不是真正的负载均衡!下面的案例很大可能出现!

前往同一个目的地的带宽相同的路径A和B,有可能 A 95%的带宽都用于承担数据了,压力非常大,而 路径B 的带宽则只有20%利用率。

SDN前瞻 传统网络的缺陷

  • 这张拓扑时数据中心里是非常容易发生的一件事情,当非常多的数据进来的时候,**并没有完全的实现路径的负载均衡,**这就很可能出现这种很危险的情况:某一个设备,在某一个瞬间压力过大崩溃了
  • 因此,当今网络最大的一个问题之一,就是流量的可视化。现在的流量控制设备,并不能做到对全网,全链路进行流量控制,进行合理的负载均衡

有人可能会问,为什么不使得所有的 交换机和流量控制网络设备,实时监控和共享链路状态信息:是否拥塞,这样的话就能构建成一幅实时的流量图,根据这个流量图来进行流量控制?
虽然这个想法很不错,但是很遗憾,目前并没有一项技术能够支持构造实时的流量图:大部分流量控制设备都是独立进行控制的。

流量可视化难!


  • 常规的网管软件,只能对故障进行监视,无法实现全网全局的链路状态检测。
  • 常规的流量控制软件,只能实现区域化的流量控制,以及区域化的流量可视化。
  • 理想化模型如下

SDN前瞻 传统网络的缺陷

问题三:流量控制是棘手难题!


SDN前瞻 传统网络的缺陷

能否自定义设备的转发策略?


SDN前瞻 传统网络的缺陷

  • 传统的网络设备,工作方式是固定的:不修改目的IP地址和源IP地址,交换机根据MAC地址表进行转发,路由器根据路由表转发(不修改目的IP地址,不修改源IP地址,只修改MAC地址)。
  • 根据业务需求,也就是客户需求,对转发设备的策略进行自定义,这和传统固定的转发策略大为不同:传统是厂商决定,用户很难对固定的策略做出改变;而SDN允许用户通过编程的方式,来实现自定义转发策略,达到一些特定的目的

能否将软件运行在设备上?


SDN前瞻 传统网络的缺陷

  • 我们买来设备的时候,里面的协议已经被订好。我们不能通过安装软件的方式来增加设备的功能。就算能的话我们也要通过重装OS等复杂的手段来实现。

问题四:无法按需,不可编程


SDN前瞻 传统网络的缺陷

总结:这些需求催生了SDN。

点赞
收藏
评论区
推荐文章
blmius blmius
3年前
MySQL:[Err] 1292 - Incorrect datetime value: ‘0000-00-00 00:00:00‘ for column ‘CREATE_TIME‘ at row 1
文章目录问题用navicat导入数据时,报错:原因这是因为当前的MySQL不支持datetime为0的情况。解决修改sql\mode:sql\mode:SQLMode定义了MySQL应支持的SQL语法、数据校验等,这样可以更容易地在不同的环境中使用MySQL。全局s
皕杰报表之UUID
​在我们用皕杰报表工具设计填报报表时,如何在新增行里自动增加id呢?能新增整数排序id吗?目前可以在新增行里自动增加id,但只能用uuid函数增加UUID编码,不能新增整数排序id。uuid函数说明:获取一个UUID,可以在填报表中用来创建数据ID语法:uuid()或uuid(sep)参数说明:sep布尔值,生成的uuid中是否包含分隔符'',缺省为
待兔 待兔
4个月前
手写Java HashMap源码
HashMap的使用教程HashMap的使用教程HashMap的使用教程HashMap的使用教程HashMap的使用教程22
Jacquelyn38 Jacquelyn38
3年前
2020年前端实用代码段,为你的工作保驾护航
有空的时候,自己总结了几个代码段,在开发中也经常使用,谢谢。1、使用解构获取json数据let jsonData  id: 1,status: "OK",data: 'a', 'b';let  id, status, data: number   jsonData;console.log(id, status, number )
Wesley13 Wesley13
3年前
Java获得今日零时零分零秒的时间(Date型)
publicDatezeroTime()throwsParseException{    DatetimenewDate();    SimpleDateFormatsimpnewSimpleDateFormat("yyyyMMdd00:00:00");    SimpleDateFormatsimp2newS
Wesley13 Wesley13
3年前
mysql设置时区
mysql设置时区mysql\_query("SETtime\_zone'8:00'")ordie('时区设置失败,请联系管理员!');中国在东8区所以加8方法二:selectcount(user\_id)asdevice,CONVERT\_TZ(FROM\_UNIXTIME(reg\_time),'08:00','0
Wesley13 Wesley13
3年前
00:Java简单了解
浅谈Java之概述Java是SUN(StanfordUniversityNetwork),斯坦福大学网络公司)1995年推出的一门高级编程语言。Java是一种面向Internet的编程语言。随着Java技术在web方面的不断成熟,已经成为Web应用程序的首选开发语言。Java是简单易学,完全面向对象,安全可靠,与平台无关的编程语言。
Stella981 Stella981
3年前
Django中Admin中的一些参数配置
设置在列表中显示的字段,id为django模型默认的主键list_display('id','name','sex','profession','email','qq','phone','status','create_time')设置在列表可编辑字段list_editable
Wesley13 Wesley13
3年前
MySQL部分从库上面因为大量的临时表tmp_table造成慢查询
背景描述Time:20190124T00:08:14.70572408:00User@Host:@Id:Schema:sentrymetaLast_errno:0Killed:0Query_time:0.315758Lock_
Python进阶者 Python进阶者
10个月前
Excel中这日期老是出来00:00:00,怎么用Pandas把这个去除
大家好,我是皮皮。一、前言前几天在Python白银交流群【上海新年人】问了一个Pandas数据筛选的问题。问题如下:这日期老是出来00:00:00,怎么把这个去除。二、实现过程后来【论草莓如何成为冻干莓】给了一个思路和代码如下:pd.toexcel之前把这