專利名稱:一種基于兩跳回復(fù)的bgp協(xié)議改造方法
技術(shù)領(lǐng)域:
本發(fā)明涉及路由技術(shù)領(lǐng)域,具體涉及一種域間的基于兩跳回復(fù)的BGP協(xié)議改造方法。
背景技術(shù):
邊界網(wǎng)關(guān)協(xié)議Border Gateway Protocol (BGP)是目前域間路由協(xié)議的標(biāo)準(zhǔn),BGP 是一種路徑矢量路由協(xié)議,具有豐富的屬性和路由控制機(jī)制,每個(gè)運(yùn)行BGP協(xié)議的路由器 稱為BGP Speaker。BGP Speaker通過TCP連接互相建立鄰居關(guān)系,通過BGP UPDATE消息的 轉(zhuǎn)發(fā)來通告路由信息。UPDATE消息主要包含了路由前綴、AS_PATH和其他路由屬性。雖然 實(shí)踐中BGP效率還不錯(cuò),可是BGP不包含任何的安全措施,容易受到各種攻擊,造成網(wǎng)絡(luò)大 規(guī)模的癱瘓。針對BGP的缺陷,學(xué)術(shù)界和工業(yè)界提出了許多保護(hù)BGP的安全方案,比如BBN 公司的S-BGP,CISCO提出的soBGP等,大多數(shù)方案都是基于PKI的,而且都是為保護(hù)路由前 綴和AS_PATH而設(shè)計(jì)的,但是對于路由器由于各種原因不轉(zhuǎn)發(fā)路由信息這種不作為行為無 能為力,而且其他的域也會發(fā)現(xiàn)存在這種不作為行為,這種不作為的行為導(dǎo)致的路由信息 的丟失對網(wǎng)絡(luò)用戶以及ISP都造成了極大的損害,本發(fā)明正是為解決如何發(fā)現(xiàn)不轉(zhuǎn)發(fā)路由 信息的行為而設(shè)計(jì)的,通過本發(fā)明可以成功的檢測出路由器的這種不作為行為,并且可以 當(dāng)做選路的原則之一在以后的選路過程盡量避免選擇不作為的路由器。發(fā)明內(nèi)容
本發(fā)明主要解決的技術(shù)問題是如何檢測出基于BGP協(xié)議,一個(gè)域不向后續(xù)的鄰居 通告路由信息的行為,造成這種不作為行為的因素很多,但是這種行為會導(dǎo)致路由信息的 缺失,用戶流量的丟失,從而對整個(gè)網(wǎng)絡(luò)造成了嚴(yán)重的損害。
針對這種不作為行為,路由信息通告方或者轉(zhuǎn)發(fā)方通過等待2跳鄰居的回應(yīng)信 息,來判定直連鄰居是否將自己通告的路由信息轉(zhuǎn)發(fā)給了后續(xù)其他的路由器。
本發(fā)明也可以保護(hù)BGP協(xié)議UPDATE消息中路由前綴和AS_PATH不受攻擊,但是由 于已經(jīng)存在很多方案來保護(hù)路由前綴以及AS_PATH,我們也采用類似S-BGP的方法來保護(hù) 這兩方面,我們主要想解決的如何發(fā)現(xiàn)不轉(zhuǎn)發(fā)行為,所以我們對這兩方面的保護(hù)不多做陳 述。
下面結(jié)合附圖和具體實(shí)施方式
,對本發(fā)明做進(jìn)一步的詳細(xì)說明。
圖1是本發(fā)明中所指的兩跳鄰居
圖2是本發(fā)明中所指的拓?fù)渥C書
圖3是本發(fā)明所指的請求消息
圖4是本發(fā)明所指的回復(fù)消息
圖5是本發(fā)明提出的兩跳回應(yīng)的業(yè)務(wù)流程。
具體實(shí)施方式
下面結(jié)合
和具體實(shí)施方式
,對本發(fā)明做進(jìn)一步的詳細(xì)說明。
針對域間路由信息不轉(zhuǎn)發(fā)的行為,我們提出一種基于兩跳機(jī)制的BGP協(xié)議改造方 案。圖1解釋了什么是兩跳概念。圖2是我們新定義的拓?fù)渥C書,包含所有鄰居的AS號。 圖3是我們設(shè)計(jì)的新的消息格式-請求消息格式。圖4是我們設(shè)計(jì)的新的消息格式-回復(fù) 消息格式。圖5是我們提出的兩跳回復(fù)機(jī)制的工作流程。
1、實(shí)現(xiàn)過程需要的一些定義和假設(shè)
[定義1]:兩跳鄰居
兩跳鄰居指的是距離為2跳的鄰居,是自己直連鄰居的鄰居,如圖1所示,AS65000 有 3 個(gè)兩跳鄰居 AS65002、AS65003、AS65004,AS65001 只有 1 個(gè)兩跳鄰居 AS65005
[定義1]拓?fù)渥C書
每個(gè)AS都有一張拓?fù)渥C書,拓?fù)渥C書包含的是本域所有的直連鄰居的AS號,通過 互相交換拓?fù)渥C書,各個(gè)AS域就能知道自己的兩跳鄰居是誰。
[假設(shè)1]不存在合謀的AS域利BGP路由器。
[假設(shè)2]在一個(gè)域里的BGP路由器部署相同的策略。
2、本發(fā)明新創(chuàng)造的消息
[消息1]請求消息
請求消息是用來提供憑證來證明路由更新消息是否被收到,消息的格式如圖2所示。
[消息2]回復(fù)消息
回復(fù)消息是用來通告兩跳鄰居已經(jīng)收到了哪些路由信息,消息的格式如圖3所示
3、我們用一個(gè)實(shí)例來具體描述一種基于兩跳回復(fù)機(jī)制的BGP路由協(xié)議改造方法 的工作流程,了簡化描述,假設(shè)每個(gè)域只有一臺BGP路由器,如圖5所示。
步驟1AS6500有一條新的路由信息需要通告,首先AS65000用自己的私鑰對路 由信息進(jìn)行簽名,然后產(chǎn)生一個(gè)隨機(jī)數(shù)作為加密密鑰,用對稱加密方法加密簽了名的路由 信息,將加密的信息通告給AS65001。通過AS65001的拓?fù)渥C書了解2跳鄰居信息,等待 AS65002的回復(fù)。
步驟2AS65001收到了加密的路由信息,構(gòu)造帶自己簽名的Request消息,發(fā)送給 AS65000。
步驟3AS65000簽名回復(fù)加密密鑰,AS65001得到加密密鑰之后解密路由信息,然 后驗(yàn)證簽名信息,如果驗(yàn)證失敗就直接丟棄數(shù)據(jù)包。驗(yàn)證成功后,檢測AS_PATH中是否包含 兩跳鄰居來確定是否要回復(fù)Reply消息。
步驟4AS65001更新完路由信息后,簽名路由信息,產(chǎn)生隨機(jī)數(shù)加密路由信息,發(fā) 送給 AS65002。
步驟5AS65002以類似的方式構(gòu)造帶有自己的簽名的Request消息,將消息發(fā)送給 AS65001。
步驟6AS65001發(fā)送帶有簽名的加密密鑰給AS65002。
步驟7AS65002解密驗(yàn)證路由信息,查看AS_PATH屬性{AS65001,AS65000}中有兩 跳鄰居AS65000,構(gòu)造帶有自己簽名的消息目的地是AS65000的R印Iy消息,然后將消息發(fā) 送給 AS65001。
步驟8AS65001將收到的AS65002的R印Iy消息轉(zhuǎn)發(fā)給AS65000。
通過這種方式,AS65000就可以判定AS65001將路由信息轉(zhuǎn)發(fā)給AS65002。如果 沒有收到,就詢問AS65001是否有AS65002發(fā)米的帶簽名的Request消息,如果有,也判定 AS65001轉(zhuǎn)發(fā)了路由信息,如果沒有就判定AS65001沒有轉(zhuǎn)發(fā)路由信息,是沒有轉(zhuǎn)發(fā)路由信 息的不作為節(jié)點(diǎn),這種不作為行為可以作為以后選路的標(biāo)準(zhǔn)之一,盡量不選不作為節(jié)點(diǎn)。
權(quán)利要求
1.一種基于兩跳回復(fù)的BGP協(xié)議改造方法,其主要特征是在BGP協(xié)議的基礎(chǔ)上,創(chuàng)造了 兩種新的消息類型,通過在兩跳鄰居之間添加了對UPDATE消息的反饋機(jī)制,判斷直連鄰居 是否轉(zhuǎn)發(fā)了路由信息。
2.如權(quán)利1所述的對BGP協(xié)議的工作過程改造,實(shí)現(xiàn)過程包括以下步驟1)路由信息的發(fā)送者者用對稱密鑰加密方法加密UPDATE消息,然后轉(zhuǎn)發(fā)給直連鄰居。2)直連鄰居產(chǎn)生攜帶簽名的請求消息請求加密密鑰,路由信息的產(chǎn)生者或者是轉(zhuǎn)發(fā)者 發(fā)送加密密鑰。3)直連鄰居收到加密密鑰解密驗(yàn)證路由信息,檢查AS_PATH中是否存在兩跳鄰居需要 回復(fù),如果存在就要構(gòu)造攜帶簽名的回復(fù)消息發(fā)送給發(fā)送者,由發(fā)送者轉(zhuǎn)發(fā)給兩跳鄰居;如 果不存在兩跳鄰居,就繼續(xù)重復(fù)第1步。
全文摘要
本發(fā)明提出一種基于兩跳回復(fù)的BGP協(xié)議改造方法,用以檢測BGP路由器不向其他鄰居通告路由信息的行為。兩跳鄰居指的是每個(gè)域的鄰居的鄰居,每個(gè)域通過拓?fù)渥C書得知自己有哪些兩跳鄰居。本發(fā)明設(shè)計(jì)了兩種新的BGP消息請求消息和回復(fù)消息。改造步驟1、路由信息的發(fā)送者用對稱加密算法加密路由信息后發(fā)給直連鄰居。2、直連鄰居發(fā)送攜帶簽名的請求消息來請求對稱加密密鑰。3、路由信息的發(fā)送者發(fā)送加密密鑰。4、直連鄰居得到加密密鑰后解密處理路由消息,通過AS_PATH屬性判斷是否存在兩跳鄰居需要回復(fù),如果需要,就產(chǎn)生攜帶簽名的回復(fù)消息發(fā)送給發(fā)送者,由發(fā)送者轉(zhuǎn)發(fā)給兩跳鄰居,如果不需要則重復(fù)第1步。
文檔編號H04L29/06GK102035831SQ20101055996
公開日2011年4月27日 申請日期2010年11月26日 優(yōu)先權(quán)日2010年11月26日
發(fā)明者孫斌, 李道豐, 楊義先, 楊榆, 谷利澤, 趙宸, 鄭世慧 申請人:北京郵電大學(xué)