在osi参考模型中,如果路由器检测IP地址不是目标IP地址,是否会将数据丢掉?
先来逐一分析,这种情况到底存不存在?
如果不存在了,这个问题就是空中楼阁。 在局域网里,三层转发设备拥有内网的IP路由表,同时还拥有一条神奇的路由 0.0.0.0/0。三层转发设备如果没有查询到更匹配的路由,将会使用0.0.0.0/0这条路由。这条路由将把IP报文导流到Internet上。
在通向Internet的接入网,三层转发设备也是同样的处理。如果没有查询到更匹配的路由,也会使用0.0.0.0/0这条路由,并将流量导流给上一级网关设备。
流量经过层层导流,最终到达了核心网,核心网路由器是Internet上唯一不需要0.0.0.0/0路由的三层转发设备。它们拥有全球合法的、几乎所有的路由表,核心路由器查询路由表,应该都可以匹配到,然后转发出去。 如果没有查询到,有以下几种可能:
- IP是合法的,但是没有注入到Internet路由表
- IP是保留的,不能用于Internet通信使用
- IP是私有的,不能出现在Internet上
无论是什么可能,只要三层转发设备没有匹配到,会将IP报文丢弃处理。此外,还会给源主机发送一条“Destination Unreachable”错误消息。
同学们会发现,这样攻击核心路由器好像很容易的吗?只要目的IP使用私有、或者保留IP,就可以加那个流量打到核心网,难道网络设计就那么不堪一击?
既然大家都发现了这一漏洞,运营商的设计者们同样也发现了。如何在第一时间将这些非法的流量过滤出去,而不是让它们进入Internet?
当然最好的选择,就是Internet的入口。入口设置严格的流量过滤器ACL,将非法流量拦截出去,这样非法流量压根触碰不到核心路由器的芊芊玉体。
如果局域网和Internet没有连接,局域网的网关没有0.0.0.0/0路由,即使其它路由器拥有0.0.0.0/0这条路由,并将访问Internet的流量集中导流到网关。由于网关没有互联网的路由表、也没有0.0.0.0。所以查询路由器返回值为空,最终会将流量丢弃处理。
还有一种情况,路由器发现目的IP和自己的一个接口在一个网段上,发送ARP广播请求目的IP的MAC地址,如果获得了MAC地址,就可以将流量转发给该目标主机。如果没有获得MAC地址,也是丢弃处理,并给源主机发送一条“Host Unreachable”错误消息。
注:本文转载自车小胖谈网络微信公众号;文内观点仅供参考。
埃文科技——IP定位技术领域专家,最全面、最精准的网络空间地图服务提供商。
公司成立于2012年,专注于网络空间、地理空间和社会空间的相互映射,绘制三位一体的网络空间地图,对网络空间资源的静态属性和动态变化情况进行探测。拥有27项软件著作权及13项发明专利。