本發(fā)明涉及通信
技術(shù)領(lǐng)域:
:,特別涉及一種命名數(shù)據(jù)網(wǎng)絡(luò)(named-datanetworking,ndn)映射表更新方法和裝置、ndn興趣包轉(zhuǎn)發(fā)方法和裝置及ndn。
背景技術(shù):
::ndn是一種典型的內(nèi)容中心網(wǎng)絡(luò),由消費者驅(qū)動。具體地,消費者發(fā)出的興趣(interest)包經(jīng)過某個路由節(jié)點時,該路由節(jié)點在內(nèi)容存儲庫(contentstore,cs)中查找該興趣包請求的數(shù)據(jù)(data)包,如果cs中存在該興趣包請求的數(shù)據(jù)包,則向消費者返回該數(shù)據(jù)包;如果cs中不存在該數(shù)據(jù)包,則在待定興趣表(pendinginteresttable,pit)中記錄接收該興趣包的接口;另外,路由節(jié)點還根據(jù)轉(zhuǎn)發(fā)信息表(forwardinginformationbase,fib)選擇接口將興趣包轉(zhuǎn)發(fā)出去。興趣包在ndn中被不斷轉(zhuǎn)發(fā),直到該興趣包被轉(zhuǎn)發(fā)到cs中存在該興趣包對應(yīng)的數(shù)據(jù)包的路由節(jié)點,由該路由節(jié)點向消費者返回數(shù)據(jù)包;或者直到該興趣包被轉(zhuǎn)發(fā)到能夠提供該興趣包對應(yīng)的數(shù)據(jù)包的生產(chǎn)者,由生產(chǎn)者向消費者返回數(shù)據(jù)包。路由節(jié)點按照pit中記錄的接收興趣包的接口,返回興趣包所請求的數(shù)據(jù)包。由于ndn消費者驅(qū)動的通信機制,消費者只需要發(fā)出興趣包而不用維持與生產(chǎn)者的任何連接信息,數(shù)據(jù)包沿著興趣包的轉(zhuǎn)發(fā)路徑沿原路返回并緩存在它經(jīng)過的每一個路由節(jié)點上。當消費者移動并接入了新的基站后,消費者只需要重新發(fā)送之前已經(jīng)發(fā)送過但未能獲取到所請求的數(shù)據(jù)包的興趣包,就可以接收到所請求的數(shù)據(jù)包。這是因為之前一次發(fā)送興趣包時,返回的數(shù)據(jù)包已經(jīng)緩存在經(jīng)過的路由節(jié)點上,所以重新發(fā)送興趣包時,通??梢詮母浇酚晒?jié)點的cs中獲得該數(shù)據(jù)包。因此,ndn對消費者移動具有天然的支持,然而在生產(chǎn)者移動的問題上沒有給出很好的解決方案。生產(chǎn)者移動問題簡言之就是由于生產(chǎn)者移動后興趣包不能被正確轉(zhuǎn)發(fā),造成興趣包無法到達生產(chǎn)者處,進而導(dǎo)致數(shù)據(jù)包傳輸失敗。現(xiàn)有ndn生產(chǎn)者移動性解決方案主要分為兩大類:基于路由(routing)更新方式與基于標識-位置分離(identity-locationsplit)方式。基于標識-位置分離方式包括多種實現(xiàn)方式,例如,hermans和jiang等不同的學(xué)者都從移動ip(mobileip)技術(shù)中獲得啟發(fā),采用一個家鄉(xiāng)存儲庫(homerepository,hr)的移動代理來記錄生產(chǎn)者的當前位置,每次生產(chǎn)者接入新的基站后,都需要到hr處更新自己的當前位置。而消費者發(fā)出的興趣包都要先到達hr,然后由hr轉(zhuǎn)交給生產(chǎn)者,這種方案不可避免的造成了三角路由的問題,增加了無謂的網(wǎng)絡(luò)流量且增大了數(shù)據(jù)包的傳輸時延。為了解決hr帶來的三角路由的問題,zhang等人在移動代理的基礎(chǔ)上結(jié)合了ndn的特性,提出了一種新的基于標識-位置分離方式的移動性解決方案,具體地,生產(chǎn)者在接入新的基站后,向hr發(fā)送一個興趣包,該興趣包經(jīng)過的路徑上的各個路由節(jié)點在pit中記錄接收該興趣包的接口,在后續(xù)轉(zhuǎn)發(fā)過程中,路由節(jié)點中可以采用該pit作為向生產(chǎn)者轉(zhuǎn)發(fā)興趣包的依據(jù),該方案雖然在一定程度上避免了三角路由的問題,但是生產(chǎn)者在接入新的基站至向hr發(fā)送興趣包之間的時間內(nèi),路由節(jié)點無法正常向該生產(chǎn)者轉(zhuǎn)發(fā)興趣包,造成興趣包可能丟失,導(dǎo)致興趣包響應(yīng)率低,同時造成數(shù)據(jù)包傳輸時延較大。技術(shù)實現(xiàn)要素:為了解決現(xiàn)有技術(shù)中生產(chǎn)者在接入新的基站至向hr發(fā)送興趣包之間的時間內(nèi),路由節(jié)點無法正常向該生產(chǎn)者轉(zhuǎn)發(fā)興趣包的問題,本發(fā)明實施例提供了一種ndn映射表更新方法和裝置、ndn興趣包轉(zhuǎn)發(fā)方法和裝置及ndn。第一方面,本發(fā)明實施例提供了一種命名數(shù)據(jù)網(wǎng)絡(luò)映射表更新方法,所述方法包括:當?shù)谝换镜男盘枏姸刃∮诘诙镜男盘枏姸葧r,生產(chǎn)者獲取所述第二基站的標識,所述第一基站為所述生產(chǎn)者當前接入的基站,所述第二基站為所述生產(chǎn)者所在命名數(shù)據(jù)網(wǎng)絡(luò)中所述第一基站之外的基站;根據(jù)所述第二基站的標識生成控制包,所述控制包的名字包括所述生產(chǎn)者的名字前綴以及所述第二基站的標識;將所述控制包發(fā)送至所述第一基站,所述控制包用于指示所述第一基站向交匯錨點發(fā)送另一控制包,所述另一控制包用于指示所述交匯錨點更新映射表,更新后的所述交匯錨點的映射表包括所述生產(chǎn)者的名字前綴、以及與所述生產(chǎn)者對應(yīng)的第一位置信息和第二位置信息;其中,所述交匯錨點為第一轉(zhuǎn)發(fā)路徑與第二轉(zhuǎn)發(fā)路徑交匯的錨點,所述第一轉(zhuǎn)發(fā)路徑為所述生產(chǎn)者接入所述第一基站時頂級錨點發(fā)送至所述生產(chǎn)者的興趣包的轉(zhuǎn)發(fā)路徑,所述第二轉(zhuǎn)發(fā)路徑為所述生產(chǎn)者接入所述第二基站時所述頂級錨點發(fā)送至所述生產(chǎn)者的興趣包的轉(zhuǎn)發(fā)路徑,所述另一控制包的名字包括所述生產(chǎn)者的名字前綴和所述第二基站的名字前綴,所述第一位置信息為所述交匯錨點在所述第一轉(zhuǎn)發(fā)路徑上的下一級節(jié)點的名字前綴,所述第二位置信息為所述交匯錨點在所述第二轉(zhuǎn)發(fā)路徑上的下一級節(jié)點的名字前綴,所述頂級錨點為用于獲取并轉(zhuǎn)發(fā)請求所述生產(chǎn)者提供的數(shù)據(jù)包的興趣包的節(jié)點。本發(fā)明實施例通過生產(chǎn)者在可能進行移動時,向第一基站發(fā)送可能移動后接入的第二基站的標識,第一基站將生產(chǎn)者的名字前綴和第二基站的名字前綴形成控制包發(fā)送給交匯錨點,使得交匯錨點可以根據(jù)該控制包更新映射表,在交匯錨點的映射表更新后,在交匯錨點映射表更新后,消費者發(fā)送的興趣包在經(jīng)過交匯錨點時,交匯錨點可以同時將該興趣包轉(zhuǎn)發(fā)到第一基站和第二基站,從而成功將興趣包發(fā)送給生產(chǎn)者,這種處理方案使得生產(chǎn)者即使從第一基站移動到第二基站,也會不造成興趣包丟失,從而提高了興趣包響應(yīng)率高,提高網(wǎng)絡(luò)通信質(zhì)量。另外,這種處理方案不會造成較大的數(shù)據(jù)包傳輸時延。在本發(fā)明實施例的一種實現(xiàn)方式中,所述方法還包括:在所述生產(chǎn)者接入基站時,所述生產(chǎn)者向所述基站發(fā)送所述生產(chǎn)者的名字前綴,以使所述基站向所述第一轉(zhuǎn)發(fā)路徑或所述第二轉(zhuǎn)發(fā)路徑上的上一級錨點發(fā)送用于生成映射表條目的控制包,所述用于生成映射表條目的控制包的名字包括所述生產(chǎn)者的名字前綴和所述基站的名字前綴,所述基站為所述第一基站或所述第二基站。在該實現(xiàn)方式中,生產(chǎn)者接入新的基站時,主動上報名字前綴,完成錨點的映射表中關(guān)于該生產(chǎn)者的條目的生成,從而便于后續(xù)興趣包的轉(zhuǎn)發(fā)。第二方面,本發(fā)明實施例還提供了一種命名數(shù)據(jù)網(wǎng)絡(luò)映射表更新方法,所述方法包括:第一基站接收生產(chǎn)者發(fā)送的控制包,所述控制包的名字包括所述生產(chǎn)者的名字前綴以及第二基站的標識,所述第一基站為所述生產(chǎn)者當前接入的基站,所述第二基站為所述生產(chǎn)者探測到的信號強度大于所述第一基站的基站,所述第二基站為所述生產(chǎn)者所在命名數(shù)據(jù)網(wǎng)絡(luò)中所述第一基站之外的基站;根據(jù)所述控制包中第二基站的標識確定所述第二基站的名字前綴;根據(jù)所述第二基站的名字前綴生成另一控制包,所述另一控制包的名字包括所述生產(chǎn)者的名字前綴和所述第二基站的名字前綴;向交匯錨點發(fā)送所述另一控制包,所述另一控制包用于指示所述交匯錨點更新映射表,更新后的所述交匯錨點的映射表包括所述生產(chǎn)者的名字前綴、以及與所述生產(chǎn)者對應(yīng)的第一位置信息和第二位置信息;其中,所述交匯錨點為第一轉(zhuǎn)發(fā)路徑與第二轉(zhuǎn)發(fā)路徑交匯的錨點,所述第一轉(zhuǎn)發(fā)路徑為所述生產(chǎn)者接入所述第一基站時頂級錨點發(fā)送至所述生產(chǎn)者的興趣包的轉(zhuǎn)發(fā)路徑,所述第二轉(zhuǎn)發(fā)路徑為所述生產(chǎn)者接入所述第二基站時所述頂級錨點發(fā)送至所述生產(chǎn)者的興趣包的轉(zhuǎn)發(fā)路徑,所述第一位置信息為所述交匯錨點在所述第一轉(zhuǎn)發(fā)路徑上的下一級節(jié)點的名字前綴,所述第二位置信息為所述交匯錨點在所述第二轉(zhuǎn)發(fā)路徑上的下一級節(jié)點的名字前綴,所述頂級錨點為用于獲取并轉(zhuǎn)發(fā)請求所述生產(chǎn)者提供的數(shù)據(jù)包的興趣包的節(jié)點。本發(fā)明實施例通過生產(chǎn)者在可能進行移動時,第一基站接收生產(chǎn)者發(fā)送的生產(chǎn)者可能移動后接入的第二基站的標識,第一基站將生產(chǎn)者的名字前綴和第二基站的名字前綴形成控制包發(fā)送給交匯錨點,使得交匯錨點可以根據(jù)該控制包更新映射表,在交匯錨點的映射表更新后,消費者發(fā)送的興趣包在經(jīng)過交匯錨點時,交匯錨點可以同時將該興趣包轉(zhuǎn)發(fā)到第一基站和第二基站,從而成功將興趣包發(fā)送給生產(chǎn)者,這種處理方案使得生產(chǎn)者即使從第一基站移動到第二基站,也會不造成興趣包丟失,從而提高了興趣包響應(yīng)率高,提高網(wǎng)絡(luò)通信質(zhì)量。另外,這種處理方案不會造成較大的數(shù)據(jù)包傳輸時延。在本發(fā)明實施例的一種實現(xiàn)方式中,所述方法還包括:在所述生產(chǎn)者接入所述第一基站時,接收所述生產(chǎn)者發(fā)送的所述生產(chǎn)者的名字前綴;根據(jù)所述生產(chǎn)者的名字前綴生成用于生成映射表條目的控制包,所述用于生成映射表條目的控制包的名字包括所述生產(chǎn)者的名字前綴和第一基站的名字前綴;向所述第一基站在第一轉(zhuǎn)發(fā)路徑上的上一級錨點發(fā)送所述用于生成映射表條目的控制包,以使所述第一基站在第一轉(zhuǎn)發(fā)路徑上的上一級錨點在映射表中添加所述生產(chǎn)者的名字前綴以及所述生產(chǎn)者對應(yīng)的位置信息,所述生產(chǎn)者對應(yīng)的位置信息為所述第一基站的名字前綴。在該實現(xiàn)方式中,生產(chǎn)者接入第一基站時,主動上報名字前綴,完成錨點的映射表中關(guān)于該生產(chǎn)者的條目的生成,從而便于后續(xù)興趣包轉(zhuǎn)發(fā)。第三方面,本發(fā)明實施例還提供了一種命名數(shù)據(jù)網(wǎng)絡(luò)映射表更新方法,所述方法包括:錨點接收控制包,所述控制包的名字包括生產(chǎn)者的名字前綴和第二基站的名字前綴,所述第二基站為所述生產(chǎn)者探測到的信號強度大于第一基站的基站,所述第一基站為所述生產(chǎn)者當前接入的基站,所述第二基站為所述生產(chǎn)者所在命名數(shù)據(jù)網(wǎng)絡(luò)中所述第一基站之外的基站;當所述控制包是發(fā)送給所述錨點的控制包時,根據(jù)所述控制包更新映射表,更新后的所述錨點的映射表包括所述生產(chǎn)者的名字前綴、以及與所述生產(chǎn)者對應(yīng)的第一位置信息和第二位置信息;其中,所述第一位置信息為所述錨點在第一轉(zhuǎn)發(fā)路徑上的下一級節(jié)點的名字前綴,所述第二位置信息為所述錨點在第二轉(zhuǎn)發(fā)路徑上的下一級節(jié)點的名字前綴,所述第一轉(zhuǎn)發(fā)路徑為所述生產(chǎn)者接入所述第一基站時頂級錨點發(fā)送至所述生產(chǎn)者的興趣包的轉(zhuǎn)發(fā)路徑,所述第二轉(zhuǎn)發(fā)路徑為所述生產(chǎn)者接入所述第二基站時所述頂級錨點發(fā)送至所述生產(chǎn)者的興趣包的轉(zhuǎn)發(fā)路徑,所述頂級錨點為用于獲取并轉(zhuǎn)發(fā)請求所述生產(chǎn)者提供的數(shù)據(jù)包的興趣包的節(jié)點。本發(fā)明實施例通過生產(chǎn)者在可能進行移動時,交匯錨點接收第一基站發(fā)送的控制包,交匯錨點根據(jù)該控制包內(nèi)的生產(chǎn)者的名字前綴和第二基站的名字前綴更新映射表,在交匯錨點映射表更新后,消費者發(fā)送的興趣包在經(jīng)過交匯錨點時,交匯錨點可以同時將該興趣包轉(zhuǎn)發(fā)到第一基站和第二基站,從而成功將興趣包發(fā)送給生產(chǎn)者,這種處理方案使得生產(chǎn)者即使從第一基站移動到第二基站,也會不造成興趣包丟失,從而提高了興趣包響應(yīng)率高,提高網(wǎng)絡(luò)通信質(zhì)量。另外,這種處理方案不會造成較大的數(shù)據(jù)包傳輸時延。在本發(fā)明實施例的一種實現(xiàn)方式中,當所述控制包不是發(fā)送給所述錨點的控制包時,將所述控制包發(fā)送至所述錨點在第一轉(zhuǎn)發(fā)路徑上的上一級錨點。在該實現(xiàn)方式中,對于非交匯錨點而言,在接收到所述控制包時,執(zhí)行轉(zhuǎn)發(fā)動作,以使該控制包能夠轉(zhuǎn)發(fā)到交匯錨點。在本發(fā)明實施例的另一種實現(xiàn)方式中,當所述控制包是發(fā)送給所述錨點的控制包時,所述方法還包括:當所述生產(chǎn)者接入所述第二基站后,接收所述錨點在第二路徑上的下一級錨點發(fā)送的用于更新映射表條目的控制包,所述用于更新映射表條目的控制包的名字包括所述生產(chǎn)者的名字前綴和所述錨點在第二轉(zhuǎn)發(fā)路徑上的下一級錨點的名字前綴;刪除所述錨點的映射表中與所述生產(chǎn)者對應(yīng)的第一位置信息。在該實現(xiàn)方式中,生產(chǎn)者發(fā)生移動,接入第二基站時,第一轉(zhuǎn)發(fā)路徑不再有效,因此交匯錨點刪除映射表中關(guān)于該生產(chǎn)者對應(yīng)的第一位置的名字前綴,避免后續(xù)再向第一轉(zhuǎn)發(fā)路徑轉(zhuǎn)發(fā)興趣包,造成不必要的資源消耗。在本發(fā)明實施例的另一種實現(xiàn)方式中,所述方法還包括:向所述錨點在第一轉(zhuǎn)發(fā)路徑中下一級錨點發(fā)送刪除轉(zhuǎn)發(fā)信息控制包,所述刪除轉(zhuǎn)發(fā)信息控制包用于刪除所述第一轉(zhuǎn)發(fā)路徑中下一級錨點的映射表中所述生產(chǎn)者的名字前綴以及與所述生產(chǎn)者對應(yīng)的位置信息。在該實現(xiàn)方式中,當交匯錨點刪除了第一轉(zhuǎn)發(fā)路徑轉(zhuǎn)發(fā)興趣包時,第一轉(zhuǎn)發(fā)路徑上處于交匯錨點之后的錨點不再需要轉(zhuǎn)發(fā)該生產(chǎn)者的興趣包,因而可以將映射表中關(guān)于該生產(chǎn)者的條目刪除,從而釋放映射表的空間。在本發(fā)明實施例的另一種實現(xiàn)方式中,所述方法還包括:在所述生產(chǎn)者接入所述第一基站時,接收所述錨點在第一路徑上的下一級節(jié)點發(fā)送的用于生成映射表條目的控制包,所述第一路徑上的下一級節(jié)點發(fā)送的用于生成映射表條目的控制包的名字包括所述生產(chǎn)者的名字前綴和所述錨點在第一轉(zhuǎn)發(fā)路徑上的下一級節(jié)點的名字前綴;根據(jù)所述用于生成映射表條目的控制包更新映射表,更新后的所述錨點的映射表包括所述生產(chǎn)者的名字前綴以及與所述生產(chǎn)者對應(yīng)的位置信息。在該實現(xiàn)方式中,生產(chǎn)者接入第一基站時,主動上報名字前綴,完成錨點的映射表中關(guān)于該生產(chǎn)者的條目的生成,從而便于后續(xù)興趣包轉(zhuǎn)發(fā)。在本發(fā)明實施例的另一種實現(xiàn)方式中,所述方法還包括:向所述錨點在第一路徑上的上一級錨點發(fā)送用于生成映射表條目的控制包,所述錨點發(fā)送的用于生成映射表條目的控制包的名字包括所述生產(chǎn)者的名字前綴和所述錨點的名字前綴。在該實現(xiàn)方式中,生產(chǎn)者接入第一基站時,各個錨點依次執(zhí)行映射表的條目添加以及向上一級錨點發(fā)送控制包的動作,從而便于后續(xù)興趣包轉(zhuǎn)發(fā)。第四方面,本發(fā)明實施例還提供了一種命名數(shù)據(jù)網(wǎng)絡(luò)興趣包轉(zhuǎn)發(fā)方法,所述方法包括:錨點接收興趣包;當在所述錨點的內(nèi)容存儲庫中未找到所述興趣包對應(yīng)的數(shù)據(jù),且在所述錨點的待定興趣表中未查找到所述興趣包對應(yīng)的條目時,在映射表中查詢與所述興趣包對應(yīng)的生產(chǎn)者對應(yīng)的位置信息,所述映射表包括生產(chǎn)者的名字前綴以及與所述生產(chǎn)者對應(yīng)的位置信息;根據(jù)所述生產(chǎn)者對應(yīng)的位置信息在轉(zhuǎn)發(fā)信息表中確定對應(yīng)的接口;通過確定出的所述接口轉(zhuǎn)發(fā)所述興趣包。本發(fā)明實施例通過在接收到興趣包時,先查找內(nèi)容存儲庫,如果內(nèi)容存儲庫中不存在該興趣包對應(yīng)的數(shù)據(jù),則通過映射表進行轉(zhuǎn)發(fā),由于該映射表可能存在生產(chǎn)者接入不同基站時的對應(yīng)的位置的名字前綴,因此通過映射表進行興趣包轉(zhuǎn)發(fā),不但可以在生產(chǎn)者移動過程中能夠準確的將興趣包發(fā)送給生產(chǎn)者,且時延低,興趣包響應(yīng)率高,提高網(wǎng)絡(luò)通信質(zhì)量。另外,當生產(chǎn)者移動頻繁時,該方案也不會造成轉(zhuǎn)發(fā)路徑較差,進而帶來往返時延較大的問題。第五方面,本發(fā)明實施例提供了一種命名數(shù)據(jù)網(wǎng)絡(luò)映射表更新裝置,所述裝置包括用于實現(xiàn)第一方面所述的方法的單元,例如獲取單元、生成單元和發(fā)送單元。第六方面,本發(fā)明實施例提供了一種命名數(shù)據(jù)網(wǎng)絡(luò)映射表更新裝置,所述裝置包括用于實現(xiàn)第二方面所述的方法的單元,例如接收單元、確定單元、生成單元和發(fā)送單元。第七方面,本發(fā)明實施例提供了一種命名數(shù)據(jù)網(wǎng)絡(luò)映射表更新裝置,所述裝置包括用于實現(xiàn)第三方面所述的方法的單元,例如接收單元、更新單元和發(fā)送單元。第八方面,本發(fā)明實施例提供了一種命名數(shù)據(jù)網(wǎng)絡(luò)興趣包轉(zhuǎn)發(fā)裝置,所述裝置包括用于實現(xiàn)第四方面所述的方法的單元,例如接收單元、查詢單元、確定單元和發(fā)送單元。第九方面,本發(fā)明實施例還提供了一種命名數(shù)據(jù)網(wǎng)絡(luò)映射表更新裝置,所述裝置包括:存儲器、與存儲器連接的處理器、收發(fā)器,所述存儲器用于存儲軟件程序以及模塊,當所述處理器用于運行或執(zhí)行存儲在所述存儲器內(nèi)的軟件程序以及模塊時,可以執(zhí)行第一方面或第二方面或第三方面所述的方法。第十方面,本發(fā)明實施例還提供了一種命名數(shù)據(jù)網(wǎng)絡(luò)興趣包轉(zhuǎn)發(fā)裝置,所述裝置包括:存儲器、與存儲器連接的處理器、收發(fā)器,所述存儲器用于存儲軟件程序以及模塊,當所述處理器用于運行或執(zhí)行存儲在所述存儲器內(nèi)的軟件程序以及模塊時,可以執(zhí)行第四方面所述的方法。第十一方面,本發(fā)明實施例還提供了一種命名數(shù)據(jù)網(wǎng)絡(luò),所述命名數(shù)據(jù)網(wǎng)絡(luò)包括多個路由節(jié)點、至少兩個基站和接入所述基站上的生產(chǎn)者,所述多個路由節(jié)點沿著入口路由節(jié)點到所述基站接入路由節(jié)點之間設(shè)置有多個錨點,所述生產(chǎn)者用于執(zhí)行如第一方面任一項所述的命名數(shù)據(jù)網(wǎng)絡(luò)映射表更新方法,所述基站用于執(zhí)行如第二方面任一項所述的命名數(shù)據(jù)網(wǎng)絡(luò)映射表更新方法,所述錨點用于執(zhí)行如第三方面任一項所述的命名數(shù)據(jù)網(wǎng)絡(luò)映射表更新方法以及用于執(zhí)行如第四方面所述的命名數(shù)據(jù)網(wǎng)絡(luò)興趣包轉(zhuǎn)發(fā)方法。附圖說明為了更清楚地說明本發(fā)明實施例中的技術(shù)方案,下面將對實施例描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本發(fā)明的一些實施例,對于本領(lǐng)域普通技術(shù)人員來講,在不付出創(chuàng)造性勞動的前提下,還可以根據(jù)這些附圖獲得其他的附圖。圖1是本發(fā)明實施例提供的一種命名數(shù)據(jù)網(wǎng)絡(luò)的網(wǎng)絡(luò)架構(gòu)示意圖;圖2a是本發(fā)明實施例提供的一種ndn映射表更新裝置的硬件結(jié)構(gòu)圖;圖2b是本發(fā)明實施例提供的一種ndn映射表更新裝置的硬件結(jié)構(gòu)圖;圖2c是本發(fā)明實施例提供的一種ndn映射表更新裝置的硬件結(jié)構(gòu)圖;圖2d是本發(fā)明實施例提供的一種ndn興趣包轉(zhuǎn)發(fā)裝置的硬件結(jié)構(gòu)圖;圖3為本發(fā)明實施例提供的一種ndn映射表更新方法的流程圖;圖4為本發(fā)明實施例提供的一種ndn興趣包轉(zhuǎn)發(fā)方法的流程圖;圖5為本發(fā)明實施例提供的一種ndn映射表更新裝置的結(jié)構(gòu)示意圖;圖6為本發(fā)明實施例提供的另一種ndn映射表更新裝置的結(jié)構(gòu)示意圖;圖7為本發(fā)明實施例提供的另一種ndn映射表更新裝置的結(jié)構(gòu)示意圖;圖8為本發(fā)明實施例提供的一種ndn興趣包轉(zhuǎn)發(fā)裝置的結(jié)構(gòu)示意圖。具體實施方式在本文提及的“模塊”是指存儲在存儲器中的能夠?qū)崿F(xiàn)某些功能的程序或指令;在本文中提及的“單元”是指按照邏輯劃分的功能性結(jié)構(gòu),該“單元”可以由純硬件實現(xiàn),或者,軟硬件的結(jié)合實現(xiàn)。圖1示出了本發(fā)明實施例提供的一種命名數(shù)據(jù)網(wǎng)絡(luò)的網(wǎng)絡(luò)架構(gòu)。如圖1所示,該命名數(shù)據(jù)網(wǎng)絡(luò)100包括多個路由節(jié)點101(包括路由節(jié)點a-e)和至少兩個基站102(包括基站ar1-ar3),消費者104通過發(fā)送興趣包請求相應(yīng)地數(shù)據(jù)包,生產(chǎn)者103通過接入基站102,從而能夠?qū)?shù)據(jù)包提供給消費者104。ndn中的用戶角色可以包括前述生產(chǎn)者103和消費者104,消費者104是發(fā)送興趣包的數(shù)據(jù)請求方,生產(chǎn)者103是具有數(shù)據(jù)包的數(shù)據(jù)提供方。消費者104和生產(chǎn)者103均為終端設(shè)備,其中,消費者和生產(chǎn)者均可以是計算機、服務(wù)器、移動終端等。本發(fā)明實施例主要針對生產(chǎn)者為移動終端的場景,該移動終端具體可以是手機、筆記本電腦、平板電腦、車載終端、可穿戴設(shè)備、具有無線通信功能的其他設(shè)備或連接到無線調(diào)制解調(diào)器的其它設(shè)備。在該命名數(shù)據(jù)網(wǎng)絡(luò)中,興趣包的作用是用來請求與之對應(yīng)的數(shù)據(jù)包,興趣包和對應(yīng)的數(shù)據(jù)包通常擁有相同的名字,興趣包和數(shù)據(jù)包的名字是其唯一標識。ndn中的路由節(jié)點101保存有三個數(shù)據(jù)結(jié)構(gòu):fib、pit以及cs。具體地,cs用于存儲經(jīng)過該路由節(jié)點的數(shù)據(jù)包,其存儲模式是數(shù)據(jù)包的名字+數(shù)據(jù),如下表所示:名字數(shù)據(jù)/pku/sece/netlab/1/1.mpg……cmcc/a.mpg……pit主要用于存儲接收到的興趣包的名字以及接收該興趣包的接口,其存儲模式是興趣包的名字+接口列表,如下表所示:名字接口列表/cmcc/a.mpg0,1/pku/sece/netlab/1/1.mpg2fib主要用于路由轉(zhuǎn)發(fā),用于存儲不同名字前綴對應(yīng)的轉(zhuǎn)發(fā)接口,其存儲模式為名字前綴+接口列表,如下表所示:名字前綴接口列表/pku/sece/netlab/11,2其中,名字前綴是指興趣包或者數(shù)據(jù)包名字的前綴。消費者104發(fā)出的興趣包經(jīng)過某個路由節(jié)點101時,該路由節(jié)點101在cs中查找該興趣包請求的數(shù)據(jù)包,如果cs中存在該興趣包請求的數(shù)據(jù)包,則向消費者104返回該數(shù)據(jù)包;如果cs中不存在該數(shù)據(jù)包,則在pit中查詢是否存在該興趣包對應(yīng)的條目。如果pit中存在該興趣包對應(yīng)的條目,則將接收該興趣包的接口添加到該條目中;如果pit中不存在該興趣包對應(yīng)的條目,則在pit中新增該興趣包對應(yīng)的條目,該條目包括接收該興趣包的接口,路由節(jié)點101將興趣包的名字在fib中進行匹配,選擇接口將興趣包轉(zhuǎn)發(fā)出去。如果轉(zhuǎn)發(fā)過程中,另一路由節(jié)點101的cs中存在該興趣包請求的數(shù)據(jù)包時,則該另一路由節(jié)點101按照興趣包轉(zhuǎn)發(fā)路徑返回數(shù)據(jù)包。如果轉(zhuǎn)發(fā)過程中,各個路由節(jié)點101的cs中均不存在該興趣包請求的數(shù)據(jù)包,則該興趣包將被發(fā)往數(shù)據(jù)包的生產(chǎn)者103,由生產(chǎn)者103向消費者返回數(shù)據(jù)包。在數(shù)據(jù)包返回的過程中,如果路由節(jié)點101接收到該興趣包請求的數(shù)據(jù)包時,路由節(jié)點101根據(jù)pit中該興趣包對應(yīng)的條目選擇接口發(fā)送該數(shù)據(jù)包,從而實現(xiàn)將數(shù)據(jù)包發(fā)送至請求該數(shù)據(jù)包的消費者。其中,路由節(jié)點101在進行興趣包轉(zhuǎn)發(fā)時,采用最長前綴匹配機制,確定轉(zhuǎn)發(fā)接口。例如,對于名字為/pku/sece/netlab/1/1.mpg的興趣包,在進行轉(zhuǎn)發(fā)時,如果fib中名字前綴包括/pku/sece/netlab和/pku/sece/netlab/1,則確定名字前綴/pku/sece/netlab/1對應(yīng)的接口為轉(zhuǎn)發(fā)接口。由于ndn消費者驅(qū)動的通信機制,ndn對消費者移動具有天然的支持,然而在生產(chǎn)者移動(例如圖1所示,生產(chǎn)者103從一個基站102移動到另一個基站102)的問題上沒有給出很好的解決方案。現(xiàn)有ndn生產(chǎn)者移動性方案主要分為兩大類:基于路由更新方式與基于標識-位置分離方式。在基于路由更新方式中,生產(chǎn)者在移動后會重新向網(wǎng)絡(luò)廣播其內(nèi)容名字前綴,路由節(jié)點根據(jù)基于名字的路由協(xié)議更新其fib表的信息,其后興趣包可根據(jù)更新的fib表轉(zhuǎn)發(fā)至生產(chǎn)者處。整個過程需要等待一個同步周期,具有較大的時延,而且fib表的更新帶來了較大的開銷,因而不適合解決生產(chǎn)者移動問題,尤其是在移動直播這種對延時非常敏感的場景。當網(wǎng)絡(luò)存在大量不同名字前綴的生產(chǎn)者頻繁移動時,問題會變得非常嚴重?;跇俗R-位置分離方式包括多種實現(xiàn)方式,例如,hermans和jiang等不同的學(xué)者都從移動ip技術(shù)中獲得啟發(fā),采用一個hr的移動代理來記錄生產(chǎn)者的當前位置,每次生產(chǎn)者接入新的基站后,都需要到hr處更新自己的當前位置。而消費者發(fā)出的興趣包都要先到達hr,然后由hr轉(zhuǎn)交給生產(chǎn)者,這種方案不可避免的造成了三角路由的問題,增加了無謂的網(wǎng)絡(luò)流量且增大了數(shù)據(jù)包的傳輸時延。為了解決hr帶來的三角路由的問題,zhang等人在移動代理的基礎(chǔ)上結(jié)合了ndn的特性,提出了一種新的基于標識-位置分離方式的移動性解決方案,具體地,生產(chǎn)者在接入新的基站后,向hr發(fā)送一個興趣包,該興趣包經(jīng)過的路徑上的各個路由節(jié)點在pit中記錄接收該興趣包的接口,在后續(xù)轉(zhuǎn)發(fā)過程中,路由節(jié)點中可以采用該pit作為向生產(chǎn)者轉(zhuǎn)發(fā)興趣包的依據(jù),該方案雖然在一定程度上避免了三角路由的問題,但是生產(chǎn)者在接入新的基站至向hr發(fā)送興趣包之間的時間內(nèi),路由節(jié)點無法正常向該生產(chǎn)者轉(zhuǎn)發(fā)興趣包,造成興趣包可能丟失,導(dǎo)致興趣包響應(yīng)率低,同時造成數(shù)據(jù)包傳輸時延較大??梢?,目前在對生產(chǎn)者移動的問題上現(xiàn)有技術(shù)還沒有給出很好的解決方案,為此,本發(fā)明實施例提出了一種在ndn設(shè)置多級錨點,并在錨點內(nèi)設(shè)置映射表的方案。具體地,該映射表用于存儲生產(chǎn)者的名字前綴及其對應(yīng)的位置信息,該位置信息用于指示發(fā)往該生產(chǎn)者的興趣包的轉(zhuǎn)發(fā)路徑。具體錨點選擇方式如下,選擇ndn網(wǎng)絡(luò)中興趣包轉(zhuǎn)發(fā)量較大的路由節(jié)點作為頂級錨點,頂級錨點用于獲取請求所述生產(chǎn)者提供的數(shù)據(jù)包的興趣包,并向生產(chǎn)者轉(zhuǎn)發(fā)該興趣包。然后在頂級錨點和基站之間選擇若干連續(xù)的錨點,形成轉(zhuǎn)發(fā)路徑,頂級錨點和每個基站之間均能夠形成一條轉(zhuǎn)發(fā)路徑。頂級錨點和這若干個連續(xù)的錨點之間具有一定的層級關(guān)系,在一條轉(zhuǎn)發(fā)路徑上越靠近基站的錨點的層級越低,該頂級錨點和這若干個連續(xù)的錨點設(shè)置有層級關(guān)聯(lián)的內(nèi)容名字前綴,后文簡稱名字前綴。頂級錨點的名字前綴最短,其他錨點的名字前綴是在其上一級錨點的名字前綴的基礎(chǔ)上增加一層得到的。如圖1所示,路由節(jié)點a-e均可以設(shè)定為錨點,其中a為頂級錨點,d、e為最下級錨點。這些錨點以及基站的名字前綴可以如下所述:a:/pku;b:/pku/sece;c:/pku/phbs;d:/pku/sece/netlab;e:/pku/sece/arclab;ar1:/pku/sece/netlab/1;ar2:/pku/sece/arclab/2;ar3:/pku/phbs/3。其中,名字前綴中的“/”用于分割名字前綴的各層。而映射表也正是根據(jù)這些錨點的名字前綴生成的。映射表包括生產(chǎn)者名字前綴以及對應(yīng)的位置信息。例如,錨點a的映射表包括生產(chǎn)者的名字前綴以及對應(yīng)的路由節(jié)點b的名字前綴。本發(fā)明實施例提供的錨點之間具有層級關(guān)系,這多層錨點所存儲的映射表之間也具有層級關(guān)系,具體參見后文描述。錨點在接收到興趣包時,可以利用映射表執(zhí)行轉(zhuǎn)發(fā)動作,具體過程如下:當錨點在接收到消費者發(fā)送的興趣包時,先查找cs,確定cs中是否存在該興趣包請求的數(shù)據(jù)包;如果cs中存在該興趣包請求的數(shù)據(jù)包,則將查找的數(shù)據(jù)包返回給消費者;如果cs中不存在該興趣包請求的數(shù)據(jù)包,則在pit查詢是否存在該興趣包對應(yīng)的條目。如果pit中存在該興趣包對應(yīng)的條目,則將接收該興趣包的接口添加到該條目中;如果pit中不存在該興趣包對應(yīng)的條目,則在pit中新增該興趣包對應(yīng)的條目,該條目包括接收該興趣包的接口,同時錨點在映射表中查找與該興趣包的名稱匹配的位置信息,如果查找到匹配的位置信息,則采用該位置信息去fib中匹配對應(yīng)的接口,實現(xiàn)興趣包的轉(zhuǎn)發(fā)。為了保證生產(chǎn)者移動時,錨點能夠?qū)⑴d趣包轉(zhuǎn)發(fā)給生產(chǎn)者,需要配合本發(fā)明實施例提出的ndn映射表更新方法。具體地,ndn映射表更新方法具體參照圖3對應(yīng)的實施例部分的詳細描述,ndn興趣包轉(zhuǎn)發(fā)方法具體參照圖4對應(yīng)的實施例部分的詳細描述。下面先結(jié)合具體的硬件結(jié)構(gòu)對實現(xiàn)本發(fā)明實施例提供的ndn映射表更新裝置以及ndn興趣包轉(zhuǎn)發(fā)裝置進行說明。圖2a示出了實現(xiàn)本發(fā)明實施例提供的一種ndn映射表更新裝置的硬件結(jié)構(gòu),該ndn映射表更新裝置可以為前述ndn中的生產(chǎn)者,具體可以為移動終端,例如智能手機等。如圖2a所示,該ndn映射表更新裝置120包括:處理器11、收發(fā)器12、存儲器13。處理器11包括一個或者一個以上處理核心,處理器11通過運行軟件程序以及模塊,從而執(zhí)行各種功能應(yīng)用以及信息處理。收發(fā)器12、存儲器13以及處理器11通過總線耦合。存儲器13可用于存儲軟件程序以及模塊。存儲器可存儲操作系統(tǒng)14、至少一個功能的應(yīng)用程序模塊15。應(yīng)用程序模塊15至少包括:獲取模塊151、生成模塊152和發(fā)送模塊153??蛇x地,處理器11用于執(zhí)行應(yīng)用程序模塊15中的各個模塊,實現(xiàn)如圖3中由生產(chǎn)者所需要執(zhí)行的步驟。此外,存儲器13是一種計算機可讀存儲介質(zhì),可以由任何類型的易失性或非易失性存儲設(shè)備或者它們的組合實現(xiàn),如靜態(tài)隨時存取存儲器(sram),電可擦除可編程只讀存儲器(eeprom),可擦除可編程只讀存儲器(eprom),可編程只讀存儲器(prom),只讀存儲器(rom),磁存儲器,快閃存儲器,磁盤或光盤。本領(lǐng)域技術(shù)人員可以理解,圖2a中所示出的ndn映射表更新裝置120的結(jié)構(gòu)并不構(gòu)成對終端設(shè)備的限定,可以包括比圖示更多或更少的部件或組合某些部件,或者不同的部件布置。圖2b示出了實現(xiàn)本發(fā)明實施例提供的一種ndn映射表更新裝置的硬件結(jié)構(gòu),該ndn映射表更新裝置可以為前述ndn中的基站。如圖2b所示,該ndn映射表更新裝置220包括:處理器21、收發(fā)器22、存儲器23。處理器21包括一個或者一個以上處理核心,處理器21通過運行軟件程序以及模塊,從而執(zhí)行各種功能應(yīng)用以及信息處理。收發(fā)器22、存儲器23以及處理器21通過總線耦合。存儲器23可用于存儲軟件程序以及模塊。存儲器可存儲操作系統(tǒng)24、至少一個功能的應(yīng)用程序模塊25。應(yīng)用程序模塊25至少包括:接收模塊251、確定模塊252、生成模塊253和發(fā)送模塊254??蛇x地,處理器21用于執(zhí)行應(yīng)用程序模塊25中的各個模塊,實現(xiàn)如圖3中由基站所需要執(zhí)行的步驟。此外,存儲器23是一種計算機可讀存儲介質(zhì),可以由任何類型的易失性或非易失性存儲設(shè)備或者它們的組合實現(xiàn),如靜態(tài)隨時存取存儲器(sram),電可擦除可編程只讀存儲器(eeprom),可擦除可編程只讀存儲器(eprom),可編程只讀存儲器(prom),只讀存儲器(rom),磁存儲器,快閃存儲器,磁盤或光盤。本領(lǐng)域技術(shù)人員可以理解,圖2b中所示出的ndn映射表更新裝置220的結(jié)構(gòu)并不構(gòu)成對終端設(shè)備的限定,可以包括比圖示更多或更少的部件或組合某些部件,或者不同的部件布置。圖2c示出了實現(xiàn)本發(fā)明實施例提供的一種ndn映射表更新裝置的硬件結(jié)構(gòu),該ndn映射表更新裝置可以為前述ndn中的路由節(jié)點。如圖2c所示,該ndn映射表更新裝置320包括:處理器31、通信接口32、存儲器33。處理器31包括一個或者一個以上處理核心,處理器31通過運行軟件程序以及模塊,從而執(zhí)行各種功能應(yīng)用以及信息處理。通信接口32、存儲器33以及處理器31通過總線耦合。存儲器33可用于存儲軟件程序以及模塊。存儲器可存儲操作系統(tǒng)34、至少一個功能的應(yīng)用程序模塊35。應(yīng)用程序模塊35至少包括:接收模塊351、更新模塊352和發(fā)送模塊353??蛇x地,處理器31用于執(zhí)行應(yīng)用程序模塊35中的各個模塊,實現(xiàn)如圖3中由錨點所需要執(zhí)行的步驟。此外,存儲器33是一種計算機可讀存儲介質(zhì),可以由任何類型的易失性或非易失性存儲設(shè)備或者它們的組合實現(xiàn),如靜態(tài)隨時存取存儲器(sram),電可擦除可編程只讀存儲器(eeprom),可擦除可編程只讀存儲器(eprom),可編程只讀存儲器(prom),只讀存儲器(rom),磁存儲器,快閃存儲器,磁盤或光盤。本領(lǐng)域技術(shù)人員可以理解,圖2c中所示出的ndn映射表更新裝置320的結(jié)構(gòu)并不構(gòu)成對終端設(shè)備的限定,可以包括比圖示更多或更少的部件或組合某些部件,或者不同的部件布置。圖2d示出了實現(xiàn)本發(fā)明實施例提供的一種ndn興趣包轉(zhuǎn)發(fā)裝置的硬件結(jié)構(gòu),該ndn興趣包轉(zhuǎn)發(fā)裝置可以為前述ndn中的路由節(jié)點。如圖2d所示,該ndn興趣包轉(zhuǎn)發(fā)裝置420包括:處理器41、通信接口42、存儲器43。處理器41包括一個或者一個以上處理核心,處理器41通過運行軟件程序以及模塊,從而執(zhí)行各種功能應(yīng)用以及信息處理。通信接口42、存儲器43以及處理器41通過總線耦合。存儲器43可用于存儲軟件程序以及模塊。存儲器可存儲操作系統(tǒng)44、至少一個功能的應(yīng)用程序模塊45。應(yīng)用程序模塊45至少包括:接收模塊451、查詢模塊452、確定模塊453和發(fā)送模塊454。可選地,處理器41用于執(zhí)行應(yīng)用程序模塊45中的各個模塊,實現(xiàn)如圖4中由錨點所需要執(zhí)行的步驟。此外,存儲器43是一種計算機可讀存儲介質(zhì),可以由任何類型的易失性或非易失性存儲設(shè)備或者它們的組合實現(xiàn),如靜態(tài)隨時存取存儲器(sram),電可擦除可編程只讀存儲器(eeprom),可擦除可編程只讀存儲器(eprom),可編程只讀存儲器(prom),只讀存儲器(rom),磁存儲器,快閃存儲器,磁盤或光盤。本領(lǐng)域技術(shù)人員可以理解,圖2d中所示出的ndn興趣包轉(zhuǎn)發(fā)裝置420的結(jié)構(gòu)并不構(gòu)成對終端設(shè)備的限定,可以包括比圖示更多或更少的部件或組合某些部件,或者不同的部件布置。圖3為本發(fā)明實施例提供的一種ndn映射表更新方法的交互圖,如圖3所示,該方法包括:s501:生產(chǎn)者接入第一基站時,向第一基站發(fā)送該生產(chǎn)者的名字前綴。相應(yīng)地,第一基站接收該生產(chǎn)者發(fā)送的該生產(chǎn)者的名字前綴。其中,第一基站為生產(chǎn)者第一次接入該ndn時所接入的基站。生產(chǎn)者的名字前綴與ndn網(wǎng)絡(luò)中錨點的名字前綴無關(guān),例如生產(chǎn)者的名字前綴可以是/cmcc,錨點的名字前綴可以是/pku/sece/netlab,消費者發(fā)送的興趣包的名字與該生產(chǎn)者的名字前綴相關(guān),例如/cmcc/a.mpg。s502:第一基站根據(jù)接收到的生產(chǎn)者的名字前綴生成第一控制包,并向第一轉(zhuǎn)發(fā)路徑上的上一級錨點發(fā)送第一控制包,第一控制包的名字包括所述生產(chǎn)者的名字前綴和第一基站的名字前綴,所述第一轉(zhuǎn)發(fā)路徑為所述生產(chǎn)者接入第一基站時發(fā)送至所述生產(chǎn)者的興趣包的轉(zhuǎn)發(fā)路徑。進一步地,第一控制包的名字還包括第一基站在第一轉(zhuǎn)發(fā)路徑上的上一級錨點的名字前綴以及控制信息。在本發(fā)明實施例中,控制包采用興趣包的方式實現(xiàn),由于興趣包較小,使得該方法產(chǎn)生的流量開銷小。采用興趣包的格式形成控制包,只需將信息攜帶在興趣包的名字里即可。例如,第一控制包格式可以為:/<d>/<control_info>/cmcc/<seperator>/<ar1>,其中<d>為上一級錨點的名字前綴,<control_info>為控制信息,/cmcc為生產(chǎn)者的名字前綴,<ar1>為第一基站的名字前綴。該控制信息用于表示控制包的作用,例如生成映射表條目、更新映射表條目、刪除映射表條目、傳遞標識等。這里,第一控制包中的控制信息用于表示第一控制包的作用是生成映射表條目。其中,<seperator>用于分割前后兩個字段,例如,此處的<seperator>用于分割/cmcc和<ar1>,由于/cmcc和<ar1>均為名字前綴,如果不設(shè)置<seperator>,可能會導(dǎo)致這兩個字段無法正確識別。具體地,在步驟s502中,第一基站生成第一控制包的過程如下:第一基站確定第一基站在第一轉(zhuǎn)發(fā)路徑上的上一級錨點的名字前綴;然后根據(jù)確定出的上一級錨點的名字前綴、生產(chǎn)者的名字前綴和第一基站的名字前綴生成第一控制包。其中,第一基站在第一轉(zhuǎn)發(fā)路徑上的上一級錨點的名字前綴,可以根據(jù)第一基站的名字前綴得到,例如第一基站的名字前綴為/pku/sece/netlab/1,則根據(jù)ndn中錨點的名字前綴劃分規(guī)則,可以確定第一基站在第一轉(zhuǎn)發(fā)路徑上的上一級錨點的名字前綴為/pku/sece/netlab。s503:第一基站在第一轉(zhuǎn)發(fā)路徑上的上一級錨點根據(jù)接收到的第一控制包,在映射表中添加生產(chǎn)者的名字前綴以及該生產(chǎn)者對應(yīng)的位置信息,同時第一基站在第一轉(zhuǎn)發(fā)路徑上的上一級錨點向更上一級錨點發(fā)送第二控制包,第二控制包的名字包括生產(chǎn)者的名字前綴和發(fā)送該第二控制包的錨點的名字前綴。第一轉(zhuǎn)發(fā)路徑上的各個錨點按照從下級向上級的順序,依次執(zhí)行步驟503,直到第一轉(zhuǎn)發(fā)路徑上的頂級錨點在其映射表中添加生產(chǎn)者的名字前綴以及該生產(chǎn)者對應(yīng)的位置信息。其中,生產(chǎn)者對應(yīng)的位置信息為第一基站的名字前綴,或者發(fā)送第二控制包的錨點的名字前綴。進一步地,當頂級錨點在其映射表中添加生產(chǎn)者的名字前綴以及該生產(chǎn)者對應(yīng)的位置信息后,還可以通過廣播的形式向其他路由節(jié)點發(fā)送生產(chǎn)者的名字前綴,以使其他路由節(jié)點能夠?qū)⒂糜谡埱笤撋a(chǎn)者提供的數(shù)據(jù)包的興趣包發(fā)送到該頂級錨點。進一步地,第二控制包的名字還包括更上一級錨點的名字前綴以及控制信息。例如,第二控制包的名字的格式可以為:/<b>/<control_info>/cmcc/<seperator>/<d>,其中<b>為更上一級錨點的名字前綴,<control_info>為控制信息,/cmcc為生產(chǎn)者的名字前綴,<d>為第一基站在第一轉(zhuǎn)發(fā)路徑上的上一級錨點的名字前綴。該控制信息用于標識第二控制包的作用是生成映射表條目。具體地,第一轉(zhuǎn)發(fā)路徑上的各個錨點在收到第一控制包后,根據(jù)第一控制包或第二控制包中的控制信息,確定該第一控制包或第二控制包的作用為生成映射表條目;在確定第一控制包或第二控制包的作用后,確定映射表中是否存在該生產(chǎn)者對應(yīng)的條目,如果不存在,則獲取該第一控制包中生產(chǎn)者的名字前綴和第一基站的名字前綴,并生成映射表條目,或者獲取第二控制包中生產(chǎn)者的名字前綴和發(fā)送該第二控制包的錨點的名字前綴,并生成映射表條目。如果存在,則參照步驟s510執(zhí)行。由于生產(chǎn)者是第一次接入該ndn,因此第一轉(zhuǎn)發(fā)路徑上的錨點的映射表內(nèi)不存在該生產(chǎn)者對應(yīng)的條目。具體地,在步驟s503中,第一轉(zhuǎn)發(fā)路徑上的各個錨點生成第二控制包的過程如下:錨點確定該錨點在第一轉(zhuǎn)發(fā)路徑上的上一級錨點的名字前綴;然后根據(jù)確定出的上一級錨點的名字前綴、生產(chǎn)者的名字前綴和該錨點的名字前綴生成第二控制包。其中,錨點確定該錨點在第一轉(zhuǎn)發(fā)路徑上的上一級錨點的名字前綴,與第一基站在第一轉(zhuǎn)發(fā)路徑上的上一級錨點的名字前綴的確定方式相同,這里不再贅述。在步驟s503之后,第一轉(zhuǎn)發(fā)路徑上的每個錨點的映射表中都包括生產(chǎn)者的名字前綴以及對應(yīng)的位置信息。例如,錨點d接收到的第二控制包為:/<d>/<control_info>/cmcc/<seperator>/<ar1>,則錨點d的映射表包括如下內(nèi)容:生產(chǎn)者位置/cmcc/pku/sece/netlab/1當錨點d接收到興趣包時,采用興趣包的名字與生產(chǎn)者的名字前綴進行匹配,得到生產(chǎn)者的位置信息。例如,興趣包的名字為/cmcc/a.mpg,則按照上表確定出的位置信息包括/pku/sece/netlab/1。在完成步驟s503后,如果消費者發(fā)送請求該生產(chǎn)者提供的數(shù)據(jù)包的興趣包,則ndn中的錨點可以根據(jù)映射表查找生產(chǎn)者的位置信息,然后通過fib確定生產(chǎn)者的位置信息對應(yīng)的轉(zhuǎn)發(fā)接口,并最終將該興趣包通過第一基站轉(zhuǎn)發(fā)給生產(chǎn)者。具體可以參見圖4提供的興趣包轉(zhuǎn)發(fā)方法。下面結(jié)合圖1對步驟s501-503的流程進行舉例說明:生產(chǎn)者p接入基站ar1,并告知ar1它的名字前綴。ar1將自己的名字前綴和p的名字前綴組成一個第一控制包發(fā)送給上一級錨點d,第一控制包的構(gòu)成如下:/<d>/<control_info>/cmcc/<seperator>/<ar1>。d收到第一控制包后根據(jù)控制信息字段得知這是一個生成映射表條目的控制包,此時由于p是第一次進入該ndn網(wǎng)絡(luò),d的映射表中不存在p對應(yīng)的條目,則d在映射表中生成條目</cmcc,<ar1>>。隨后d會向上一級錨點b發(fā)出一個第二控制包,以在b處生成一個映射表條目</cmcc,<d>>。按上述流程一直循環(huán)到最上層錨點a,由a向外廣播生產(chǎn)者的名字前綴。此時,如果消費者發(fā)送請求該生產(chǎn)者p提供的數(shù)據(jù)包的興趣包(例如名稱為/cmcc/a.mpg的興趣包),該興趣包會沿著a-b-d的路徑向ar1處轉(zhuǎn)發(fā),ar1將該興趣包發(fā)送給p,由p返回數(shù)據(jù)包。值得說明的是,本發(fā)明實施例提供的錨點之間具有層級關(guān)系,因而這多層錨點所存儲的映射表之間也具有層級關(guān)系,具體地,上一級錨點中存儲了以下一級錨點的名字前綴作為生產(chǎn)者的位置的條目。以圖1所示的網(wǎng)絡(luò)架構(gòu)為例,錨點b存儲了以錨點d的名字前綴作為生產(chǎn)者的位置信息的條目,錨點a中存儲了以錨點b的名字前綴作為生產(chǎn)者的位置信息的條目。s504:生產(chǎn)者檢測其當前能夠探測到的各個基站的信號強度,當檢測到第一基站的信號強度小于第二基站的信號強度時,生產(chǎn)者獲取所述第二基站的標識。該第一基站為所述生產(chǎn)者當前接入的基站,第二基站為第一基站所在ndn中第一基站之外的的基站。在本發(fā)明實施例中,基站的標識可以采用服務(wù)集標識(servicesetidentifier,ssid)實現(xiàn),具體生產(chǎn)者獲取第二基站的標識可以包括:生產(chǎn)者根據(jù)信標幀獲取第二基站的ssid。這里的第二基站不限定為某一個基站,因為生產(chǎn)者可能同時檢測到多個信號強度高于第一基站的基站,當檢測到多個信號強度高于第一基站的基站時,生產(chǎn)者針對每個信號強度高于第一基站的基站均執(zhí)行依次步驟s504-507的過程。進一步地,該方法還可以包括:生產(chǎn)者檢測第一基站和第二基站的信號強度。具體地,生產(chǎn)者可以根據(jù)接收的信號強度指示(receivedsignalstrengthindication,rssi)值來確定第一基站和第二基站的信號強度。s505:生產(chǎn)者根據(jù)所述第二基站的標識生成第三控制包,并將生成的第三控制包發(fā)送至所述第一基站,第三控制包的名字包括所述生產(chǎn)者的名字前綴以及所述第二基站的標識。進一步地,第三控制包的名字還包括控制信息。例如,第三控制包的名字的格式可以為/<control_info>/cmcc/<seperator>/<ssid>,其中<control_info>為控制信息,/cmcc為生產(chǎn)者的名字前綴,<ssid>為第二基站的標識。其中,第三控制包中的控制信息用于表示第三控制包的作用是傳遞標識。s506:第一基站根據(jù)接收到的第三控制包生成第四控制包,并將第四控制包發(fā)送至交匯錨點,第一基站生成的第四控制包的名字包括所述生產(chǎn)者的名字前綴和所述第二基站的名字前綴。在本發(fā)明實施例中,第一基站向交匯錨點發(fā)送第四控制包,既可以是第一基站直接將第四控制包發(fā)送到交匯錨點,也可以是第一基站通過其他錨點轉(zhuǎn)發(fā)將第四控制包發(fā)送到交匯錨點。其中,交匯錨點為第一轉(zhuǎn)發(fā)路徑與第二轉(zhuǎn)發(fā)路徑交匯的錨點,第二轉(zhuǎn)發(fā)路徑為所述生產(chǎn)者接入所述第二基站時發(fā)送至所述生產(chǎn)者的興趣包的轉(zhuǎn)發(fā)路徑。具體地,第一基站根據(jù)接收到的第三控制包生成第四控制包,可以包括:第一基站獲取第三數(shù)據(jù)包中的第二基站的標識;根據(jù)第二基站的標識確定第二基站的名字前綴;根據(jù)第二基站的名字前綴生成第四控制包。其中,根據(jù)第二基站的標識確定第二基站的名字前綴可以包括:根據(jù)第二基站的標識以及鄰居基站路由信息表,確定所述第二基站的名字前綴,所述鄰居基站路由信息表包括基站的標識及其對應(yīng)的名字前綴。其中,鄰居基站路由信息表用于存儲鄰居基站的標識以及該鄰居基站對應(yīng)的名字前綴,其格式可以如下表:基站的標識名字前綴ssid/pku/sece/arclab/2當然基站的標識不限于ssid,還可以是其他能夠識別基站身份的信息。進一步地,該第四控制包的名字還包括交匯錨點的名字前綴以及控制信息。例如,第四控制包的名字的格式可以為:/<b>/<control_info>/cmcc/<seperator>/<ar2>,其中<b>為交匯錨點的名字前綴,<control_info>為控制信息,/cmcc為生產(chǎn)者的名字前綴,<ar2>為第二基站的名字前綴。其中,第四控制包中的控制信息用于表示第四控制包的作用是更新映射表條目。由于第一基站生成第四控制包時需要用到交匯錨點的前綴,同時要將該第四控制包發(fā)送給交匯錨點,因此步驟s506還包括,確定交匯錨點的名字前綴。具體地,第一基站根據(jù)基站的標識確定出第二基站的名字前綴后,采用第一基站的名字前綴與第二基站的名字前綴進行匹配,確定出交匯錨點的名字前綴。其中,采用第一基站的名字前綴與第二基站的名字前綴進行匹配,確定出交匯錨點的過程如下:將第一基站的名字前綴與第二基站的名字前綴進行最長公共前綴匹配運算。其中,最長公共前綴匹配運算是指將兩個名字前綴按照從前到后的順序依次對每層進行匹配,得到的從第一層開始的連續(xù)的完全相同的各層即為最長公共前綴。例如,第一基站的名字前綴為/pku/sece/netlab/1,第二基站的名字前綴為/pku/sece/arclab/2,則根據(jù)匹配得到的交匯錨點的名字前綴為/pku/sece。s507:交匯錨點根據(jù)接收到的第四控制包更新映射表,更新后的所述交匯錨點的映射表包括所述生產(chǎn)者的名字前綴、以及與所述生產(chǎn)者對應(yīng)的第一位置信息和第二位置信息。其中,所述第一位置信息為所述交匯錨點在所述第一轉(zhuǎn)發(fā)路徑上的下一級節(jié)點的名字前綴,所述第二位置信息為所述交匯錨點在所述第二轉(zhuǎn)發(fā)路徑上的下一級節(jié)點的名字前綴,也即所述第一位置信息為所述交匯錨點采用所述第一轉(zhuǎn)發(fā)路徑轉(zhuǎn)發(fā)興趣包到所述生產(chǎn)者時的下一級節(jié)點的名字前綴,所述第二位置信息為所述交匯錨點采用所述第二轉(zhuǎn)發(fā)路徑轉(zhuǎn)發(fā)興趣包到所述生產(chǎn)者時的下一級節(jié)點的名字前綴。所述交匯錨點在所述第一轉(zhuǎn)發(fā)路徑上的下一級節(jié)點為所述第一轉(zhuǎn)發(fā)路徑上的錨點或者所述第一基站,所述交匯錨點在所述第二轉(zhuǎn)發(fā)路徑上的下一級節(jié)點為所述第二轉(zhuǎn)發(fā)路徑上的錨點或者所述第二基站。具體地,交匯錨點在接收到第四控制包后,根據(jù)第四控制包中的控制信息,確定該第四控制包的作用為生成映射表條目;然后獲取該第四控制包中生產(chǎn)者的名字前綴和第二基站的名字前綴,并根據(jù)生產(chǎn)者的名字前綴和第二基站的名字前綴對映射表進行更新。其中,根據(jù)生產(chǎn)者的名字前綴和第二基站的名字前綴對映射表進行更新,可以包括:根據(jù)第二基站的名字前綴和交匯錨點的名字前綴,確定第二轉(zhuǎn)發(fā)路徑是否存在處于交匯錨點和第二基站之間的錨點,如果沒有,則將第二基站的名字前綴添加到生產(chǎn)者對應(yīng)的位置信息里;如果有,則確定第二轉(zhuǎn)發(fā)路徑中交匯錨點的下一級錨點的名字前綴,將該錨點的名字前綴添加到生產(chǎn)者對應(yīng)的位置信息里。其中,根據(jù)第二基站的名字前綴和交匯錨點的名字前綴,確定第二轉(zhuǎn)發(fā)路徑是否存在處于交匯錨點和第二基站之間的錨點,具體實現(xiàn)方式如下:比較第二基站的名字前綴和交匯錨點的名字前綴,如果第二基站的名字前綴僅比交匯錨點的名字前綴多一層,則確定第二轉(zhuǎn)發(fā)路徑不存在處于交匯錨點和第二基站之間的錨點,否則(不止多一層)說明第二轉(zhuǎn)發(fā)路徑存在處于交匯錨點和第二基站之間的錨點。這里名字前綴里的一層,通常是多一個“/”,如/pku/sece/netlab/1比/pku/sece/netlab多一層,/pku/sece/netlab/1比/pku/sece多兩層。其中,確定第二轉(zhuǎn)發(fā)路徑中交匯錨點的下一級錨點,具體實現(xiàn)方式如下:從第二基站的名字前綴中確定出比交匯錨點的名字前綴多一層的名字前綴,確定出的名字前綴即為第二轉(zhuǎn)發(fā)路徑中交匯錨點的下一級錨點的名字前綴。例如,交匯錨點的名字前綴為/pku/sece,第二基站的名字前綴為/pku/sece/arclab/2,則確定出的第二轉(zhuǎn)發(fā)路徑中交匯錨點的下一級錨點的名字前綴為/pku/sece/arclab。其中,更新后的交匯錨點的映射表可以采用如下格式:生產(chǎn)者第一位置第二位置/cmcc/pku/sece/netlab/pku/sece/arclab其中,該映射表中每個生產(chǎn)者對應(yīng)的位置不限于兩個。即本發(fā)明實施例提供的映射表中記錄的每個生產(chǎn)者對應(yīng)的位置可以有多個,錨點在轉(zhuǎn)發(fā)興趣包時,可以同時向這個多個位置進行轉(zhuǎn)發(fā)。這種一個生產(chǎn)者對應(yīng)多個位置的情況只出現(xiàn)在交匯錨點的映射表中,但是交匯錨點并非固定的,不同的錨點都有成為交匯錨點的可能。以圖1所示的網(wǎng)絡(luò)架構(gòu)為例,如果生產(chǎn)者在基站ar1和基站ar2間移動,則此時交匯錨點即為錨點b,如果生產(chǎn)者在基站ar2和基站ar3之間移動,則此時交匯錨點即為錨點a。在完成步驟s507后,當交匯錨點接收到興趣包時,采用興趣包的名字與生產(chǎn)者的名字前綴進行匹配,得到生產(chǎn)者的位置信息。例如,興趣包的名字為/cmcc/a.mpg,則按照上表確定出的位置信息包括/pku/sece/netlab和/pku/sece/arclab。也就是說,如果消費者發(fā)送興趣包,則該興趣包可以同時通過第一基站和第二基站進行轉(zhuǎn)發(fā)。由于此時生產(chǎn)者可能仍然處在第一基站下,也可能移動到第二基站,也可能移動到其他基站,這樣做增加了在生產(chǎn)者移動時,能夠?qū)⑴d趣包轉(zhuǎn)發(fā)到該生產(chǎn)者的概率。進一步地,錨點在對興趣包進行轉(zhuǎn)發(fā)時,還可以將從映射表中確定出的位置信息攜帶在該興趣包中,用于指示后續(xù)節(jié)點如何轉(zhuǎn)發(fā)。下面結(jié)合圖1對步驟504-507的流程進行說明:隨著生產(chǎn)者p的移動,生產(chǎn)者p探測到來自基站ar2的信號。當p檢測到ar2的信號強度大于ar1的信號強度時,p從信標幀中獲得ar2的bssid。p將bssid通過第三控制包發(fā)送給ar1,第三控制包的構(gòu)成如下:/<control_info>/cmcc/<seperator>/<bssid>。ar1接收到該第三控制包后在其鄰居基站路由表中進行匹配獲得ar2的名字前綴(/pku/sece/arclab),ar1根據(jù)ar2的名字前綴和自己的名字前綴(/pku/sece/netlab/1)生成第四數(shù)據(jù)包,并將第四數(shù)據(jù)包發(fā)送給交匯節(jié)點b(/pku/sece),第四數(shù)據(jù)包的構(gòu)成如下:/<b>/<control_info>/cmcc/<seperator>/<ar2>。b接收到第四數(shù)據(jù)包后,更新映射表的條目,更新后的映射表條目為</cmcc,<d>,<e>>。此時,如果消費者發(fā)送請求該生產(chǎn)者p提供的數(shù)據(jù)包的興趣包,該興趣包由a到達b后,會沿著b-d-ar1的路徑轉(zhuǎn)發(fā),同時還會沿著b-e-ar2的路徑轉(zhuǎn)發(fā),最終由ar1或ar2發(fā)送給p。s508:生產(chǎn)者接入第二基站時,向所述第二基站發(fā)送該生產(chǎn)者的名字前綴。同時,第二基站接收所述生產(chǎn)者發(fā)送的所述生產(chǎn)者的名字前綴。步驟s508的具體過程與步驟s501類似,區(qū)別僅在于s508是向第二基站發(fā)送,故不在贅述其詳細過程。s509:第二基站根據(jù)所述生產(chǎn)者的名字前綴生成第五控制包,并向第二轉(zhuǎn)發(fā)路徑上的上一級錨點發(fā)送所述第五控制包,所述第五控制包的名字包括所述生產(chǎn)者的名字前綴和第二基站的名字前綴,所述第二轉(zhuǎn)發(fā)路徑為所述生產(chǎn)者接入第二基站時發(fā)送至所述生產(chǎn)者的興趣包的轉(zhuǎn)發(fā)路徑。進一步地,第五控制包的名字還包括第二基站在第二轉(zhuǎn)發(fā)路徑上的上一級錨點的名字前綴以及控制信息。例如,第五控制包的名字的格式可以為:/<d>/<control_info>/cmcc/<seperator>/<ar2>,其中<d>為上一級錨點的名字前綴,<control_info>為控制信息,/cmcc為生產(chǎn)者的名字前綴,<ar2>為第二基站的名字前綴。第五控制包中的控制信息用于表示第五控制包的作用是生成映射表條目。步驟s509的具體過程與步驟s502類似,故不在贅述其詳細過程。s510:第二基站在第二轉(zhuǎn)發(fā)路徑上的上一級錨點根據(jù)接收到的第五控制包,在映射表中添加生產(chǎn)者的名字前綴以及該生產(chǎn)者對應(yīng)的位置信息,同時第二基站在第二轉(zhuǎn)發(fā)路徑上的上一級錨點向更上一級錨點發(fā)送第六控制包,第六控制包的名字包括生產(chǎn)者的名字前綴和發(fā)送該第六控制包的錨點的名字前綴。第二轉(zhuǎn)發(fā)路徑上的各個錨點按照從下級向上級的順序,依次執(zhí)行步驟510,直到第二轉(zhuǎn)發(fā)路徑上的交匯錨點的下一級錨點。值得說明的是,如果在第二轉(zhuǎn)發(fā)路徑上,第二基站和交匯錨點之間不存在錨點,則無需執(zhí)行步驟s510。進一步地,第六控制包的名字還包括更上一級錨點的名字前綴以及控制信息。例如,第六控制包的名字的格式可以為:/<b>/<control_info>/cmcc/<seperator>/<d>,其中<b>為更上一級錨點的名字前綴,<control_info>為控制信息,/cmcc為生產(chǎn)者的名字前綴,<d>為第一基站在第一轉(zhuǎn)發(fā)路徑上的上一級錨點的名字前綴。該控制信息用于標識第六控制包的作用是生成映射表條目。具體地,在步驟s510中,第二轉(zhuǎn)發(fā)路徑上的錨點在收到第五控制包后,根據(jù)第五控制包或第六控制包中的控制信息,確定該第五控制包或第六控制包的作用為生成映射表條目;在確定第五控制包或第六控制包的作用后,確定映射表中是否存在該生產(chǎn)者對應(yīng)的條目,如果不存在,則獲取該第五控制包中生產(chǎn)者的名字前綴和第二基站的名字前綴,并生成映射表條目,或者獲取第六控制包中生產(chǎn)者的名字前綴和發(fā)送該第六控制包的錨點的名字前綴,并生成映射表條目。如果存在,則說明該錨點為交匯錨點,具體處理參見步驟s511。步驟s510的具體過程與步驟s503類似,故不在贅述其詳細過程。s511:交匯錨點接收所述第二路徑上的下一級錨點發(fā)送的第六控制包,并根據(jù)第六控制包更新映射表。具體地,刪除所述交匯錨點的映射表中與所述生產(chǎn)者對應(yīng)的第一位置信息。所述第六控制包的名字包括所述生產(chǎn)者的名字前綴和所述第二轉(zhuǎn)發(fā)路徑上的下一級錨點的名字前綴。具體地,在步驟s511中,交匯錨點在收到第六控制包后,根據(jù)第六控制包中的控制信息,確定該第六控制包的作用為生成映射表條目;在確定第六控制包的作用后,確定交匯錨點的映射表中是否存在該生產(chǎn)者對應(yīng)的條目。根據(jù)前述步驟容易知道,交匯錨點的映射表中存在生產(chǎn)者對應(yīng)的條目,此時,交匯錨點刪除所述交匯錨點的映射表中與所述生產(chǎn)者對應(yīng)的第一位置信息。在該實施例中,刪除所述交匯錨點的映射表中與所述生產(chǎn)者對應(yīng)的第一位置信息的具體過程如下:將生產(chǎn)者對應(yīng)的第二位置信息清空,并將原第一位置信息替換為原第二位置信息。其中,更新后的交匯錨點的映射表可以采用如下格式:生產(chǎn)者第一位置/cmcc/pku/sece/arclabs512:交匯錨點向所述第一轉(zhuǎn)發(fā)路徑中下一級錨點發(fā)送刪除轉(zhuǎn)發(fā)信息控制包,所述刪除轉(zhuǎn)發(fā)信息控制包用于刪除所述第一轉(zhuǎn)發(fā)路徑中下一級錨點的映射表中所述生產(chǎn)者的名字前綴以及該生產(chǎn)者對應(yīng)的位置信息。由于生產(chǎn)者已經(jīng)接入第二基站內(nèi),所以第一轉(zhuǎn)發(fā)路徑上位于第一基站和交匯錨點之間的錨點的映射表中關(guān)于生產(chǎn)者的條目已經(jīng)失效,可以對其進行刪除。s513:交匯錨點在第一轉(zhuǎn)發(fā)路徑中的下一級錨點刪除映射表中所述生產(chǎn)者的名字前綴以及該生產(chǎn)者對應(yīng)的位置信息,同時交匯錨點在第一轉(zhuǎn)發(fā)路徑中的下一級錨點向更下一級錨點發(fā)送刪除轉(zhuǎn)發(fā)信息控制包。第一轉(zhuǎn)發(fā)路徑上的各個錨點按照從上級向下級的順序,依次執(zhí)行步驟513,直到第一轉(zhuǎn)發(fā)路徑中位于第一基站上一級的錨點。在完成步驟s513后,如果消費者發(fā)送請求該生產(chǎn)者提供的數(shù)據(jù)包的興趣包,則ndn中的錨點可以根據(jù)映射表查找轉(zhuǎn)發(fā)接口,并最終將該興趣包通過第二基站轉(zhuǎn)發(fā)給生產(chǎn)者??蛇x地,該方法還可以包括:錨點向外廣播生產(chǎn)者的名字前綴。該廣播為周期性地,間隔可以根據(jù)網(wǎng)絡(luò)負載能力適當放寬,不會像基于路由更新方案那樣頻繁而使得路由聚合導(dǎo)致網(wǎng)絡(luò)開銷大。下面結(jié)合圖1對步驟508-513的流程進行說明:當p接入到ar2后,告知ar2它的名字前綴。ar2執(zhí)行步驟s501-504中ar1相同的操作,由于錨點d的映射表中已經(jīng)存在p的條目,則操作循環(huán)至d處即停止,并且d會對映射表的條目進行更新,更新后的條目為</cmcc,<e>>。此時,如果消費者發(fā)送請求該生產(chǎn)者p提供的數(shù)據(jù)包的興趣包(例如名稱為/cmcc/a.mpg的興趣包),該興趣包會沿著a-b-e的路徑向ar2處轉(zhuǎn)發(fā),ar2將該興趣包發(fā)送給p,由p返回數(shù)據(jù)包。圖4為本發(fā)明實施例提供的一種ndn興趣包轉(zhuǎn)發(fā)方法的流程圖,該方法由前述ndn中的錨點執(zhí)行。如圖4所示,該方法包括:s601:錨點接收興趣包。該興趣包由消費者發(fā)送,用于請求生產(chǎn)者提供的數(shù)據(jù)包。s602:當在所述錨點的內(nèi)容存儲庫中未找到所述興趣包對應(yīng)的數(shù)據(jù),且在待定興趣表中未查找到該興趣包對應(yīng)的條目時,在映射表中查詢與所述興趣包對應(yīng)的生產(chǎn)者對應(yīng)的位置信息,所述映射表包括生產(chǎn)者的名字前綴和該生產(chǎn)者對應(yīng)的位置信息。其中,在映射表中查詢與所述興趣包對應(yīng)的生產(chǎn)者對應(yīng)的位置信息,包括:將興趣包的名字與映射表中的生產(chǎn)者的名字前綴進行匹配,當興趣包的名字包括生產(chǎn)者的名字前綴時,確定該生產(chǎn)者的名字前綴對應(yīng)的位置信息。例如,興趣包的名稱為/cmcc/a.mpg,生產(chǎn)者的名字前綴為/cmcc,該生產(chǎn)者的名字前綴對應(yīng)的位置信息為/pku/sece/arclab,則按照步驟s602確定出的位置信息即為/pku/sece/arclab。在本發(fā)明實施例中,該方法還包括:當錨點在接收到消費者發(fā)送的興趣包時,先查找cs,確定cs中是否存在該興趣包請求的數(shù)據(jù)包;如果cs中存在該興趣包請求的數(shù)據(jù)包,則將查找的數(shù)據(jù)包返回給消費者;如果cs中不存在該興趣包請求的數(shù)據(jù)包,則在pit查詢是否存在該興趣包對應(yīng)的條目。如果pit中存在該興趣包對應(yīng)的條目,則將接收該興趣包的接口添加到該條目中;如果pit中不存在該興趣包對應(yīng)的條目,則在pit中新增該興趣包對應(yīng)的條目,該條目包括接收該興趣包的接口,同時錨點執(zhí)行步驟s602-604。步驟s602中的映射表可以采用圖3所示的方式進行更新。s603:根據(jù)生產(chǎn)者對應(yīng)的位置信息在轉(zhuǎn)發(fā)信息表中確定對應(yīng)的接口。具體地,fib表的格式如前文所述,因此通過生產(chǎn)者對應(yīng)的位置信息可以查詢出與之對應(yīng)的接口。具體地,采用生產(chǎn)者對應(yīng)的位置信息在fib表中查詢接口時,采用最長匹配方式進行查詢。s604:通過確定出的所述接口轉(zhuǎn)發(fā)所述興趣包??蛇x地,在轉(zhuǎn)發(fā)該興趣包時,還可以將確定出的生產(chǎn)者的位置信息攜帶在該興趣包中,以便指示后續(xù)節(jié)點的轉(zhuǎn)發(fā)。圖5示出了本發(fā)明一個實施例提供的ndn映射表更新裝置的框圖。該ndn映射表更新裝置可以通過專用硬件電路,或者,軟硬件的結(jié)合實現(xiàn)成為生產(chǎn)者的全部或一部分。該ndn映射表更新裝置包括:獲取單元701、生成單元702和發(fā)送單元703。其中,獲取單元701用于當?shù)谝换镜男盘枏姸刃∮诘诙镜男盘枏姸葧r,獲取所述第二基站的標識,所述第一基站為生產(chǎn)者當前接入的基站,所述第二基站為所述生產(chǎn)者所在命名數(shù)據(jù)網(wǎng)絡(luò)中所述第一基站之外的基站。生成單元702用于根據(jù)所述第二基站的標識生成控制包,所述控制包的名字包括所述生產(chǎn)者的名字前綴以及所述第二基站的標識。發(fā)送單元703用于將所述控制包發(fā)送至所述第一基站,所述控制包用于指示所述第一基站向交匯錨點發(fā)送另一控制包,所述另一控制包用于指示所述交匯錨點更新映射表,更新后的所述交匯錨點的映射表包括所述生產(chǎn)者的名字前綴、以及與所述生產(chǎn)者對應(yīng)的第一位置信息和第二位置信息;其中,所述交匯錨點為第一轉(zhuǎn)發(fā)路徑與第二轉(zhuǎn)發(fā)路徑交匯的錨點,所述第一轉(zhuǎn)發(fā)路徑為所述生產(chǎn)者接入所述第一基站時頂級錨點發(fā)送至所述生產(chǎn)者的興趣包的轉(zhuǎn)發(fā)路徑,所述第二轉(zhuǎn)發(fā)路徑為所述生產(chǎn)者接入所述第二基站時所述頂級錨點發(fā)送至所述生產(chǎn)者的興趣包的轉(zhuǎn)發(fā)路徑,所述另一控制包的名字包括所述生產(chǎn)者的名字前綴和所述第二基站的名字前綴,所述第一位置信息為所述交匯錨點在所述第一轉(zhuǎn)發(fā)路徑上的下一級節(jié)點的名字前綴,所述第二位置信息為所述交匯錨點在所述第二轉(zhuǎn)發(fā)路徑上的下一級節(jié)點的名字前綴,所述頂級錨點為用于獲取并轉(zhuǎn)發(fā)請求所述生產(chǎn)者提供的數(shù)據(jù)包的興趣包的節(jié)點。相關(guān)細節(jié)可結(jié)合參考圖3的方法實施例。需要說明的是,上述生成單元702可以由處理器實現(xiàn)或者,處理器執(zhí)行存儲器中的程序指令來實現(xiàn),上述獲取單元701可以由接收機rx實現(xiàn),或者處理器配合接收機來實現(xiàn),上述發(fā)送單元703可以由發(fā)送機tx實現(xiàn),或者處理器配合發(fā)送機來實現(xiàn)。圖6示出了本發(fā)明一個實施例提供的ndn映射表更新裝置的框圖。該ndn映射表更新裝置可以通過專用硬件電路,或者,軟硬件的結(jié)合實現(xiàn)成為基站的全部或一部分。該ndn映射表更新裝置包括:接收單元801、確定單元802、生成單元803和發(fā)送單元804。其中,接收單元801用于接收生產(chǎn)者發(fā)送的控制包,所述控制包的名字包括所述生產(chǎn)者的名字前綴以及第二基站的標識,所述第二基站為所述生產(chǎn)者探測到的信號強度大于第一基站的基站,所述第二基站為所述生產(chǎn)者所在命名數(shù)據(jù)網(wǎng)絡(luò)中所述第一基站之外的基站,所述第一基站為所述生產(chǎn)者當前接入的基站。確定單元802用于根據(jù)所述控制包中第二基站的標識確定所述第二基站的名字前綴。生成單元803用于根據(jù)所述第二基站的名字前綴生成另一控制包,所述另一控制包的名字包括所述生產(chǎn)者的名字前綴和所述第二基站的名字前綴。發(fā)送單元804用于向交匯錨點發(fā)送所述另一控制包,所述另一控制包用于指示所述交匯錨點更新映射表,更新后的所述交匯錨點的映射表包括所述生產(chǎn)者的名字前綴、以及與所述生產(chǎn)者對應(yīng)的第一位置信息和第二位置信息;其中,所述交匯錨點為第一轉(zhuǎn)發(fā)路徑與第二轉(zhuǎn)發(fā)路徑交匯的錨點,所述第一轉(zhuǎn)發(fā)路徑為所述生產(chǎn)者接入所述第一基站時頂級錨點發(fā)送至所述生產(chǎn)者的興趣包的轉(zhuǎn)發(fā)路徑,所述第二轉(zhuǎn)發(fā)路徑為所述生產(chǎn)者接入所述第二基站時所述頂級錨點發(fā)送至所述生產(chǎn)者的興趣包的轉(zhuǎn)發(fā)路徑,所述第一位置信息為所述交匯錨點在所述第一轉(zhuǎn)發(fā)路徑上的下一級節(jié)點的名字前綴,所述第二位置信息為所述交匯錨點在所述第二轉(zhuǎn)發(fā)路徑上的下一級節(jié)點的名字前綴,所述頂級錨點為用于獲取并轉(zhuǎn)發(fā)請求所述生產(chǎn)者提供的數(shù)據(jù)包的興趣包的節(jié)點。相關(guān)細節(jié)可結(jié)合參考圖3的方法實施例。需要說明的是,上述確定單元802和生成單元803可以由處理器實現(xiàn)或者,處理器執(zhí)行存儲器中的程序指令來實現(xiàn),上述接收單元801可以由接收機rx實現(xiàn),或者處理器配合接收機來實現(xiàn),上述發(fā)送單元804可以由發(fā)送機tx實現(xiàn),或者處理器配合發(fā)送機來實現(xiàn)。圖7示出了本發(fā)明一個實施例提供的ndn映射表更新裝置的框圖。該ndn映射表更新裝置可以通過專用硬件電路,或者,軟硬件的結(jié)合實現(xiàn)成為路由節(jié)點的全部或一部分。該ndn映射表更新裝置包括:接收單元901和更新單元902。其中,接收單元901用于接收控制包,所述控制包的名字包括生產(chǎn)者的名字前綴和第二基站的名字前綴,所述第二基站為所述生產(chǎn)者探測到的信號強度大于第一基站的基站,所述第一基站為所述生產(chǎn)者當前接入的基站,所述第二基站為所述生產(chǎn)者所在命名數(shù)據(jù)網(wǎng)絡(luò)中所述第一基站之外的基站。更新單元902用于當所述控制包是發(fā)送給錨點的控制包時,根據(jù)所述控制包更新映射表,更新后的所述錨點的映射表包括所述生產(chǎn)者的名字前綴、以及與所述生產(chǎn)者對應(yīng)的第一位置信息和第二位置信息;其中,所述第一位置信息為所述錨點在第一轉(zhuǎn)發(fā)路徑上的下一級節(jié)點的名字前綴,所述第二位置信息為所述錨點在第二轉(zhuǎn)發(fā)路徑上的下一級節(jié)點的名字前綴,所述第一轉(zhuǎn)發(fā)路徑為所述生產(chǎn)者接入所述第一基站時頂級錨點發(fā)送至所述生產(chǎn)者的興趣包的轉(zhuǎn)發(fā)路徑,所述第二轉(zhuǎn)發(fā)路徑為所述生產(chǎn)者接入所述第二基站時所述頂級錨點發(fā)送至所述生產(chǎn)者的興趣包的轉(zhuǎn)發(fā)路徑,所述頂級錨點為用于獲取并轉(zhuǎn)發(fā)請求所述生產(chǎn)者提供的數(shù)據(jù)包的興趣包的節(jié)點。相關(guān)細節(jié)可結(jié)合參考圖3的方法實施例。需要說明的是,上述更新單元902可以由處理器實現(xiàn)或者,處理器執(zhí)行存儲器中的程序指令來實現(xiàn),上述接收單元901可以由通信接口實現(xiàn),或者通信接口配合接收機來實現(xiàn)。圖8示出了本發(fā)明一個實施例提供的ndn興趣包轉(zhuǎn)發(fā)裝置的框圖。該ndn興趣包轉(zhuǎn)發(fā)裝置可以通過專用硬件電路,或者,軟硬件的結(jié)合實現(xiàn)成為生產(chǎn)者的全部或一部分。該ndn興趣包轉(zhuǎn)發(fā)裝置包括:接收單元1001、查詢單元1002、確定單元1003和發(fā)送單元1004。其中,接收單元1001用于接收興趣包。查詢單元1002用于當在所述錨點的內(nèi)容存儲庫中未找到所述興趣包對應(yīng)的數(shù)據(jù),且在所述錨點的待定興趣表中未查找到所述興趣包對應(yīng)的條目時,在映射表中查詢與所述興趣包對應(yīng)的生產(chǎn)者對應(yīng)的位置信息,所述映射表包括生產(chǎn)者的名字前綴以及與所述生產(chǎn)者對應(yīng)的位置信息。確定單元1003用于根據(jù)所述生產(chǎn)者對應(yīng)的位置信息在轉(zhuǎn)發(fā)信息表中確定對應(yīng)的接口。發(fā)送單元1004用于通過確定出的所述接口轉(zhuǎn)發(fā)所述興趣包。相關(guān)細節(jié)可結(jié)合參考圖4的方法實施例。需要說明的是,上述查詢單元1002、確定單元1003可以由處理器實現(xiàn)或者,處理器執(zhí)行存儲器中的程序指令來實現(xiàn),上述接收單元1001可以由接收機rx實現(xiàn),或者處理器配合接收機來實現(xiàn),上述發(fā)送單元1004可以由發(fā)送機tx實現(xiàn),或者處理器配合發(fā)送機來實現(xiàn)。以上所述僅為本發(fā)明的較佳實施例,并不用以限制本發(fā)明,凡在本發(fā)明的精神和原則之內(nèi),所作的任何修改、等同替換、改進等,均應(yīng)包含在本發(fā)明的保護范圍之內(nèi)。當前第1頁12當前第1頁12