專利名稱:路由設(shè)備多業(yè)務(wù)鏈接實現(xiàn)方法、系統(tǒng)及路由設(shè)備的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及網(wǎng)絡(luò)技術(shù)領(lǐng)域,尤指一種路由設(shè)備多業(yè)務(wù)鏈接實現(xiàn)方法、系統(tǒng)及路由 設(shè)備。
背景技術(shù):
邊界網(wǎng)關(guān)協(xié)議(Border Gateway Protocol, BGP)是使用最廣泛的路由協(xié)議之一, 可以管理整個互聯(lián)網(wǎng)的所有路由設(shè)備。BGP協(xié)議使用更新(UPDATE)報文來進(jìn)行協(xié)議路由信息的交互,路由設(shè)備在鄰居關(guān) 系剛剛建立就會把所有需要通告的協(xié)議路由信息全部通告給鄰居路由設(shè)備,此后再有路由 信息的變化,路由設(shè)備就只向鄰居路由設(shè)備通告變化的路由信息,而不是周期性的通告所 有的協(xié)議路由信息,從而提高了 BGP協(xié)議的信息通告效率,減少了協(xié)議報文對網(wǎng)絡(luò)帶寬的 消耗。路由設(shè)備在發(fā)現(xiàn)收到的UPDATE報文存在錯誤的時候,根據(jù)BGP協(xié)議規(guī)定會向鄰居 路由設(shè)備發(fā)送通知(NOTIFY)報文,拆掉和鄰居路由設(shè)備之間的鄰居關(guān)系,刪除從鄰居路由 設(shè)備學(xué)習(xí)到的所有協(xié)議路由信息,重新建立鄰居關(guān)系,重新進(jìn)行路由信息的學(xué)習(xí)。隨著路由設(shè)備上鏈接的業(yè)務(wù)數(shù)量的增長,BGP協(xié)議所承載的業(yè)務(wù)越來越多,例如 IPv4單播業(yè)務(wù),IPv4多播業(yè)務(wù),IPv6業(yè)務(wù),L3VPN業(yè)務(wù),L2VPN等等。這些業(yè)務(wù)都通過一個 BGP協(xié)議鏈接實現(xiàn),一旦其中一個業(yè)務(wù)的報文出現(xiàn)錯誤,就要和對端的鄰居路由設(shè)備斷掉鏈 接,所有的業(yè)務(wù)中斷。以后需要重新建立BGP鏈接,并重新學(xué)習(xí)鄰居路由設(shè)備的所有業(yè)務(wù)相 關(guān)的路由信息,完成業(yè)務(wù)的重新建立??梢?,目前使用BGP協(xié)議的路由設(shè)備支持多業(yè)務(wù)時,會因一個業(yè)務(wù)的收發(fā)報文出 現(xiàn)錯誤,刪除所有業(yè)務(wù)的路由信息,導(dǎo)致其他所有業(yè)務(wù)的通信也隨之中斷。
發(fā)明內(nèi)容
本發(fā)明實施例提供一種路由設(shè)備多業(yè)務(wù)鏈接實現(xiàn)方法、系統(tǒng)及路由設(shè)備,用以解 決現(xiàn)有路由設(shè)備支持多業(yè)務(wù)時,一個業(yè)務(wù)的報文出現(xiàn)錯誤導(dǎo)致所有業(yè)務(wù)中斷的問題。一種路由設(shè)備多業(yè)務(wù)鏈接實現(xiàn)方法,包括路由設(shè)備接收到的鄰居路由設(shè)備發(fā)送的用于更新路由信息的更新報文出現(xiàn)錯誤 時,向鄰居路由設(shè)備發(fā)送擴展通知消息通告路由信息更新錯誤;所述擴展通知消息中攜帶 指示更新報文出現(xiàn)錯誤的業(yè)務(wù)的錯誤指示信息;路由設(shè)備接收鄰居路由設(shè)備根據(jù)擴展通知消息中包含的錯誤指示信息,重新發(fā)送 的更新報文出現(xiàn)錯誤的業(yè)務(wù)的更新報文;根據(jù)接收到的重新發(fā)送的更新報文,更新所述更新報文出現(xiàn)錯誤的業(yè)務(wù)的路由信 肩、O一種路由設(shè)備,包括接收模塊、解析模塊、發(fā)送模塊和更新模塊;所述接收模塊,用于接收鄰居路由設(shè)備發(fā)送的用于更新路由信息的更新報文;以及接收鄰居路由設(shè)備根據(jù)擴展通知消息中包含的錯誤指示信息,重新發(fā)送的更新報文出現(xiàn) 錯誤的業(yè)務(wù)的更新報文;所述解析模塊,用于對所述接收模塊接收到的更新報文進(jìn)行解析,當(dāng)接收到的更 新報文出現(xiàn)錯誤時,通知所述發(fā)送模塊;所述發(fā)送模塊,用于根據(jù)所述解析模塊的通知向鄰居路由設(shè)備發(fā)送擴展通知消息 通告路由信息更新錯誤;所述擴展通知消息中攜帶指示更新報文出現(xiàn)錯誤的業(yè)務(wù)的錯誤指 不信息;所述更新模塊,用于根據(jù)所述接收模塊接收到的重新發(fā)送的更新報文,更新所述 更新報文出現(xiàn)錯誤的業(yè)務(wù)的路由信息。一種路由設(shè)備多業(yè)務(wù)鏈接實現(xiàn)系統(tǒng),包括第一路由設(shè)備和第二路由設(shè)備;所述第一路由設(shè)備,用于接收到的第二路由設(shè)備發(fā)送的用于更新路由信息的更新 報文出現(xiàn)錯誤時,向第二路由設(shè)備發(fā)送擴展通知消息通告路由信息更新錯誤;所述擴展通 知消息中攜帶指示更新報文出現(xiàn)錯誤的業(yè)務(wù)的錯誤指示信息;以及接收第二路由設(shè)備重新 發(fā)送的更新報文,根據(jù)接收到的重新發(fā)送的更新報文,更新所述更新報文出現(xiàn)錯誤的業(yè)務(wù) 的路由信息;所述第二路由設(shè)備,用于根據(jù)擴展通知消息中包含的錯誤指示信息,重新發(fā)送的 更新報文出現(xiàn)錯誤的業(yè)務(wù)的更新報文。本發(fā)明有益效果如下本發(fā)明實施例提供的路由設(shè)備多業(yè)務(wù)鏈接實現(xiàn)方法、系統(tǒng)及路由設(shè)備,當(dāng)路由設(shè) 備與鄰居路由設(shè)備之間的某個業(yè)務(wù)發(fā)生故障時,只要收集該業(yè)務(wù)的錯誤指示信息并發(fā)送擴 展路由通知消息通知鄰居路由設(shè)備,重新發(fā)送該業(yè)務(wù)的更新報文來更新路由信息即可,避 免了一個業(yè)務(wù)的更新報文出現(xiàn)錯誤時,導(dǎo)致其他業(yè)務(wù)中斷的問題;該方法尤其適用于支持 多業(yè)務(wù)的路由設(shè)備,降低了業(yè)務(wù)出現(xiàn)故障時對報文轉(zhuǎn)發(fā)的影響程度,減少了路由震蕩,有利 于業(yè)務(wù)報文出現(xiàn)故障時鏈路的迅速恢復(fù),提高了使用BGP協(xié)議的路由設(shè)備的可靠性和業(yè)務(wù) 穩(wěn)定性;同時減少了重新建立鏈路,收發(fā)所有業(yè)務(wù)的全部更新報文所帶來的系統(tǒng)資源消耗 和帶寬開銷。
此處所說明的附圖用來提供對本發(fā)明的進(jìn)一步理解,構(gòu)成本發(fā)明的一部分,本發(fā) 明的示意性實施例及其說明用于解釋本發(fā)明,并不構(gòu)成對本發(fā)明的不當(dāng)限定。在附圖中圖1為本發(fā)明實施例中路由設(shè)備多業(yè)務(wù)鏈接實現(xiàn)方法的流程圖;圖2為本發(fā)明實施例中路由設(shè)備多業(yè)務(wù)鏈接實現(xiàn)系統(tǒng)的結(jié)構(gòu)示意圖;圖3為本發(fā)明實施例中路由設(shè)備發(fā)現(xiàn)更新報文錯誤的示意圖;圖4為本發(fā)明實施例中路由設(shè)備發(fā)送擴展通知消息的示意圖;圖5為本發(fā)明實施例中鄰居路由設(shè)備重新發(fā)送更新報文的示意圖;圖6為本發(fā)明實施例中路由設(shè)備發(fā)現(xiàn)更新報文錯誤時的處理流程圖;圖7為本發(fā)明實施例中路由設(shè)備收到擴展通知消息時的處理流程圖;圖8為本發(fā)明實施例中路由設(shè)備的結(jié)構(gòu)示意圖。
具體實施例方式為了使本發(fā)明所要解決的技術(shù)問題、技術(shù)方案及有益效果更加清楚、明白,以下結(jié) 合附圖和實施例,對本發(fā)明進(jìn)行進(jìn)一步詳細(xì)說明。應(yīng)當(dāng)理解,此處所描述的具體實施例僅僅 用以解釋本發(fā)明,并不用于限定本發(fā)明。針對現(xiàn)有路由設(shè)備與鄰居路由設(shè)備之間的一種業(yè)務(wù)出現(xiàn)故障時,需要重新建立所 有業(yè)務(wù)的鏈接的問題,本發(fā)明實施例提供一種路由設(shè)備多業(yè)務(wù)鏈接實現(xiàn)方法,該方法流程 如圖1所示。實現(xiàn)該方法的系統(tǒng)結(jié)構(gòu)如圖2所示,該系統(tǒng)中包括若干路由設(shè)備,例如圖中所 示的路由設(shè)備A和路由設(shè)備B等。路由設(shè)備A和路由設(shè)備B之間建立了 BGP鄰居關(guān)系,即 路由設(shè)備A和路由設(shè)備B的鄰居路由設(shè)備,同樣的,路由設(shè)備B也是路由設(shè)備A的鄰居路由 設(shè)備。本發(fā)明實施例提供的路由設(shè)備多業(yè)務(wù)連接實現(xiàn)方法,包括如下步驟步驟Sll 路由設(shè)備和鄰居路由設(shè)備之間建立多業(yè)務(wù)鏈接。例如圖2所示的,互為鄰居路由設(shè)備的路由設(shè)備A和路由設(shè)備B之間建立多業(yè)務(wù) 鏈接,使多業(yè)務(wù)均正常運行。比如建立的業(yè)務(wù)連接包括IPv4單播業(yè)務(wù)、IPv6單播業(yè)務(wù)和 L3VPN業(yè)務(wù)等。步驟S12 路由設(shè)備接收鄰居路由設(shè)備發(fā)送的更新報文。路由設(shè)備接收鄰居路由設(shè)備發(fā)送的用于更新路由信息的更新報文。即鄰居路由設(shè) 備有路由信息變化,需要更新路由信息時,發(fā)送更新報文來通知路由設(shè)備更新路由信息。例如圖3所示,在圖2所示的系統(tǒng)建立多業(yè)務(wù)鏈接后,路由設(shè)備A的鄰居路由設(shè)備 B發(fā)現(xiàn)L3VPN業(yè)務(wù)的路由信息需要更新,則向鄰居路由設(shè)備B向路由設(shè)備A發(fā)送更新報文, 通知路由設(shè)備A更新L3VPN業(yè)務(wù)的路由信息。步驟S13 路由設(shè)備發(fā)現(xiàn)接收到的更新報文出現(xiàn)錯誤。路由設(shè)備接收到更新報文時,依次解析接收到的更新報文的各屬性信息,當(dāng)有至 少一個屬性信息出現(xiàn)錯誤時,確定接收到的更新報文出現(xiàn)錯誤。根據(jù)BGP協(xié)議規(guī)定,更新報文出現(xiàn)錯誤也包括很多情況,例如屬性信息的類型無 法識別、屬性信息的長度錯誤、屬性信息的屬性值不在規(guī)定的范圍內(nèi)等等。路由設(shè)備在更新報文出現(xiàn)錯誤時,記錄下出現(xiàn)錯誤的更新報文的地址族 (address-family)、子地址族(sub address-family)以及出現(xiàn)錯誤的報文數(shù)據(jù)段等信息。例如圖3所示,路由設(shè)備A接收到鄰居路由設(shè)備B發(fā)送的L3VPN業(yè)務(wù)的更新報文 后,對更新報文的各個屬性依次進(jìn)行解析,發(fā)現(xiàn)L3VPN業(yè)務(wù)的更新報文出現(xiàn)錯誤。步驟S14 路由設(shè)備向鄰居路由設(shè)備發(fā)送擴展通知消息通告路由信息更新錯誤。路由設(shè)備在發(fā)現(xiàn)接收到的更新報文出現(xiàn)錯誤,無法正常更新該更新報文所屬業(yè)務(wù) 的路由信息時,向鄰居路由設(shè)備發(fā)送擴展通知消息,該擴展通知消息中攜帶錯誤指示信息, 用于指示更新報文出現(xiàn)錯誤的業(yè)務(wù)。上述擴展通知消息中攜帶的錯誤指示信息包括下列信息之一或組合出現(xiàn)錯誤的 更新報文對應(yīng)的地址族、子地址族和出現(xiàn)錯誤報文數(shù)據(jù)段。鄰居路由設(shè)備更具這些信息來 識別是哪個業(yè)務(wù)的更新報文出現(xiàn)了錯誤。優(yōu)選的,路由設(shè)備發(fā)現(xiàn)更新報文出現(xiàn)錯誤之后,向鄰居路由設(shè)備發(fā)送擴展通知消 息之前,進(jìn)一步判斷,能不能收集到所需的錯誤指示信息,包括地址族、子地址族等信息。具體是在發(fā)現(xiàn)更新報文出現(xiàn)錯誤之后,收集出現(xiàn)錯誤的更新報文的錯誤指示信息;若收集成 功,則組織擴展通知消息,然后執(zhí)行向鄰居路由設(shè)備發(fā)送擴展通知消息的步驟,通知鄰居路 由設(shè)備更新出現(xiàn)更新報文錯誤的業(yè)務(wù)的路由信息;若收集不成功,則斷開與鄰居路由設(shè)備 之間的鏈接,并組織普通通知消息通知鄰居路由設(shè)備更新所有業(yè)務(wù)的路由信息。例如圖4所示,路由設(shè)備A發(fā)現(xiàn)更新報文出現(xiàn)錯誤后,向鄰居路由設(shè)備B發(fā)送擴展 通知消息,通知鄰居路由設(shè)備B自身接收的L3VPN業(yè)務(wù)的更新報文出現(xiàn)錯誤。此時,路由設(shè) 備A將鄰居路由設(shè)備B通告的所有L3VPN業(yè)務(wù)的路由信息刪除,并通過擴展通知消息中攜 帶地址族和/或子地址族等信息告知鄰居路由設(shè)備B更新L3VPN業(yè)務(wù)的路由信息失敗,同 時也可以通過攜帶出現(xiàn)錯誤的報文數(shù)據(jù)段來告知設(shè)備B是哪一部分報文數(shù)據(jù)段出現(xiàn)問題。步驟S15 鄰居路由設(shè)備根據(jù)擴展通知消息中包含的錯誤指示信息,確定更新報 文出現(xiàn)錯誤的業(yè)務(wù)。鄰居路由設(shè)備接收到擴展通知消息后,對接收到擴展通知消息進(jìn)行解析,以獲取 其中包含的錯誤指示信息,確定更新報文出現(xiàn)錯誤的業(yè)務(wù),以便重新發(fā)送更新報文出現(xiàn)錯 誤的業(yè)務(wù)的更新報文,重新更新該業(yè)務(wù)的路由信息。優(yōu)選的,鄰居路由設(shè)備根據(jù)擴展通知消息中包含的錯誤指示信息,確定更新報文 出現(xiàn)錯誤的業(yè)務(wù),以便重新發(fā)送更新報文出現(xiàn)錯誤的業(yè)務(wù)的更新報文時,若能夠正確解析 擴展通知消息,則根據(jù)其中包含的錯誤指示信息,確定更新報文出現(xiàn)錯誤的業(yè)務(wù),并發(fā)送更 新報文將該業(yè)務(wù)的路由信息重新發(fā)送給路由設(shè)備;若不能正確解析擴展通知消息,則斷掉 與路由設(shè)備之間的鏈接,并發(fā)送更新報文給路由設(shè)備重新更新所有業(yè)務(wù)的路由信息。例如鄰居路由設(shè)備B收到擴展通知消息后,可以解析出更新報文出現(xiàn)錯誤的業(yè) 務(wù)的相關(guān)信息,并且還可以報告給管理員。步驟S16 鄰居路由設(shè)備重新發(fā)送的更新報文出現(xiàn)錯誤的業(yè)務(wù)的更新報文。鄰居路由設(shè)備僅重新發(fā)送更新報文出現(xiàn)錯誤的業(yè)務(wù)的更新報文,而不需要發(fā)送全 部業(yè)務(wù)的更新報文,從而減少了更新報文的發(fā)送量,避免了斷開BGP協(xié)議鏈接,所導(dǎo)致的業(yè) 務(wù)中斷。例如圖4所示,鄰居路由設(shè)備B接收到擴展通知消息后,確定是L3VPN業(yè)務(wù)的更新 報文出現(xiàn)錯誤,因此,重新組織L3VPN業(yè)務(wù)的更新報文發(fā)送給路由設(shè)備A,重新通告L3VPN業(yè) 務(wù)的路由信息,以便路由設(shè)備A更新L3VPN業(yè)務(wù)的路由信息。步驟S17 路由設(shè)備根據(jù)接收到的重新發(fā)送的更新報文,對更新報文出現(xiàn)錯誤的 業(yè)務(wù)的路由信息進(jìn)行更新。路由設(shè)備接收鄰居路由設(shè)備根據(jù)擴展通知消息中包含的錯誤指示信息,重新發(fā)送 的更新報文出現(xiàn)錯誤的業(yè)務(wù)的更新報文后,根據(jù)接收到的更新報文對更新報文出現(xiàn)錯誤的 業(yè)務(wù)的路由信息進(jìn)行重新更新。沿用上邊的例子,路由設(shè)備A接收到鄰居路由設(shè)備B重新發(fā)送的L3VPN業(yè)務(wù)的更 新報文后,更新L3VPN業(yè)務(wù)的路由信息。步驟S18 更新報文出現(xiàn)錯誤的業(yè)務(wù)恢復(fù)。對更新報文出現(xiàn)錯誤的業(yè)務(wù)的路由信息進(jìn)行重新更新后,該業(yè)務(wù)便能夠恢復(fù)并正 常收發(fā)報文了,這種更新不影響其他業(yè)務(wù)報文的正常收發(fā)。沿用上邊的例子,路由設(shè)備A更新自身L3VPN業(yè)務(wù)的路由信息后,L3VPN業(yè)務(wù)恢復(fù),系統(tǒng)恢復(fù)到如圖2所示的狀態(tài),IPv4單播業(yè)務(wù)、IPv6單播業(yè)務(wù)和L3VPN業(yè)務(wù)等多個業(yè)務(wù)均 能正常收發(fā)報文。上述方法中,步驟S13-步驟S14中路由設(shè)備發(fā)現(xiàn)接收到的更新報文出現(xiàn)錯誤,向 鄰居路由設(shè)備發(fā)送擴展通知消息通告路由信息更新錯誤具體實現(xiàn)過程,可以如圖所示,包 括如下步驟步驟S21 獲取接收到的更新報文的屬性信息。依次獲取更新報文的各屬性信息,其中屬性信息至少包括下一跳(Nexthop)屬 性、路徑(As_path)屬性和路由源(origin)屬性等屬性信息;還可以包括BGP協(xié)議中規(guī)定 的其他各屬性信息。步驟S22 是否有屬性信息出現(xiàn)錯誤。只要更新報文中有一個屬性信息出現(xiàn)錯誤,即認(rèn)為該更新報文出現(xiàn)錯誤。若是執(zhí)行步驟S24 ;否則執(zhí)行步驟S23。步驟S23 是否獲取完更新報文的所有屬性信息。若是,執(zhí)行步驟S30 ;否則返回繼續(xù)執(zhí)行步驟S21。步驟S24 收集出現(xiàn)錯誤的更新報文的錯誤指示信息。當(dāng)有至少一個屬性信息出現(xiàn)錯誤時,確定接收到的更新報文出現(xiàn)錯誤,收集出現(xiàn) 錯誤的更新報文的地址族、子地址族及出現(xiàn)錯誤的報文數(shù)據(jù)段等錯誤指示信息。步驟S25 判斷是否收集錯誤指示信息成功。若是,執(zhí)行步驟S26 ;否則執(zhí)行步驟S28。步驟S26 組織擴展通知消息。路由設(shè)備收集錯誤指示信息成功時,組織攜帶錯誤指示信息的擴展通知消息,以 便通告鄰居路由設(shè)備是哪個業(yè)務(wù)的更新報文出現(xiàn)錯誤。步驟S27 向鄰居路由設(shè)備發(fā)送擴展通知消息。路由設(shè)備組織擴展通知消息成功后,向鄰居路由設(shè)備發(fā)送擴展通知消息,通知鄰 居路由設(shè)備更新出現(xiàn)更新報文錯誤的業(yè)務(wù)的路由信息。步驟S28 組織普通通知消息。路由設(shè)備收集錯誤指示信息不成功時,組織普通通知消息,以便通告鄰居路由設(shè) 備有更新報文出現(xiàn)錯誤。步驟S29 斷開與鄰居路由設(shè)備的連接,發(fā)送普通通知消息。此時路由設(shè)備會斷開與鄰居路由設(shè)備之間的鏈接,并組織普通通知消息通知鄰居 路由設(shè)備更新所有業(yè)務(wù)的路由信息。步驟S30:結(jié)束。上述方法中,步驟S15和步驟S16中鄰居路由設(shè)備根據(jù)擴展通知消息中包含的錯 誤指示信息,確定更新報文出現(xiàn)錯誤的業(yè)務(wù),重新發(fā)送的更新報文出現(xiàn)錯誤的業(yè)務(wù)的更新 報文的具體實現(xiàn)過程,可以如圖所示,包括如下步驟步驟S31 鄰居路由設(shè)備接收到通知消息。鄰居路由設(shè)備接收到通知消息時,首先識別是否是擴展通知消息,以及確定自身 是否支持這種擴展通知消息。步驟S32 對通知消息進(jìn)行解析,確定是擴展通知消息還是普通通知消息。
鄰居路由設(shè) 備通過解析通知消息,確定是擴展通知消息還是普通通知消息。鄰居 路由設(shè)備能夠支持?jǐn)U展通知消息,才能夠?qū)U展通知消息解析成功,當(dāng)解析不成功時,則可 以認(rèn)為是普通通知消息。鄰居路由設(shè)備不能支持?jǐn)U展通知消息時,接收到的所有消息都會 被認(rèn)為是普通通知消息,因為此時鄰居路由設(shè)備無法成功解析擴展通知消息。若是擴展通知消息,執(zhí)行步驟S33,若是普通通知消息,執(zhí)行步驟S35。步驟S33 獲取擴展通知消息中的錯誤指示信息,確定更新報文出現(xiàn)錯誤的業(yè)務(wù)。如果鄰居路由設(shè)備能夠支持?jǐn)U展通知消息并能夠正確解析擴展通知消息,則獲取 其中包含的錯誤指示信息,確定更新報文出現(xiàn)錯誤的業(yè)務(wù)。步驟S34 重新發(fā)送更新報文出現(xiàn)錯誤的業(yè)務(wù)的更新報文。鄰居路由設(shè)備重新發(fā)送更新報文出現(xiàn)錯誤的業(yè)務(wù)的更新報文,重新更新該業(yè)務(wù)的 路由信息。而不影響其他更新報文沒有出現(xiàn)錯誤的業(yè)務(wù)的報文收發(fā)。步驟S35 斷開與發(fā)送通知消息的路由設(shè)備之間的鏈接。如果鄰居路由設(shè)備接收到普通通知消息或不能正確解析擴展通知消息,則會斷掉 與路由設(shè)備之間的鏈接。此時與現(xiàn)有技術(shù)一樣,所有業(yè)務(wù)的報文收發(fā)均受到影響,需要重新 建立鏈接。步驟S36 重新發(fā)送所有業(yè)務(wù)的更新報文。鄰居路由設(shè)備斷掉與路由設(shè)備之間的鏈接后,發(fā)送更新報文給路由設(shè)備重新更新 所有業(yè)務(wù)的路由信息。這樣路由設(shè)備就可以重新獲取到所有業(yè)務(wù)的路由信息并正確更新 了。本發(fā)明實施例提供的上述路由設(shè)備多業(yè)務(wù)鏈接實現(xiàn)系統(tǒng),以路由設(shè)備為第一路由 設(shè)備,鄰居路由設(shè)備為第二路由設(shè)備為例,則第一路由設(shè)備和第二路由設(shè)備功能如下第一路由設(shè)備,用于接收到的第二路由設(shè)備發(fā)送的用于更新路由信息的更新報文 出現(xiàn)錯誤時,向第二路由設(shè)備發(fā)送擴展通知消息通告路由信息更新錯誤;其中擴展通知消 息中攜帶指示更新報文出現(xiàn)錯誤的業(yè)務(wù)的錯誤指示信息;以及接收第二路由設(shè)備重新發(fā)送 的更新報文,根據(jù)接收到的重新發(fā)送的更新報文,更新更新報文出現(xiàn)錯誤的業(yè)務(wù)的路由信 肩、ο第二路由設(shè)備,用于根據(jù)擴展通知消息中包含的錯誤指示信息,重新發(fā)送的更新 報文出現(xiàn)錯誤的業(yè)務(wù)的更新報文。優(yōu)選的,上述第一路由設(shè)備,還用于發(fā)現(xiàn)更新報文出現(xiàn)錯誤之后,收集出現(xiàn)錯誤 的更新報文的錯誤指示信息;若收集成功,則組織擴展通知消息,然后執(zhí)行向第二路由設(shè)備 發(fā)送擴展通知消息的步驟;若收集不成功,則斷開自身和第二路由設(shè)備之間的鏈接,并組織 普通通知消息通知第二路由設(shè)備更新所有業(yè)務(wù)的路由信息。優(yōu)選的,上述第二路由設(shè)備,還用于對接收到擴展通知消息進(jìn)行解析;若能夠正 確解析擴展通知消息,則根據(jù)其中包含的錯誤指示信息,確定更新報文出現(xiàn)錯誤的業(yè)務(wù),并 發(fā)送更新報文將該業(yè)務(wù)的路由信息重新發(fā)送給所述路由設(shè)備;若不能正確解析擴展通知消 息,則斷掉與第一路由設(shè)備之間的鏈接,并發(fā)送更新報文給第一路由設(shè)備重新更新所有業(yè) 務(wù)的路由信息?;诒景l(fā)明實施例提供的上述多業(yè)務(wù)鏈接實現(xiàn)方法和系統(tǒng),本發(fā)明實施例還提供 一種路由設(shè)備,該路由設(shè)備可以作為第一路由設(shè)備,也可以作為第二路由設(shè)備使用。該路由設(shè)備可以包括接收模塊10、解析模塊20、發(fā)送模塊30和更新模塊40。作為第一路由設(shè)備時,各模塊的功能如下 接收模塊10,用于接收鄰居路由設(shè)備發(fā)送的用于更新路由信息的更新報文;以及 接收鄰居路由設(shè)備根據(jù)擴展通知消息中包含的錯誤指示信息,重新發(fā)送的更新報文出現(xiàn)錯 誤的業(yè)務(wù)的更新報文。解析模塊20,用于對接收模塊10接收到的更新報文進(jìn)行解析,當(dāng)接收到的更新報 文出現(xiàn)錯誤時,通知發(fā)送模塊30。優(yōu)選的,上述解析模塊20,具體用于依次解析接收到的更新報文的各屬性信息, 當(dāng)有至少一個屬性信息出現(xiàn)錯誤時,確定接收到的更新報文出現(xiàn)錯誤;上述屬性信息包括 下一跳屬性、路徑屬性和路由源屬性。發(fā)送模塊30,用于根據(jù)解析模塊20的通知向鄰居路由設(shè)備發(fā)送擴展通知消息通 告路由信息更新錯誤;該擴展通知消息中攜帶指示更新報文出現(xiàn)錯誤的業(yè)務(wù)的錯誤指示信 肩、ο更新模塊40,用于根據(jù)接收模塊10接收到的重新發(fā)送的更新報文,更新更新報文 出現(xiàn)錯誤的業(yè)務(wù)的路由信息。優(yōu)選的,上述路由設(shè)備,還包括收集模塊50,用于解析模塊確定更新報文出現(xiàn)錯 誤之后,收集出現(xiàn)錯誤的更新報文的所述錯誤指示信息;若收集成功,則組織擴展通知消 息,然后通知發(fā)送模塊30執(zhí)行向鄰居路由設(shè)備發(fā)送擴展通知消息的步驟;若收集不成功, 則斷開路由設(shè)備和鄰居路由設(shè)備之間的鏈接,并組織普通通知消息提供給發(fā)送模塊30 ;相應(yīng)的,上述發(fā)送模塊30,還用于發(fā)送普通通知消息通知鄰居路由設(shè)備更新所有 業(yè)務(wù)的路由信息。作為第二路由設(shè)備時,各模塊的功能如下接收模塊10,用于接收鄰居路由設(shè)備發(fā)送的擴展通知消息。解析模塊20,用于對接收到擴展通知消息進(jìn)行解析;若能夠正確解析擴展通知消 息,則根據(jù)其中包含的錯誤指示信息,確定更新報文出現(xiàn)錯誤的業(yè)務(wù),并通知發(fā)送模塊30 發(fā)送更新報文將該業(yè)務(wù)的路由信息重新發(fā)送給鄰居路由設(shè)備;若不能正確解析擴展通知消 息,則斷掉與鄰居路由設(shè)備之間的鏈接,并通知發(fā)送模塊30發(fā)送更新報文給鄰居路由設(shè)備 重新更新所有業(yè)務(wù)的路由信息。相應(yīng)的,上述發(fā)送模塊30,用于根據(jù)解析模塊20的通知,發(fā)送相應(yīng)的更新報文給 鄰居路由設(shè)備。當(dāng)然,上述路由設(shè)備的各功能模塊可以同時具有作為第一路由設(shè)備和作為第二路 由設(shè)備的功能,根據(jù)其在多業(yè)務(wù)鏈接時是作為發(fā)現(xiàn)更新報文錯誤的路由設(shè)備,還是該發(fā)現(xiàn) 更新報文錯誤的路由設(shè)備的鄰居路由設(shè)備來確定實現(xiàn)第一路由設(shè)備還是第二路由設(shè)備的 功能。本發(fā)明實施例提供的路由設(shè)備多業(yè)務(wù)鏈接實現(xiàn)方法,當(dāng)路由設(shè)備與鄰居路由設(shè)備 之間的某個業(yè)務(wù)發(fā)生故障時,只要收集該業(yè)務(wù)的錯誤指示信息并發(fā)送擴展路由通知消息通 知鄰居路由設(shè)備是哪個業(yè)務(wù)的路由信息更新失敗,以便鄰居路由設(shè)備重新發(fā)送該業(yè)務(wù)的更 新報文來更新路由信息。該方法在部分業(yè)務(wù)的路由信息出現(xiàn)錯誤時,無需斷開鏈接重發(fā)所 有業(yè)務(wù)更新報文來更新路由信息,從而避免了一個業(yè)務(wù)的更新報文出現(xiàn)錯誤時,影響其他業(yè)務(wù)正常收發(fā),導(dǎo)致其他業(yè)務(wù)報文收發(fā)中斷和延時的問題。該方法尤其適用于支持多業(yè)務(wù)的路由設(shè)備,避免了所承載的多種業(yè)務(wù)之間的相互 影響,從而減少了路由信息更新操作的概率,降低了業(yè)務(wù)出現(xiàn)故障時對報文轉(zhuǎn)發(fā)的影響程 度,減少了路由震蕩,有利于業(yè)務(wù)報文出現(xiàn)故障時鏈路的迅速恢復(fù),提高了使用BGP協(xié)議的 路由設(shè)備的可靠性和業(yè)務(wù)穩(wěn)定性;同時減少了重新建立鏈路、收發(fā)所有業(yè)務(wù)的全部更新報 文所帶來的系統(tǒng)資源消耗和帶寬開銷,減少了系統(tǒng)資源使用率和帶寬占用率。上述說明示出并描述了本發(fā)明的一個優(yōu)選實施例,但如前所述,應(yīng)當(dāng)理解本發(fā)明 并非局限于本文所披露的形式,不應(yīng)看作是對其他實施例的排除,而可用于各種其他組合、 修改和環(huán)境,并能夠在本文所述發(fā)明構(gòu)想范圍內(nèi),通過上述教導(dǎo)或相關(guān)領(lǐng)域的技術(shù)或知識 進(jìn)行改動。而本領(lǐng)域人員所進(jìn)行的改動和變化不脫離本發(fā)明的精神和范圍,則都應(yīng)在本發(fā) 明所附權(quán)利要求的保護(hù)范圍內(nèi)。
權(quán)利要求
1.一種路由設(shè)備多業(yè)務(wù)鏈接實現(xiàn)方法,其特征在于,包括路由設(shè)備接收到的鄰居路由設(shè)備發(fā)送的用于更新路由信息的更新報文出現(xiàn)錯誤時,向 鄰居路由設(shè)備發(fā)送擴展通知消息通告路由信息更新錯誤;所述擴展通知消息中攜帶指示更 新報文出現(xiàn)錯誤的業(yè)務(wù)的錯誤指示信息;路由設(shè)備接收鄰居路由設(shè)備根據(jù)擴展通知消息中包含的錯誤指示信息,重新發(fā)送的更 新報文出現(xiàn)錯誤的業(yè)務(wù)的更新報文;根據(jù)接收到的重新發(fā)送的更新報文,更新所述更新報文出現(xiàn)錯誤的業(yè)務(wù)的路由信息。
2.如權(quán)利要求1所述的方法,其特征在于,所述路由設(shè)備接收到的鄰居路由設(shè)備發(fā)送 的用于更新路由信息的更新報文出現(xiàn)錯誤,具體包括路由設(shè)備接收鄰居路由設(shè)備發(fā)送的用于更新路由信息的更新報文;依次解析接收到的更新報文的各屬性信息,當(dāng)有至少一個屬性信息出現(xiàn)錯誤時,確定 接收到的更新報文出現(xiàn)錯誤。
3.如權(quán)利要求1所述的方法,其特征在于,所述更新報文出現(xiàn)錯誤之后,向鄰居路由設(shè) 備發(fā)送擴展通知消息之前,還包括收集出現(xiàn)錯誤的更新報文的所述錯誤指示信息;若收集成功,則組織所述擴展通知消息,然后執(zhí)行向鄰居路由設(shè)備發(fā)送擴展通知消息 的步驟;若收集不成功,則斷開與鄰居路由設(shè)備之間的鏈接,并組織普通通知消息通知鄰居路 由設(shè)備更新所有業(yè)務(wù)的路由信息。
4.如權(quán)利要求1所述的方法,其特征在于,鄰居路由設(shè)備根據(jù)擴展通知消息中包含的 錯誤指示信息,重新發(fā)送更新報文出現(xiàn)錯誤的業(yè)務(wù)的更新報文,具有包括鄰居路由設(shè)備對接收到擴展通知消息進(jìn)行解析;若能夠正確解析擴展通知消息,則根據(jù)其中包含的錯誤指示信息,確定更新報文出現(xiàn) 錯誤的業(yè)務(wù),并發(fā)送更新報文將該業(yè)務(wù)的路由信息重新發(fā)送給所述路由設(shè)備;若不能正確解析擴展通知消息,則斷掉與路由設(shè)備之間的鏈接,并發(fā)送更新報文給所 述路由設(shè)備重新更新所有業(yè)務(wù)的路由信息。
5.如權(quán)利要求1-4任一所述的方法,其特征在于,所述錯誤指示信息包括下列信息之 一或組合出現(xiàn)錯誤的更新報文對應(yīng)的地址族、子地址族和出現(xiàn)錯誤報文數(shù)據(jù)段。
6.一種路由設(shè)備,其特征在于,包括接收模塊、解析模塊、發(fā)送模塊和更新模塊;所述接收模塊,用于接收鄰居路由設(shè)備發(fā)送的用于更新路由信息的更新報文;以及接 收鄰居路由設(shè)備根據(jù)擴展通知消息中包含的錯誤指示信息,重新發(fā)送的更新報文出現(xiàn)錯誤 的業(yè)務(wù)的更新報文;所述解析模塊,用于對所述接收模塊接收到的更新報文進(jìn)行解析,當(dāng)接收到的更新報 文出現(xiàn)錯誤時,通知所述發(fā)送模塊;所述發(fā)送模塊,用于根據(jù)所述解析模塊的通知向鄰居路由設(shè)備發(fā)送擴展通知消息通告 路由信息更新錯誤;所述擴展通知消息中攜帶指示更新報文出現(xiàn)錯誤的業(yè)務(wù)的錯誤指示信 息;所述更新模塊,用于根據(jù)所述接收模塊接收到的重新發(fā)送的更新報文,更新所述更新報文出現(xiàn)錯誤的業(yè)務(wù)的路由信息。
7.如權(quán)利要求6所述的路由設(shè)備,其特征在于,所述解析模塊,具體用于依次解析接收到的更新報文的各屬性信息,當(dāng)有至少一個屬性信息出現(xiàn)錯誤時,確定 接收到的更新報文出現(xiàn)錯誤。
8.如權(quán)利要求6所述的路由設(shè)備,其特征在于,還包括收集模塊,用于所述解析模塊確定更新報文出現(xiàn)錯誤之后,收集出現(xiàn)錯誤的更新報文 的所述錯誤指示信息;若收集成功,則組織所述擴展通知消息,然后通知所述發(fā)送模塊執(zhí)行 向鄰居路由設(shè)備發(fā)送擴展通知消息的步驟;若收集不成功,則斷開路由設(shè)備和鄰居路由設(shè) 備之間的鏈接,并組織普通通知消息提供給發(fā)送模塊;所述發(fā)送模塊,還用于發(fā)送所述普通通知消息通知鄰居路由設(shè)備更新所有業(yè)務(wù)的路由 fn息ο
9.如權(quán)利要求6-8任一所述的路由設(shè)備,其特征在于,所述接收模塊,還用于接收鄰 居路由設(shè)備發(fā)送的擴展通知消息;所述解析模塊,還用于對接收到擴展通知消息進(jìn)行解析;若能夠正確解析擴展通知消 息,則根據(jù)其中包含的錯誤指示信息,確定更新報文出現(xiàn)錯誤的業(yè)務(wù),并通知發(fā)送模塊發(fā)送 更新報文將該業(yè)務(wù)的路由信息重新發(fā)送給鄰居路由設(shè)備;若不能正確解析擴展通知消息, 則斷掉與鄰居路由設(shè)備之間的鏈接,并通知發(fā)送模塊發(fā)送更新報文給鄰居路由設(shè)備重新更 新所有業(yè)務(wù)的路由信息。
10.一種路由設(shè)備多業(yè)務(wù)鏈接實現(xiàn)系統(tǒng),其特征在于,包括第一路由設(shè)備和第二路由 設(shè)備;所述第一路由設(shè)備,用于接收到的第二路由設(shè)備發(fā)送的用于更新路由信息的更新報文 出現(xiàn)錯誤時,向第二路由設(shè)備發(fā)送擴展通知消息通告路由信息更新錯誤;所述擴展通知消 息中攜帶指示更新報文出現(xiàn)錯誤的業(yè)務(wù)的錯誤指示信息;以及接收第二路由設(shè)備重新發(fā)送 的更新報文,根據(jù)接收到的重新發(fā)送的更新報文,更新所述更新報文出現(xiàn)錯誤的業(yè)務(wù)的路 由fn息;所述第二路由設(shè)備,用于根據(jù)擴展通知消息中包含的錯誤指示信息,重新發(fā)送的更新 報文出現(xiàn)錯誤的業(yè)務(wù)的更新報文。
11.如權(quán)利要求10所述的系統(tǒng),其特征在于,所述第一路由設(shè)備,還用于所述更新報文出現(xiàn)錯誤之后,收集出現(xiàn)錯誤的更新報文的所述錯誤指示信息;若收集 成功,則組織所述擴展通知消息,然后執(zhí)行向第二路由設(shè)備發(fā)送擴展通知消息的步驟;若收 集不成功,則斷開自身和第二路由設(shè)備之間的鏈接,并組織普通通知消息通知第二路由設(shè) 備更新所有業(yè)務(wù)的路由信息。
12.如權(quán)利要求10或11所述的系統(tǒng),其特征在于,所述第二路由設(shè)備,還用于對接收到擴展通知消息進(jìn)行解析;若能夠正確解析擴展通知消息,則根據(jù)其中包含的 錯誤指示信息,確定更新報文出現(xiàn)錯誤的業(yè)務(wù),并發(fā)送更新報文將該業(yè)務(wù)的路由信息重新 發(fā)送給所述路由設(shè)備;若不能正確解析擴展通知消息,則斷掉與第一路由設(shè)備之間的鏈接, 并發(fā)送更新報文給第一路由設(shè)備重新更新所有業(yè)務(wù)的路由信息。
全文摘要
本發(fā)明公開了一種路由設(shè)備多業(yè)務(wù)鏈接實現(xiàn)方法、系統(tǒng)及路由設(shè)備,該方法包括路由設(shè)備接收到的鄰居路由設(shè)備發(fā)送的用于更新路由信息的更新報文出現(xiàn)錯誤時,向鄰居路由設(shè)備發(fā)送擴展通知消息通告路由信息更新錯誤;所述擴展通知消息中攜帶指示更新報文出現(xiàn)錯誤的業(yè)務(wù)的錯誤指示信息;路由設(shè)備接收鄰居路由設(shè)備根據(jù)擴展通知消息中包含的錯誤指示信息,重新發(fā)送的更新報文出現(xiàn)錯誤的業(yè)務(wù)的更新報文;根據(jù)接收到的重新發(fā)送的更新報文,更新所述更新報文出現(xiàn)錯誤的業(yè)務(wù)的路由信息。當(dāng)一個業(yè)務(wù)的更新報文出現(xiàn)錯誤時,不影響其他業(yè)務(wù)的正常收發(fā)。
文檔編號H04L12/24GK102143077SQ20111007729
公開日2011年8月3日 申請日期2011年3月29日 優(yōu)先權(quán)日2011年3月29日
發(fā)明者陳東方 申請人:中興通訊股份有限公司