基于路徑標(biāo)識(shí)的多路徑域間路由的開發(fā)與實(shí)現(xiàn)
摘要:針對(duì)現(xiàn)有網(wǎng)絡(luò)架構(gòu)中路由擴(kuò)展性方面的問題日益嚴(yán)重,目前提出一種基于路徑標(biāo)識(shí)的多路徑域間路由方案,可提高域間路由可擴(kuò)展性和可靠性,但該研究只停留在理論階段。現(xiàn)對(duì)基于路徑標(biāo)識(shí)的多路徑路由協(xié)議進(jìn)行了開發(fā)與實(shí)現(xiàn),針對(duì)域間路由協(xié)議BGP的控制層和基于Linu x內(nèi)核的轉(zhuǎn)發(fā)層進(jìn)行了具體模塊的結(jié)構(gòu)分析和開發(fā),并進(jìn)行了功能性測(cè)試。結(jié)果顯示,開發(fā)系統(tǒng)可以實(shí)現(xiàn)路徑標(biāo)識(shí)路由和多路徑路由的功能。
關(guān)鍵詞:多路徑;路徑標(biāo)識(shí);BGP;內(nèi)核協(xié)議棧
0 引言
近些年來,互聯(lián)網(wǎng)得到迅猛的發(fā)展,中國(guó)網(wǎng)民規(guī)模已經(jīng)突破4.2億,然而,作為其基礎(chǔ)支持的路由系統(tǒng)卻面臨著極大的挑戰(zhàn)。路由條目急劇增加,嚴(yán)重地消耗了路由器的計(jì)算資源,同時(shí)網(wǎng)絡(luò)阻塞、擁擠、攻擊等也會(huì)引起網(wǎng)絡(luò)的失效或不穩(wěn)定,它們都在很大程度上影響互聯(lián)網(wǎng)的性能。
一體化網(wǎng)絡(luò)網(wǎng)的提出,可以有效地解決上述問題。一體化網(wǎng)絡(luò)是一種新的基于身份位置分離思想的網(wǎng)絡(luò)體系架。一體化網(wǎng)絡(luò)體系模型與理論提出接入標(biāo)識(shí)、交換路由標(biāo)識(shí)及其映射理論,建立廣義交換路由的概念與機(jī)制,在支持安全和移動(dòng)的基礎(chǔ)上實(shí)現(xiàn)網(wǎng)絡(luò)一體化。
延續(xù)一體化網(wǎng)絡(luò)的設(shè)計(jì)思想,本文實(shí)現(xiàn)了一種基于路徑標(biāo)識(shí)的多路徑域間路由方案。
1 研究背景
針對(duì)核心網(wǎng)域問路由,傳統(tǒng)網(wǎng)絡(luò)主要存在可擴(kuò)展性和可靠性兩方面的問題。路由可擴(kuò)展性主要關(guān)注于轉(zhuǎn)發(fā)表(FIB)的大小和路由更新的頻率。網(wǎng)絡(luò)用戶的劇增、流量工程、策略路由等技術(shù)的應(yīng)用,導(dǎo)致路由前綴不可聚合,使得路由條目呈非線性增長(zhǎng),是限制路由可擴(kuò)展性的主要原因;路由可靠性主要關(guān)注于網(wǎng)絡(luò)拓?fù)涓淖儠r(shí),路由協(xié)議能否快速收斂,提供持續(xù)通信的能力?,F(xiàn)有域間路由協(xié)議BGP只提供一條最佳路由,在路徑失效時(shí),需要等待下次收斂才能繼續(xù)通信,而且域間路由更新的頻率十分高,使得收斂時(shí)間長(zhǎng)達(dá)幾分鐘至十幾分鐘,是降低路由可靠性的幾點(diǎn)原因。
針對(duì)上述兩個(gè)問題,在一體化網(wǎng)絡(luò)中采用了域內(nèi)與域問路由相分離,核心網(wǎng)和接入網(wǎng)路由相分離的多路徑域間路由方案。核心網(wǎng)域內(nèi)采用本地標(biāo)識(shí)進(jìn)行路由,域間采用自治域號(hào)(AS)進(jìn)行路由,保證路由條目的穩(wěn)定和緩慢增長(zhǎng),提高了路由可擴(kuò)展性。同時(shí)域問路由引入路徑標(biāo)識(shí)(PID)標(biāo)識(shí)多條轉(zhuǎn)發(fā)路徑,在原先的路徑失效時(shí)可以快速地切換到其他路徑,保證了路由的可靠性。
2 基于路徑標(biāo)識(shí)的多路徑域間路由方案的設(shè)計(jì)
多路徑路域間路由方案主要分為控制層和轉(zhuǎn)發(fā)層兩部分,其中控制層基于目前經(jīng)典的域間路由協(xié)議(BGP),主要實(shí)現(xiàn)路由的發(fā)現(xiàn)、通告和更新。轉(zhuǎn)發(fā)層基于Linux內(nèi)核協(xié)議棧,主要實(shí)現(xiàn)通告路由的數(shù)據(jù)包封裝解封和轉(zhuǎn)發(fā)以及鏈路失效時(shí)的快速收斂。
2.1 控制層的設(shè)計(jì)
邊界網(wǎng)關(guān)路由協(xié)議(BGP)是目前主流的域間路由協(xié)議,它是一種路徑向量協(xié)議,在AS之間傳遞網(wǎng)絡(luò)可達(dá)性,并且可以通過檢查AS_PATH屬性來避免環(huán)路。多路徑路由方案在域間采用AS號(hào)路由,為了標(biāo)識(shí)多條路徑引入了路徑標(biāo)識(shí)(PID)和下一跳路徑標(biāo)識(shí)(NEXT_PID),從而可以在AS之間通告多條路徑。其中PID為從源AS到目的AS之間順次經(jīng)過的所有AS號(hào)的哈希值,而N]EXT_PID為此路徑下一跳AS到目的AS之間所有AS號(hào)的哈希值。
基于圖1的拓?fù)鋱D,分析AS 100和AS 200之間傳遞的UPDATE包的NRLI信息,其基本通信流程為:
(1)首先AS100和AS200分別計(jì)算本地的AS號(hào)生成本地路由信息,并且在建立鄰居關(guān)系以后直接發(fā)送給對(duì)等體路由器。如AS100就將100,HASH(100),HASH(100)>發(fā)送給AS 200。
(2)AS 100和AS 200在收到AS 300通告的路由后,會(huì)在鄰居關(guān)系建立后,將收到AS 300的路由的PID替換為NEXT_PID,將本地AS號(hào)加入路徑屬性中,重新計(jì)算PID,然后傳遞給對(duì)等體路由器。如AS 100將300,HASH(100,300),HASH(300)>發(fā)送給AS200。
(3)在下次通告時(shí),AS100和AS200獲得了到達(dá)對(duì)端路由器的信息,及時(shí)地通告給對(duì)等體路由器,如AS100將200,HASH(100,300,200)>發(fā)送給AS200,這時(shí)AS200就知道了兩條可以到達(dá)AS200的路徑,實(shí)現(xiàn)了簡(jiǎn)單的多路徑。
評(píng)論