[發明專利]一種基于字節編號的命名數據網絡數據分片可靠傳輸方法有效
| 申請號: | 201911029703.6 | 申請日: | 2019-10-28 |
| 公開(公告)號: | CN110753003B | 公開(公告)日: | 2021-05-11 |
| 發明(設計)人: | 安建平;刁文瀾;李彤 | 申請(專利權)人: | 北京理工大學 |
| 主分類號: | H04L12/805 | 分類號: | H04L12/805;H04L12/801;H04L12/823;H04L12/951;H04L12/741;H04L1/00;H04L1/18 |
| 代理公司: | 北京正陽理工知識產權代理事務所(普通合伙) 11639 | 代理人: | 王民盛 |
| 地址: | 100081 *** | 國省代碼: | 北京;11 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 一種 基于 字節 編號 命名 數據 網絡 分片 可靠 傳輸 方法 | ||
1.一種基于字節編號的命名數據網絡數據分片可靠傳輸方法,其特征在于:包括以下步驟:
步驟1、內容發布者將每項數據內容按字節進行編號;
具體為:NDN中內容發布者對持有的每項數據內容按字節進行編號;
其中,每項數據內容的字節長度為N+1,將每項數據內容的第一個字節編號為A,第二個字節編號為A+1,第三個字節編號為A+2……字節編號按照自然數遞增,最后一個字節編號為A+N;
步驟2、內容請求者發送詢問興趣包并比較轉發路徑上各路由節點的最大傳輸單元MTU記錄最小值,具體包括如下子步驟:
步驟2.1NDN內容請求者發送詢問興趣包,在內容請求者的PIT表中記錄詢問興趣包條目,設置并啟動內容請求者PIT表條目定時器T1;
其中,詢問興趣包的內容是:內容請求者想要獲取的數據內容的內容名稱,以及詢問興趣包轉發路徑上各路由節點的MTU的最小值M;
所述最大傳輸單元,簡寫為MTU,是Maximum Transmission Unit的縮寫,指的是某個NDN節點一次數據發送或數據接收過程能夠傳輸的最大字節數;
其中,此處詢問興趣包中M記錄的是內容請求者的MTU;內容請求者PIT表中詢問興趣包條目的內容是:詢問興趣包中的內容名稱,以及詢問興趣包對應的下游接口;
所述內容請求者PIT表條目定時器T1用于規定內容請求者PIT表中記錄條目的生存時間,該生存時間的取值范圍為1s到100s;此處規定了詢問興趣包條目的生存時間,當T1定時到期時,擦除內容請求者PIT表中的詢問興趣包條目;
步驟2.2詢問興趣包經過多個中繼節點轉發到達內容發布者,并比較轉發路徑上各路由節點的MTU記錄最小值;
具體為:詢問興趣包轉發過程中,轉發路徑上每個中繼節點收到詢問興趣包,首先查看詢問興趣包中記錄的路由節點MTU最小值M,若本節點MTU小于M,則將本節點MTU的值賦值給M,否則不更改M的取值;然后中繼節點根據詢問興趣包中的內容名稱查詢FIB表,選擇匹配的轉發接口將詢問興趣包轉發到下一中繼節點,并在本節點的PIT表中記錄詢問興趣包條目,設置并啟動中繼節點PIT表條目定時器T2;
其中,中繼節點PIT表中詢問興趣包條目的內容是:詢問興趣包中的內容名稱,以及詢問興趣包對應的下游接口;中繼節點PIT表條目定時器T2用于規定中繼節點PIT表中記錄條目的生存時間,該生存時間的取值范圍為1s到100s,此處T2規定了詢問興趣包條目的生存時間,當T2定時到期時,擦除中繼節點PIT表中的詢問興趣包條目;
步驟3、內容發布者回復應答數據包告知數據內容的字節長度和起始字節編號及整個鏈路的最大傳輸單元;
其中,整個鏈路即詢問興趣包從內容請求者轉發到內容發布者的轉發路徑;
步驟3具體包括如下子步驟:
步驟3.1內容發布者收到詢問興趣包,首先根據詢問興趣包中的內容名稱查詢相應數據內容,統計數據內容的字節長度和起始字節編號;然后查看詢問興趣包中記錄的路由節點MTU最小值M,若內容發布者的MTU小于M,則將內容發布者MTU的值賦值給M,否則不更改M的取值;接著內容發布者封裝應答數據包回復給內容請求者,應答數據包與詢問興趣包中的內容名稱設置相同;
其中,應答數據包的內容是:內容請求者想要獲取的數據內容的字節長度是N+1,起始字節編號是A,轉發路徑上整個鏈路的最大傳輸單元是M;
步驟3.2應答數據包按照詢問興趣包轉發的反向路徑經過多個中繼節點轉發到達內容請求者;
具體為:應答數據包轉發過程中轉發路徑上每個中繼節點收到應答數據包,首先根據應答數據包中的內容名稱查詢PIT表,若存在相同名稱的詢問興趣包條目,則將應答數據包從該條目記錄的下游接口轉發出去,然后擦除該項PIT條目,將中繼節點PIT表條目定時器T2清零;若不存在相同名稱的詢問興趣包條目,則丟棄應答數據包,等待T2定時到期,當T2定時到期時,擦除中繼節點PIT表中的詢問興趣包條目;
步驟3.3內容請求者等待接收應答數據包,若內容請求者收到應答數據包,首先根據應答數據包中的內容名稱查詢PIT表,若PIT表中存在相同名稱的詢問興趣包條目,則執行步驟4;否則丟棄應答數據包,等待T1定時到期,當T1定時到期時,擦除內容請求者PIT表中的詢問興趣包條目,跳至步驟2;
步驟4、內容請求者發送請求興趣包包含想要獲取的數據內容的內容名稱和字節編號范圍,具體包括如下子步驟:
步驟4.1內容請求者查看應答數據包,記錄數據內容的字節長度N+1,起始字節編號A,以及轉發路徑上整個鏈路的最大傳輸單元M;然后擦除內容請求者PIT表中的詢問興趣包條目,將內容請求者PIT表條目定時器T1清零;
步驟4.2內容請求者封裝請求興趣包,封裝完成后將請求興趣包復制一份,將復制的請求興趣包存儲在內容請求者CS中;
其中,請求興趣包的內容是:內容請求者想要獲取的數據內容的內容名稱,以及想要獲取的數據內容的字節編號范圍是A到A+K;
K用于保證獲取數據內容的字節長度小于請求興趣包轉發路徑上整個鏈路的最大傳輸單元M,從而避免鏈路擁塞;
步驟4.3NDN內容請求者發送請求興趣包,在內容請求者的PIT表中記錄請求興趣包條目,啟動內容請求者PIT表條目定時器T1;
其中,內容請求者PIT表中請求興趣包條目的內容是:請求興趣包中的內容名稱及請求興趣包對應的下游接口,此處T1規定了請求興趣包條目的生存時間;
步驟4.4請求興趣包按照與步驟2.2中的詢問興趣包相同的轉發路徑,經過多個中繼節點轉發到達內容發布者,在此轉發過程中,各中繼節點在本節點的PIT表中記錄請求興趣包條目,啟動中繼節點PIT表條目定時器T2,此處T2規定了請求興趣包條目的生存時間;
步驟5、內容發布者收到請求興趣包后將相應字節的數據內容封裝為內容數據包回復給內容請求者,具體包括如下子步驟:
步驟5.1內容發布者收到請求興趣包,首先根據請求興趣包中的內容名稱找到相應數據內容,然后對內容請求者想要獲取的相應字節編號的數據內容進行復制,生成數據內容副本,將數據內容副本封裝為一個內容數據包,將內容數據包按照請求興趣包轉發的反向路徑發送出去,且內容數據包與請求興趣包中的內容名稱設置相同;
步驟5.2轉發路徑上每個中繼節點收到內容數據包,首先根據內容數據包中的內容名稱查詢PIT表,若PIT表中存在相同名稱的請求興趣包條目,則執行步驟5.3;否則丟棄內容數據包,等待T2定時到期,當T2定時到期時,中繼節點PIT表中請求興趣包條目被擦除,跳至步驟6;
步驟5.3中繼節點對內容數據包進行CRC校驗,校驗內容數據包中的數據內容是否正確,若數據內容校驗正確,則將內容數據包復制一份保存在本節點的CS中,然后將內容數據包從相應PIT條目記錄的下游接口轉發出去,接著擦除PIT表條目,將中繼節點PIT表條目定時器T2清零;若內容數據包經CRC校驗錯誤,則丟棄內容數據包,擦除PIT表的請求興趣包條目,將中繼節點PIT表條目定時器T2清零;
其中,CRC循環冗余校驗是一種根據數據內容產生簡短的固定位數的校驗碼的一種散列函數,主要用來檢測或校驗數據傳輸或者保存后可能出現的錯誤,它是利用除法及余數的原理進行錯誤偵測的;
步驟6、內容請求者等待接收內容數據包并準備重傳請求興趣包,具體包括如下子步驟:
步驟6.1內容請求者等待接收內容數據包,若內容請求者收到內容數據包,首先根據內容數據包中的內容名稱查詢PIT表,若PIT表中存在相同名稱的請求興趣包條目,則跳至步驟7;若PIT表中不存在相同名稱的請求興趣包條目,則丟棄內容數據包,等待T1定時到期,當T1定時到期時,內容請求者PIT表中請求興趣包條目被擦除,繼續執行步驟6.2;
步驟6.2內容請求者PIT表條目定時器T1到期,此時內容請求者尚未收到與PIT表中請求興趣包條目對應的內容數據包,則內容請求者擦除PIT表中的請求興趣包條目,將內容請求者PIT表條目定時器T1清零;
步驟6.3內容請求者將存儲在CS中的請求興趣包取出,將請求興趣包復制一份并將復制的請求興趣包存儲在CS中;
步驟6.4內容請求者重新發送請求興趣包,并在內容請求者PIT表中記錄請求興趣包條目,啟動內容請求者PIT表條目定時器T1;
其中,內容請求者PIT表中請求興趣包條目的內容是:請求興趣包中的內容名稱及請求興趣包對應的下游接口,此處T1規定了請求興趣包條目的生存時間;
步驟6.5請求興趣包轉發過程中,轉發路徑上每個中繼節點收到請求興趣包,首先根據請求興趣包中的內容名稱查詢本節點CS,若CS中存儲了相同內容名稱的內容數據包,則中繼節點將該內容數據包復制一份直接回復給內容請求者,跳至步驟6;若CS中不存在相同內容名稱的內容數據包,則中繼節點根據請求興趣包中的內容名稱查詢FIB表,選擇匹配轉發接口將請求興趣包轉發到下一中繼節點,并在PIT表中記錄請求興趣包條目,啟動中繼節點PIT表條目定時器T2;當請求興趣包經過多個中繼節點轉發到達內容發布者時,跳至步驟5;
步驟7、內容請求者接收并校驗內容數據包,具體包括如下子步驟:
步驟7.1內容請求者收到內容數據包,且內容請求者PIT表中存在與內容數據包中的內容名稱相同的請求興趣包條目,則內容請求者擦除PIT表中記錄的請求興趣包條目,將內容請求者PIT表條目定時器T1清零;
步驟7.2內容請求者對內容數據包進行CRC校驗,校驗數據內容是否正確;
步驟8、內容請求者根據校驗結果決定重傳請求興趣包或者繼續請求后續內容數據包,具體包括如下子步驟;
步驟8.1內容數據包經過步驟7.2中的CRC校驗后,若數據內容校驗正確,則執行步驟8.2;若數據內容校驗錯誤,則跳至步驟8.7;
步驟8.2內容請求者將校驗正確的內容數據包存入CS中,并將CS中存儲的請求興趣包復制本丟棄;
步驟8.3內容請求者查看存入CS的內容數據包中數據內容的字節編號范圍,若數據內容的最末字節編號為A+N,則跳至步驟9;否則執行步驟8.4;
步驟8.4內容請求者封裝新的請求興趣包,封裝完成后將新的請求興趣包復制一份,將復制的請求興趣包存儲在CS中;
其中,新的請求興趣包的內容是:內容請求者想要獲取的數據內容的內容名稱,以及想要獲取的數據內容的字節編號范圍是X+1到X+Y;
所述X指的是目前內容請求者CS中存儲的已經正確接收的數據內容的最大字節編號;Y用于保證內容請求者請求后續數據內容的字節長度小于請求興趣包轉發路徑上整個鏈路的最大傳輸單元M,從而避免鏈路擁塞;
步驟8.4中新的請求興趣包代表內容請求者對已接收的內容數據包的確認;
步驟8.5內容請求者發送新的請求興趣包,在內容請求者PIT表中記錄請求興趣包條目,啟動內容請求者PIT表條目定時器T1;
其中,內容請求者PIT表中請求興趣包條目的內容是:請求興趣包中的內容名稱及請求興趣包對應的下游接口,T1規定了新的請求興趣包條目的生存時間;
步驟8.6新的請求興趣包經過多個中繼節點轉發到達內容發布者,在此過程中,各中繼節點在本節點的PIT表中記錄請求興趣包條目,啟動中繼節點PIT表條目定時器T2,此處T2規定了新的請求興趣包條目的生存時間;
步驟8.6結束后,內容請求者確認內容數據包以及繼續請求后續內容數據包完畢,跳至步驟5;
步驟8.7內容請求者對內容數據包進行CRC校驗后,數據內容校驗錯誤,則內容請求者將內容數據包丟棄;
步驟8.8內容請求者將存儲在CS中的請求興趣包取出,將請求興趣包復制一份并將復制的請求興趣包存儲在CS中;
步驟8.9內容請求者重新發送請求興趣包,在內容請求者PIT表中記錄請求興趣包條目,啟動內容請求者PIT表條目定時器T1;
其中,內容請求者PIT表中請求興趣包條目的內容是:請求興趣包中的內容名稱及請求興趣包對應的下游接口,T1規定了請求興趣包條目的生存時間;
步驟8.10請求興趣包轉發過程中,轉發路徑上每個中繼節點收到請求興趣包,首先根據請求興趣包中的內容名稱查詢本節點CS,若CS中存儲了相同內容名稱的內容數據包,則中繼節點將內容數據包復制一份直接回復給內容請求者,跳至步驟6;若CS中不存在相同內容名稱的內容數據包,則中繼節點根據請求興趣包中的內容名稱查詢FIB表,選擇匹配轉發接口將請求興趣包轉發到下一中繼節點,并在PIT表中記錄請求興趣包條目,啟動中繼節點PIT表條目定時器T2;當請求興趣包經過多個中繼節點轉發到達內容發布者時,跳至步驟5;
步驟9、內容請求者正確接收完整數據內容后結束數據傳輸,具體包括如下子步驟:
步驟9.1內容請求者接收并校驗正確的內容數據包中數據內容的最后一個字節編號為A+N,表明內容請求者已經正確接收了完整數據內容;則內容請求者封裝完結興趣包,將完結興趣包發送出去;
其中,完結興趣包的內容是:內容請求者請求結束通信的數據內容名稱;內容請求者不需要在PIT表中記錄完結興趣包條目;
步驟9.2完結興趣包經過多個中繼節點轉發到達內容發布者,各中繼節點不需要在本節點PIT表中記錄完結興趣包條目;
步驟9.3內容發布者收到完結數據包,不需要進行任何回復,數據傳輸結束。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于北京理工大學,未經北京理工大學許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201911029703.6/1.html,轉載請聲明來源鉆瓜專利網。





