既然网络环路会导致网络风暴从而造成网络堵塞,甚至破坏设备。那么为什么运营商的传输网络为什么都是环形拓扑?他们又是怎么避免网络风暴的呢?
重复一遍原题:
网络环路会导致网络风暴从而导致网络堵塞,甚至破坏设备。为什么运营商网络都是环形拓扑?
题目的前提假设是不严谨的,但这句话确实是出现在了计算机网络教材中。我们大学的教材跟当前技术的发展脱节严重,往往学的都是十几年,甚至几十年前的知识。
不偏题,这个问题也曾经困扰过我。随着对网络学习了解的深入也就不是问题了。
首先,什么是网络风暴?
百度中解释,由于网络拓扑的设计和连接问题,或其他原因导致广播在段内大量复制,传播数据帧,导致网络性能下降,甚至网络瘫痪。
这段描述很清楚了,网络风暴是因为广播报文在 段内 大量复制而引起的。如题主所展示的这样的网络拓扑中,路由器连接成环,所有的路由器接口不可能在同一网段内,所以绝不会引起网络风暴。
路由器是三层概念的设备,一个网段内部的问题是二层概念的问题。
那么连成环的路由器会不会产生环路,而产生其他网络问题呢?理论上是有可能的。
最少连成环的设备至少有三台,我们假设A→B→C→A这样的设备三台物理上连成环,每两台设备互联的端口属于唯一的同一网段,不会产生二层网络风暴。但是在三层就有可能产生问题。
在某些特定状态下,A认为到达C的最佳路由是经过B,而同时B记录的到达C的最佳路径是经过A,这样就产生了路由环路。出现网络故障。
但为什么运营商的网络还是会组成环状的呢?
因为我们有一个非常好用的路由协议OSPF,开放最短路径优先路由协议。在所有环内的路由器之间运行OSPF,在任意两点路由器之间,均可以选择最优路径,同时将次优路径优先级降低而作为备份,当网络拓扑发生变化时,路由协议实时自动收敛,计算出变化后的最优路径。
依靠这样的路由协议,在成环的网络中,既可以保证网络不出现拥塞或者中断,也可以在网络物理线路,网络拓扑发生问题时,保证任意两点间可达。
实际运行中的网络拓扑要比图示中的还复杂一些,互为主备,如何成环,哪些成环,都是非常复杂的网络设计和优化。学习计算机网络是一件非常有趣的事情,也是越深入越感觉自己懂的太少。
环形可以提供业务保护,又能尽量少架设光缆
广播风暴只会发生在以太网的数据链路层,在网络层是不会发生的
学一下最高赞,重复一遍原题。不是我阴阳怪气,是我真的要重复一下原题。
既然网络环路会导致网络风暴从而造成网络堵塞,甚至破坏设备。那么为什么运营商的传输网络为什么都是环形拓扑?
好,问题来了,是传输网。所以我可以无视最高赞的所有回答(虽然讲的完全没到点子上),专门来讲传输网。
先看看楼主的图。这应该是3G网络的接入架构图(UTRAN,RNC+Node B组成),我给修了一下。
先解决楼主的问题1,如何解决网络风暴。
网络风暴说简单不简单说难不难,两个口switch模式进行短接,也就是成环,就能发生。但是RNC由于没有交换功能,两个口短接也搞不出网络风暴来。
楼主问题2,为什么传输网要成环。
之前有答主提到一些,这里不再赘述,就打个比方。
网上买东西,店家将东西装好,发快递给你(基于TCP/IP的数据到了RNC)。快递不管你这是什么东西装了车再说(从RNC到传输层),再通过大中转站转到县市级小中转站(10GE PTN汇聚环),最后通过小中转站到快递门店(GE PTN接入环),最后让快递小哥(Node B)交给你。
接下来继续打比方。我所在的市,修了个绕城高速。中途有12345五个出口,出口1-2接了去省会的高速公路,3-5是乡下出口(对应GE PTN的接入环)。有一天下大雨,把出口2-3之间的路给冲烂了,车开不了(表示缆断了)。这个时候从3出口到2出口,绕远路(3-4-5-1-2)也可以走得通(也就是我们说的倒换)。后面雨越下越大,把5-1的路也给冲垮了,这样345这几个地方的车就彻底走不出去了(第一边开环后第二边开环,然后就脱管了)。
仓促码字,大概就这样,想到其他的地方还会补充。
很多都是强答啊,正确的答案反而被挤到了最后。
为什么会有广播风暴,因为要广播啊,
然而运营商的基站用PTN业务通常是是固化的通道,
也就是第七个答案中的tunnel
虽然如此,
实际上还是无法避免广播风暴,
有两种场景,
一种是ptn仅作为单纯的管道,
远端的网络设备例如olt或者客户测交换机之类的产生环路,那么整个数据网层面发生广播风暴,ptn把广播帧也作为业务来传输。
另一种是网络切分没做好,规划的不合理导致。
所以需要开启环回检测、广播报文抑制,以及合理的网络规划,严谨的操作,尤其是大型网络调整割接之类的场景。
题主的想法其实挺好的,只不过这个问题下的几个回答都没有答到点子上。
问题的核心在于:传输网络必须不能做成环形,这只是以太网的限制。比如早期的令牌环网(Token-ring network),还必须得做成环形。
虽然以太网现在一统天下,但哪怕是两个以太网交换机之间,也不一定接的就是以太网啊。
比如这是四台以太网交换机,大声回答我,它们之间连的那是以太网吗?
明显不是以太网对不对。这个其实是stack交换机,就是把几台交换机叠(stack)起来,让它用起来“像”一台交换机,交换直接连接的电缆和接口还有协议都是厂商私有的。顺便说一下,stack还可以继续叠,比如下面这样的。
你可以仔细看一下这两种接法,是不是就是一个环?都看到这了估计你的问题答案自己也能猜到七八分了,不过我们还是把这个事好好解释一下。
为什么要做stack呢,因为现代的网络讲究扁平化(fabric)。什么叫扁平化?翻译成人话就是最好所有的东西都接到一个巨型的交换机上,这样容量又大,速度又快,成本又低,管理还方便。
运营商自然也要顺应潮流啊。但运营商据点众多,又没办法真的弄一台巨大的物理交换机出来。既然不可能弄个物理的出来,就弄个虚拟的吧,所以相对来说类似stack的方案则更适合运营商一些,但话虽如此,你也不能真弄一根几十公里长的stack电缆不是?不过啊,远距离方案vendor早就给你做好了,只要你把这些交换机拿根光纤串起来就能用了。
比如Apresia的MMRP和FCRP。
比如现在挺火的ROADM
当然,像这样的私有协议的网络基本上是不通用的,买了一家的产品基本上几十年就换不掉了。
至于为什么用环,你能用full-mesh(全连接,所有节点之间都有直接连接)当然是最好的选择喽,但成本太高,所以环就是一个second good choice,比其他方案都好。
另外虽然以太网逻辑上不能有环形,但谁也没说物理上不能接成环形啊。
最早有STP协议,插上线之后交换机先监听,发现有环就不会进入转发状态。你说为啥非得插成环形?当然是一根线断了我们可以切成另外一根喽。
后来大家觉得,反正你都插两个线了,一根闲着也是闲着啊,就让它也传数据吧,这就有了把多跟线虚拟成一个线的技术,叫链路聚合(link aggregation)。
再后来又觉得链路聚合只能两台交换机直接多插几个线,这不cool,能不能再给力一点?于是就有了多台交换机之间可以插多根线的技术叫MC-LAG(Multi-chassis link aggregation group)。
不能有环的原则更多还是用在家庭,网吧这种网络相对简单的末端位置,上层一点的部分为了冗余性(网络连接性)线是一定要多插几根的。
有问题欢迎留言。