APP下载

黑洞路由在星形网络中的应用及效果

2020-11-10尹卫峰

科学与财富 2020年27期
关键词:网段公网环路

摘要:在网络维护中,有一种常常被技术人员忽视的网络故障叫“路由环路”,路由环路也会跟其它网络故障一样占用网络带宽,消耗设备资源。黑洞路由能很好地解决路由环路问题,而且比用ACL系统负载更小。

关键词:路由环路;黑洞路由

1     前言

中原通信网络结构分二层和三层,二层就是简单的VLAN透传,三层有OSPF动态路由协议和RIP协议。OSPF在宽带数据核心网和传输环网中使用,而大部分专网更多使用的是RIP协议中的静态路由,毕竟网络结构简单,源地址到达目标地址路由跃点数不超过5跳。

在网络维护中,有一种常常被技术人员忽视的网络故障叫“路由环路”,因为宽带数据核心网采用动态路由协议居多,OSPF的链路状态算法不会产生路由环路,只有RIP采用距离向量协议的静态路由才会发生,所以很少有人留意这个问题,但路由环路也会跟其它网络故障一样占用网络带宽,消耗设备资源。

那么路由环路是如何产生的呢?这是一种在网络边界做汇总回程路由的时候出现的现象,有一些网段并不在内网中存在,但是又包含在汇总后的网段中,如果在这个汇总的边界设备上同时还配置了缺省路由,就可能出现这个问题。这时,如果有数据包发向那些不在内网的网段(但是又包含在汇总网段)所在的路由器,根据最长匹配原则,并没有找到对应的路由,只能根据默认路由又回到原来的路由器,这就形成了环路,直到TTL值超时才丢弃,然后如此反复。这样用户的数据包就不停在网络上循环发送,最终造成网络资源的严重浪费。

2     何为黑洞路由?

黑洞路由主要是指指向null接口的路由,null接口是一个虚拟的接口无法被配置IP地址,它是将所有无关路由吸入其中,使它们有来无回的路由,是需要主动建立的路由条目。转发到该接口上的数据包都会被丢掉,所以对于所有可能产生路由回路的路由都加上一条黑洞路由。

如果同样的功能用ACL(地址访问控制列表)实现,则流量增大时CPU利用率会明显增加。所以,设置黑洞路由一直是解决固定DOS攻击的最好办法。相当于洪水来临时,在洪水途经的路上附近挖一个不见底的巨大深坑,然后将洪水引入其中。黑洞路由最大的好处是充分利用了路由器的包转发能力,对系统负载影响非常小。

3     黑洞路由在星形网络中的应用

3.1  配置R1,R2,R3,R4及loopback口

R1:

interface Ethernet0/0/0

ip address13.1.1.1255.255.255.0

#

interface LoopBack0

ip address10.1.1.1255.255.255.0

#

ip route-static10.1.0.0255.255.0.013.1.1.3

ip route-static34.1.1.0255.255.255.013.1.1.3

此外、还有R2、R3、R4

3.2  断开R2和R3之间的链路,用R4路由跟踪R2

在R3的接口断开之后,当R4上ping10.1.2.1,R4上会根据第四条路由去R3,到R3后查询第二条路由表之后是到R4的,如此循环往复就出现了环路。wireshark抓包结果:ping5个包,但是wireshark抓包抓取了1280个包。

3.3  构建静态黑洞路由后的结果

[r3]ip route-static10.1.0.016NULL0

tracert-a10.1.0.110.1.2.1

traceroute to10.1.2.1(10.1.2.1),max hops:30,packet length:40,pressCTRL_C

to break

正常黑洞路由的掩碼要比R3上的这条[R3]ip route-static10.1.2.0255.255.255.023.1.1.2的路由的掩码要长,因为根据路由器查看路由表的最长匹配原则,掩码越长越优先匹配。即使R2和R3的断了的接口恢复了,发往10.1.0.0/16的报文也不会再匹配黑洞路由,因为黑洞路由的掩码比R2上的网段的路由掩码要短。

4     黑洞路由在防火墙NAT中的应用

NAT地址池地址是202.1.1.10,防火墙与路由器互联接口地址的掩码是30位,与NAT地址池地址不在同一网段。防火墙上配置了一条缺省路由,下一跳是202.1.1.2,这样就能把私网PC访问公网Server的报文送到路由器。为了保证公网Server的回程报文能够顺利到达防火墙,路由器上还要配置了一条到NAT地址池地址的路由。

正常情况下,私网PC访问公网上的服务器Server,生成会话表,源地址也进行了转换,业务很正常。因为NAT地址池只有在转换私网地址的时候才会用到,也就是说,私网PC必须先发起访问请求,防火墙收到该请求后才会为其转换地址,NAT地址池地址并不对外提供任何单独的服务。所以当公网PC主动访问NAT地址池地址时,报文到达防火墙后,无法匹配会话表,防火墙肯定就会把报文丢弃了。如果在防火墙的GE0/0/1接口抓包,然后再次在公网PC上执行ping202.1.1.10命令发送一个ping报文。

抓到了大量的ICMP报文,而且报文的TTL值逐一递减,直到变为1。TTL是报文的生存时间,每经过一台设备的转发,TTL的值减1,当TTL的值为0时,就会被设备丢弃。这说明公网PC主动访问NAT地址池地址的报文,在防火墙和路由器之间相互转发,直到TTL变成0之后,被最后收到该报文的那台设备丢弃。

(1)     路由器收到公网PC访问NAT地址池地址的报文后,发现目的地址不是自己的直连网段,因此查找路由,发送到防火墙。

(2)     防火墙收到报文后,该报文不属于私网访问公网的回程报文,无法匹配到会话表,同时目的地址也不是自己的直连网段(防火墙没有意识到该报文的目的地址是自己的NAT地址池地址),只能根据缺省路由来转发。因为报文从同一接口入和出,相当于在同一个安全区域流动,缺省情况下也不受安全策略的控制,就这样报文又从GE0/0/1接口送出去了。

(3)     路由器收到报文后,查找路由,还是发送至防火墙,如此反复。

5     总结

如果不处理这种路由环路,无数的报文就会在防火墙和路由器之间循环转发,占用链路带宽资源,同时防火墙和路由器将会消耗大量的系统资源来处理这些报文,就可能导致无法处理正常的业务。当防火墙上NAT地址池地址和公网接口地址不在同一网段时,必须配置黑洞路由,避免在防火墙和路由器之间产生路由环路。

6     结论

路由环路在实际的网络组网和维护中时有出现,通过设备日志通常看不出来,表面上似乎对业务没啥影响,但环路对网络和设备的资源消耗是实实在在存在的。从网络精细化管理的角度,路由环路必须消除,如果遇到大数据量请求或者有人恶意DDOS攻击,势必会造成网络链路拥塞,从而导致业务崩溃。黑洞路由的配置并不复杂,但关键是要搞清网络结构,适时使用,彻底消除网络隐患。

作者简介:

尹卫峰(1972年12月出生),男,工程师,从事油田通信网络技术工作.

猜你喜欢

网段公网环路
浅析大临铁路公网覆盖方案
公网铁路应急通信质量提升的技术应用
单位遭遇蠕虫类病毒攻击
网上邻居跨网段访问故障
上海市中环路标线调整研究
基于公网短信的河北省高速公路数据传输应用
Onvif双网段开发在视频监控系统中的应用
我国警用通信专网与公网比较研究
Buck-Boost变换器的环路补偿及仿真
单脉冲雷达导引头角度跟踪环路半实物仿真