“SIOCADDRT: Network is unreachable”不可达到底指的什么意思
2016-12-08 16:59
417 查看
引用一下别人的描述
问题描述:
[root@ACONBIO /etc]# route add default gw 192.168.4.1
route: SIOCADDRT: Network is unreachable
解决:
确认所配置的网关是否可以ping通。
网络不可达。配置失败。
----------------------------------------------------------------------------------------------------------------------
上面的解决办法有问题,能Ping通不一定能做路由的下一跳!!!
能ping通,但是当我设置路由的下一跳的时候依然提示错误:
所以我猜测这里所提示的unreachable应该指的是广播不可达,而不是路由不可达:
因为路由下一跳就是给ip数据包提示下一步如何走的,如果你告诉它一个无法直接广播到达的地址的话他就要通过相应的路由去找这个地址,这就等于你要千辛万苦找到“下一跳”(加引号是因为其实它并不是真正的下一跳,因为你是通过对应的路由[这个对应的下一跳反而成了真正的下一跳]才能找到它),然后再问他它去往原目的下一跳如何走... 这显然不合理也难做到,因为有两个目的地址要定位,
一个是找“下一跳”, 一个找数据包的目的地址,但正常情况下ip报文中只有一个目的地址。当然我现在还没有学习源码来验证这个答案,不过有时候合理的猜测也是一种不错的学习方法,尤其是对我这种有强迫症的人,有时不给自己一个合理的解释全身难受,哈哈。
---------------------------------------------------------
问题描述:
[root@ACONBIO /etc]# route add default gw 192.168.4.1
route: SIOCADDRT: Network is unreachable
解决:
确认所配置的网关是否可以ping通。
网络不可达。配置失败。
----------------------------------------------------------------------------------------------------------------------
上面的解决办法有问题,能Ping通不一定能做路由的下一跳!!!
能ping通,但是当我设置路由的下一跳的时候依然提示错误:
所以我猜测这里所提示的unreachable应该指的是广播不可达,而不是路由不可达:
因为路由下一跳就是给ip数据包提示下一步如何走的,如果你告诉它一个无法直接广播到达的地址的话他就要通过相应的路由去找这个地址,这就等于你要千辛万苦找到“下一跳”(加引号是因为其实它并不是真正的下一跳,因为你是通过对应的路由[这个对应的下一跳反而成了真正的下一跳]才能找到它),然后再问他它去往原目的下一跳如何走... 这显然不合理也难做到,因为有两个目的地址要定位,
一个是找“下一跳”, 一个找数据包的目的地址,但正常情况下ip报文中只有一个目的地址。当然我现在还没有学习源码来验证这个答案,不过有时候合理的猜测也是一种不错的学习方法,尤其是对我这种有强迫症的人,有时不给自己一个合理的解释全身难受,哈哈。
---------------------------------------------------------
所以说路由的下一跳一定得是广播可达的,仅仅ping通(路由可达)没卵用!!!
---------------------------------------------------------相关文章推荐
- 通信里 星座图 到底是什么意思
- Perl到底是什么意思?
- 交叉编译: --host --build --target到底什么意思?
- 【转载】VGA/QVGA到底是什么意思?
- “人不为己,天诛地灭”到底是什么意思?
- 当出现『SIOCADDRT: Network is unreachable』 这个错误时,肯定是由于 gw 后面接的 IP 无法直接与您的网域沟通 (Gateway 并不在你的网域内), 所以,赶紧检
- 网络带宽中的Kbps和KB/s到底是什么意思?
- meta-analysis 到底是什么个意思类?
- #ifndef到底什么意思?
- foo到底是什么意思
- 我第一次把一个程序分成多个源文件, 我不知道该把什么放到.c 文件, 把什么放到.h 文件。(“.h” 到底是什么意思?)
- 网络带宽中的Kbps和KB/s到底是什么意思?
- [转载]Tensorflow 的reduce_sum()函数的axis,keep_dim这些参数到底是什么意思?
- css 中的background:transparent到底是什么意思有什么作用
- java中Super到底是什么意思?必须举例说明!
- shell到底是什么意思?
- const char* ptr 到底是什么意思【转载的,从此不再蛋疼】
- MVC路由中routes.IgnoreRoute("{resource}.axd/{*pathInfo}") 到底什么意思!
- super(true)到底是什么意思?
- 英文职位缩写到底代表什么意思[转]