一種基於內容網多埠的轉發方法及路由器的製造方法
2023-12-03 23:11:01
一種基於內容網多埠的轉發方法及路由器的製造方法
【專利摘要】本發明適用於通信領域,提供了一種NDN的多埠轉發方法及路由器,所述方法包括:在轉發興趣包的過程中,查詢本地的轉發表FIB中存在該興趣包的匹配項時,獲取該匹配項對應的多個埠;依據該多個埠的權重值從該多個埠中選擇部分埠轉發該興趣包;根據已經轉發所述興趣包的埠是否收到返回的與所述興趣包匹配的內容包更新所述已轉發所述興趣包的埠的權重值。本發明提供的技術方案具有減少interest包泛濫和提高轉發效率的優點。
【專利說明】—種基於內容網多埠的轉發方法及路由器
【技術領域】
[0001]本發明屬於通信領域,尤其涉及一種基於內容網多埠的轉發方法及路由器。
【背景技術】
[0002]信息、內容的生產和傳播、獲取、使用方式的改變是網際網路給人們生活帶來的最重要的改變。基於網際網路的各項應用層出不窮,這其中絕大多數是和「內容」有關的,根據中國網際網路信息中心在2010年7月發布的第26次中國網際網路發展狀況統計報告,網絡音樂、網絡新聞、搜尋引擎、即時通信、網路遊戲、網絡視頻、電子郵件、博客應用、社交網站、網絡文學等是當前最主要的幾類網絡應用。網絡新聞和搜尋引擎這兩類傳統意義上的信息獲取應用在2010年6月的使用率分別達到了 78.5%和76.3%,而網絡音樂、網絡視頻、博客、微博、社交網站、網絡論壇等應用其實也可以認為是內容共享。內容共享是網際網路越來越重要的一個功能,雖然網際網路誕生之初並沒有將「內容」置於核心位置,但「內容」實際已經在網際網路中扮演了核心的角色。傳統網絡主要任務是將內容從一地傳送至另一地,而現在的網絡中信息更多被用於分享和合作,因此一種新的網絡架構被提出:內容中心網絡,簡稱內容網,這種網絡既能與傳輸控制協議(Transmission Control Protocol, TCP) /網絡協議(InternetProtocol, IP)協議並行,也能獨立運行,不會破壞現有網絡。
[0003]現在,有很多關於未來網絡的研究項目,美國資助的內容網(contentcentricnetwork, NDN)是美國國家科學基金會資助的一個項目,基本思想是將信息(內容、數據)視為網絡中的「一等公民」,將當前基於主機的網絡架構轉變為基於內容的網絡架構。NDN解決方案中以「名字」代替IP位址,重新設計數據包格式和各層協議,NDN主要有兩種數據包:「興趣包(Interest packet)」和「內容包(content packet),有時也成為數據包(date packet)」。每個內容包通過內容名字來標識,路由維護了三個表:存儲表(Content Store, CS),駐留信息表(Pending Interest Table, PIT),轉發表(ForwardingInformation Table, FIT)。
[0004]現有的NDN的多埠轉發方法如圖1所示,包括:路由器的系統接收一個到來的包,根據包頭或者負載信息判斷是interest包還是content包,
[0005]如果這是一個interest數據包,路由器的系統進一步查詢CS表,確定本地CS中是否有匹配的content如果有匹配內容,該匹配的內容被送回interest來的埠。如果沒有匹配的內容,轉發機制將查詢PIT表,判斷是否已經有請求相同內容的interest在等待,如果PIT表中有匹配項,更新相應的PIT表項,對其添加此interest的埠,然後繼續接收下一包。如果PIT表中沒有匹配項,則查詢FIB表;如果FIB表中有匹配項,則根據FIB表中的face埠信息轉發此interest,然後更新PIT表,在PIT表中添加此interest表項。如果沒有匹配項,則系統可以轉發此interest到默認埠或丟棄此interest包。
[0006]如果接收到的包是content包,首先查詢PIT表中是否存在匹配項,如果沒有匹配項,則系統丟棄此包;如果PIT表存在匹配項,則轉發回所有此PIT表匹配項中的埠,存儲到CS表,移除PIT表中的匹配項。[0007]現有的NDN在轉發interest包時,在FIB表中查詢到的所有埠均要轉發interest包,存在interest包泛濫嚴重問題,尤其是在interest包經過多跳轉發以後,interest包轉發的次數成指數級上升,泛濫嚴重。
【發明內容】
[0008]本發明實施例的目的在於提供一種NDN的多埠轉發方法,旨在解決現有技術的interest包泛濫嚴重的問題。
[0009]一方面,本發明提供一種NDN的多埠轉發方法,所述方法包括:
[0010]在轉發興趣包的過程中,查詢到本地的轉發表FIB中存在所述興趣包的匹配項時,獲取所述匹配項對應的多個埠 ;
[0011]依據所述多個埠的權重值從所述多個埠中選擇部分埠轉發所述興趣包;
[0012]根據已經轉發所述興趣包的埠是否收到返回的與所述興趣包匹配的內容包更新所述已轉發所述興趣包的埠的權重值。
[0013]可選的,所述依據所述多個埠的權重值從所述多個埠中選擇部分埠轉發所述興趣包具體包括:
[0014]依據所述多個埠的權重值從所述多個埠中選擇大於或等於權重閾值的部分埠,依據所述部分埠權重值的大小順序確定所述部分埠轉發所述興趣包的順序,按所述轉發所述興趣包的順序轉發所述興趣包;
[0015]或依據所述多個埠的權重值從所述多個埠中選擇大於或等於權重閾值的部分埠,按隨機選擇所述部分埠轉發所述興趣包的順序轉發所述興趣包;
[0016]或在多個埠中選擇權重值最高的埠轉發該興趣包;
[0017]或在多個埠中選擇權重值高的N個埠轉發該興趣包;多個埠總數〉N;
[0018]或在多個埠中選擇權重值相近的前N個埠轉發該興趣包,多個埠總數>N。
[0019]可選的,所述方法在依據該多個埠上的權重值從該多個埠中選擇部分埠轉發該興趣包之後還包括:
[0020]周期性的在多個埠中全部轉發該興趣包。
[0021 ] 可選的,所述方法在依據所述多個埠的權重值從所述多個埠中選擇部分埠轉發該興趣包之前還包括:
[0022]如所述多個埠沒有權重值,將所述興趣包從所述多個埠轉發,依據所述多個埠是否收到與所述興趣包匹配的內容包計算所述多個埠的權重值。
[0023]可選的,所述方法在依據所述多個埠的權重值從所述多個埠中選擇部分埠轉發該興趣包之前還包括:
[0024]如所述多個埠沒有權重值,從所述多個埠中隨機選擇一個或多個轉發埠,將所述興趣包從所述隨機選擇的一個或多個轉發埠轉發,依據所述隨機選擇的一個或多個轉發埠是否收到與所述興趣包匹配的內容包計算所述隨機選擇的一個或多個轉發埠的權重值。
[0025]可選的,所述根據已經轉發所述興趣包的埠是否收到返回的與所述興趣包匹配的內容包更新所述已轉發所述興趣包的埠的權重值具體包括:
[0026]如已經轉發所述興趣包的埠接收到返回的所述興趣包的內容包且所述內容包匹配,則增加所述已經轉發所述興趣包的埠的權重值;
[0027]或如已經轉發所述興趣包的埠接收到返回的所述興趣包的內容包但所述內容包不匹配,則減少所述已轉發所述興趣包的埠的權重值。
[0028]或如已經轉發所述興趣包的埠在時間閾值內未接收到返回的內容包,則減少所述已轉發所述興趣包的埠的權重值。
[0029]可選的,所述方法在根據已經轉發所述興趣包的埠是否收到返回的與所述興趣包匹配的內容包更新所述已轉發所述興趣包的埠的權重值之前具體包括:
[0030]每隔一定周期,在權重值取值範圍內緩慢增加所述多個埠的權重值。
[0031]可選的,所述興趣包包括:興趣包括的數據業務類型的標識或興趣包的級別標識,所述依據該多個埠上的權重值從該多個埠中選擇部分埠轉發該興趣包包括:
[0032]根據所述數據業務類型的標識確定所述興趣包的更新頻率,如所述更新頻率大於第一頻率閾值,增加所述選擇部分埠的數目,如所述更新頻率小於第二頻率閾值,減少所述選擇部分埠的數目;
[0033]或根據所述興趣包的級別標識確定所述興趣包的級別,如所述興趣包的級別高於第一級別閾值,增加所述選擇部分埠的數目,如所述興趣包的級別小於第二級別閾值,減少所述選擇部分埠的數目;
[0034]所述第一級別閾值大於第二級別閾值,所述第一頻率閾值大於所述第二頻率閾值。
[0035]另一方面,提供一種路由器,所述路由器包括:
[0036]查詢獲取單元,用於在轉發興趣包的過程中,查詢到本地的轉發表FIB中存在所述興趣包的匹配項時,獲取所述匹配項對應的多個埠 ;
[0037]埠選擇單元,用於依據所述多個埠的權重值從所述查詢獲取單元獲取的所述多個埠中選擇部分埠轉發所述興趣包;
[0038]權重更新單元,用於根據已經轉發所述興趣包的埠是否收到返回的與所述興趣包匹配的內容包更新所述已轉發所述興趣包的埠的權重值。
[0039]可選的,所述埠選擇單元具體用於,
[0040]依據所述多個埠的權重值從所述多個埠中選擇大於或等於權重閾值的部分埠,依據所述部分埠權重值的大小順序確定所述部分埠轉發所述興趣包的順序,按所述轉發所述興趣包的順序轉發所述興趣包;
[0041]或依據所述多個埠的權重值從所述多個埠中選擇大於或等於權重閾值的部分埠,按隨機選擇所述部分埠轉發所述興趣包的順序轉發所述興趣包;
[0042]或在多個埠中選擇權重值最高的埠轉發所述興趣包;
[0043]或在多個埠中選擇權重值高的N個埠轉發所述興趣包;多個埠總數〉N;
[0044]或在多個埠中選擇權重值相近的前N個埠轉發所述興趣包,多個埠總數>N。
[0045]可選的,所述路由器還包括:
[0046]周期轉發單元,用於周期性的在多個埠中全部轉發所述興趣包。
[0047]可選的,所述權重更新單元還用於,
[0048]如所述多個埠沒有權重值,將所述興趣包從所述多個埠轉發,依據所述多個埠是否收到與所述興趣包匹配的內容包計算所述多個埠的權重值。
[0049]可選的,所述權重更新單元還用於,
[0050]如所述多個埠沒有權重值,從所述多個埠中隨機選擇一個或多個轉發埠,將所述興趣包從所述隨機選擇的一個或多個轉發埠轉發,依據所述隨機選擇的一個或多個轉發埠是否收到與所述興趣包匹配的內容包計算所述隨機選擇的一個或多個轉發埠的權重值。
[0051 ] 可選的,所述權重更新單元具體用於,
[0052]如已經轉發所述興趣包的埠接收到返回的所述興趣包的內容包且所述內容包匹配,則增加所述已經轉發所述興趣包的埠的權重值;
[0053]或如已經轉發所述興趣包的埠接收到返回的所述興趣包的內容包但所述內容包不匹配,則減少所述已轉發所述興趣包的埠的權重值。
[0054]或如已經轉發所述興趣包的埠在時間閾值內未接收到返回的內容包,則減少所述已轉發所述興趣包的埠的權重值。
[0055]可選的,所述路由器還包括:
[0056]權重增加單元,用於每隔一定周期,在權重值取值範圍內緩慢增加所述多個埠的權重值。
[0057]可選的,所述興趣包包括:興趣包括的數據業務類型的標識或興趣包的級別標識,所述埠選擇單元還用於,
[0058]根據所述數據業務類型的標識確定所述興趣包的更新頻率,如所述更新頻率大於第一頻率閾值,增加所述選擇部分埠的數目,如所述更新頻率小於第二頻率閾值,減少所述選擇部分埠的數目;
[0059]或所述埠選擇單元還用於,根據所述興趣包的級別標識確定所述興趣包的級另IJ,如所述興趣包的級別高於第一級別閾值,增加所述選擇部分埠的數目,如所述興趣包的級別小於第二級別閾值,減少所述選擇部分埠的數目;
[0060]所述第一級別閾值大於第二級別閾值,所述第一頻率閾值大於所述第二頻率閾值。
[0061 ] 在本發明實施例中,本發明提供的技術方案具有減少興趣(interest)包泛濫的優點。
【專利附圖】
【附圖說明】
[0062]圖1是現有技術提供的NDN的多埠轉發方法的流程圖;
[0063]圖2是本發明實施例提供的NDN的多埠轉發方法的流程圖;
[0064]圖3是本發明實施例提供的接收到內容包後的得分方法示意圖;
[0065]圖4是本發明實施例提供的超時得分方法示意圖;
[0066]圖5是本發明【具體實施方式】提供的增加得分方法和減少得分方法示意圖;
[0067]圖6是本發明【具體實施方式】提供的路由器的結構圖;
[0068]圖7是本發明實施例提供的一種NDN的多埠轉發方法的流程圖。
【具體實施方式】[0069]為了使本發明的目的、技術方案及優點更加清楚明白,以下結合附圖及實施例,對本發明進行進一步詳細說明。應當理解,此處所描述的具體實施例僅僅用以解釋本發明,並不用於限定本發明。
[0070]本發明實施例提供一種NDN的多埠轉發方法,該方法由路由器系統執行,該方法如圖2所示,包括:
[0071]S21、在轉發興趣包的過程中,如查詢到本地的轉發表FIB中存在該興趣包的匹配項時,獲取該匹配項對應的多個埠 ;
[0072]S22、依據該多個埠的權重值從該多個埠中選擇部分埠轉發該興趣包;
[0073]S23、根據已經轉發該興趣包的埠是否收到返回的與該興趣包匹配的內容包更新所述已經轉發該興趣包的埠的權重值。
[0074]需要說明的是,上述權重值具體可以為:反映該埠轉發興趣包後,接收到與該興趣包匹配的內容包的概率特性的值,其具體可以為:得分、等級或其他的表現形式。
[0075]上述匹配的內容包具體可以為:與該興趣包匹配的首個內容包,因為在NDN網絡中,多個埠如果都接收到匹配的內容包,則首個內容包被接收後,PIT表的匹配項將刪除,則多個埠在首個內容包之後接收到的匹配的內容包會丟棄。
[0076]本發明實施例提供的方法在進行興趣包轉發時,改變了現有的所有埠轉發的策略,僅僅在所有埠中選擇部分埠轉發該興趣包,並且這種選擇也不是隨機的選擇,其是根據權重值來選擇的,而權重值又是依據該埠是否有返回匹配的內容包來確定的權重值的增加或減少,權重值增加或減少的具體方法可以參見如圖3、圖4或圖5所示的具體步驟,依據NDN的特性,在埠 I發送出去興趣包以後,返回內容包時,必然從埠 I中返回,所以依據此種方法來計算權重值,並依據權重值選擇部分埠並不會減少內容包的返回概率,但是本發明實施例提供方法的效果是顯著的,因為相對於所有埠轉發,只在部分埠轉發很顯然能在NDN網路中減少很多的興趣包,以一個實際的例子為例,假設興趣包經過3跳,每跳匹配項對應的埠為4個,採用現有技術的技術方案,最後一跳發送的興趣包的次數為:64次,而採用本發明實施例提供的方法,這裡假設從4個埠中選擇2個埠轉發,最後一跳發送的興趣包的次數為:8次,所以其興趣包的次數減少了 3/4,對應網絡中傳輸興趣包的個數也減少了 56個,所以其具有減少興趣(interest)包泛濫的優點。
[0077]可選的,上述S22的實現方法具體可以為:
[0078]依據所述多個埠的權重值從所述多個埠中選擇大於或等於權重閾值的部分埠,依據所述部分埠權重值的大小順序確定所述部分埠轉發所述興趣包的順序,按所述轉發所述興趣包的順序轉發所述興趣包;
[0079]或依據所述多個埠的權重值從所述多個埠中選擇大於或等於權重閾值的部分埠,按隨機選擇所述部分埠轉發所述興趣包的順序轉發所述興趣包。
[0080]可選的,實現S22的具體方法可以為下述方式的任一種:
[0081]方式A、在多個埠中選擇權重值最高的埠轉發該興趣包;
[0082]方式B、在多個埠中選擇權重值高的N個埠轉發該興趣包,需要說明的是,上述N可以由用戶自行設定。
[0083]方式C、在多個埠中選擇權重值相近的N個埠轉發該興趣包。上述N均小於多個埠的總數。其確定相近權重值的方式可以由多種數學方式,例如通過方差,通過濾波函數等,也可以採用非線性單調增加或減少函數來確認。由於該數學方法均為常用的方式,這裡不在贅述。
[0084]可選的,上述方法在S22之後還可以包括:
[0085]周期性的在多個埠中全部轉發該興趣包。
[0086]此種周期的在多個埠中全部轉發該興趣包可以避免有一些埠由於開始的權重值比較低而一直無法得到轉發興趣包的機會,因為在NDN網,埠的性能並不是一層不變的,所以在轉發興趣包時,需要周期性的在多個埠中全轉發以給定期給每個埠一個增加權重值的機會,此種方式雖說會有一定的interest包泛濫的缺點,但是相對於現有技術來說還是具有很明顯的優勢的,因為僅僅是周期性的將interest包泛濫一次,而不是如現有技術的隨時都是在進行interest包泛濫。
[0087]可選的,如所述多個埠沒有權重值,則在S22之前還可以採用下述任意一種方式計算多個埠的權重值。
[0088]方式A、將所述興趣包從所述多個埠轉發,依據所述多個埠是否收到與所述興趣包匹配的內容包計算所述多個埠的權重值。
[0089]方式B、從所述多個埠中隨機選擇一個或多個轉發埠,將所述興趣包從所述隨機選擇的一個或多個轉發埠轉發,依據所述隨機選擇的一個或多個轉發埠是否收到與所述興趣包匹配的內容包計算所述隨機選擇的一個或多個轉發埠的權重值。
[0090]可選的,上述興趣包包括:興趣包括的所述興趣包請求的數據業務類型的標識或所述興趣包請求的級別標識,所述依據該多個埠上的權重值從該多個埠中選擇部分埠轉發該興趣包包括:
[0091]根據所述數據業務類型的標識確定所述興趣包的更新頻率,如所述更新頻率大於第一頻率閾值,增加所述選擇部分埠的數目,如所述更新頻率小於第二頻率閾值,減少所述選擇部分埠的數目;如,對於熱門且相對固定的數據業務類型(例如電影數據業務、靜態存儲的文件業務)的請求,因為數據成功獲取的埠相對固定,可以減少選擇轉發埠數目,從而降低帶寬浪費,相當於此數據業務類型的更新頻率值低於第二頻率閾值,則減少選擇轉發埠數目;如興趣包請求的數據為經常更新或移動的數據業務(其對應的數據業務類型具體可以為:電話數據業務、車載網絡數據業務或實時更新的數據業務)時,可以增加選擇轉發埠的數目,利用更多埠的轉發獲得更好地可靠性;上述增加選擇轉發埠的數目實現的具體方法可以為,在所有埠的剩餘埠(選擇部分轉發埠以外的埠)中隨機選取部分埠轉發所述興趣包,當然也可以在剩餘埠中選擇權重值較高的幾個埠作為增加的埠轉發所述興趣包。上述減少選擇部分轉發埠數據實現方法可以為:在所述選擇的部分轉發埠中隨機選擇一個或幾個埠轉發所述興趣包,也可以為其他的選擇方式,例如在所述選擇的部分轉發埠中選擇權重值較高的一個或幾個埠轉發所述興趣包。
[0092]或根據所述興趣包的請求級別標識確定所述興趣包的級別,如所述興趣包的請求級別高於第一級別閾值,增加所述選擇部分埠的數目,如所述興趣包的請求級別小於第二級別閾值,減少所述選擇部分埠的數目;上述興趣包的請求級別具體可以為上述興趣包請求與該興趣包對應的內容包的優先級。
[0093]所述第一級別閾值大於第二級別閾值,所述第一頻率閾值大於所述第二頻率閾值。
[0094]需要說明的是,上述權重值的計算方法具體可以包括:
[0095]如已經轉發所述興趣包的埠接收到返回的所述興趣包的內容包且所述內容包匹配,則增加所述已經轉發所述興趣包的埠的權重值;
[0096]或如已經轉發所述興趣包的埠接收到返回的所述興趣包的內容包但所述內容包不匹配,則減少所述已轉發所述興趣包的埠的權重值。
[0097]或如已經轉發所述興趣包的埠在時間閾值內未接收到返回的所述興趣包的內容包,則減少所述已轉發所述興趣包的埠的權重值。
[0098]本發明【具體實施方式】埠的權重值可以為埠的得分,當然也可以為其他形式,例如埠的權重等級等,這裡以埠的得分為例說明埠得分的實現方法如圖3所示,
[0099]S31、埠接收內容包;
[0100]S32、判斷內容數據包是否與興趣包匹配,如是,增加此埠的得分,否則降低或不變此埠的得分。
[0101]當然埠得分的計算方法還可以由其他的方法,例如如圖4所示,
[0102]S41、判斷該埠的興趣包是否超時(其可以根據發送興趣包以後沒有接收到內容包的時間與超時閾值的大小來確定是否超時);
[0103]S42、如是,降低該埠的得分;
[0104]S43、如否,接收內容包,按如圖3所示的流程處理。
[0105]另外,上述權重值(或得分)的增加方法可以有多種,例如直接增加一恆定的值,也可以採用函數的方式增加,例如,可以採用一階濾波函數來增加,
[0106]如a=0?1,f (n) = (l_a) *l+a*f (n_l)
[0107]其中a是0到I之間的參數,a的大小可以影響歷史統計數據在本次「綜合權重值」中的比重,a越大,則歷史數據對「權重值」影響更大,反之,a越小,則當前成功與否對本次「權重值」影響更大;即,a越大,增加的越慢,a越小,增加的越快。
[0108]上述權重值(或得分)的減少方法也可以有多種,例如直接減少一恆定值,或減少一定的比例。當然也可以採用一階濾波,如
[0109]f (n) = (l~a) a*f (η-1) +a*f (η-1)
[0110]a是O到I之間的參數,a越大,則歷史「權重值」影響越大,降低越慢,反之,a越小,降低越快。當然減少得分的方法還可以採用其他的方法。
[0111]當然權重值的計算方法還可以採用其他的方式,本發明【具體實施方式】並不局限該權重值計算的具體方法,只需該權重值是依據已經轉發該興趣包的埠是否收到與該興趣包匹配的內容包計算,對具體採用的數學方法並不限制。
[0112]需要說明的是,上述方法在S23之前具體還可以包括:
[0113]每隔一定周期,在權重值取值範圍內緩慢增加所述多個埠的權重值。上述步驟在S23之前具體可以在S22之前或之後,也可以在S21之前或之後,這裡只需上述步驟在S23之前即可,其與S21、S22執行的先後順序本發明【具體實施方式】並不限定。
[0114]如已經轉發所述興趣包的埠接收到返回的所述興趣包的內容包且所述內容包匹配,則緩慢增加所述已經轉發所述興趣包的埠的權重值;
[0115]或如已經轉發所述興趣包的埠接收到返回的所述興趣包的內容包但所述內容包不匹配,則快速減少所述已轉發所述興趣包的埠的權重值。
[0116]或如已經轉發所述興趣包的埠在超時前未接收到返回的所述興趣包的內容包,則快速減少所述已轉發所述興趣包的埠的權重值。
[0117]上述增加權重值和減少權重值的方法如圖5所示。
[0118]S51、在權重取值範圍內,則周期緩慢增加每個埠權重值,此處可以通過設置步長大小控制權重值增長速度。
[0119]S52、接收此前綴數據包
[0120]S53、如果接收到此前綴數據包,則進行內容匹配,判斷返回數據包與所述轉發興趣包是否匹配
[0121]S54、如果未接收到此前綴數據包,則判斷此周期內是否超時
[0122]S55、如果超時(或返回數據包與興趣包不匹配),則認為此埠轉發所述興趣包失敗,降低此埠的權重值,可以快速降低,降低速度可以通過用戶設定指數降低等方法來控制
[0123]S56、如果此周期內並未超時,則周期到達時刻,繼續轉至S51:在門限範圍內緩慢增加每個埠權重值
[0124]S57、如果返回數據包與所述轉發興趣包匹配,則在門限範圍內增加此埠權重值,增幅大小可以由參數設置控制。
[0125]本發明【具體實施方式】還提供一種路由器,該路由器如圖6所示,包括:
[0126]查詢獲取單元61,用於在轉發興趣包的過程中,如查詢本地的轉發表FIB中存在所述興趣包的匹配項時,獲取所述匹配項對應的多個埠 ;
[0127]埠選擇單元62,用於依據所述多個埠的權重值從查詢獲取單元61獲取的所述多個埠中選擇部分埠轉發所述興趣包;
[0128]權重更新單元63,用於根據已經轉發所述興趣包的埠是否收到返回的與所述興趣包匹配的內容包更新所述已轉發所述興趣包的埠的權重值。
[0129]本發明實施例提供的路由器在進行興趣包轉發時,改變了現有的所有埠轉發的策略,僅僅在所有埠中選擇部分埠轉發該興趣包,並且這種選擇也不是隨機的選擇,其是根據權重值來選擇的,而權重值又是依據該埠是否有返回匹配的內容包來確定的,依據NDN的特性,在埠 I發送出去興趣包以後,返回內容包時,必然從埠 I中返回,所以依據此種方式來計算權重值,並依據權重值選擇部分埠並不會減少內容包的返回概率,但是本發明實施例提供路由器的效果是顯著的,因為相對於所有埠轉發,只在部分埠轉發很顯然能在NDN網路中減少很多的興趣包。
[0130]可選的,埠選擇單元62具體用於,
[0131]依據所述多個埠的權重值從所述多個埠中選擇大於或等於權重閾值的部分埠,依據所述部分埠權重值的大小順序確定所述部分埠轉發所述興趣包的順序,按所述轉發所述興趣包的順序轉發所述興趣包;
[0132]或依據所述多個埠的權重值從所述多個埠中選擇大於或等於權重閾值的部分埠,按隨機選擇所述部分埠轉發所述興趣包的順序轉發所述興趣包;
[0133]或在多個埠中選擇權重值最高的埠轉發所述興趣包;
[0134]或在多個埠中選擇權重值高的N個埠轉發所述興趣包;多個埠總數〉N;[0135]或在多個埠中選擇權重值相近的前N個埠轉發所述興趣包,多個埠總數>N。
[0136]可選的,上述路由器還包括:
[0137]周期轉發單元64,用於周期性的在多個埠中全部轉發所述興趣包。
[0138]可選的,上述權重更新單元63還用於如所述多個埠沒有權重值,將所述興趣包從所述多個埠轉發,依據所述多個埠是否收到與所述興趣包匹配的內容包計算所述多個埠的權重值。
[0139]可選的,上述權重更新單元63還用於:
[0140]如所述多個埠沒有權重值,從所述多個埠中隨機選擇一個或多個轉發埠,將所述興趣包從所述隨機選擇的一個或多個轉發埠轉發,依據所述隨機選擇的一個或多個轉發埠是否收到與所述興趣包匹配的內容包計算所述隨機選擇的一個或多個轉發埠的權重值。
[0141]可選的,上述權重更新單元63具體用於:
[0142]如已經轉發所述興趣包的埠接收到返回的所述興趣包的內容包且所述內容包匹配,則增加所述已經轉發所述興趣包的埠的權重值;
[0143]或如已經轉發所述興趣包的埠接收到返回的所述興趣包的內容包但所述內容包不匹配,則減少所述已轉發所述興趣包的埠的權重值。
[0144]或如已經轉發所述興趣包的埠在時間閾值內未接收到返回的內容包,則減少所述已轉發所述興趣包的埠的權重值。
[0145]可選的,上述路由器還包括:
[0146]權重增加單元65,用於每隔一定周期,在權重值取值範圍內緩慢增加所述多個埠的權重值。
[0147]可選的,上述興趣包包括:興趣包括的數據業務類型的標識或興趣包的級別標識,上述埠選擇單元62還用於,
[0148]根據所述數據業務類型的標識確定所述興趣包的更新頻率,如所述更新頻率大於第一頻率閾值,增加所述選擇部分埠的數目,如所述更新頻率小於第二頻率閾值,減少所述選擇部分埠的數目;
[0149]或所述埠選擇單元還用於根據所述興趣包的級別標識確定所述興趣包的級別,如所述興趣包的級別高於第一級別閾值,增加所述選擇部分埠的數目,如所述興趣包的級別小於第二級別閾值,減少所述選擇部分埠的數目;
[0150]所述第一級別閾值大於第二級別閾值,所述第一頻率閾值大於所述第二頻率閾值。
[0151]本發明【具體實施方式】還提供一種路由器,該路由器包括:多個埠和處理器
[0152]上述處理器用於在轉發興趣包的過程中,查詢本地的轉發表FIB中存在所述興趣包的匹配項時,獲取所述匹配項對應的多個埠 ;依據所述多個埠的權重值從所述多個埠中選擇部分埠轉發所述興趣包;根據已經轉發所述興趣包的埠是否收到返回的與所述興趣包匹配的內容包更新所述已轉發所述興趣包的埠的權重值。
[0153]本發明實施例提供的路由器在進行興趣包轉發時,改變了現有的所有埠轉發的策略,僅僅在所有埠中選擇部分埠轉發該興趣包,並且這種選擇也不是隨機的選擇,其是根據權重值來選擇的,而權重值又是依據該埠是否有返回匹配的內容包來確定的,依據NDN的特性,在埠 I發送出去興趣包以後,返回內容包時,必然從埠 I中返回,所以依據此種方式來計算權重值,並依據權重值選擇部分埠並不會減少內容包的返回概率,但是本發明實施例提供路由器的效果是顯著的,因為相對於所有埠轉發,只在部分埠轉發很顯然能在NDN網路中減少很多的興趣包。
[0154]可選的,處理器具體用於,
[0155]依據所述多個埠的權重值從所述多個埠中選擇大於或等於權重閾值的部分埠,依據所述部分埠權重值的大小順序確定所述部分埠轉發所述興趣包的順序,按所述轉發所述興趣包的順序轉發所述興趣包;
[0156]或依據所述多個埠的權重值從所述多個埠中選擇大於或等於權重閾值的部分埠,按隨機選擇所述部分埠轉發所述興趣包的順序轉發所述興趣包;
[0157]或在多個埠中選擇權重值最高的埠轉發所述興趣包;
[0158]或在多個埠中選擇權重值高的N個埠轉發所述興趣包;多個埠總數〉N;
[0159]或在多個埠中選擇權重值相近的前N個埠轉發所述興趣包,多個埠總數>N。
[0160]可選的,上述處理器還用於:周期性的在多個埠中全部轉發所述興趣包。
[0161]可選的,上述處理器還用於,如所述多個埠沒有權重值,將所述興趣包從所述多個埠轉發,依據所述多個埠是否收到與所述興趣包匹配的內容包計算所述多個埠的權重值。
[0162]可選的,上述處理器還用於,
[0163]如所述多個埠沒有權重值,從所述多個埠中隨機選擇一個或多個轉發埠,將所述興趣包從所述隨機選擇的一個或多個轉發埠轉發,依據所述隨機選擇的一個或多個轉發埠是否收到與所述興趣包匹配的內容包計算所述隨機選擇的一個或多個轉發埠的權重值。
[0164]可選的,上述處理器具體用於,
[0165]如已經轉發所述興趣包的埠接收到返回的所述興趣包的內容包且所述內容包匹配,則增加所述已經轉發所述興趣包的埠的權重值;
[0166]或如已經轉發所述興趣包的埠接收到返回的所述興趣包的內容包但所述內容包不匹配,則減少所述已轉發所述興趣包的埠的權重值。
[0167]或如已經轉發所述興趣包的埠在時間閾值內未接收到返回的內容包,則減少所述已轉發所述興趣包的埠的權重值。
[0168]可選的,上述處理器還用於,每隔一定周期,在權重值取值範圍內緩慢增加所述多個埠的權重值。
[0169]可選的,上述興趣包包括:興趣包括的數據業務類型的標識或興趣包的級別標識,上述處理器還用於,
[0170]根據所述數據業務類型的標識確定所述興趣包的更新頻率,如所述更新頻率大於第一頻率閾值,增加所述選擇部分埠的數目,如所述更新頻率小於第二頻率閾值,減少所述選擇部分埠的數目;
[0171]或所述埠選擇單元還用於根據所述興趣包的級別標識確定所述興趣包的級別,如所述興趣包的級別高於第一級別閾值,增加所述選擇部分埠的數目,如所述興趣包的級別小於第二級別閾值,減少所述選擇部分埠的數目;
[0172]所述第一級別閾值大於第二級別閾值,所述第一頻率閾值大於所述第二頻率閾值。
[0173]實施例
[0174]本實施例提供一種NDN的多埠轉發方法,本實施例中的埠權重值以得分為例,本實施例提供的方法的流程如圖7所示,包括:
[0175]路由器接收到數據包時,判斷接收數據包為興趣包或內容包,如為興趣包,查詢本地存儲的CS表中是否存儲有該興趣包請求的內容包,如存儲有內容包,返回該內容包,如沒有匹配的內容包,則進一步查詢本地PIT表,判斷本地PIT表中是否有請求相同內容的其他的興趣包駐留(即是否已經有來自其他埠的興趣包請求此內容),如本地PIT中有請求相同內容的其他興趣包駐留,則更新PIT中匹配項,具體更新方法可以為:添加此興趣包的埠到該PIT的匹配項的face列表中,然後接收下一數據包;如果本地PIT中沒有請求相同內容的其他興趣包駐留,則繼續查詢FIB表,查詢FIB表獲得與此興趣包的名字前綴匹配項來獲取該興趣包的所有轉發埠,根據埠的權重值確定轉發埠的數目和順序,然後按該順序轉發該興趣包,然後接收下一包。。
[0176]如果接收包是內容包,則查詢PIT表,判斷是否有匹配的請求項,如果有匹配的請求項,則轉發此內容包到PIT表匹配項的列表埠,根據成功與否更新FIB表中相應埠的「得分」,存儲備份內容包到本地CS,移除PIT表中駐留的匹配表項;如果內容包不能匹配PIT中表項,則丟棄此內容包,或存儲備份後丟棄此內容包。
[0177]上述單元和路由器中,所包括的單元只是按照功能邏輯進行劃分的,但並不局限於上述的劃分,只要能夠實現相應的功能即可;另外,各功能單元的具體名稱也只是為了便於相互區分,並不用於限制本發明的保護範圍。
[0178]本領域技術人員可以理解,本發明實施例提供的技術方案全部或部分步驟是可以通過程序指令相關的硬體來完成。比如可以通過計算機運行程來完成。該程序可以存儲在可讀取存儲介質,例如,隨機存儲器、磁碟、光碟等。
[0179]以上所述僅為本發明的較佳實施例而已,並不用以限制本發明,凡在本發明的精神和原則之內所作的任何修改、等同替換和改進等,均應包含在本發明的保護範圍之內。
【權利要求】
1.一種NDN的多埠轉發方法,其特徵在於,所述方法包括: 在轉發興趣包的過程中,查詢到本地的轉發表FIB中存在所述興趣包的匹配項時,獲取所述匹配項對應的多個埠; 依據所述多個埠的權重值從所述多個埠中選擇部分埠轉發所述興趣包; 根據已經轉發所述興趣包的埠是否收到返回的與所述興趣包匹配的內容包更新所述已轉發所述興趣包的埠的權重值。
2.根據權利要求1所述的方法,其特徵在於,所述依據所述多個埠的權重值從所述多個埠中選擇部分埠轉發所述興趣包具體包括: 依據所述多個埠的權重值從所述多個埠中選擇大於或等於權重閾值的部分埠,依據所述部分埠權重值的大小順序確定所述部分埠轉發所述興趣包的順序,按所述轉發所述興趣包的順序轉發所述興趣包; 或依據所述多個埠的權重值從所述多個埠中選擇大於或等於權重閾值的部分埠,按隨機選擇所 述部分埠轉發所述興趣包的順序轉發所述興趣包; 或在多個埠中選擇權重值最高的埠轉發該興趣包; 或在多個埠中選擇權重值高的N個埠轉發該興趣包;多個埠總數>N ; 或在多個埠中選擇權重值相近的前N個埠轉發該興趣包,多個埠總數>N。
3.根據權利要求1所述的方法,其特徵在於,所述方法在依據該多個埠上的權重值從該多個埠中選擇部分埠轉發該興趣包之後還包括: 周期性的在多個埠中全部轉發該興趣包。
4.根據權利要求1所述的方法,其特徵在於,所述方法在依據所述多個埠的權重值從所述多個埠中選擇部分埠轉發該興趣包之前還包括: 如所述多個埠沒有權重值,將所述興趣包從所述多個埠轉發,依據所述多個埠是否收到與所述興趣包匹配的內容包計算所述多個埠的權重值。
5.根據權利要求1所述的方法,其特徵在於,所述方法在依據所述多個埠的權重值從所述多個埠中選擇部分埠轉發該興趣包之前還包括: 如所述多個埠沒有權重值,從所述多個埠中隨機選擇一個或多個轉發埠,將所述興趣包從所述隨機選擇的一個或多個轉發埠轉發,依據所述隨機選擇的一個或多個轉發埠是否收到與所述興趣包匹配的內容包計算所述隨機選擇的一個或多個轉發埠的權重值。
6.根據權利要求1所述的方法,其特徵在於,所述根據已經轉發所述興趣包的埠是否收到返回的與所述興趣包匹配的內容包更新所述已轉發所述興趣包的埠的權重值具體包括: 如已經轉發所述興趣包的埠接收到返回的所述興趣包的內容包且所述內容包匹配,則增加所述已經轉發所述興趣包的埠的權重值; 或如已經轉發所述興趣包的埠接收到返回的所述興趣包的內容包但所述內容包不匹配,則減少所述已轉發所述興趣包的埠的權重值。 或如已經轉發所述興趣包的埠在時間閾值內未接收到返回的內容包,則減少所述已轉發所述興趣包的埠的權重值。
7.根據權利要求1所述的方法,其特徵在於,所述方法在根據已經轉發所述興趣包的埠是否收到返回的與所述興趣包匹配的內容包更新所述已轉發所述興趣包的埠的權重值之前具體包括: 每隔一定周期,在權重值取值範圍內緩慢增加所述多個埠的權重值。
8.根據權利要求1所述的方法,其特徵在於,所述興趣包包括:興趣包括的數據業務類型的標識或興趣包的級別標識,所述依據該多個埠上的權重值從該多個埠中選擇部分埠轉發該興趣包包括: 根據所述數據業務類型的標識確定所述興趣包的更新頻率,如所述更新頻率大於第一頻率閾值,增加所述選擇部分埠的數目,如所述更新頻率小於第二頻率閾值,減少所述選擇部分埠的數目; 或根據所述興趣包的級別標識確定所述興趣包的級別,如所述興趣包的級別高於第一級別閾值,增加所述選擇部分埠的數目,如所述興趣包的級別小於第二級別閾值,減少所述選擇部分埠的數目; 所述第一級別閾值大於第二級別閾值,所述第一頻率閾值大於所述第二頻率閾值。
9.一種路由器,其特徵在於,所述路由器包括: 查詢獲取單元,用於在轉發興趣包的過程中,查詢到本地的轉發表FIB中存在所述興趣包的匹配項時,獲取所述匹配項對應的多個埠 ; 埠選擇單元,用於依據所述多個埠的權重值從所述查詢獲取單元獲取的所述多個埠中選擇部分埠轉發所述興趣包; 權重更新單元,用於根據已經轉發所述興趣包的埠是否收到返回的與所述興趣包匹配的內容包更新所述已轉發所述興趣包的埠的權重值。
10.根據權利要求9所述的路由器,其特徵在於,所述埠選擇單元具體用於, 依據所述多個埠的權重值從所述多個埠中選擇大於或等於權重閾值的部分埠,依據所述部分埠權重值的大小順序確定所述部分埠轉發所述興趣包的順序,按所述轉發所述興趣包的順序轉發所述興趣包; 或依據所述多個埠的權重值從所述多個埠中選擇大於或等於權重閾值的部分埠,按隨機選擇所述部分埠轉發所述興趣包的順序轉發所述興趣包; 或在多個埠中選擇權重值最聞的埠轉發所述興趣包; 或在多個埠中選擇權重值高的N個埠轉發所述興趣包;多個埠總數>N ; 或在多個埠中選擇權重值相近的前N個埠轉發所述興趣包,多個埠總數>N。
11.根據權利要求9所述的路由器,其特徵在於,所述路由器還包括: 周期轉發單元,用於周期性的在多個埠中全部轉發所述興趣包。
12.根據權利要求9所述的路由器,其特徵在於,所述權重更新單元還用於, 如所述多個埠沒有權重值,將所述興趣包從所述多個埠轉發,依據所述多個埠是否收到與所述興趣包匹配的內容包計算所述多個埠的權重值。
13.根據權利要求9所述的路由器,其特徵在於,所述權重更新單元還用於, 如所述多個埠沒有權重值,從所述多個埠中隨機選擇一個或多個轉發埠,將所述興趣包從所述隨機選擇的一個或多個轉發埠轉發,依據所述隨機選擇的一個或多個轉發埠是否收到與所述興趣包匹配的內容包計算所述隨機選擇的一個或多個轉發埠的權重值。
14.根據權利要求9所述的路由器,其特徵在於,所述權重更新單元具體用於, 如已經轉發所述興趣包的埠接收到返回的所述興趣包的內容包且所述內容包匹配,則增加所述已經轉發所述興趣包的埠的權重值; 或如已經轉發所述興趣包的埠接收到返回的所述興趣包的內容包但所述內容包不匹配,則減少所述已轉發所述興趣包的埠的權重值。 或如已經轉發所述興趣包的埠在時間閾值內未接收到返回的內容包,則減少所述已轉發所述興趣包的埠的權重值。
15.根據權利要求9所述的路由器,其特徵在於,所述路由器還包括: 權重增加單元,用於每隔一定周期,在權重值取值範圍內緩慢增加所述多個埠的權重值。
16.根據權利要求9所述的路由器,其特徵在於,所述興趣包包括:興趣包括的數據業務類型的標識或興趣包的級別標識,所述埠選擇單元還用於, 根據所述數據業務類型的標識確定所述興趣包的更新頻率,如所述更新頻率大於第一頻率閾值,增加所述選擇部分埠的數目,如所述更新頻率小於第二頻率閾值,減少所述選擇部分埠的數目; 或所述埠選擇單元還用於,根據所述興趣包的級別標識確定所述興趣包的級別,如所述興趣包的級別高於第一級別閾值,增加所述選擇部分埠的數目,如所述興趣包的級別小於第二級別閾值,減少所述選擇部分埠的數目; 所述第一級別閾值大於第二級別閾值,所述第一頻率閾值大於所述第二頻率閾值。
【文檔編號】H04L12/721GK103841018SQ201210486934
【公開日】2014年6月4日 申請日期:2012年11月26日 優先權日:2012年11月26日
【發明者】姚春鳳, 項炎平, 範靈源, 龍有水, 嚴哲峰 申請人:華為技術有限公司