一種路由更新的方法和裝置的制造方法
【技術(shù)領域】
[0001]本發(fā)明涉及邊界網(wǎng)關協(xié)議(Border Gateway Protocol,BGP)技術(shù)領域,特別是一種路由更新的方法和裝置。
【背景技術(shù)】
[0002]BGP是一種既可以用于不同自治系統(tǒng)(Autonomous System,AS)之間,又可以用于同一AS內(nèi)部的動態(tài)路由協(xié)議。與開放式最短路徑優(yōu)先(Open Shortest Path First,0SPF)、路由信息協(xié)議(Routing Informat1n Protocol,RIP)等內(nèi)部網(wǎng)關協(xié)議(Inter1r GatewayProtocol, IGP)不同,其著眼點不在于發(fā)現(xiàn)和計算路由,而在于控制路由的傳播和選擇最佳路由。兩個AS中利用BGP交換信息的路由器被稱為邊界網(wǎng)關(Border Gateway)或邊界路由器(Border Router)。
[0003]在BGP中,更新(Update)報文用于在對等體之間交換路由信息。Update報文可以發(fā)布具有相同路徑屬性的多條可達路由,也可以同時撤銷多條不可達路由。
[0004]在現(xiàn)有技術(shù)中,BGP鄰居會逐一地向?qū)Χ税l(fā)送Update報文以進行路由更新。然而,隨著網(wǎng)絡的規(guī)模的不斷擴大,BGP鄰居和路由信息日益增多,通過這樣的方式傳輸Update報文會占用大量網(wǎng)絡帶寬和CPU資源,極限情況下甚至可能導致網(wǎng)絡和設備不可用。
【發(fā)明內(nèi)容】
[0005]有鑒于此,本發(fā)明提出一種路由更新的方法和裝置,從而降低對資源的利用。
[0006]本發(fā)明實施方式的技術(shù)方案如下:
[0007]根據(jù)本發(fā)明實施方式的一方面,提出一種路由更新的方法,該方法應用于BGP路由器,該方法包括:
[0008]確定需要更新相同的路由信息的BGP鄰居,將所確定的BGP鄰居加入BGP鄰居組;
[0009]以組播方式對所述BGP鄰居組中的BGP鄰居進行路由更新。
[0010]優(yōu)選地,在確定需要更新相同的路由信息的BGP鄰居之前,該方法還包括:
[0011]通過Open報文與BGP鄰居協(xié)商組播接收能力,并將協(xié)商成功的BGP鄰居確定為具有組播接收能力的BGP鄰居;
[0012]所述確定需要更新相同的路由信息的BGP鄰居包括:從具有組播接收能力的BGP鄰居中,確定需要更新相同的路由信息的BGP鄰居。
[0013]優(yōu)選地,在所述通過Open報文與BGP鄰居協(xié)商組播接收能力之后,所述方法還包括:
[0014]將協(xié)商失敗的BGP鄰居確定為不具有組播接收能力的BGP鄰居;
[0015]以單播方式對所述不具有組播接收能力的BGP鄰居進行路由更新。
[0016]優(yōu)選地,所述將所確定的BGP鄰居加入BGP鄰居組包括:
[0017]為所述BGP鄰居組分配組播地址;
[0018]向所述所確定的BGP鄰居發(fā)送所述組播地址,從而由存儲有到達所述BGP路由器的組播路由的BGP鄰居加入所述BGP鄰居組。
[0019]優(yōu)選地,該方法還包括:
[0020]以單播方式對不加入所述BGP鄰居組的BGP鄰居進行路由更新。
[0021]優(yōu)選地,所述向所確定的BGP鄰居發(fā)送組播地址包括:
[0022]將所述組播地址攜帶在Refresh報文中,并向所述所確定的BGP鄰居發(fā)送所述Refresh 報文。
[0023]優(yōu)選地,所述以組播方式對所述BGP鄰居組中的BGP鄰居進行路由更新包括:
[0024]為每條更新報文分配不同的序列號;
[0025]以組播方式分別向所述BGP鄰居組中的BGP鄰居發(fā)送每條更新報文;
[0026]該方法還包括:
[0027]接收所述BGP鄰居組中的BGP鄰居發(fā)送的回復報文,所述回復報文攜帶有與所述更新報文相對應的序列號;
[0028]根據(jù)未接收到的序列號,確定所述BGP鄰居組中的BGP鄰居未接收到的更新報文;
[0029]以組播方式向所述BGP鄰居重新發(fā)送所述未接收到的更新報文。
[0030]根據(jù)本發(fā)明實施方式的另一方面,提出一種路由更新的裝置,該方法應用于BGP路由器,該裝置包括:
[0031 ] 分組模塊,用于確定需要更新相同的路由信息的BGP鄰居,將所確定的BGP鄰居加入BGP鄰居組;
[0032]路由更新模塊,用于以組播方式對所述BGP鄰居組中的BGP鄰居進行路由更新。
[0033]優(yōu)選地,還包括:
[0034]協(xié)商模塊,用于在分組模塊確定需要更新相同的路由信息的BGP鄰居之前,通過Open報文與BGP鄰居協(xié)商組播接收能力,并將協(xié)商成功的BGP鄰居確定為具有組播接收能力的BGP鄰居;
[0035]分組模塊,用于從具有組播接收能力的BGP鄰居中,確定需要更新相同的路由信息的BGP鄰居。
[0036]優(yōu)選地,協(xié)商模塊,還用于將協(xié)商失敗的BGP鄰居確定為不具有組播接收能力的BGP鄰居;該裝置還包括:
[0037]單播發(fā)送模塊,用于以單播方式對所述不具有組播接收能力的BGP鄰居進行路由更新。
[0038]優(yōu)選地,分組模塊,用于為所述BGP鄰居組分配組播地址;向所述所確定的BGP鄰居發(fā)送所述組播地址,從而由存儲有到達所述BGP路由器的組播路由的BGP鄰居加入所述BGP鄰居組。
[0039]優(yōu)選地,還包括:
[0040]單播發(fā)送模塊,用于以單播方式對不加入所述BGP鄰居組的BGP鄰居進行路由更新。
[0041]優(yōu)選地,分組模塊,用于將所述組播地址攜帶在Refresh報文中,并向所述所確定的BGP鄰居發(fā)送所述Refresh報文。
[0042]優(yōu)選地,路由更新模塊,用于為每條更新報文分配不同的序列號;以組播方式分別向所述BGP鄰居組中的BGP鄰居發(fā)送每條更新報文;接收所述BGP鄰居組中的BGP鄰居發(fā)送的回復報文,所述回復報文攜帶有與所述更新報文相對應的序列號;根據(jù)未接收到的序列號,確定所述BGP鄰居組中的BGP鄰居未接收到的更新報文;以組播方式向所述BGP鄰居重新發(fā)送所述未接收到的更新報文。
[0043]在本發(fā)明實施方式中,確定需要更新相同的路由信息的BGP鄰居,將所確定的BGP鄰居加入BGP鄰居組;以組播方式對BGP鄰居組中的BGP鄰居進行路由更新。由此可見,BGP路由器通過組播方式對BGP鄰居進行路由更新,從而降低對資源的利用。
【附圖說明】
[0044]圖1為根據(jù)本發(fā)明的路由更新的方法流程圖;
[0045]圖2為根據(jù)本發(fā)明的路由更新的第一示范性組網(wǎng)系統(tǒng)示意圖;
[0046]圖3為根據(jù)本發(fā)明的路由更新的第二示范性組網(wǎng)系統(tǒng)示意圖;
[0047]圖4為根據(jù)本發(fā)明的路由更新的第三示范性組網(wǎng)系統(tǒng)示意圖;
[0048]圖5為根據(jù)本發(fā)明的路由更新的裝置結(jié)構(gòu)圖。
【具體實施方式】
[0049]為使本發(fā)明的目的、技術(shù)方案和優(yōu)點更加清楚,下面結(jié)合附圖對本發(fā)明作進一步的詳細描述。
[0050]針對現(xiàn)有技術(shù)中作為更新報文發(fā)送設備的BGP路由器通過逐一向BGP鄰居發(fā)送更新報文導致資源壓力增加的技術(shù)缺陷,在本發(fā)明實施方式中,BGP路由器通過組播方式向BGP鄰居發(fā)送更新報文以進行路由更新,從而降低對資源的利用。
[0051]圖1為根據(jù)本發(fā)明的路由更新的方法流程圖,該方法應用于作為更新報文發(fā)送設備的BGP路由器。
[0052]如圖1所示,該方法包括:
[0053]步驟101:BGP路由器確定需要更新相同的路由信息的BGP鄰居,將所確定的BGP鄰居加入BGP鄰居組。
[0054]在這里,BGP路由器從自身的所有BGP鄰居中,確定出需要更新相同的路由信息的BGP鄰居,并將所確定的需要更新相同路由信息的BGP鄰居加入到一個共同的BGP鄰居組。
[0055]在一個實施方式中,在BGP路由器確定需要更新相同的路由信息的BGP鄰居之前,該方法還包括:通過打開(Open)報文與BGP鄰居協(xié)商組播接收能力,并將協(xié)商成功的BGP鄰居確定為具有組播接收能力的BGP鄰居;步驟101中BGP路由器確定需要更新相同的路由信息的BGP鄰居包括:BGP路由器從具有組播接收能力的BGP鄰居中,確定需要更新相同的路由信息的BGP鄰居。優(yōu)選地,BGP路由器進一步將協(xié)商失敗的BGP鄰居確定為不具有組播接收能力的BGP鄰居。
[0056]在一個實施方式中,BGP路由器首先為BGP鄰居組分配組播地址;并向所確定的需要更新相同路由信息的BGP鄰居分別發(fā)送組播地址。BGP鄰居接收到組播地址之后,分別判斷自身是否存儲有到達BGP路由器的組播路由。自身存儲有到達BGP路由器的組播路由的BGP鄰居,加入BGP鄰居組。自身沒有存儲到達BGP路由器的組播路由的BGP鄰居,不加入BGP鄰居組。優(yōu)選地,BGP路由器將組播地址攜帶在刷新(Refresh)報文中,并向所