一:MPLS IN BGP的理论
no mpls ip propagate-ttl [forwarded|local]
注:这条命令只需要在入口PE上配置即可!
如果想隐藏公网中P路由器、及出口PE路由器(入口PE除外)不被私网中的traceroute跟踪发现可使用该命令。
默认情况下当IP数据包到达入口PE时,IP包头中的TTL值在减1后被复制到新插入的标签TTL中。如果使用该命令则不再复制IP包头中的TTL值,而是将标签中的TTL值设置为255. 这样公网的P和出PE就隐藏起来了。
命令:no mpls ip propagate-ttl forwarded 只对流进PE的流量生效
no mpls ip propagate-ttl local 只对本PE生成的流量生效
no mpls ip propagate-ttl 对所有流量生效。
No MPLS IP Propagate-TTL的原理图:
[未命名图片.jpg]
二:MPLS IN BGP的理论的实验验证
1.在PE1上配置no mpld ippropagate-ttl之前后对比:
[未命名图片.png]
[未命名图片1.png]
可以得出结论:在实际的工作过程中,配置该条命令仅仅只会隐藏公网中的IP路由器,并不会隐藏出口的PE,这一点与理论是有不同的。
2.对出接口进行抓包说明:
说明:针对TRACEROUTE 和 PING
1.Traceroute 发包使用UDP,收包使用时ICMP
2.在MPLS环境中,默认的Traceroute值为1
在R1上,traceroute 10.1.2.1(CE2环回口)
1.在CE1 S0/0口抓包:
[未命名图片2.jpg]
结论:
1.UDP由于是不可靠的传输,所以每个包都发送了3次;
2.traceroute 的UDP包,仅仅作为一种探查使用,探查的是到达目标网段需要的TTL值是多少。显然,由于配置了隐藏命令,所以经过PE1,PE2,CE2就可以到达10.1.2.1/32的网段,共3跳;
3.UDP的起始TTL值是1,通过ICMP的回包不可达,累加TTL值,直到累加至可以到达目标网段的TTL值。
2.在PE1口的S0/0抓包:
[未命名图片3.jpg]
3.在R1的s0/0口抓包:
[未命名图片4.jpg]
4.在R2的s0/0口抓包:
[未命名图片5.jpg]
5.在PE2的s0/0口抓包:
[未命名图片6.jpg]
结论:
1.公网ip路由器(不包括出口PE)上,由MPLS的TTL值从255递减,IP TTL值不变;
2.在出口PE上,MPLS的TTL值消失,IP TTL不会变化;
3.在入口PE上,IP TTL值会变化,减一。
阅读(4704) | 评论(0) | 转发(0) |