首先,将这3个IP地址段转换成2进制,分别是:
59.81.1.128/2800111011.01010001.00000001.1000xxxx
59.81.1.144/2800111011.01010001.00000001.1001xxxx
59.81.1.160/2800111011.01010001.00000001.1010xxxx
黄色部分,一共28位(掩码长度28),Network ID。
蓝色部分,一共4位(32-28=4),“x”代表可以为0或1,Host ID。
将黄色部分(28位)单独拎出来,
00111011.01010001.00000001.1000
00111011.01010001.00000001.1001
00111011.01010001.00000001.1010
它们仨完全相同的部分是什么样子的?
00111011.01010001.00000001.10
一共多少bit位?
26
意味着它们仨的聚合(summary)地址是?
00111011.01010001.00000001.10/26
再将这个2进制转换成十进制,是多少?
59.81.1.128/26
这个summary =59.81.1.128/26将59.81.1.176/28包含进来了。
包含进来了,会有什么问题呢?
当Internet上packet’s destination address位于(59.81.1.176---59.81.1.17.191)范围,会发生什么?
Internet全球路由表,至少有2条路由:
59.81.1.128/26--------- ISP A (老王的大网)
59.81.1.176/28--------- ISP B (老李的大网)
按照IP路由最长匹配原则,当然会优先匹配到ISP B,一点问题没有,到目前为止岁月静好。
突然,老李网络发生了interface flapping,撤销了59.81.1.176/28路由。现在能精确匹配到packet’s destination address就剩下唯一的一条了,它是:
59.81.1.128/26--------- ISP A (老王的大网)
Packet进入ISP A,即老王的大网。
本来应该发给ISP B的packet,发到了ISP A。
Packet到达这个做summary的Router上,为什么?
因为它是谣言(59.81.1.128/26)的源头。
做summary的Router接到packet,怎么做?
当然查路由表,然后根据查询结果继续处理。
summary的Router有到59.81.1.176/28的路由吗?
当然没有了,上文说了,路由已经撤销了。没有路由,直接丢包,这是不幸中的万幸。造成的唯一影响,就是将本该发给老李的,发给了老王,浪费一点带宽和CPU计算资源。
可是,如果summary的Router有一条默认路由0.0.0.0/0?
路由match,将packet继续forward出去。
然后呢?
Packet继续在跑,又到达一个Router,查询路由表,得到
59.81.1.128/26--------- ISP A (老王的大网)
Packet又被forward到做summary的Router身上了,因为它目前是到达59.81.1.176/28 最权威的node,因为谣言是它散播出去的,回旋镖又干回来了。
网络环路了。。。
Packet会在网络的环路里一直转圈圈吗?
不会,因为packet TTL可以确保packet在网络里最多跳255 hop,然后被丢弃。
发生环路,网络带宽急速到达full状态,路由器的Forward Processor CPU急速飙升,会造成大量的无辜的packet丢包(Tail Drop)。
老李的59.81.1.176/28上线了,环路会暂停,因为packet走老李的网络,并到达真正的终点。但是只要这个网段处于flapping, 老王的网络就会发生局部的环路!!!
解决方案
如题主问题所言,3个IP地址段,不能summary成一个IP地址段。
只能将
59.81.1.128/28
59.81.1.144/28
Summary 成59.81.1.128/27。
这就完了?
回答yes的读者,没有充分理解summary造成的潜在loop的风险。
回答no的读者,恭喜!在Routing这块是成功通关的!
还需要在做summary路由器上添加一条路由:
59.81.1.128/27-------- >NULL0
这样就不会因为summary route而造成潜在的loop了。
推荐站内搜索:最好用的开发软件、免费开源系统、渗透测试工具云盘下载、最新渗透测试资料、最新黑客工具下载……
还没有评论,来说两句吧...