專利名稱:聚合類鏈路雙向轉(zhuǎn)發(fā)檢測(cè)方法及其設(shè)備的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及到數(shù)據(jù)通信領(lǐng)域的網(wǎng)絡(luò)技術(shù),尤其涉及聚合類鏈路的雙向轉(zhuǎn)發(fā)檢測(cè) (Bidirectional Forwarding Detection,BFD)技術(shù)。
背景技術(shù):
BFD協(xié)議是一套標(biāo)準(zhǔn)化的全網(wǎng)統(tǒng)一的檢測(cè)機(jī)制,用于快速檢測(cè)、監(jiān)控網(wǎng)絡(luò)中路徑 或者IP路由轉(zhuǎn)發(fā)的連通狀況。它提供的是一種通用的、標(biāo)準(zhǔn)化的、介質(zhì)無(wú)關(guān)、協(xié)議無(wú)關(guān) 的快速故障檢測(cè)機(jī)制,可以為各上層應(yīng)用協(xié)議如路由協(xié)議、MPLS (Multiprotoco 1 Label Switching)等統(tǒng)一地快速檢測(cè)兩臺(tái)設(shè)備之間雙向轉(zhuǎn)發(fā)路徑的故障。雙向轉(zhuǎn)發(fā)檢測(cè)是一種高速的獨(dú)立HELLO協(xié)議,可以用于檢測(cè)一對(duì)鄰近系統(tǒng)之間任 何類型的路徑故障。雙向轉(zhuǎn)發(fā)檢測(cè)在一對(duì)鄰近系統(tǒng)間進(jìn)行對(duì)等會(huì)話,一對(duì)鄰近系統(tǒng)在它們 之間建立會(huì)話的通道上周期性的發(fā)送檢測(cè)報(bào)文,如果某個(gè)系統(tǒng)在足夠長(zhǎng)的時(shí)間內(nèi)沒有收到 對(duì)端的檢測(cè)報(bào)文,則認(rèn)為在這條到相鄰系統(tǒng)的雙向通道的某個(gè)部分發(fā)生了故障。在某些條 件下,為了減少負(fù)荷,系統(tǒng)之間的發(fā)送和接收速率需要協(xié)商。每個(gè)系統(tǒng)都會(huì)估計(jì)自己可以接 受的發(fā)送和接收雙向轉(zhuǎn)發(fā)檢測(cè)報(bào)文的速率以便和鄰居協(xié)商就進(jìn)行故障檢測(cè)的頻率達(dá)成一 致。而這些估計(jì)可以隨時(shí)改變以適應(yīng)不同的環(huán)境。一條雙向轉(zhuǎn)發(fā)檢測(cè)會(huì)話是基于使用它的 具體應(yīng)用的需要而建立。當(dāng)一對(duì)相同的系統(tǒng)之間存在多條路徑時(shí),在它們之間也可以建立 多條雙向轉(zhuǎn)發(fā)檢測(cè)會(huì)話。不管是在建立雙向轉(zhuǎn)發(fā)檢測(cè)會(huì)話時(shí),還是在由于某種原因需要將 雙向轉(zhuǎn)發(fā)檢測(cè)會(huì)話拆卸時(shí),雙向轉(zhuǎn)發(fā)檢測(cè)狀態(tài)機(jī)都實(shí)現(xiàn)了三次握手,以確保雙方都知道狀 態(tài)的變化。雙向轉(zhuǎn)發(fā)檢測(cè)可以被提取為一種簡(jiǎn)單的服務(wù)。雙向轉(zhuǎn)發(fā)檢測(cè)所提供的基本服務(wù) 就是建立、銷毀、修改一條會(huì)話。當(dāng)會(huì)話為Up (完成)狀態(tài)或Down (斷開)狀態(tài)時(shí)雙向轉(zhuǎn)發(fā) 檢測(cè)都會(huì)通知它的客戶端。為了適應(yīng)更快速的檢測(cè),一股來(lái)說(shuō),雙向轉(zhuǎn)發(fā)檢測(cè)檢測(cè)的周期是 毫秒級(jí)別,檢測(cè)的鏈路具有多樣性。聚合類鏈路是將多個(gè)物理鏈路通過(guò)手工或動(dòng)態(tài)的方式聚合成一個(gè)邏輯的鏈路,如 圖1所示。聚合后的鏈路可以提供更大的帶寬,更小的傳輸時(shí)延,以及更高的連接可靠性。 聚合類鏈路的現(xiàn)有技術(shù)方案包括(1)基于RFC1990中的《PPP多鏈路協(xié)議》,描述了多鏈 路點(diǎn)對(duì)點(diǎn)協(xié)議,點(diǎn)對(duì)點(diǎn)(Point-to-Point Protocol, PPP)多鏈路是在兩臺(tái)設(shè)備間通過(guò)多個(gè) PPP物理接口進(jìn)行通信。多個(gè)PPP物理接口都?xì)w屬于同一個(gè)邏輯接口,使用同一個(gè)IP地址 進(jìn)行PPP協(xié)商;IP報(bào)文經(jīng)過(guò)邏輯接口被多鏈路PPP分片后從多個(gè)PPP物理接口發(fā)送。在 接收端,每個(gè)PPP物理接口將分片的數(shù)據(jù)報(bào)統(tǒng)一匯聚到接收端的邏輯接口上重組成IP報(bào) 文,然后交IP層處理。(2)基于FRF. 16. 1的《多鏈路FR UNI/NNI執(zhí)行協(xié)議》,描述了在用 戶網(wǎng)絡(luò)接□ (User-to-Network Interface, UNI)禾口網(wǎng)絡(luò)至lj網(wǎng)絡(luò)接□ (Network-to-Network Interface, NNI)上如何提供多鏈路的幀中繼服務(wù),其核心思想是把多個(gè)物理線路綁定起 來(lái)模擬一條物理線路,用這種方法提供和原來(lái)一條物理線路同樣的幀中繼服務(wù)。(3)基于 IEEE802. 3ad的《鏈路匯聚控制協(xié)議》,描述了鏈路動(dòng)態(tài)匯聚的協(xié)議,鏈路匯聚是將多個(gè)端口 匯聚在一起形成一個(gè)匯聚組,使用鏈路匯聚服務(wù)的上層實(shí)體把同一匯聚組內(nèi)的多條物理鏈路視為一條邏輯鏈路。以實(shí)現(xiàn)輸出/輸入負(fù)荷在匯聚組中各個(gè)成員端口中的分擔(dān),增加鏈 路帶寬。同時(shí)同一匯聚組的各個(gè)成員端口之間彼此動(dòng)態(tài)備份,提供了更高的連接可靠性。其它實(shí)現(xiàn)多鏈路聚合的技術(shù)方案,包括手動(dòng)實(shí)現(xiàn)鏈路聚合的方法等。目前,在分布式設(shè)備中實(shí)現(xiàn)聚合類鏈路雙向轉(zhuǎn)發(fā)檢測(cè)的方案主要有兩種,所述分 布式設(shè)備由主控卡和至少一個(gè)線卡組成。第一種集中式雙向轉(zhuǎn)發(fā)檢測(cè)會(huì)話方案,在此方案 中,雙向轉(zhuǎn)發(fā)檢測(cè)所有的會(huì)話都集中在主控卡中,當(dāng)主控卡感知聚合類鏈路中物理鏈路的 狀況發(fā)生變化時(shí),將通告給雙向轉(zhuǎn)發(fā)檢測(cè)協(xié)議,雙向轉(zhuǎn)發(fā)檢測(cè)協(xié)議將根據(jù)這一變化選擇新 的物理鏈路收發(fā)雙向轉(zhuǎn)發(fā)檢測(cè)控制報(bào)文。所述物理鏈路的狀況變化包括,某一物理鏈路的 失效,新的物理鏈路加入聚合類鏈路等。這種方式的缺點(diǎn)是(1)所有的會(huì)話集中在主控卡 上,加大了主控卡的負(fù)擔(dān),從而導(dǎo)致雙向轉(zhuǎn)發(fā)檢測(cè)會(huì)話不能快速檢測(cè)。(2)當(dāng)主控卡發(fā)生故 障而線卡對(duì)應(yīng)的某一鏈路未發(fā)生故障時(shí),雙向轉(zhuǎn)發(fā)檢測(cè)會(huì)話可能會(huì)得到錯(cuò)誤通告。另一種是分布式雙向轉(zhuǎn)發(fā)檢測(cè)方案,見中國(guó)專利申請(qǐng)CN101395853A,在此方案中, 在一個(gè)或多個(gè)線卡上建立一個(gè)或多個(gè)“待命”雙向轉(zhuǎn)發(fā)檢測(cè)會(huì)話,所述線卡具有一個(gè)或多個(gè) 聚合類鏈路。當(dāng)聚合類鏈路建立完成后,將待命雙向轉(zhuǎn)發(fā)檢測(cè)會(huì)話中的一個(gè)作為活動(dòng)雙向 轉(zhuǎn)發(fā)檢測(cè)會(huì)話,所述活動(dòng)會(huì)話進(jìn)行雙向轉(zhuǎn)發(fā)檢測(cè)控制報(bào)文的收發(fā)。當(dāng)聚合類鏈路中發(fā)送報(bào) 文的物理鏈路出現(xiàn)故障時(shí),活動(dòng)雙向轉(zhuǎn)發(fā)檢測(cè)會(huì)話切換到另一個(gè)可用的鏈路,如果此時(shí)沒 有鏈路可用,則將待命雙向轉(zhuǎn)發(fā)檢測(cè)會(huì)話變成活動(dòng)會(huì)話,但如果沒有可用待命雙向轉(zhuǎn)發(fā)檢 測(cè)會(huì)話,則確定該聚合類鏈路失效。從上述過(guò)程可以看出,所述方案動(dòng)態(tài)維護(hù)聚合類鏈路上 的雙向轉(zhuǎn)發(fā)檢測(cè)會(huì)話,通過(guò)在對(duì)應(yīng)的線卡上的一個(gè)或多個(gè)待命雙向轉(zhuǎn)發(fā)檢測(cè)會(huì)話交替作為 用于聚合類鏈路的活動(dòng)雙向轉(zhuǎn)發(fā)檢測(cè)會(huì)話。由于聚合類鏈路中可用物理鏈路時(shí)常變化,因 而動(dòng)態(tài)維護(hù)聚合類鏈路較好的適應(yīng)了這一特點(diǎn)。然而,聚合類鏈路中雙向轉(zhuǎn)發(fā)檢測(cè)會(huì)話的 整體遷移,意味著發(fā)送和接收雙向轉(zhuǎn)發(fā)檢測(cè)控制報(bào)文必須在同一線卡上進(jìn)行,這限制了雙 向轉(zhuǎn)發(fā)檢測(cè)會(huì)話檢測(cè)聚合類鏈路的應(yīng)用。另一方面,如果接收和發(fā)送雙向轉(zhuǎn)發(fā)檢測(cè)控制報(bào) 文的物理鏈路并不是同一物理鏈路,則可能引起會(huì)話不停切換,從而導(dǎo)致雙向轉(zhuǎn)發(fā)檢測(cè)控 制報(bào)文丟失甚至網(wǎng)絡(luò)震蕩等問(wèn)題。
發(fā)明內(nèi)容
本發(fā)明提供了一種能夠?qū)崿F(xiàn)雙向轉(zhuǎn)發(fā)檢測(cè)控制報(bào)文的收發(fā)分離的聚合類鏈路分 布式雙向轉(zhuǎn)發(fā)檢測(cè)方法,以及實(shí)現(xiàn)該方法的設(shè)備。聚合類鏈路雙向轉(zhuǎn)發(fā)檢測(cè)方法,其特征在于,包括以下步驟a、主控卡的上層應(yīng)用協(xié)議發(fā)送檢測(cè)聚合類鏈路的雙向轉(zhuǎn)發(fā)檢測(cè)會(huì)話建立消息;b、聚合類鏈路所在的線卡均建立雙向轉(zhuǎn)發(fā)檢測(cè)會(huì)話;c、主控卡初始選擇雙向轉(zhuǎn)發(fā)檢測(cè)控制報(bào)文的發(fā)送者和接收者;一個(gè)聚合類鏈路中 只有一個(gè)發(fā)送者和一個(gè)接收者;d、當(dāng)主控卡感知聚合類鏈路的物理鏈路改變后,需要對(duì)發(fā)送者或接收者進(jìn)行切 換。聚合類鏈路包括點(diǎn)對(duì)點(diǎn)多鏈路、幀中繼多鏈路以及基于虛擬局域網(wǎng)(Virtual LAN, VLAN)的匯聚鏈路等。步驟c中的初始選擇是根據(jù)預(yù)設(shè)算法完成,通常較簡(jiǎn)單的初始選擇是線卡槽位號(hào)較小者,初始選擇的發(fā)送者和接收者可以位于同一線卡上,也可位于不同線卡,在發(fā)送者、 接收者并不局限于在同一線卡,發(fā)送者、接收者可以切換位于只要是屬于該聚合類鏈路的 任意線卡中。相比現(xiàn)有的分布式雙向轉(zhuǎn)發(fā)檢測(cè)方案,同樣是動(dòng)態(tài)維護(hù)聚合類鏈路,但是本 發(fā)明不是對(duì)雙向轉(zhuǎn)發(fā)檢測(cè)會(huì)話進(jìn)行切換,而是切換雙向轉(zhuǎn)發(fā)檢測(cè)控制報(bào)文的接收者或發(fā)送 者,且接收者、發(fā)送者可以位于不同的線卡,解決了現(xiàn)有雙向轉(zhuǎn)發(fā)檢測(cè)會(huì)話在聚合類鏈路中 不停切換的問(wèn)題。進(jìn)一步的,在聚合類鏈路未分布到線卡的系統(tǒng)中,發(fā)送者和接收者的切換在主控 卡上進(jìn)行;在聚合類鏈路已分布到線卡的系統(tǒng)中,BFD會(huì)話的發(fā)送者和接收者的切換均在 線卡上完成。步驟d中,如果沒有發(fā)送者或接收者可供選擇,則認(rèn)為聚合類鏈路出現(xiàn)故障,上層 應(yīng)用協(xié)議發(fā)送刪除雙向轉(zhuǎn)發(fā)檢測(cè)會(huì)話消息。聚合類鏈路的物理鏈路改變包括接收者或發(fā)送者所在的物理鏈路發(fā)生改變、聚合 類鏈路中添加了新的物理鏈路或刪除了聚合類鏈路中已有的物理鏈路;當(dāng)添加的新的物理鏈路位于一個(gè)新的線卡時(shí),則在新的線卡上建立雙向轉(zhuǎn)發(fā)檢測(cè) 會(huì)話;當(dāng)刪除線卡上的物理鏈路且該線卡沒有所述聚合類鏈路的其它物理鏈路時(shí),則刪 除該線卡上的雙向轉(zhuǎn)發(fā)檢測(cè)會(huì)話。當(dāng)接收者所在的物理鏈路發(fā)生改變,則切換接收者;當(dāng)發(fā)送者所在的物理鏈路發(fā)生改變,則切換發(fā)送者;當(dāng)非接收者從聚合類鏈路中接收到雙向轉(zhuǎn)發(fā)檢測(cè)報(bào)文,則切換接收者。步驟d中的切換動(dòng)作可以根據(jù)聚合類鏈路雙向轉(zhuǎn)發(fā)檢測(cè)設(shè)備中系統(tǒng)已有的邏輯 架構(gòu)靈活選擇是在主控卡上完成或在線卡上完成。聚合類鏈路雙向轉(zhuǎn)發(fā)檢測(cè)設(shè)備,包括主控卡和至少一個(gè)線卡,主控卡包括第一通 知模塊,線卡包括第二通知模塊;每一個(gè)線卡中均包含有接收者模塊、發(fā)送者模塊;主控卡 或者線卡包括有切換模塊;第一通知模塊用于,當(dāng)切換模塊位于主控卡時(shí),第一通知模塊感知聚合類鏈路的 物理鏈路改變,需要對(duì)發(fā)送者或接收者進(jìn)行切換時(shí),發(fā)出切換通知;第二通知模塊用于,當(dāng)切換模塊位于線卡時(shí),第二通知模塊感知聚合類鏈路的物 理鏈路改變,需要對(duì)發(fā)送者或接收者進(jìn)行切換時(shí),發(fā)出切換通知;切換模塊用于,根據(jù)切換通知控制線卡中的發(fā)送者模塊、接收者模塊使能或失 效;發(fā)送者模塊用于,構(gòu)建雙向轉(zhuǎn)發(fā)檢測(cè)控制報(bào)文并發(fā)送到對(duì)端設(shè)備,聚合類鏈路所 在的所有線卡中只有一個(gè)線卡中的發(fā)送者模塊被使能;接收者模塊用于,接收雙向轉(zhuǎn)發(fā)檢測(cè)控制報(bào)文,聚合類鏈路所在的所有線卡中只 有一個(gè)線卡中的接收者模塊被使能??蛇x的,雙向轉(zhuǎn)發(fā)檢測(cè)會(huì)話狀態(tài)保存至主控卡中。通知模塊為位于主控卡的第一 通知模塊,所述切換模塊為位于主控卡的第一切換模塊;還包括位于線卡的第二通知模塊; 第一通知模塊還用于,接收上層應(yīng)用協(xié)議發(fā)出的雙向轉(zhuǎn)發(fā)檢測(cè)會(huì)話建立、刪除消息并發(fā)送 至第二通知模塊,接收第二通知模塊發(fā)出的鏈路故障消息并發(fā)送至上層應(yīng)用協(xié)議;第二通知模塊用于,發(fā)送鏈路故障消息至第一通知模塊,接收第一通知模塊發(fā)送的雙向轉(zhuǎn)發(fā)檢測(cè) 會(huì)話建立、刪除消息。可選的,雙向轉(zhuǎn)發(fā)檢測(cè)會(huì)話狀態(tài)保存至接收者所在線卡中。通知模塊為位于線卡 的第二通知模塊,所述切換模塊為位于線卡的第二切換模塊;還包括位于主控卡的第一通 知模塊;第一通知模塊用于,接收上層應(yīng)用協(xié)議發(fā)出的雙向轉(zhuǎn)發(fā)檢測(cè)會(huì)話建立、刪除消息并 發(fā)送至第二通知模塊,接收第二通知模塊發(fā)出的鏈路故障消息并發(fā)送至上層應(yīng)用協(xié)議;第 二通知模塊還用于,發(fā)送鏈路故障消息至第一通知模塊,接收第一通知模塊發(fā)送的雙向轉(zhuǎn) 發(fā)檢測(cè)會(huì)話建立、刪除消息。第一切換模塊和第二切換模塊可以在已有設(shè)備中靈活選擇,如果線卡具有聚合類 鏈路中所有物理鏈路的信息,則可以裁剪第一切換模塊只保留第二切換模塊,同樣,如果只 有主控卡具有聚合類鏈路完整信息,則可以裁剪第二切換模塊只保留第一切換模塊。從容錯(cuò)性的角度來(lái)看,設(shè)備同時(shí)保留位于主控卡的第一切換模塊、位于線卡的第 二切換模塊也未嘗不可,不過(guò)需要進(jìn)行雙向轉(zhuǎn)發(fā)檢測(cè)會(huì)話狀態(tài)同步,即主控卡和線卡同時(shí) 均需要有同時(shí)保存雙向轉(zhuǎn)發(fā)檢測(cè)會(huì)話狀態(tài)。第二通知模塊在線卡上感知鏈路的變化,然后 通知第二切換模塊切換,如果切換失敗,第二通知模塊通知第一通知模塊;另一方面,主控 卡上第一通知模塊感知聚合類鏈路的變化后,然后通知第一切換模塊切換,如果切換失敗, 第一通知模塊通知第二通知模塊。本發(fā)明的有益效果是,增強(qiáng)了雙向轉(zhuǎn)發(fā)檢測(cè)應(yīng)用于聚合類鏈路的適用性,同時(shí)解 決了聚合類鏈路中物理鏈路發(fā)生變化時(shí)雙向轉(zhuǎn)發(fā)檢測(cè)會(huì)話收發(fā)處理不當(dāng)導(dǎo)致控制報(bào)文丟 失甚至網(wǎng)絡(luò)震蕩等問(wèn)題,能夠大幅提高聚合類鏈路雙向轉(zhuǎn)發(fā)檢測(cè)的穩(wěn)定性。
圖1為現(xiàn)有技術(shù)中聚合類鏈路的示意圖;圖2為現(xiàn)有技術(shù)中聚合類鏈路雙向轉(zhuǎn)發(fā)檢測(cè)網(wǎng)絡(luò)環(huán)境的示意圖;圖3為實(shí)施例1流程圖;圖4為實(shí)施例2流程圖;圖5為實(shí)施例1的結(jié)構(gòu)框圖;圖6為實(shí)施例2的結(jié)構(gòu)框圖。
具體實(shí)施例方式本發(fā)明是一種聚合類鏈路分布式BFD檢測(cè)的技術(shù)方案,由于實(shí)現(xiàn)了 BFD控制報(bào)文 的收發(fā)分離,可以靈活選擇BFD控制報(bào)文的發(fā)送者和接收者,因而可適應(yīng)聚合類鏈路的多 種鏈路狀況的變化,增強(qiáng)了 BFD檢測(cè)聚合類鏈路的穩(wěn)定性。同時(shí),由于設(shè)備中切換模塊可供 裁剪,可以適應(yīng)多種分布式系統(tǒng)或設(shè)備,因而大大的增強(qiáng)了所述技術(shù)方案的實(shí)用性。在本發(fā)明中,根據(jù)不同的分布式系統(tǒng)可以有多種不同的聚合類鏈路分布式BFD檢 測(cè)方式,比如,方式一、聚合類鏈路未分布到線卡的系統(tǒng)中實(shí)現(xiàn)BFD檢測(cè);方式二、聚合類鏈路已分布到線卡的系統(tǒng)中實(shí)現(xiàn)BFD檢測(cè);所述方式一中,由于聚合類鏈路在分布式設(shè)備中未分布,因而線卡不具有聚合類
7鏈路中所有物理鏈路的完整信息,因而該方式中保留主控卡上第一切換模塊,舍棄線卡上 第二切換模塊,BFD會(huì)話的發(fā)送者和接收者由第一切換模塊選擇。所述方式二中,由于聚合 類鏈路在設(shè)備中已分布,聚合類鏈路所在的任意線卡上均有聚合類鏈路完整信息,因而保 留線卡上第二切換模塊,舍棄主控卡上第一切換模塊。該方式中,BFD會(huì)話的發(fā)送者和接收 者的切換均在線卡上完成。根據(jù)上面的兩種實(shí)現(xiàn)方式各舉一個(gè)具體的實(shí)施例來(lái)說(shuō)明本發(fā)明的具體實(shí)現(xiàn)過(guò)程。實(shí)施例1圖3描述了所述網(wǎng)絡(luò)環(huán)境中BFD會(huì)話建立方法和建立過(guò)程,以及BFD會(huì)話的非接 收者接收到BFD控制報(bào)文后的切換過(guò)程,為進(jìn)一步說(shuō)明所述步驟,結(jié)合圖2進(jìn)行了舉例。圖 2是基于聚合類鏈路的網(wǎng)絡(luò)結(jié)構(gòu)圖,該網(wǎng)絡(luò)由兩臺(tái)設(shè)備互聯(lián),設(shè)備A和設(shè)備B,設(shè)備A和設(shè)備 B均是分布式設(shè)備,它們可以為路由器、交換機(jī)或其他網(wǎng)絡(luò)設(shè)備。設(shè)備A由一個(gè)主控卡和三 個(gè)線卡LCI、LC2和LC3組成,設(shè)備B由一個(gè)主控卡B和一個(gè)線卡LC1組成。圖中實(shí)線所示 的物理鏈路L2和L3生效,虛線所示的物理鏈路L1失效,失效的原因可能是手動(dòng)關(guān)閉鏈路 或出現(xiàn)鏈路故障。L1、L2和L3是BFD會(huì)話建立前已經(jīng)加入了聚合類鏈路AL中,BFD會(huì)話檢 測(cè)該聚合類鏈路。步驟如下步驟301 上層應(yīng)用協(xié)議發(fā)送會(huì)話建立消息建立BFD會(huì)話,以進(jìn)行聚合類鏈路BFD 的檢測(cè)。通知的過(guò)程是上層應(yīng)用協(xié)議通知到主控卡上第一通知模塊,上層應(yīng)用協(xié)議包括 OSPF (OpenShortest Path First,開放最短路徑優(yōu)先)、RIP (路由選擇信息協(xié)議)、BGP (邊 界網(wǎng)關(guān)協(xié)議)等動(dòng)態(tài)路由協(xié)議。在圖2的設(shè)備A中,所述的聚合類鏈路如聚合類鏈路AL所 示,聚合類鏈路AL包括物理鏈路LI、L2和L3。步驟302 主控卡的第一通知模塊接收到所述會(huì)話建立消息,通知聚合類鏈路所 在的線卡建立相應(yīng)的BFD會(huì)話。由于第一通知模塊知道聚合類鏈路所包含的具體物理鏈 路,故第一通知模塊知道聚合類鏈路所跨越的具體線卡。在圖2的設(shè)備A中,聚合類鏈路AL 跨越的線卡包括LCI、LC2、LC3。步驟303、第一通知模塊初始選擇BFD會(huì)話的發(fā)送者和接收者,本實(shí)施例的初始選 擇原則是聚合類鏈路中最小端口號(hào)所在的線卡,其上的BFD會(huì)話使能發(fā)送者和接收者,并 且,發(fā)送者和接收者是同在一個(gè)線卡上。在圖2的設(shè)備A中,由于線卡LC1所在的物理鏈路 L1失效,物理鏈路L2的端口號(hào)較小,故選擇LC2上的BFD會(huì)話使能發(fā)送者和接收者。步驟304 :BFD會(huì)話的發(fā)送者構(gòu)建BFD控制報(bào)文,周期性的發(fā)送BFD控制報(bào)文;BFD 會(huì)話的接收者準(zhǔn)備接收BFD控制報(bào)文,接收到報(bào)文后驅(qū)動(dòng)BFD會(huì)話狀態(tài)的變化。步驟305 :BFD會(huì)話的狀態(tài)更新,這包括1)將BFD會(huì)話狀態(tài)以及會(huì)話協(xié)商的參數(shù)通 知到主控卡第一通知模塊,通知的過(guò)程線卡上第二通知模塊將會(huì)話狀態(tài)通知到主控卡第 一通知模塊。2)主控卡第一通知模塊更新主控卡上BFD會(huì)話的相應(yīng)狀態(tài)。在圖2的設(shè)備A 中,該步驟的通知?jiǎng)幼魇怯删€卡LC2上第二通知模塊完成,同時(shí),主控卡A上第一通知模塊 接收到所述會(huì)話狀態(tài)消息后,更新主控卡上所述BFD會(huì)話。步驟306 如果聚合類鏈路中物理鏈路發(fā)生改變,主控卡第一通知模塊檢查是否 需要切換BFD會(huì)話的發(fā)送者和接收者。如果BFD會(huì)話的發(fā)送鏈路或接收鏈路發(fā)生改變,則 轉(zhuǎn)到步驟308,否則繼續(xù)步驟307。
步驟307 如果BFD會(huì)話的非接收者接收到BFD控制報(bào)文,則非接收者所在線卡的 第二通知模塊將接收者切換消息發(fā)送到主控卡的第一通知模塊。在圖2的設(shè)備A中,假如 有線卡LC3接收到所述BFD會(huì)話的控制報(bào)文,則線卡LC3的第二通知模塊發(fā)送接收者切換 消息到主控卡A上的第一通知模塊。步驟308 主控卡第一通知模塊發(fā)送切換消息到主控卡第一切換模塊,通知主控 卡上第一切換模塊進(jìn)行所述BFD會(huì)話的接收者或發(fā)送者切換。主控卡第一通知模塊和主控 卡第一切換模塊之間通信可以有多種實(shí)現(xiàn)方式,例如消息隊(duì)列或共享內(nèi)存等。在圖2的設(shè) 備A中,主控卡A上的第一通知模塊發(fā)送接收者切換消息到第一切換模塊。步驟309 主控卡第一切換模塊接收到第一通知模塊的切換指令后,切換BFD會(huì)話 的接收者或接收者。如果第一通知模塊接收到接收者切換消息,則切換接收者;如果接收 到發(fā)送者切換消息,則切換發(fā)送者。在圖2的設(shè)備A中,該步驟切換后的結(jié)果是線卡LC2上 的接收者失效,線卡LC3上的接收者使能,主控卡A不再接收線卡LC2上第二通知模塊的消 息,只接收線卡LC3上第二通知模塊的消息。步驟310 如果BFD檢測(cè)到聚合鏈會(huì)話超時(shí),將通過(guò)線卡上第二通知模塊發(fā)送故障 消息到主控卡上第一通知模塊。在圖2的設(shè)備A中,線卡LC3的第二通知模塊發(fā)送故障消 息到主控卡A的第一通知模塊。步驟311 主控卡上第一通知模塊將故障消息發(fā)送到上層應(yīng)用協(xié)議,上層應(yīng)用協(xié) 議進(jìn)行后續(xù)的會(huì)話刪除等操作。在圖2的設(shè)備A中,主控卡A的第一通知模塊發(fā)送故障消 息到上層應(yīng)用協(xié)議。實(shí)現(xiàn)上述方法的設(shè)備,如圖5所示,為一實(shí)施例的系統(tǒng)框圖,包括一個(gè)主控卡和一 個(gè)線卡。主控卡包括第一通知模塊和第一切換模塊,線卡包括發(fā)送者模塊、接收者模塊、第 二通知模塊。其中,主控卡包括第一通知模塊接收會(huì)話建立/刪除消息并通知聚合類鏈路所跨越的線卡建立/ 刪除BFD會(huì)話;更新BFD的會(huì)話信息,接收線卡上第二通知模塊的故障或切換消息,感知聚 合類鏈路中物理鏈路的變化,通知第一切換模塊進(jìn)行發(fā)送者或接收者的切換。第一切換模塊接收第一通知模塊的切換指令進(jìn)行BFD會(huì)話的接收者或發(fā)送者的 切換,切換的過(guò)程是使接收者或發(fā)送者使能和失效的過(guò)程。線卡包括第二通知模塊接收主控卡第一通知模塊的會(huì)話建立/刪除消息,發(fā)送鏈路故障 消息到主控卡的第一通知模塊。發(fā)送者模塊構(gòu)建BFD控制報(bào)文,發(fā)送BFD控制報(bào)文,在聚合類鏈路所在的多個(gè)線 卡中只有一個(gè)線卡的發(fā)送者模塊使能。接收者模塊,接收并處理BFD控制報(bào)文,驅(qū)動(dòng)BFD狀態(tài)報(bào)文,在聚合類鏈路所在的 多個(gè)線卡中只有一個(gè)線卡的接收者模塊使能。上述接收者模塊或發(fā)送者模塊使能,本領(lǐng)域的相關(guān)技術(shù)人員可以理解為開啟了 BFD會(huì)話的相關(guān)功能,即發(fā)送者模塊使能是打開BFD會(huì)話的發(fā)送功能,接收者模塊使能是打 開BFD會(huì)話的接收功能。切換后,切換之前的發(fā)送者模塊或接收者模塊即為關(guān)閉相關(guān)的功 能。
實(shí)施例2在本實(shí)施例中,如圖4所示,線卡保留第二切換模塊,裁剪主控卡上第一切換模 塊,BFD會(huì)話的發(fā)送者或接收者的切換均由線卡第二切換模塊完成。當(dāng)聚合類鏈路因某一 物理鏈路添加或刪除而發(fā)生改變時(shí),由線卡第二切換模塊進(jìn)行BFD會(huì)話的發(fā)送者或接收者 切換。步驟如下步驟401 上層應(yīng)用協(xié)議發(fā)送會(huì)話建立消息,需要在聚合類鏈路中進(jìn)行BFD檢測(cè), 同實(shí)例1中步驟301。步驟402 主控卡上第一通知模塊通知聚合類鏈路所在的線卡建立相應(yīng)的BFD會(huì) 話,同實(shí)例1中步驟302。步驟403 初始選擇BFD會(huì)話的發(fā)送者和接收者,所述選擇是在主控卡第一通知模 塊中完成,同實(shí)例1中步驟303。步驟404 :BFD會(huì)話的發(fā)送者構(gòu)建并周期性的發(fā)送BFD控制報(bào)文,BFD會(huì)話的接收 者準(zhǔn)備接收BFD控制報(bào)文,接收到BFD控制報(bào)文后驅(qū)動(dòng)BFD會(huì)話狀態(tài)的變化。在圖2的設(shè) 備A中,該步驟假設(shè)線卡LC1所在的物理鏈路L1生效并是發(fā)送鏈路,線卡LC1所在的BFD 會(huì)話使能發(fā)送者;線卡LC2所在的物理鏈路L2接收鏈路,線卡LC2所在的BFD會(huì)話使能接 收者。步驟405 :BFD會(huì)話的非接收者是否接收到BFD控制報(bào)文,如果是,則將BFD控制報(bào) 文保存在本地并通過(guò)卡間通信的方式通知BFD會(huì)話的接收者,轉(zhuǎn)到步驟407,否則,繼續(xù)步 驟406。在圖2的設(shè)備A中,例如,線卡LC3所在的物理鏈路L3接收到BFD控制報(bào)文,線卡 LC3上的BFD會(huì)話發(fā)現(xiàn)自己不是所述BFD會(huì)話的接收者,則將BFD控制報(bào)文保存在本地。步驟406 聚合類鏈路的物理鏈路是否發(fā)生改變。如果聚合類鏈路中添加了新的 物理鏈路且不在已有聚合線路的線卡上,則在該線卡上建立所述BFD會(huì)話;如果聚合類鏈 路中已有的物理鏈路失效且該線卡上沒有聚合類鏈路的其它物理鏈路,則在該線卡上刪除 所述BFD會(huì)話。同時(shí),第二通知模塊決定是否需要切換發(fā)送者或接收者,如果需要切換,則 繼續(xù)步驟407。在圖2的設(shè)備A中,例如,如果線卡LC3上的物理鏈路L3失效且線卡LC3沒 有聚合類鏈路AL的其它物理鏈路,則刪除線卡LC3上的BFD會(huì)話。步驟407 第二通知模塊發(fā)送切換消息到另一個(gè)線卡的第二通知模塊,后者接收 到切換消息后,通知到本線卡的第二切換模塊,已有的接收者失效。所述切換消息中攜帶有 BFD會(huì)話最新的狀態(tài)及協(xié)商參數(shù)等信息,在圖2的設(shè)備A中,例如,線卡LC2上的第二通知模 塊發(fā)送切換消息到線卡LC3上的第二切換模塊,線卡LC2上的接收者失效。步驟408 線卡上第二切換模塊接收到切換消息后,檢查是否有新的物理鏈路可 供使用,即檢查是否可以切換發(fā)送者或接收者到新的物理鏈路。如果沒有新的物理鏈路可 供切換,第二通知模塊則將故障消息通知到主控卡,繼續(xù)步驟410 ;如果有新的物理鏈路可 供切換,則繼續(xù)步驟409。在圖2的設(shè)備A中,例如,線卡LC3的第二切換接收到線卡LC2的 切換消息后,檢查是否存在新的發(fā)送鏈路或接收鏈路。步驟409 第二切換模塊切換發(fā)送者或接收者。如果第二切換模塊接收到接收者 切換消息后,則更新BFD會(huì)話的狀態(tài)及協(xié)商參數(shù)等信息,使能BFD會(huì)話的接收者,處理保存 在本地的BFD控制報(bào)文;如果第二切換模塊接收到發(fā)送者切換消息,則使能所述BFD會(huì)話的
10發(fā)送者。在圖2的設(shè)備A中,例如,線卡LC3的第二切換模塊切換發(fā)送者或接收者。步驟410 主控卡第一通知模塊接收到故障消息后,通告上層應(yīng)用協(xié)議,上層應(yīng)用 協(xié)議進(jìn)行后續(xù)BFD會(huì)話的刪除操作。實(shí)現(xiàn)上述方法的設(shè)備,如圖6所示,由一個(gè)主控卡和一個(gè)線卡組成。其中,主控卡只包括第一通知模塊,功能是接收來(lái)自線卡第二通知模塊的故障消 息,發(fā)送BFD會(huì)話的建立/刪除消息。線卡包括發(fā)送者模塊、接收者模塊、第二通知模塊、第二切換模塊。第二通知模塊接收主控卡第一通知模塊的BFD會(huì)話建立/刪除消息;感知聚合 類鏈路的變化,較詳細(xì)的,如果所述線卡的BFD會(huì)話具有發(fā)送者模塊,則負(fù)責(zé)感知發(fā)送鏈路 的變化并切換發(fā)送者,如果所述線卡的BFD會(huì)話具有接收者模塊,則負(fù)責(zé)感知接收鏈路的 變化。進(jìn)一步,所述發(fā)送鏈路是指發(fā)送BFD控制報(bào)文的物理鏈路,所述接收鏈路是指接收 BFD控制報(bào)文的鏈路。第二切換模塊負(fù)責(zé)切換BFD控制報(bào)文的發(fā)送者或接收者,所述的過(guò)程切換是接 收來(lái)自線卡第二通知模塊的切換指令,使已有的發(fā)送者或接收者失效,使新的物理鏈路上 發(fā)送者或接收者使能;將BFD會(huì)話的狀態(tài)及參數(shù)信息發(fā)送給新的發(fā)送者或接收者。發(fā)送者模塊和接收者模塊的功能同設(shè)備實(shí)例1,本實(shí)施例不再贅述。以上對(duì)聚合類鏈路的雙向轉(zhuǎn)發(fā)的方法及設(shè)備做了詳細(xì)的介紹,本文中應(yīng)用具體個(gè) 例對(duì)本發(fā)明的原理以及實(shí)施方式進(jìn)行解釋,用于理解本發(fā)明的方法和核心思想,不應(yīng)理解 為對(duì)本發(fā)明的限制,凡在本發(fā)明的精神和原則之內(nèi),所做的任何修改、等同替換、改進(jìn)等均 應(yīng)在本發(fā)明的保護(hù)范圍之類。
權(quán)利要求
聚合類鏈路雙向轉(zhuǎn)發(fā)檢測(cè)方法,其特征在于,包括以下步驟a、主控卡的上層應(yīng)用協(xié)議發(fā)送檢測(cè)聚合類鏈路的雙向轉(zhuǎn)發(fā)檢測(cè)會(huì)話建立消息;b、聚合類鏈路所在的線卡均建立雙向轉(zhuǎn)發(fā)檢測(cè)會(huì)話;c、主控卡初始選擇所述雙向轉(zhuǎn)發(fā)檢測(cè)控制報(bào)文的發(fā)送者和接收者;一個(gè)聚合類鏈路中只有一個(gè)發(fā)送者和一個(gè)接收者;d、當(dāng)聚合類鏈路的物理鏈路改變后,根據(jù)需要對(duì)發(fā)送者或接收者進(jìn)行切換。
2.如權(quán)利要求1所述聚合類鏈路雙向轉(zhuǎn)發(fā)檢測(cè)方法,其特征在于,在聚合類鏈路未分 布到線卡的系統(tǒng)中,發(fā)送者和接收者的切換在主控卡上進(jìn)行;在聚合類鏈路已分布到線卡 的系統(tǒng)中,BFD會(huì)話的發(fā)送者和接收者的切換均在線卡上完成。
3.如權(quán)利要求1所述聚合類鏈路雙向轉(zhuǎn)發(fā)檢測(cè)方法,其特征在于,步驟d中,如果聚合 類鏈路中沒有發(fā)送者或接收者可供選擇,則認(rèn)為聚合類鏈路出現(xiàn)故障,上層應(yīng)用協(xié)議發(fā)送 刪除雙向轉(zhuǎn)發(fā)檢測(cè)會(huì)話消息。
4.如權(quán)利要求1所述聚合類鏈路雙向轉(zhuǎn)發(fā)檢測(cè)方法,其特征在于,所述聚合類鏈路的 物理鏈路改變包括接收者或發(fā)送者所在的物理鏈路發(fā)生改變、聚合類鏈路中添加了新的物 理鏈路或刪除了聚合類鏈路中已有的物理鏈路;當(dāng)添加的新的物理鏈路位于一個(gè)新的線卡時(shí),則在新的線卡上建立雙向轉(zhuǎn)發(fā)檢測(cè)會(huì)話;當(dāng)刪除線卡上的物理鏈路且該線卡沒有所述聚合類鏈路的其它物理鏈路時(shí),則刪除該 線卡上的雙向轉(zhuǎn)發(fā)檢測(cè)會(huì)話;當(dāng)接收者所在的物理鏈路發(fā)生改變,則切換接收者; 當(dāng)發(fā)送者所在的物理鏈路發(fā)生改變,則切換發(fā)送者; 當(dāng)非接收者從聚合類鏈路中接收到雙向轉(zhuǎn)發(fā)檢測(cè)報(bào)文,則切換接收者。
5.聚合類鏈路雙向轉(zhuǎn)發(fā)檢測(cè)設(shè)備,包括主控卡和至少一個(gè)線卡,其特征在于,所述主控 卡包括第一通知模塊;所述線卡包括第二通知模塊;每一個(gè)線卡中均包含有接收者模塊、 發(fā)送者模塊;所述主控卡或者線卡包括有切換模塊;所述第一通知模塊用于,當(dāng)切換模塊位于主控卡時(shí),第一通知模塊感知聚合類鏈路的 物理鏈路改變,需要對(duì)發(fā)送者或接收者進(jìn)行切換時(shí),發(fā)出切換通知;所述第二通知模塊用于,當(dāng)切換模塊位于線卡時(shí),第二通知模塊感知聚合類鏈路的物 理鏈路改變,需要對(duì)發(fā)送者或接收者進(jìn)行切換時(shí),發(fā)出切換通知;所述切換模塊用于,根據(jù)切換通知控制線卡中的發(fā)送者模塊、接收者模塊使能或失效;發(fā)送者模塊用于,構(gòu)建雙向轉(zhuǎn)發(fā)檢測(cè)控制報(bào)文并發(fā)送到對(duì)端設(shè)備;聚合類鏈路所在的 所有線卡中只有一個(gè)線卡中的發(fā)送者模塊被使能;接收者模塊用于,接收雙向轉(zhuǎn)發(fā)檢測(cè)控制報(bào)文;聚合類鏈路所在的所有線卡中只有一 個(gè)線卡中的接收者模塊被使能。
6.如權(quán)利要求5所述聚合類鏈路雙向轉(zhuǎn)發(fā)檢測(cè)設(shè)備,其特征在于,所述接收者模塊還 用于,驅(qū)動(dòng)雙向轉(zhuǎn)發(fā)檢測(cè)會(huì)話狀態(tài)變化。
7.如權(quán)利要求6所述聚合類鏈路雙向轉(zhuǎn)發(fā)檢測(cè)設(shè)備,其特征在于,所述雙向轉(zhuǎn)發(fā)檢測(cè) 會(huì)話狀態(tài)保存至主控卡中。
8.如權(quán)利要求5、6或7所述聚合類鏈路雙向轉(zhuǎn)發(fā)檢測(cè)設(shè)備,其特征在于,所述切換模塊 為位于主控卡的第一切換模塊;所述第一通知模塊還用于,接收上層應(yīng)用協(xié)議發(fā)出的雙向轉(zhuǎn)發(fā)檢測(cè)會(huì)話建立、刪除消 息并發(fā)送至第二通知模塊,接收第二通知模塊發(fā)出的鏈路故障消息并發(fā)送至上層應(yīng)用協(xié) 議;所述第二通知模塊還用于,發(fā)送鏈路故障消息至第一通知模塊,接收第一通知模塊發(fā) 送的雙向轉(zhuǎn)發(fā)檢測(cè)會(huì)話建立、刪除消息。
9.如權(quán)利要求6所述聚合類鏈路雙向轉(zhuǎn)發(fā)檢測(cè)設(shè)備,其特征在于,所述雙向轉(zhuǎn)發(fā)檢測(cè) 會(huì)話狀態(tài)保存至接收者所在線卡中。
10.如權(quán)利要求5、6或7所述聚合類鏈路雙向轉(zhuǎn)發(fā)檢測(cè)設(shè)備,其特征在于,所述切換模 塊為位于線卡的第二切換模塊;所述第一通知模塊還用于,接收上層應(yīng)用協(xié)議發(fā)出的雙向轉(zhuǎn)發(fā)檢測(cè)會(huì)話建立、刪除消 息并發(fā)送至第二通知模塊,接收第二通知模塊發(fā)出的鏈路故障消息并發(fā)送至上層應(yīng)用協(xié) 議;所述第二通知模塊還用于,發(fā)送鏈路故障消息至第一通知模塊,接收第一通知模塊發(fā) 送的雙向轉(zhuǎn)發(fā)檢測(cè)會(huì)話建立、刪除消息。
全文摘要
本發(fā)明提供了一種能夠?qū)崿F(xiàn)雙向轉(zhuǎn)發(fā)檢測(cè)控制報(bào)文的收發(fā)分離的聚合類鏈路分布式雙向轉(zhuǎn)發(fā)檢測(cè)方法,以及實(shí)現(xiàn)該方法的設(shè)備。聚合類鏈路雙向轉(zhuǎn)發(fā)檢測(cè)包括步驟主控卡初始選擇雙向轉(zhuǎn)發(fā)檢測(cè)控制報(bào)文的發(fā)送者和接收者;一個(gè)聚合類鏈路中只有一個(gè)發(fā)送者和一個(gè)接收者;當(dāng)主控卡感知聚合類鏈路的物理鏈路改變后,需要對(duì)發(fā)送者或接收者進(jìn)行切換。本發(fā)明不是對(duì)雙向轉(zhuǎn)發(fā)檢測(cè)會(huì)話進(jìn)行切換,而是切換雙向轉(zhuǎn)發(fā)檢測(cè)控制報(bào)文的接收者或發(fā)送者,且接收者、發(fā)送者可以位于不同的線卡,解決了現(xiàn)有雙向轉(zhuǎn)發(fā)檢測(cè)會(huì)話在聚合類鏈路中不停切換的問(wèn)題。
文檔編號(hào)H04L12/56GK101860491SQ20101020729
公開日2010年10月13日 申請(qǐng)日期2010年6月23日 優(yōu)先權(quán)日2010年6月23日
發(fā)明者周躍文, 尹茂, 徐海兵, 李永合 申請(qǐng)人:邁普通信技術(shù)股份有限公司