MPLS的TTL值的原理及實驗驗證

原創做品,容許轉載,轉載時請務必以超連接形式標明文章 原始出處 、做者信息和本聲明。不然將追究法律責任。http://nanjingzhonglei.blog.51cto.com/5890022/1294804ide


一:MPLS IN BGP的理論spa


no mpls ip propagate-ttl [forwarded|local]3d

注:這條命令只須要在入口PE上配置便可!xml


若是想隱藏公網中P路由器、及出口PE路由器(入口PE除外)不被私網中的traceroute跟蹤發現可以使用該命令。blog

默認狀況下當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生成的流量生效ip

no mpls ip propagate-ttl 對全部流量生效。路由



No MPLS IP Propagate-TTL的原理圖:get

213601502.jpg


二:MPLS IN BGP的理論的實驗驗證

1.PE1上配置no mpld ippropagate-ttl以前後對比:

213603971.png

213606683.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口抓包:

213608418.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抓包

213615267.jpg

3.R1s0/0口抓包:

213617640.jpg

4.R2s0/0口抓包:

213619376.jpg

5.PE2s0/0口抓包:

213622681.jpg

結論:

1.公網ip路由器(不包括出口PE上,由MPLSTTL值從255遞減,IP TTL值不變;

2.出口PE上,MPLSTTL值消失,IP TTL不會變化;

3.入口PE上,IP TTL值會變化,減一。

相關文章
相關標籤/搜索