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