mpls ldp lsp建立过程——Vecloud
缺省情況下,網絡的路由改變時,如果有一個邊緣節點(Egress)發現自己的路由表中出現了新的主機路由,并且這一路由不屬于任何現有的FEC,則該邊緣節點需要為這一路由建立一個新的FEC。
如果MPLS網絡的Egress有可供分配的標簽,則為FEC分配標簽,并主動向上游發出標簽映射消息,標簽映射消息中包含分配的標簽和綁定的FEC等信息。
Transit收到標簽映射消息后,判斷標簽映射的發送者(Egress)是否為該FEC的下一跳。若是,則在其標簽轉發表中增加相應的條目,然后主動向上游LSR發送對于指定FEC的標簽映射消息。
Ingress收到標簽映射消息后,判斷標簽映射的發送者(Transit)是否為該FEC的下一跳。若是,則在標簽轉發表中增加相應的條目。這時,就完成了LSP的建立,接下來就可以對該FEC對應的數據報文進行標簽轉發。
上面介紹的是普通LDP LSP的建立,還有一種代理Egress LSP。代理Egress(Proxy Egress)是能夠針對非本地路由觸發建立LSP的Egress節點,當路由器使能倒數第二跳彈出時,倒數第二跳節點實際上就是一種特殊的代理Egress。一般情況下,代理Egress由配置產生。代理Egress可以應用于網絡中有不支持MPLS特性的路由器場景,也可用于解決BGP路由負載分擔問題。
為了提高LDP報文的安全性,MPLS提供了三種保護機制:LDP MD5認證、LDP Keychain認證和LDP GTSM。
LDP Keychain認證是比LDP MD5認證更安全的加密認證,對于同一鄰居,只能選擇其中一個加密認證;而LDP GTSM用來防止設備受到非法LDP報文的攻擊,其可以與前面兩個配合使用。
MD5(Message-Digest Algorithm 5)是RFC1321定義的國際標準摘要密碼算法。MD5的典型應用是針對一段信息計算出對應的信息摘要,從而防止信息被篡改。MD5信息摘要是通過不可逆的字符串變換算法產生的,結果唯一。因此,不管信息內容在傳輸過程中發生任何形式的改變,只要重新計算就會產生不同的信息摘要,接收端就可以由此判定收到的是一個不正確的報文。
LDP MD5應用其對同一信息段產生唯一摘要信息的特點來實現LDP報文防篡改校驗,比一般意義上TCP校驗和更為嚴格。其實現過程如下:
LDP會話消息在經TCP發出前,會在TCP頭后面填充一個唯一的信息摘要再發出。而這個信息摘要就是把TCP頭、LDP會話消息以及用戶設置的密碼一起作為原始信息,通過MD5算法計算出的。
當接收端收到這個TCP報文時,首先會取得報文的TCP頭、信息摘要、LDP會話消息,并結合TCP頭、LDP會話消息以及本地保存的密碼,利用MD5計算出信息摘要,然后與報文攜帶的信息摘要進行比較,從而檢驗報文是否被篡改過。
Keychain是一種增強型加密算法,類似于MD5,Keychain也是針對同一段信息計算出對應的信息摘要,實現LDP報文防篡改校驗。
Keychain允許用戶定義一組密碼,形成一個密碼串,并且分別為每個密碼指定加解密算法(包括MD5,SHA-1等)及密碼使用的有效時間。在收發報文時,系統會按照用戶的配置選出一個當前有效的密碼,并按照與此密碼相匹配的加密解密算法以及密碼的有效時間,進行發送時加密和接收時解密報文。此外,系統可以依據密碼使用的有效時間,自動完成有效密碼的切換,避免了長時間不更改密碼導致的密碼易破解問題。
Keychain的密碼、所使用的加解密算法以及密碼使用的有效時間可以單獨配置,形成一個Keychain配置節點,每個Keychain配置節點至少需要配置一個密碼,并指定加解密算法。
通用TTL安全保護機制GTSM(Generalized TTL Security Mechanism)是一種通過檢查IP報文頭中的TTL值是否在一個預先定義好的范圍內來實現對IP業務進行保護的機制。使用GTSM的兩個前提:
設備之間正常報文的TTL值確定
報文的TTL值很難被修改
LDP GTSM是GTSM在LDP方面的具體應用。
GTSM通過判定報文的TTL值,確定報文是否有效,從而保護設備免受攻擊。LDP GTSM是對相鄰或相近(基于只要跳數確定的原則)設備間的LDP消息報文應用此種機制。用戶預先在各設備上設定好針對其他設備報文的有效范圍,使能GTSM,這樣當相應設備之間應用LDP時,如果LDP消息報文的TTL不符合之前設置的范圍要求,設備就認為此報文為非法攻擊報文予以丟棄,進而實現對上層協議的保護。
LDP跨域擴展通過使能LDP按最長匹配原則查找路由,使LDP能夠依據聚合后的路由建立起跨越多個IGP區域的LDP LSP。
當網絡規模比較大時,通常需要部署多個IGP區域來達到靈活部署和快速收斂的目的。在這種情況下,IGP區域間進行路由通告時,為了避免路由數量多而引起的對資源的過多占用,區域邊界路由器(ABR)需要將區域內路由聚合,再通告給相鄰的IGP區域。然而,LDP在建立LSP的時候,會在路由表中查找與收到的標簽映射消息中攜帶的FEC精確匹配的路由,對于聚合路由,LDP只能建立Liberal LSP,無法建立跨越IGP區域的LDP LSP。因此,引入LDP跨域擴展來解決這個問題。
注:已經被分配標簽,但是沒有建立成功的LSP叫做Liberal LSP。
存在Area10和Area20兩個IGP區域。在Area10區域邊緣的LSR_2的路由表中,存在到LSR_3和LSR_4的兩條主機路由,為了避免路由數量多而引起的對資源的過多占用,在LSR_2上通過ISIS路由協議將這兩條路由聚合為1.3.0.0/24發送到Area20區域。
LDP在建立LSP的時候,會在路由表中查找與收到的標簽映射消息中攜帶的FEC精確匹配的路由,LSR_1的路由表中只有這條聚合后的路由,而沒有32位的主機路由。
對于聚合路由,LDP只能建立Liberal LSP,無法建立跨越IGP區域的LDP LSP,以至于無法提供必要的骨干網隧道。
因此,在LSR_1上需要按照最長匹配方式查找路由建立LSP。在LSR_1的路由表中,已經存在聚合路由1.3.0.0/24。當LSR_1收到Area10區域的標簽映射消息時(例如攜帶的FEC為1.3.0.1/32),按照最長匹配的查找方式,LSR_1能夠找到聚合路由1.3.0.0/24的信息,把該路由的出接口和下一跳作為到FEC 1.3.0.1/32的出接口和下一跳。這樣,LDP就可以建立跨越IGP區域的LDP LSP。
LDP是用來在LSR之間建立LDP Session并交換Label/FEC映射信息的協議。
LDP用UDP(協議ID=17)發現鄰居,用TCP(協議ID=6)建立鄰接(LDP協議的目的端口號:646)
LDP協議將hello報文發往224.0.0.2(所有開啟組播功能的路由器)的組播組,用于發現直連鏈路上的LDP鄰居。
LDP的hello報文發送間隔是5s,hold time是3倍的hello時間15s。
LDP的keepalive報文的發送間隔是15s,old timer是3倍的keepalive時間45s。
LDP的環路檢測機制:
LDP路由向量法和最大跳數法分別通過兩類TLV實現:Path Vector TLV和Hop Count TLV。如果配置使用者兩類方法檢測環路,那么在標簽請求消息(Label Requset Message)和標簽映射消息(Label Mapping MEssage)中都會攜帶者兩種TLv。
距離向量法:每個LSR在發送標簽請求消息(標簽映射消息)中,包含一個Path Vector TLV,并且入口(出口)LSR產生的路由長度值為1,并且把自己的LSR ID加入到TLV的列表中,標簽請求消息(標簽映射消息)每經過一跳長度值加1,接收端LSR如果收到標簽請求消息(標簽映射消息),發現長度值達到預先設定的最大值或者發現LSR ID列表中有自己的LSR ID,認為發生環路,發出通告消息,拒絕LSP的建立。
LDP:可以為直連、靜態和IGP路由分配標簽。
RSVR-TE:為TE預留資源和分配標簽。
MPBGP:可以為私網路由分配標簽。
BGP:可以為BGP路由分配標簽。
轉發等價類FEC(Forwarding Equivalence Class)是一組具有某些共性的數據流的集合。這些數據流在轉發過程中被LSR以相同的方式出。
FEC可以根據地質、業務類型、QoS等要素進行劃分。例如,在傳統的采用最常匹配算法的IP轉發中,到同一條路由的所有報文就是一個轉發等價類。
《新程序員》:云原生和全面數字化實踐50位技術專家共同創作,文字、視頻、音頻交互閱讀總結
以上是生活随笔為你收集整理的mpls ldp lsp建立过程——Vecloud的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 1984年8或9月《北京晚报》/韩小冬&
- 下一篇: Q/12HDGG-001-2021&am