您好,登錄后才能下訂單哦!
Technorati 標簽: MPLS,CCIE,LDP,LDP session protection,收斂
LDP收斂總結Summary:
如果一個有冗余鏈路的網絡,主鏈路down了,那么LDP的收斂時間=IGP的收斂時間.(約等于)
當主鏈路恢復以后,LDP的收斂需要等待IGP收斂完了,LDP才能重新建立鄰居(TCP/UDP 646,建立LPD繪話和鄰居),然后交換標簽.
在中間會出現空檔期,IGP的下一跳和LSP不一致,且IGP鄰居建立好了,LDP的標簽狀態是drop狀態。LSP不完整,最后走IP進行報文的轉發.
------LDP會話保護,可以解決主鏈路恢復以后的空檔期的問題.
那么問題來了,有沒有一種技術,在冗余鏈路的網絡環境中,當IGP的鏈路一恢復以后,那么LDP就立即恢復呢?--下面是LDP的高級feature,所有細節都會涉及到.
LPD的計時器:
當然是有技術能保障LDP的收斂,該技術是LDP的高級feature.
對于日常應用來說,其實不需要修改LDP的任何計時器.
Directed LDP 鄰居:(LDP直連鄰居,監聽組播224.0.0.2)
session hold time=180s, keepalive=60s.----這兩個時間是針對TCP連接的時間.
mpls ldp holdtime
Discovery hello: hold time =15s, interval=5s. -------這個是UDP的hello包.當鄰居建立之前和鄰居建立之后.
需要用UDP的hello進行飽和。來感知鄰居的存在.
命令: mpls ldp discovery hello holdtime xxxx
mpls ldp discovery hello interval xxxx
Targeted LDP鄰居:
下面的計時器,是用于非直連的LDP鄰居之間的建立所用的計時器:
我們知道,LDP的建立,發送的是224.0.0.2的組播,然后直連路由器監聽該組播端口,然后建立LDP鄰居.但是如果是非直連的話,只能發送單播進行鄰居的建立和飽和。
所以targeted LDP鄰居不能自動發現,需要手動定義.
holdtime=90s interval=10s.
命令:
ldp discovery targeted hello holdtime xxx
ldp discovery targeted hello interval xxx
LDP的認證:
LDP的認證采用的是MD5的散列算法進行加密:
mpls ldp neigbhor 22.1.1.1 password Hank
22.1.1.1是鄰居的router-id,后面配置密碼,采用md5.
直接在全局下面配置的.
注意:
當我們的LDP鄰居已經起來以后,再配置密碼,這個時候不管是否鄰居是否超過holdtime,都不會down掉.因為鄰居已經建立好了,而keepalive也一直都是進行飽和的,只要鏈路沒有問題,那么鄰居永遠不會down掉,所以配置密碼需要在ldp建立鄰居以前做認證.
LDP的自動配置(auto config):
該功能運行以后,就不需要再在接口下面打上mpls ip.
例如路由協議是ospf:
router ospf 1
mpls ldp autoconfig area x
network 0.0.0.0 255.255.255.255 a 0
exit
這樣的話,就可以讓該路由器所有處于OSPF的接口自動運行mpls ip,并且運行LDP協議.
建立LDP鄰居.
如果在IGP路由進程中配置了mpls ldp autoconfig,就算在接口下面no mpls ip都不行,系統會給一個提示:
這個時候需要在接口下面no mpls ldp igp autoconfig才能將該接口移除了.
LDP會話保護:(LDP收斂的高級feature)
-----LDP快速收斂
R1到R5有兩個路徑:
主用鏈路:R1--R2--R4--R5
備用鏈路:R1--R3--R2--R4--R5
當主用鏈路R1--R2 down掉了。這個時候IGP會在核心路由表刪除R1到R5下一跳的R2路徑.當IGP收斂以后,因為LDP數據庫中有R3分配過來的標簽,所以當主用鏈路down了,那么IGP的收斂時間約等于LDP的收斂時間.
當主用鏈路恢復了,那么首先R1和R2需要建立IGP的鄰居.
當R1和R2 IGP鄰居建立好以后,R1和R2的LDP才開始建立鄰居。這中間IGP和LSP的路徑不一致,最后導致的結果是:
當R1和R2的主用鏈路恢復以后,R1和R2的IGP鄰居建立好以后,R3分配給R1的標簽會立即將狀態切換到Drop.標簽是不可用的。這個時候再來報文,R1因為沒有MPLS標簽,而會直接走IP進行轉發.這樣實際上是沒有走MPLS的.
要解決這個問題,有兩種方式:
1) LDP的會話保護
2) LDP,IGP同步時間縮短.
LDP鏈路保護:(targeted LDP)
Session protection
主鏈路故障,down了:
R1---R2---鏈路OK, LDP neighbor OK.Targeted LDP.
R1---R2---鏈路down掉,那么IGP收斂(R1和R2的LDP鄰居關系不會down掉,因為是target LDP).
R1到R5,路徑為R1-R4-R2-R3-R5.(LDP收斂約等于IGP收斂)
主鏈路恢復:
R1和R2 IGP收斂.那么R1到R5的下一跳一定會變成R2,這個時候,從LDP binding 表中把R2分配給我關于55.1.1.1/32的標簽再次裝載到MPLS Forwarding table中去,這樣LDP就完成了收斂.
Summary:
用targeted LDP,當主鏈路恢復的時候,幾乎LDP的收斂時間可以等于IGP收斂時間,或者說略長于IGP的收斂時間.因為LDP不用重新建立鄰居. 這就是Targeted LDP neighbor的好處.
解決方案:在LDP鄰居兩端啟用target LDP session, 實現跨越多跳來維持session.
配置方法:
1, 在所有支持session保護的路由器上面配置:mpls ldp session protection
2, 在不支持session保護的路由器上面配置: mpls ldp discovery targeted-hello accept
會話保護的意思:主鏈路恢復以后,IGP收斂完成以后,需要LDP建立鄰居,這里會話保護和targeted LDP neighbor技術可不重新建立鄰居.這樣就大大縮短了LDP收斂時間,因為LDP不需要重新建立鄰居,只需要重新裝載MPLS Forwarding table的標簽.
試驗:
在R1和R2上面,全局打上:mpls ldp session protection
這樣一來, 其他的配置和以往一樣.
現在來觀察一下現象.
R1要到R5的55.1.1.1/32,首選的路徑是R1-->R2-->R3-->R5
在主用鏈路正常的情況下,我們看看R1的表項:
下面可以看到,標簽,R2和R4都分配了標簽給R1.
在R1上面show mpls ldp nei,可以發現,R2顯示的是Targeted hello 11.1.1.1-->22.1.1.1, active.passive
現在將R1和R2的鏈路shutdown.
這里當R1的e 0/0 shutdown以后,LDP鄰居不是down掉,而是hold up.
這個時候再看看R1的標簽數據庫,我們驚訝的發現,R1和R2的鄰居雖然down了,但是系統還是保留了R2為55.1.1.1/32分配過來的標簽:
而且R1的LDP鄰居,11.1.1.1到22.1.1.1還是繼續保留的:\
但是這個時候,在R1的MPLS標簽轉發表,因為IGP已經切換到R4為下一跳了,所以MPLS標簽表也切換到了R4分配的40x的標簽:
鏈路恢復,R1的e 0/0做no shutdown的操作:
這里可以看到,LDP鄰居恢復成功.
IGP ospf一旦收斂以后,LDP要做的事情不是建立鄰居,因為LDP鄰居從頭到尾就沒有down過.
LDP要做的事情就是將之前保留在LDP數據庫中的R2分配過來的標簽再次裝載進入MPLS 標簽轉發表中就能達到快速收斂的效果。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。