LDP的快速收斂---LDP會話保護(高級feature)

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.

clip_image002

對於日常應用來說,其實不需要修改LDP的任何計時器.

Directed LDP 鄰居:(LDP直連鄰居,監聽組播224.0.0.2)

clip_image004

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鄰居之間的建立所用的計時器:

clip_image006

我們知道,LDP的建立,發送的是224.0.0.2的組播,然後直連路由器監聽該組播端口,然後建立LDP鄰居.但是如果是非直連的話,只能發送單播進行鄰居的建立和飽和。

clip_image008

所以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.

clip_image010

直接在全局下面配置的.

注意:

當我們的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鄰居.

clip_image012

如果在IGP路由進程中配置了mpls ldp autoconfig,就算在接口下面no mpls ip都不行,系統會給一個提示:

clip_image014

這個時候需要在接口下面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的收斂時間.

clip_image016

當主用鏈路恢復了,那麼首先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)

clip_image018

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的標籤.

clip_image020

試驗:

clip_image018[1]

在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

clip_image022

現在將R1和R2的鏈路shutdown.

clip_image024

這裏當R1的e 0/0 shutdown以後,LDP鄰居不是down掉,而是hold up.

這個時候再看看R1的標籤數據庫,我們驚訝的發現,R1和R2的鄰居雖然down了,但是系統還是保留了R2爲55.1.1.1/32分配過來的標籤:

clip_image026

而且R1的LDP鄰居,11.1.1.1到22.1.1.1還是繼續保留的:\

clip_image028

但是這個時候,在R1的MPLS標籤轉發表,因爲IGP已經切換到R4爲下一跳了,所以MPLS標籤表也切換到了R4分配的40x的標籤:

clip_image030

鏈路恢復,R1的e 0/0做no shutdown的操作:

clip_image032

這裏可以看到,LDP鄰居恢復成功.

IGP ospf一旦收斂以後,LDP要做的事情不是建立鄰居,因爲LDP鄰居從頭到尾就沒有down過.

LDP要做的事情就是將之前保留在LDP數據庫中的R2分配過來的標籤再次裝載進入MPLS 標籤轉發表中就能達到快速收斂的效果。

clip_image034

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章