一種rpki數(shù)據(jù)倉庫增量同步方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明屬于信息技術(shù)、網(wǎng)絡(luò)技術(shù)領(lǐng)域,具體涉及一種RPKI數(shù)據(jù)倉庫增量同步方法。
【背景技術(shù)】
[0002]RPKI(Resource Public Key Infrastructure,互聯(lián)網(wǎng)基礎(chǔ)資源公鑰證書體系)是一種用于保障互聯(lián)網(wǎng)基礎(chǔ)碼號(hào)資源(包含IP地址、AS(Autonomous System,自治系統(tǒng))號(hào))安全使用的公鑰證書體系。通過對X.509公鑰證書進(jìn)行擴(kuò)展,RPKI依托資源證書實(shí)現(xiàn)了對互聯(lián)網(wǎng)基礎(chǔ)碼號(hào)資源使用授權(quán)的認(rèn)證,并以R0A(Route Origin Authorizat1n,路由源聲明)的形式幫助域間路由系統(tǒng),驗(yàn)證某個(gè)AS針對特定IP地址前綴的路由通告是否合法。
[0003]在RPKI體系中,碼號(hào)資源的分配者在分配資源的同時(shí),為其下游節(jié)點(diǎn)簽發(fā)分配資源的證書。依托RPKI提供的認(rèn)證功能,IP地址最終用戶單位(資源持有者)通過發(fā)布!?(^,將特定的IP地址前綴授權(quán)給某個(gè)AS進(jìn)行路由廣播。由此,RPKI引入大量的證書、簽名等數(shù)據(jù),包括CA證書、EE證書、R0A、資源列表、CRL等。所有證書以及ROA均通過分布式的RPKI數(shù)據(jù)倉庫進(jìn)行集中和分發(fā)。RPKI CA系統(tǒng)簽發(fā)完成的證書和簽名對象將被上傳到RPKI數(shù)據(jù)倉庫中;同時(shí)RPKI數(shù)據(jù)倉庫在全球范圍內(nèi)對所有的RPKI依賴方(Relying Party,簡稱RP)開放。RPKI依賴方是RPKI系統(tǒng)的使用者,從RPKI中獲取ROA進(jìn)行驗(yàn)證,并將驗(yàn)證結(jié)果反饋給BGP路由器(BGP是自治系統(tǒng)間的路由協(xié)議),BGP路由器根據(jù)驗(yàn)證結(jié)果構(gòu)建自己的過濾表項(xiàng)。因此RPKI依賴方是連接RPKI和域間路由系統(tǒng)的橋梁,是整個(gè)應(yīng)用環(huán)節(jié)上的重要一環(huán)。
[0004]隨著RPKI協(xié)議標(biāo)準(zhǔn)化工作的完成,RPKI全球化部署即將展開。但在全球廣泛部署RPKI的情形下,對大量地址和路由數(shù)據(jù)以及簽名對象的同步及維護(hù)成為RPKI部署中效率和開銷的最大考量。因而,如何減少全球緩存(RPKI依賴方)對RPKI數(shù)據(jù)倉庫的查詢負(fù)載,降低大量并發(fā)的數(shù)據(jù)同步時(shí)帶來的帶寬開銷,成為RPKI全球化部署的一個(gè)關(guān)鍵問題。
[0005]當(dāng)前世界范圍內(nèi)廣泛使用的RPKI軟件中,RPKI依賴方同RPKI數(shù)據(jù)倉庫之間數(shù)據(jù)同步所使用的協(xié)議,除Rsync協(xié)議以外,還有一種為RRDP協(xié)議(RF1KI Repository DeltaProtocol,簡稱RRDP)。該協(xié)議定義了三種文件類型,包括更新通知文件、快照文件、增量文件。RPKI依賴方通過周期性的向RPKI數(shù)據(jù)倉庫發(fā)送同步請求,并基于HTTP或HTTPs協(xié)議對上述三種類型的文件進(jìn)行獲取來完成同RPKI數(shù)據(jù)倉庫的同步。其中,更新通知文件包含了一個(gè)唯一的會(huì)話ID和序列號(hào)(其格式如圖1所示),RP可通過這兩項(xiàng)的值判斷是否同RPKI數(shù)據(jù)倉庫處于完全同步狀態(tài)。如果不同步,更新通知文件可以用來定位快照文件及增量文件的位置,RP可進(jìn)一步完成同步工作??煺瘴募水?dāng)前RPKI數(shù)據(jù)倉庫中所有的對象,其格式如圖2所示。由于各個(gè)RP設(shè)置的同步周期并不相同,為確保所有的RP能夠完成同步過程,舊版本的快照文件應(yīng)緩存一定的時(shí)間,以確保舊版本的通知文件能被RP進(jìn)行處理和同步。一個(gè)增量文件包含所有的RPKI CA系統(tǒng)發(fā)送給RPKI數(shù)據(jù)倉庫的新的對象、更新的對象以及撤銷的對象。其格式如圖3所示。
[0006]在進(jìn)行數(shù)據(jù)同步時(shí),應(yīng)優(yōu)先使用增量文件。只有在目前的增量文件不能夠支持同數(shù)據(jù)倉庫的數(shù)據(jù)同步時(shí)(例如,如果沒有連續(xù)的增量文件鏈可以獲取),才啟用快照文件進(jìn)行全同步。然而如圖3中可見,增量文件中目前只有“發(fā)布”(即publish)和“撤銷”(即withdraw)兩種元素類型,即對于某些對象,即使原對象文件內(nèi)容有少量變動(dòng),均通過增量文件告知RP將原文件進(jìn)行刪除,并對新文件的全部內(nèi)容進(jìn)行下載。然而,當(dāng)大量的RP發(fā)起同步請求時(shí),該機(jī)制無疑將增大RPKI數(shù)據(jù)同步過程對帶寬的負(fù)載。
[0007]另外,基于RRDP協(xié)議的RPKI數(shù)據(jù)同步體系中,RPKI依賴方為獲取新的路由數(shù)據(jù)及簽名對象,會(huì)定期向RPKI數(shù)據(jù)倉庫發(fā)出數(shù)據(jù)同步請求,該時(shí)間間隔由RPKI依賴方進(jìn)行設(shè)定。由于RP設(shè)置的數(shù)據(jù)同步時(shí)間間隔未知,為保證RP能夠獲取到所有更新信息,RPKI數(shù)據(jù)倉庫需將舊版本的增量文件保存較長的一段時(shí)間。隨著RPKI CA系統(tǒng)不斷簽發(fā)、更新或撤銷對象,由此產(chǎn)生的海量的增量文件將對RPKI數(shù)據(jù)倉庫的緩存基礎(chǔ)設(shè)施提出巨大挑戰(zhàn)。
【發(fā)明內(nèi)容】
[0008]本發(fā)明針對上述問題,提出一種新的RPKI數(shù)據(jù)倉庫增量同步機(jī)制,最終降低RPKI數(shù)據(jù)倉庫的緩存負(fù)載,同時(shí)緩解據(jù)同步過程中的帶寬壓力。
[0009]為實(shí)現(xiàn)上述目的,本發(fā)明采用的技術(shù)方案如下:
[0010]—種RPKI數(shù)據(jù)倉庫增量同步方法,包括如下步驟:
[0011 ] I)在增量文件中添加更新元素,針對內(nèi)容有部分更新的對象文件,RPKI依賴方通過該更新元素與RPKI數(shù)據(jù)倉庫之間進(jìn)行數(shù)據(jù)同步;
[0012]2)增加主動(dòng)通知機(jī)制,當(dāng)RPKI數(shù)據(jù)倉庫中的內(nèi)容發(fā)生變更時(shí),產(chǎn)生的新的更新通知文件并主動(dòng)發(fā)送至RPKI依賴方,以使RPKI依賴方及時(shí)對更新后的文件進(jìn)行同步。
[0013]進(jìn)一步地,設(shè)立增量文件監(jiān)測系統(tǒng),用于對增量文件的獲取狀況進(jìn)行監(jiān)測,對于只有極小部分RPKI依賴方獲取的增量文件進(jìn)行刪除,以降低數(shù)據(jù)倉庫緩存的負(fù)載。
[0014]進(jìn)一步地,RPKI依賴方全部完成同步后,對相關(guān)的更新通知文件、快照文件及增量文件進(jìn)行刪除,以有效減少RPKI數(shù)據(jù)倉庫的緩存壓力。
[0015]進(jìn)一步地,步驟I)所述更新元素包括更新說明文件,即對已有文件的更新說明,RPKI依賴方通過該更新說明文件判斷需更新的文件名稱;RPKI數(shù)據(jù)倉庫通過對新舊文件進(jìn)行計(jì)算比較,得出文件更新的相關(guān)信息,并在更新說明文件中進(jìn)行描述。
[0016]進(jìn)一步地,所述更新說明文件的內(nèi)容包括更新的起始字節(jié)位置,更新的字節(jié)長度,以及更新后的內(nèi)容。
[0017]進(jìn)一步地,步驟2)中,RPKI依賴方第一次得知更新通知文件的URI時(shí),首先對其進(jìn)行下載,然后下載最新快照文件,從而和RPKI數(shù)據(jù)倉庫獲得同步;與此同時(shí),RPKI數(shù)據(jù)倉庫記錄下RPKI依賴方的IP地址,并添加至RPKI依賴方列表,并在有新的更新通知文件產(chǎn)生時(shí),更新通知文件的URI主動(dòng)發(fā)送給RPKI依賴方。
[0018]進(jìn)一步地,在RPKI廣泛部署、RPKI依賴方數(shù)量眾多的情況下,步驟2)采用緩存基礎(chǔ)設(shè)施來降低發(fā)送主動(dòng)通知給RPKI數(shù)據(jù)倉庫帶來的壓力。
[0019]與現(xiàn)有技術(shù)相比,本發(fā)明的有益效果如下:
[0020]I)在增量文件中添加“更新”元素:即針對內(nèi)容有部分更新的對象文件,將在增量文件中增加”更新”元素,與原”全部刪除重新下載“的機(jī)制相比,有效減小帶寬負(fù)荷。
[0021 ] 2)增加主動(dòng)通知機(jī)制:當(dāng)RPKI數(shù)據(jù)倉庫中的內(nèi)容發(fā)生變更時(shí),將產(chǎn)生的新的更新通知文件主動(dòng)發(fā)送至RP,從而使RP及時(shí)對更新后的文件進(jìn)行同步。RP全部完成同步后,即可對相關(guān)的更新通知文件、快照文件及增量文件進(jìn)行刪除,有效減少RPKI數(shù)據(jù)倉庫的緩存壓力。
[0022]3)設(shè)立增量文件監(jiān)測系統(tǒng):設(shè)立增量文件監(jiān)測系統(tǒng),對增量文件的獲取狀況進(jìn)行監(jiān)測,對于只有極小部分RP獲取的增量文件進(jìn)行刪除,以降低數(shù)據(jù)倉庫緩存的負(fù)載。
【附圖說明】
[0023]圖1是更新通知文件格式示意圖。
[0024]圖2是快照文件格式示意圖。
[0025]圖3是增量文件格式示意圖。
[0026]圖4是增量文件監(jiān)測系統(tǒng)架構(gòu)圖。
【具體實(shí)施方式】
[0027]為使本發(fā)明的上述目的、特征和優(yōu)點(diǎn)能夠更加明顯易懂,下面通過具體實(shí)施例和附圖,對本發(fā)明做進(jìn)一步說明。
[0028]本發(fā)明的RPKI數(shù)據(jù)倉庫增量同步機(jī)制,主要?jiǎng)?chuàng)新點(diǎn)包括三個(gè)方面:I)