Netexpert FAQ 网络分析专家学习建议入口 @netexpert成员申请指南
netexpert积分规则的说明 Netis招贤纳士(2008年11月22日更新)
发新话题
打印

路由跟踪中出现私有地址的问题?

路由跟踪中出现私有地址的问题?

今天无意中跟踪了一下www.sina.com.cn的地址,结果显示如下,其中第12条记录的地址是10.92.1.2,这应该是一个保留地址啊,不解,高人指导下:)
1    <1 ms    <1 ms    <1 ms  192.168.2.1
2     1 ms     1 ms     1 ms  192.168.0.1
3    13 ms    13 ms    16 ms  222.210.192.1
4    40 ms    55 ms   114 ms  220.167.24.21
5   125 ms    65 ms   105 ms  221.237.185.77
6    56 ms    12 ms    11 ms  221.237.185.21
7   163 ms    51 ms    16 ms  222.213.1.177
8   131 ms    21 ms    11 ms  202.97.42.33
9    96 ms   176 ms    54 ms  202.97.35.181
10   169 ms   157 ms   209 ms  202.97.35.230
11    92 ms   124 ms    94 ms  218.30.19.66
12    86 ms    82 ms   132 ms  10.92.1.2
13   161 ms   121 ms   153 ms  218.30.13.33
渴望在最寂静的角落被最热烈的声音包围。

TOP

没什么的啊,中间可以有互联IP,也就是只用于设备的连接,当然有可能存在私网IP
一般来说,只要IP地址充裕,即使是接口IP也会是公网地址,管理也方便
但是如果配置公网IP不方便,或者条件不允许,自然会出现私网IP互联了

TOP

公私地址只是个约定而已,路由器可不管你是私有公有,哈哈

TOP

发表一下个人的见解

我自己TRACE了一下 218.30.13.33 数据如下:

13     *        *       63 ms  202.97.35.230<--------------
                                                                              |
14    63 ms    62 ms    79 ms  218.30.19.66                 |
                                                                              |
15     *       47 ms     *     218.30.13.33                      |
                                                                              |
PATHPING  218.30.13.33  的数据如下:                       |
                                                                              |
12  218.30.19.242                                                    |
                                                                              |
13  202.97.35.230<------------------------------------------------

14  218.30.13.33


发现 202.97.35.230 和 218.30.19.66 的下一跳都可以是 218.30.13.33

给我的第一个感觉就是去 218.30.13.33 的路由很不稳定,似乎存在抖动的迹象。

以后又多TRACE了几次,发现路由的确不稳定。

如果不是抖动,那么是不是由于  218.30.19.66  是一个有特殊作用的节点呢?

突然想起 DragonGo 提过的“路由牵引”的概念了........思考中.........

但是依旧没有发现中间有  “10.92.1.2”  的节点。

首先我认为在 TRACERT 中间出现 10.92.1.2 的地址肯定是不正常的

从楼主的数据看,218.30.19.66 上有去 10.92.1.2 的路由表项

并且 10.92.1.2 可以PING通.....个人认为是非常不可思议的.........

建议楼主TRACE一下 10.92.1.2 看一看结果......

个人觉得象是显示错误,或者是TRACERT的 BUG ....

[ Last edited by lockets on 2005-6-8 at 18:54 ]
I've seen it all ...

I've seen the dark ...

I've seen the brightness in one little spark ...

i've seen it all ... and there is no more to see ... ...

TOP

引用:
Originally posted by lockets at 2005-6-8 18:43:
发表一下个人的见解

我自己TRACE了一下 218.30.13.33 数据如下:

13     *        *       63 ms  202.97.35.230<--------------
                                                           ...
traceroute里显示的地址其实是 traceroute back的那个包里的源地址。
因为一般的路由都是基于目标地址路由(DBR),所以trace back回来显示是私有地址很正常的,哪怕是127.0.0.1也不需要觉得奇怪。

