码迷,mamicode.com
首页 > 其他好文 > 详细

对当前网络路由的一点想法

时间:2014-08-18 12:57:22      阅读:196      评论:0      收藏:0      [点我收藏+]

标签:使用   数据   ar   art   问题   div   工作   时间   

五一小长假,和朋友开车去了浙江,发现了“基于目的地的最短距离算法”的弊端,或许就是这个算法导致了快速公路在某个时间段的定期规律性拥堵!
从嘉定出发,G1501一路畅通,可是一旦转到G60沪昆快速,瞬间拥堵起来,实际上,早在G1501上时,就有公告牌,说沪昆快速有施工,可是大家还是全部转到了沪昆快速,留下S19/G15成了被抛弃的摆设...知道原因是什么吗?非常easy,由于沪昆快速那条路近期!人们太相信导航,非常少有人没事研究地图,所以非常多人都上了当,当然这并不包含我。非常多导航都是依据Dijkstra算法计算最短路径的,除了距离权重外,做得好的也会把施工,拥堵等因素作为权重,可是这都不重要,重要的是Dijkstra算法计算的结果会将到达或者经过同一点的全部流量汇聚到一条路线,这就是问题的根本,这样的算法是天生带有汇聚性行为的,这个结果给到达关键节点的某一条路径带来了巨大的压力,这就导致了一到节假日,某些快速公路就会异常拥堵,可是却存在好多好像被人们遗忘的空旷路线。不光是快速公路网,对于城市快速道路网也是一样,好几次,我都是由于不走延安路隧道到浦东,不走南北高架到中环而节省了时间,而延安路隧道差点儿就是从延安路到陆家嘴的最短路径,而南北高架路也是从淮海路到北中环的最短路径。
       通过对照一下眼下的三个大型网络对于理解网络技术是有优点的,它们是快速公路网,铁路网,IP网络。
       对于铁路网而言,火车全然依据铁轨怎么分叉而被导向不同方向,道岔工就像一个路由协议一样工作,可是铁路网的路线是事先规划好的,即它是一种统计复用和分时复用相结合的方式。铁路网的特点是,“数据包”(火车头或者动车组)没有自主性,全然依赖事先配置的路由,可是路由会动态调整,怎样调整对于特定的时间是精确的,比方每天8点10分扳道岔向左,每天16点34分复位。之所以能够将分时复用和统计复用结合,是由于铁路网上没有瞬时突发流量,一切流量都是可控的,就算春运时期,一辆人满为患的列车和平时一辆空车,在铁道看来,都是一辆车。
       对于快速公路网而言,不像铁路网,它本质上是全然统计复用的,可是快速公路网上的“数据包”是自导航自路由的,也就是说往哪里走不受控于不论什么第三方,全在驾驶员本人,仅仅是“最短路径”已经深入人心,才导致全部驾驶员都开往明明知道会堵的地方,实际上多绕一点路,可能会更快到达目的地,距离成本外还要考虑时间成本。随着各种税费的增加,驾驶员往往会自行避开拥堵,除非他使用了一个全然依照最短路径算法工作的导航。快速公路网的路由实际上就是一种策略路由,而策略全然由驾驶员制定(管制期除外)。正是这样的最短距离路由和策略路由相结合的方式使得快速公路往往能够应对突发流量,唯一要注意的是,不要有碰擦等小事故发生,实时的路况信息使快速公路网看起来在执行一种相似CSMA/CD/CA协议。
       IP网络就像是铁路网和快速公路网的合体,数据包怎么走全然依赖路由器的路由表条目,全然没有自主性,IP网络更像铁路网,可是却不像铁路网那样分时复用,在复用方式上,它和快速公路网一样,是全然统计复用的。拓扑变更机制的背后没有道岔工,动态路由协议会自行处理拓扑变更,可是由于数据包没有自主性,路由的这一变更会趋向于将流量导向另外一条路线,要么全来要么全走,这就是IP路由的特点,拥堵在IP网络上的表现为:丢包重传,网络变得比較卡,...在存在大量不确定突发流量的情况下,拥堵更加严重。因此基于目标地址的IP路由面对最短路径算法在大流量时的问题要比快速公路网更加严重。幸运的是,你能够依赖策略路由以及静态路由来略微改变这样的情况。
       尽管眼下看来,全部的这些网络工作得还不错,可是借鉴快速公路网的经验,IP网络的路由也须要做一点改变。
       在可达性是问题的时代,路径不多,因此流量也不多(当然,路径的数量和流量是相互促进的关系,在去浙江的路上,朋友说他小时候从南汇进一趟浦西要一天时间...),确有用一个单一的统一度量来标示每条路径的开销比較简单,因此各种度量加权运算,合并成一个单一的度量,在可达性不再是问题的时代,路径开辟了非常多,各种流量也随之增多,那么将每一种度量分开计算就比单一度量要更科学了,针对每个度量都有一个最小开销,这些度量包含:路径长度,时间开销,丢包率(事故率),拥堵指数,被监控的程度...我们的目的是到达目的地,更快仅仅是一种方式,时间不紧迫时,相同能够选择更舒适的路径,即,在一种度量上的最优路径可能是还有一种度量上的次优路径。以上说的是,当最短路径上的拥堵变成一种成本的时候,就应该考虑下是否用次短路径但最X的路径来平滑这样的拥堵成本了。一味地朝着最短路径走是一种偏执的行为。
       上述的多度量分开的思想有一个前提,那就是要保证线路的数量以及拓扑,一般而言无论是什么网络,一般都须要环线来疏导过境流量,中心辐射线路来分流核心区域流量,同一时候须要横贯/纵贯线路来快速引导核心区域外围一端到还有一端的流量,假设依照这样的模式来考虑,中国的IP网络规划确实不合理,非常多大区核心节点之间没有直接或者隔跳互联,二者通信不得不绕道第四方甚至第N方,这就造成了环路拥堵,Chinanet没有贯线,除了要地之外,差点儿也非常少有辐射线,这非常相似北京的城市道路,上海的城市快速路要更合理一些,辐射线路一般都不是快速路,只是地铁增加进来的话,情况会好非常多。
       除了度量分开选择不同度量的最优路经这样的算法,当前的路由协议假设增加足够的反馈机制也是能够缓解不少问题的,比方路由器在发现自己过境流量拥堵的时候,主动发送IGP链路状态更新消息,阻止额外的流量再流进来,这样做尽管能够缓解,可是仍有两个问题,第一就是会把流量引入别的一条链路,第二就是会造成过多的收敛行为。所以并非说仅仅要一发生拥堵,就宣告链路更新,针对第二个问题,在IGP中引入一个“建议更新”我认为更好,只是这就要再引入一个切断那些“不接受建议”的路由器引入的环路问题。快速公路之所以不会出现环路,是由于驾驶员的路由是自己决策的,只是还真有一些新手或者路盲绕圈的,甚至绕了好几圈才下来...
       对照一下中美两国的IP网络布线拓扑,就会发现非常多不合理的地方,从北京看丹桥机房到美国纽约,出站跳数要远多于入站跳数,反过来从美国纽约到北京,则出站跳数要小于入站跳数。假设是到安徽合肥,则在入站时可能要绕骨干网环路到北京,假设你认为纽约和合肥相比有点不妥,那么我用上海到智利瓦尔帕莱索之间的线路測试,相同在中国的跳数要远大于境外跳数,并且运营商切换AS切换相当厉害,大部分运营商都要承载相当多的过境流量,这就说明,国内IP网络还处在相当0基础的国道阶段,远未达到快速公路的阶段,可是和快速公路的巨量的收费站相比倒是有一拼,一个数据包可能不止要经过一个运营商网络...除了大环之外,局部辐射互联差点儿没有,也没有横贯,纵贯线路,这就仅仅能依照最短路径方案在大环线上堵着并接受检查,除此之外没有其他的方案,个谈不上分开度量选择别的线路了吧。难道这样更能方便审计,更方便wall的效率?我不清楚...当然,由于光速在介质中的损耗以及介质本身的局限,穿越太平洋光缆的时延依旧是比較大的,可是这并非开脱的理由,要知道你在沈海快速上开了一个小时走了100公里,和你在北京北四环开了10分钟走了100米的效果是不一样的。
       我下班回家从来都不是走一条路,而是在几天内循环尝试不同路线,后来公司搬家了,我花了好几天时间走不同的路线上下班,迟到,早到...终于发现了5条路线,在不同情况下分别使用当中的一条,能够使上下班的时间固定在某个时间,因此非常少出现“今天太堵了,所以来晚了”,“今天没挤上车,所以晚了”这样的吐嘈。当然,个人平时没事就喜欢看地图和路况,这多少也能帮我建立策略路由...  
       要说世界上第一个看得见用得着的大规模网络,那就是古罗马的道路网了,在那个纷乱的年代,我认为正是这个道路网维持了罗马帝国对外的霸权和对内的和平,以至于帝国的衰败居然花了300年之久,当网络被拆毁的时候,罗马帝国其实便不存在了...在冷兵器时代,拆掉一个网络居然花了300年,可见这个网络的高可用性设计得多么好。当日尔曼人突破莱茵多瑙防线的时候,这个网络拓扑动态变换,帝国的防御也随之由线型防御转变为纵深防御,在内圈形成新的线型防御,当日尔曼人再次突破内圈时,帝国一分为二,网络拓扑动态更新,但每个部分依旧畅通...值得借鉴吗?实际上,现现在的骨干网自愈环就和古罗马的道路网十分相似...   

对当前网络路由的一点想法,布布扣,bubuko.com

对当前网络路由的一点想法

标签:使用   数据   ar   art   问题   div   工作   时间   

原文地址:http://www.cnblogs.com/mengfanrong/p/3919251.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!