traceroute的地址为什么会是私网呢? 路由器的多端口多IP的配置,load balancing的配置等都会引起这类情况。

目标地址路由意味着源地址未必能够直接反向连接到,在楼主的案例里,这个10....的IP如果直接ping,也应该是ping不通的。

TOP

看了Vader 的回复以后,很受启发。仔细的思考了一下,的确想清楚了一些问题,

于是把想法再贴出来请大家继续指正:

“traceroute里显示的地址其实是 traceroute back的那个包里的源地址”。

的确, TRACERT 生成的数据其实就是中间路由器在企图转发到目的地址

的ICMP报文的时候,突然发现TTL expiration 。于是发送一份ICMP差错报文

到组装这个数据包的源地址(即:差错报文的目的地址为原数据包的源地址)。

关于这个差错报文的源地址,RFC这样规定:“返回ICMP报文中的源地址

是数据包到达路由器接口的IP地址...”。并且TCP/IP详解中介绍TRACERT

的时候应该也有类似的话(不过TCP/IP详解说的是UDP实现的TRACERT)

这个ICMP差错报文的源地址其实就是traceroute里显示的地址。

那么在楼主的案例里,有10....的IP出现在这个源地址里........

假设所有的中间路由器都严格按照RFC实现(协议一致性良好)的情况下

只能说明一个问题,就是有某个路由器的接口上配置了“不允许配置”的保留地址

当然只要他们不将这个保留地址的直连路由重分配给路由协议就没有问题。

(其实仔细想想就算重分配了别人也不会用的应该)

Vader的意思实际上是不是说,在实际配置中时常会出现这种  两台路由器之间

“偷偷的”使用私有地址这样的事情啊?

(我比较缺乏实际环境的经验,问这样的问题大家别笑我哈~)

[ Last edited by lockets on 2005-6-9 at 10:28 ]
I've seen it all ...

I've seen the dark ...

I've seen the brightness in one little spark ...

i've seen it all ... and there is no more to see ... ...

TOP

很多这种例子了,但这种ip地址的路由都不会发布出去。

TOP

引用:
Originally posted by lockets at 2005-6-9 09:46:
看了Vader 的回复以后,很受启发。仔细的思考了一下,的确想清楚了一些问题,

于是把想法再贴出来请大家继续指正:

“traceroute里显示的地址其实是 traceroute back的那个包里的源地址”。

的确, TRA ...
私有地址确实被很广泛地应用在现实路由环境中。 例如两个路由设备串接,中间的网段没有任何其他node,这样的话这串接的两个端口的IP其实对外没有任何意义。这时候,大多数网络管理员都会直接赋予两个私有地址。

TOP

看来这样的配置还真是很常见的啊?~~~:)

感觉这样的配置虽然节约了地址,但是却会导致 TRACE 出没有意义的地址

如果TRACE 在实现的时候规定,生成的 ICMP 差错报文使用可以唯一标识网络节点

的某个LOOP接口的IP地址作为 源地址发送就好了~~

不过问题却是系统本身并不知道哪个LOOP可以担此重任,或者根本没有这样的接口...

真是一个两难问题啊......( -_-)

再次感谢 Vader 的讲解~~~:)

[ Last edited by lockets on 2005-6-9 at 19:03 ]
I've seen it all ...

I've seen the dark ...

I've seen the brightness in one little spark ...

i've seen it all ... and there is no more to see ... ...

TOP

看了各位的回答,明白了一些.
再次TRACE,再次出现私网地址10.92.1.2,但这时PING10.92.1.2是不通的,个人认为这是正常的,当网关收到PING10.92.1.2的请求时,应该是没有路由可以到达的,自然就目标不可达了.
仍然存在的一点疑问,traceroute back的那个包里的源地址为何为私有地址,即使它在接口上配置了该私有地址,实际上它也应该有一个公网地址啊,不然它怎么与公网上其它地址通信呢?在同时具备公网地址和私网地址的情况下,为何它用私网地址作为traceroute back的那个包里的源地址?
非常感谢多位的回答:)
渴望在最寂静的角落被最热烈的声音包围。

TOP

由于一个接口上只能配置一个IPV4地址,并且RFC规定:返回ICMP差错报文中的源地址

是数据包到达路由器接口的IP地址...如果配置了私有地址的接口上交了一个自减后TTL

失效的数据包,由于数据包是这个接口上交的,那么 traceroute back 包里的源地

址就会被填为私有地址了~~:)
I've seen it all ...

I've seen the dark ...

I've seen the brightness in one little spark ...

i've seen it all ... and there is no more to see ... ...

TOP

明白了,感谢中...
渴望在最寂静的角落被最热烈的声音包围。

TOP

进入路由器了
12    86 ms    82 ms   132 ms  10.92.1.2
×× 另一路由器地址也应该是10.92.1.*
13   161 ms   121 ms   153 ms  218.30.13.33

TOP

再看看!

只要你知道traceroute的原理,我觉得还是比较好理解:
说说我的看法吧,欢迎大家指正哈:

1、私网地址可以在internet上使用,因为是私网地址,网络上肯定是没有到这些网段的路由的,因此直接访问是不可能的。

2、私网地址在公网上的使用,自身没有多大价值,一般是便于私有网段主机通过nat访问公网才接入。珍惜有限ip资源,节约成本舍。

3、中间出现私有地址,说明只是用私有地址做了一个‘桥’。就拿楼主的例子来说吧,我们的icmp请求报文经过中间各个网关的路由功能路由后,到了具有私有ip的路由设备上,而这个设备也有到目标的路由,我们都知道,trace的ttl都是从1开始逐渐增加的,比如现在是ttl=12,每经过一个路由设备转发,ttl就减1,到10这个私有ip设备时ttl=0,那么这个数据包寿命就完了,这个时候icmp将发出一个出错响应(大家可以通过抓包看到icmp应答报文中除了自身正常的ip头和icmp头外,紧接着又包含了上一次icmp请求报文的ip头以及icmp头信息)。这时就把该设备的入口私有地址作为icmp应答报文的原地址返回你的PC,从而告诉你下一跳是哪里!

4、接下来开始trace下一跳,当然icmp的目标地址还是没有变(寻找每一跳时都会发送到目标的icmp请求报文),当然这次报文还是经过多次转发到了私有ip的路由设备上,而具有私有地址的路由设备有到目标的路由,那么经过该路由该路由设备继续转发到下一跳,而下一跳又是公网地址了,这就是我们看到的。

总之,我们访问我们的目标,并不是需要有到中间经过的所有路由设备的路由,既然是这样,为什么不能用私有地址呢!只不过,你运气比较好,你所在地访问你的目标和其他不同地方访问同一个目标的路由是不同的,因此你在trace的时候遇到私网,而我在trace的时候却没有遇到私网,就是这个道理哈。

说了这么多,可能还是没说清楚哈,其实只要大家对路由比较熟一点,然后画一个网络图出来想想就明白了,当然前提是你对traceroute工作机制有一定的了解哈!

还不明白的话,可以想想这个问题:是不是到目标的每一跳都要能ping通,才能ping通目标ip呢?

答案是:不是
那么这就是上边问题的答案了。如果还不明白,建议再看看路由工作机制哈。

TOP

我在trace文件专版栏里放了一个tracert报文,是tracert www.sina.com.cn的,有兴趣可以去看看!

TOP

其实很简单。何必理解的这么麻烦?
10的地址是一个私网地址,对于公网来说根本没有任何实际意义,就是数据包经过了路由器两端的连接地址而已,如此来浪费2个公网地址岂不是很浪费?!

TOP

网关,桥接两个路由器!
不知道理解的对不对?

TOP

发新话题
版块跳转