羅洪斌,張珊,王志遠(yuǎn)
(1.北京航空航天大學(xué)計(jì)算機(jī)學(xué)院,北京 100191;2.北京航空航天大學(xué)軟件開(kāi)發(fā)環(huán)境國(guó)家重點(diǎn)實(shí)驗(yàn)室,北京 100191;3.數(shù)學(xué)、信息與行為學(xué)教育部重點(diǎn)實(shí)驗(yàn)室,北京 100191;4.未來(lái)區(qū)塊鏈與隱私計(jì)算北京高精尖創(chuàng)新中心,北京 100191)
隨著通信網(wǎng)絡(luò)技術(shù)的飛速發(fā)展,已形成多種網(wǎng)絡(luò)體制并存的自然趨勢(shì)。一方面,不同特征的網(wǎng)絡(luò)形態(tài)持續(xù)涌現(xiàn),迫切需要不同的網(wǎng)絡(luò)體制。具體而言,當(dāng)前互聯(lián)網(wǎng)向陸??仗煅诱?、向?qū)嶓w經(jīng)濟(jì)滲透,相繼形成了車聯(lián)網(wǎng)、海洋信息網(wǎng)絡(luò)、無(wú)人機(jī)集群網(wǎng)絡(luò)、衛(wèi)星互聯(lián)網(wǎng)、工業(yè)互聯(lián)網(wǎng)等各種網(wǎng)絡(luò)形態(tài)。這些網(wǎng)絡(luò)形態(tài)的特征不僅各不相同,而且顯著區(qū)別于傳統(tǒng)以“固定、有線”為主的陸地互聯(lián)網(wǎng)。例如,海洋信息網(wǎng)絡(luò)具備水聲信道、海面水霧干擾導(dǎo)致的誤碼率高等特征;無(wú)人機(jī)集群網(wǎng)絡(luò)具備節(jié)點(diǎn)分割與重組、拓?fù)洌◤?qiáng))時(shí)變等特征;衛(wèi)星互聯(lián)網(wǎng)具備拓?fù)湟?guī)律性變化、節(jié)點(diǎn)間間歇性連通、鏈路時(shí)延大尺度變化等特征。由于這些特征的存在,將傳統(tǒng)陸地互聯(lián)網(wǎng)中廣泛應(yīng)用的IP 應(yīng)用于這些新興網(wǎng)絡(luò)形態(tài)時(shí),面臨性能惡化甚至不可用的問(wèn)題。事實(shí)上,美國(guó)DARPA(Defense Advanced Research Projects Agency)早在2013 年就指出,若將IP 應(yīng)用于移動(dòng)自組織網(wǎng)絡(luò),當(dāng)節(jié)點(diǎn)數(shù)量超過(guò)50 個(gè)時(shí),網(wǎng)絡(luò)性能急劇下降,導(dǎo)致網(wǎng)絡(luò)不可用。為此,DARPA 急于尋求基于非IP 的移動(dòng)自組織網(wǎng)絡(luò)組網(wǎng)方式。
另一方面,隨著互聯(lián)網(wǎng)規(guī)模和應(yīng)用范圍持續(xù)擴(kuò)大,其TCP/IP 網(wǎng)絡(luò)體制逐步暴露出安全性差、演進(jìn)難等諸多原始設(shè)計(jì)缺陷。為了從體系上克服這些缺陷,學(xué)術(shù)界對(duì)新型網(wǎng)絡(luò)體制的探索從未停止。事實(shí)上,斯坦福大學(xué)Cheriton[1]早在1989 年就提出了Sirpent;1990 年,麻省理工學(xué)院 Clark 和Tennenhouse[2]提出了 ALF(application layer framing)。后來(lái),主動(dòng)網(wǎng)絡(luò)[3]、Triad[4]、DONA(data-oriented network architecture)[5]、NDN(named data networking )[6-7]、MobilityFirst[8]、XIA(expresive Internet architecture)[9]、FI(Ifuture Internet for innovation)[10]、SCION(scalability,control,and isolation)[11]、Trotsky[12]、標(biāo)識(shí)網(wǎng)絡(luò)[13]等各種網(wǎng)絡(luò)體制相繼涌現(xiàn);NDN 和SCION 等已有小規(guī)模應(yīng)用。這些網(wǎng)絡(luò)體制的提出為多體制網(wǎng)絡(luò)并存奠定了技術(shù)基礎(chǔ)。
同時(shí),從互聯(lián)網(wǎng)長(zhǎng)期演進(jìn)的角度看,采用不同網(wǎng)絡(luò)體制的異構(gòu)網(wǎng)絡(luò)必然長(zhǎng)期共存。首先,當(dāng)前已然形成IPv4、IPv6、NDN、SCION、標(biāo)識(shí)網(wǎng)絡(luò)等共存的局面。其次,網(wǎng)絡(luò)體制的演進(jìn),必然意味著從一個(gè)已有網(wǎng)絡(luò)體制演進(jìn)到一個(gè)新網(wǎng)絡(luò)體制,而網(wǎng)絡(luò)體制的演進(jìn)是一個(gè)長(zhǎng)期過(guò)程;事實(shí)上,IPv4 向IPv6 演進(jìn)已歷時(shí)20 余年,但據(jù)Google統(tǒng)計(jì),全球IPv6 流量?jī)H占所有流量的35.53%(截至2021 年12 月6 日)。最后,隨著各種網(wǎng)絡(luò)形態(tài)日趨異構(gòu)化,沒(méi)有一個(gè)網(wǎng)絡(luò)體制能適應(yīng)所有網(wǎng)絡(luò)形態(tài);相反,只有根據(jù)每種網(wǎng)絡(luò)形態(tài)的特點(diǎn)為其設(shè)計(jì)合適的網(wǎng)絡(luò)體制,才能充分發(fā)揮該網(wǎng)絡(luò)形態(tài)的優(yōu)勢(shì)[14]。
隨著數(shù)據(jù)成為生產(chǎn)要素,不同體制的異構(gòu)網(wǎng)絡(luò)只有通過(guò)安全高效互聯(lián)、打通數(shù)據(jù)流動(dòng)通道,才能釋放數(shù)據(jù)價(jià)值。然而,目前仍缺乏異構(gòu)體制網(wǎng)絡(luò)之間安全高效互聯(lián)的體系和機(jī)理。雖然可以通過(guò)協(xié)議轉(zhuǎn)換的方式實(shí)現(xiàn)異構(gòu)體制網(wǎng)絡(luò)之間的互聯(lián)互通,但是協(xié)議轉(zhuǎn)換不僅效率低下,而且難以保障安全[15]。類似地,盡管FII、Trotsky、ALF 等能夠支持異構(gòu)體制網(wǎng)絡(luò)的互聯(lián)互通,但是難以保障安全。
為此,本文介紹共生網(wǎng)絡(luò)——異構(gòu)網(wǎng)絡(luò)安全高效互聯(lián)的體系結(jié)構(gòu)與機(jī)理。首先,分析異構(gòu)體制網(wǎng)絡(luò)安全高效互聯(lián)面臨的挑戰(zhàn)與科學(xué)問(wèn)題。然后,分析和研究異構(gòu)體制網(wǎng)絡(luò)互聯(lián)而成網(wǎng)絡(luò)空間的普適表征機(jī)理、體系結(jié)構(gòu)模型、基本工作機(jī)理、跨域安全保障機(jī)理等。在此基礎(chǔ)上,介紹共生網(wǎng)絡(luò)的部分系統(tǒng)實(shí)驗(yàn)結(jié)果和共生網(wǎng)絡(luò)已經(jīng)形成的部分能力,如防范跨域攻擊和數(shù)據(jù)泄露等。最后,介紹共生網(wǎng)絡(luò)中還需進(jìn)一步解決的問(wèn)題。
本節(jié)分析異構(gòu)體制網(wǎng)絡(luò)安全高效互聯(lián)面臨的主要挑戰(zhàn)和亟須解決的本質(zhì)科學(xué)問(wèn)題。
建立異構(gòu)體制網(wǎng)絡(luò)安全高效互聯(lián)的體系與機(jī)理,面臨以下主要挑戰(zhàn)。
1) 體制異構(gòu)性挑戰(zhàn)。由于不同網(wǎng)絡(luò)體制在名字空間、路由機(jī)制、尋址方式、分組格式等方面存在巨大差異,一種網(wǎng)絡(luò)體制的分組無(wú)法直接在采用另一種體制的網(wǎng)絡(luò)里轉(zhuǎn)發(fā)。目前的通用做法是在邊界網(wǎng)關(guān)處進(jìn)行協(xié)議轉(zhuǎn)換,但存在至少三大缺點(diǎn)。第一,協(xié)議轉(zhuǎn)換效率低、跨域安全性難以保障。第二,負(fù)責(zé)協(xié)議轉(zhuǎn)換的網(wǎng)關(guān)同時(shí)連接2 個(gè)(甚至多個(gè))異構(gòu)體制的網(wǎng)絡(luò),使協(xié)議轉(zhuǎn)換出現(xiàn)錯(cuò)誤甚至惡意轉(zhuǎn)換時(shí)難以追責(zé)。第三,當(dāng)一種網(wǎng)絡(luò)體制的原始分組通過(guò)協(xié)議轉(zhuǎn)換成另一種網(wǎng)絡(luò)體制的新分組時(shí),新分組通常不能完整準(zhǔn)確地反映原始分組的語(yǔ)義,導(dǎo)致語(yǔ)義損失,尤其是當(dāng)分組跨越多個(gè)異構(gòu)體制的網(wǎng)絡(luò)時(shí),多次協(xié)議轉(zhuǎn)換會(huì)導(dǎo)致嚴(yán)重的語(yǔ)義損失,甚至影響正常通信。
2) 安全保障挑戰(zhàn)。隨著互聯(lián)網(wǎng)向?qū)嶓w經(jīng)濟(jì)滲透,網(wǎng)絡(luò)和數(shù)據(jù)安全日益重要。采用不同體制的異構(gòu)網(wǎng)絡(luò)需要在互聯(lián)的同時(shí),既能防范來(lái)自其他網(wǎng)絡(luò)的攻擊,又能有效防止網(wǎng)絡(luò)內(nèi)部的數(shù)據(jù)被泄露。例如,對(duì)于一個(gè)工廠的網(wǎng)絡(luò),其既希望與其他網(wǎng)絡(luò)互聯(lián)從而提高生產(chǎn)效率,又不希望遭受來(lái)自外網(wǎng)的網(wǎng)絡(luò)攻擊,同時(shí)也需要保障數(shù)據(jù)安全,防止數(shù)據(jù)被非法泄露到外網(wǎng),影響企業(yè)安全與發(fā)展。
3) 信息高效分發(fā)挑戰(zhàn)。眾多異構(gòu)體制網(wǎng)絡(luò)互聯(lián)的根本目的在于高效實(shí)時(shí)共享/分發(fā)數(shù)據(jù),促進(jìn)數(shù)據(jù)流通,釋放數(shù)據(jù)價(jià)值,但如何充分利用各種數(shù)據(jù)傳輸通道、減少重復(fù)傳輸、提高數(shù)據(jù)傳輸效率面臨挑戰(zhàn)。
4) 可擴(kuò)展性挑戰(zhàn)。一方面,眾多異構(gòu)網(wǎng)絡(luò)互聯(lián)之后,每個(gè)網(wǎng)絡(luò)原有的規(guī)??蓴U(kuò)展性應(yīng)不受影響;同時(shí),互聯(lián)體系要能夠支持?jǐn)?shù)十萬(wàn)、數(shù)百萬(wàn)甚至數(shù)千萬(wàn)異構(gòu)的固定和移動(dòng)網(wǎng)絡(luò)安全高效互聯(lián)。
5) 普適性挑戰(zhàn)。互聯(lián)體系既要能夠互聯(lián)已有的異構(gòu)體制網(wǎng)絡(luò),又要能夠互聯(lián)未來(lái)采用新體制的網(wǎng)絡(luò);同時(shí),互聯(lián)體系要允許現(xiàn)在采用某種體制的網(wǎng)絡(luò)未來(lái)升級(jí)成另一種新體制。此外,互聯(lián)體系既要能夠支持固定網(wǎng)絡(luò)間的互聯(lián),又要能夠支持固定網(wǎng)絡(luò)和移動(dòng)網(wǎng)絡(luò)間的互聯(lián),還要能夠支持移動(dòng)網(wǎng)絡(luò)間的互聯(lián)。
為了克服上述主要挑戰(zhàn),必須解決以下2 個(gè)相互關(guān)聯(lián)的本質(zhì)科學(xué)問(wèn)題。
科學(xué)問(wèn)題1異構(gòu)網(wǎng)絡(luò)互聯(lián)而成的網(wǎng)絡(luò)空間的普適表征問(wèn)題。對(duì)事物進(jìn)行科學(xué)表征是正確認(rèn)識(shí)事物的重要手段(甚至是基礎(chǔ)與前提)。對(duì)異構(gòu)體制網(wǎng)絡(luò)互聯(lián)而成的網(wǎng)絡(luò)空間而言,不同網(wǎng)絡(luò)體制在名字空間及其基礎(chǔ)上的路由機(jī)制、尋址方式等方面存在巨大差異。例如,IPv4 網(wǎng)絡(luò)采用32 bit 的IPv4 地址,IPv6 網(wǎng)絡(luò)采用128 bit 的IPv6 地址,NDN 采用內(nèi)容名字。當(dāng)眾多異構(gòu)體制網(wǎng)絡(luò)互聯(lián)時(shí),應(yīng)該用哪些名字空間對(duì)互聯(lián)而成的網(wǎng)絡(luò)空間進(jìn)行普適化表征?顯然,由于網(wǎng)絡(luò)體制的差異性,不可能用單一名字空間表征互聯(lián)而成的網(wǎng)絡(luò)空間,而必須采用多維名字空間。其難點(diǎn)在于,究竟應(yīng)該采用哪些維度的名字空間。如果名字空間的維度太多,不同維度名字空間之間的映射可能會(huì)變得十分復(fù)雜而使效率低下;反之,又難以滿足安全高效互聯(lián)的需求。對(duì)每一個(gè)維度的名字空間該如何命名與表征,才能既實(shí)現(xiàn)高效互聯(lián),又能保障網(wǎng)絡(luò)的安全和規(guī)模可擴(kuò)展性?
科學(xué)問(wèn)題2多維名字空間的協(xié)同與耦合問(wèn)題。雖然每個(gè)網(wǎng)絡(luò)可以用其路由、尋址和轉(zhuǎn)發(fā)等方式,完成數(shù)據(jù)在該網(wǎng)絡(luò)內(nèi)部的傳遞,但當(dāng)2 個(gè)網(wǎng)絡(luò)采用的體制不同時(shí),如何充分利用各種網(wǎng)絡(luò)的分組投遞功能,同時(shí)克服不同網(wǎng)絡(luò)內(nèi)部的潛在安全缺陷,實(shí)現(xiàn)數(shù)據(jù)的跨域傳遞并保障跨域互聯(lián)安全?這又包含如何發(fā)現(xiàn)跨域資源、如何確定數(shù)據(jù)的跨域投遞路徑、如何實(shí)現(xiàn)分組高效跨域轉(zhuǎn)發(fā)、如何認(rèn)證節(jié)點(diǎn)合法性、如何防范跨域攻擊和數(shù)據(jù)泄露、如何快速精準(zhǔn)溯源等諸多問(wèn)題。顯然,解決上述諸多問(wèn)題需要多維名字空間之間進(jìn)行分工、協(xié)作甚至耦合,才能克服前述主要挑戰(zhàn),實(shí)現(xiàn)異構(gòu)體制網(wǎng)絡(luò)的安全高效互聯(lián)。其難點(diǎn)在于,解決上述每個(gè)問(wèn)題各自需要哪些名字空間(即如何分工和協(xié)作),這些名字空間能否復(fù)用,如何復(fù)用(即協(xié)同與耦合)?
本節(jié)介紹共生網(wǎng)絡(luò)——一種實(shí)現(xiàn)異構(gòu)體制網(wǎng)絡(luò)安全高效互聯(lián)的體系結(jié)構(gòu)與機(jī)理。針對(duì)科學(xué)問(wèn)題1,提出共生網(wǎng)絡(luò)對(duì)異構(gòu)體制網(wǎng)絡(luò)互聯(lián)而成網(wǎng)絡(luò)空間的普適表征機(jī)理。針對(duì)科學(xué)問(wèn)題2,基于前述普適表征機(jī)理,給出共生網(wǎng)絡(luò)的體系結(jié)構(gòu)模型,建立共生網(wǎng)絡(luò)的基本工作機(jī)理和共生網(wǎng)絡(luò)的跨域安全保障機(jī)理。
如前所述,必須采用多維名字空間對(duì)異構(gòu)網(wǎng)絡(luò)互聯(lián)而成的網(wǎng)絡(luò)空間進(jìn)行普適化表征。然而,隨著互聯(lián)網(wǎng)發(fā)展成為網(wǎng)絡(luò)空間,互聯(lián)網(wǎng)涉及經(jīng)濟(jì)、社會(huì)等眾多維度,為普適化表征帶來(lái)巨大挑戰(zhàn)。因此,必須抓住互聯(lián)網(wǎng)最本質(zhì)的特征。雖然社會(huì)上廣泛認(rèn)為互聯(lián)網(wǎng)最本質(zhì)的特征是提供“連接”,但近年來(lái)學(xué)術(shù)界逐步認(rèn)識(shí)到,互聯(lián)網(wǎng)最本質(zhì)的特征是傳遞信息,而提供連接僅僅是手段。相應(yīng)地,產(chǎn)業(yè)界提出了眾多以信息為中心的網(wǎng)絡(luò)體系架構(gòu)[6-8]。
本文團(tuán)隊(duì)通過(guò)長(zhǎng)期深入研究發(fā)現(xiàn),傳遞信息是互聯(lián)網(wǎng)(或者網(wǎng)絡(luò)空間)的功能本質(zhì),涉及以下5 個(gè)相互獨(dú)立的自然屬性:①傳什么(即內(nèi)容屬性),② 傳給誰(shuí)(即身份屬性),③傳到哪(即位置屬性),④怎么傳(即手段屬性),⑤何時(shí)傳(即時(shí)間屬性)。由于網(wǎng)絡(luò)空間的信息傳遞絕大多數(shù)情況下是即時(shí)的,且已有對(duì)時(shí)間的普適表征方法(即年、月、日、時(shí)、分、秒),后文不再單獨(dú)考慮時(shí)間屬性,而是在共生網(wǎng)絡(luò)的工作機(jī)理、安全保障機(jī)理中利用時(shí)間屬性。
根據(jù)上述自然屬性,共生網(wǎng)絡(luò)利用以下4 個(gè)名字空間對(duì)異構(gòu)網(wǎng)絡(luò)互聯(lián)而成的網(wǎng)絡(luò)空間進(jìn)行普適化表征:內(nèi)容名字,即SID(service identifier),用于表征傳什么;節(jié)點(diǎn)標(biāo)識(shí)(NID,node identifier),用于表征傳給誰(shuí);各類地址(address),用于表征傳到哪;路徑標(biāo)識(shí)(PID,path identifier),用于表征怎么傳。
2.1.1 內(nèi)容名字
內(nèi)容名字由兩部分構(gòu)成。當(dāng)一個(gè)節(jié)點(diǎn)要跨網(wǎng)提供一個(gè)內(nèi)容時(shí),該內(nèi)容的名字SID 為NID+N,其中,NID 為該節(jié)點(diǎn)的節(jié)點(diǎn)標(biāo)識(shí);N為該節(jié)點(diǎn)為該內(nèi)容生成的唯一標(biāo)識(shí),對(duì)靜態(tài)內(nèi)容而言,N為內(nèi)容的哈希,對(duì)動(dòng)態(tài)內(nèi)容或者服務(wù)而言,N由節(jié)點(diǎn)NID 指定。采用這種層次化的內(nèi)容名字,便于網(wǎng)絡(luò)間通告內(nèi)容名字時(shí)進(jìn)行內(nèi)容名字的聚合(類似IP 前綴聚合),從而保障網(wǎng)絡(luò)的規(guī)??蓴U(kuò)展性。
2.1.2 節(jié)點(diǎn)標(biāo)識(shí)
盡管每個(gè)網(wǎng)絡(luò)可以用各自的方式描述節(jié)點(diǎn)身份,共生網(wǎng)絡(luò)采用層次化、具備自證明特征的節(jié)點(diǎn)標(biāo)識(shí),既便于聚合保障網(wǎng)絡(luò)的規(guī)模可擴(kuò)展性,又便于進(jìn)行安全認(rèn)證。具體而言,對(duì)每一個(gè)需要進(jìn)行跨域通信的節(jié)點(diǎn),其節(jié)點(diǎn)標(biāo)識(shí)由兩部分構(gòu)成:網(wǎng)絡(luò)部分和自證明部分。網(wǎng)絡(luò)部分代表節(jié)點(diǎn)在哪個(gè)網(wǎng)絡(luò),由IANA(Internet assigned numbers authority)分配,網(wǎng)絡(luò)部分的長(zhǎng)度為32 bit,便于與現(xiàn)有互聯(lián)網(wǎng)兼容。自證明部分由一個(gè)公鑰/私鑰對(duì)生成,是公鑰的128 bit 哈希值,私鑰則由該節(jié)點(diǎn)保管而不向外通告,一個(gè)節(jié)點(diǎn)的自證明部分由該節(jié)點(diǎn)自身生成,并通過(guò)所在網(wǎng)絡(luò)保證唯一性,出現(xiàn)沖突時(shí)則重新生成。
2.1.3 各類地址
每種網(wǎng)絡(luò)體制可以有自己的地址,如IPv4、IPv6、地理坐標(biāo)等,便于根據(jù)網(wǎng)絡(luò)特點(diǎn)在網(wǎng)內(nèi)進(jìn)行分組轉(zhuǎn)發(fā),從而充分發(fā)揮該網(wǎng)絡(luò)的優(yōu)勢(shì)。這樣,共生網(wǎng)絡(luò)可以兼容現(xiàn)有的IPv4、IPv6 等網(wǎng)絡(luò)體制,從而實(shí)現(xiàn)各種不同網(wǎng)絡(luò)的共生融合。
2.1.4 路徑標(biāo)識(shí)
共生網(wǎng)絡(luò)的核心目的是利用各種異構(gòu)體制網(wǎng)絡(luò),完成網(wǎng)絡(luò)之間的信息傳遞。由于這些網(wǎng)絡(luò)有的采用分組交換,有的采用電路交換,因而共生網(wǎng)絡(luò)采用分組交換的方式跨域傳遞信息。與IPv6試圖替代IPv4 不同,共生網(wǎng)絡(luò)旨在利用已有的各種網(wǎng)絡(luò)進(jìn)行分組轉(zhuǎn)發(fā)。分組在跨越某種體制的網(wǎng)絡(luò)時(shí),可以在相應(yīng)入口路由器處封裝上該網(wǎng)絡(luò)體制的報(bào)頭,然后用該報(bào)頭將分組轉(zhuǎn)發(fā)到相應(yīng)的出口路由器,最后由出口路由器將相應(yīng)報(bào)頭解封,并轉(zhuǎn)發(fā)給下一個(gè)網(wǎng)絡(luò)(類似IP 分組跨越數(shù)據(jù)鏈路層異構(gòu)的網(wǎng)絡(luò))。因此,共生網(wǎng)絡(luò)重點(diǎn)關(guān)注異構(gòu)網(wǎng)絡(luò)之間的分組轉(zhuǎn)發(fā)。
異構(gòu)網(wǎng)絡(luò)之間的互聯(lián)方式繁多,2 個(gè)網(wǎng)絡(luò)既有可能利用光纖直連,也有可能利用IP 隧道連接,或者通過(guò)交換中心,如 IXP(Internet exchange point)連接,還有可能通過(guò)無(wú)線連接。同時(shí),2 個(gè)網(wǎng)絡(luò)之間的連接通道也可能不是一條,而是多條;即使只有一條通道,該通道中2 個(gè)網(wǎng)絡(luò)的端點(diǎn)也可能隨著時(shí)間變化(如通過(guò)無(wú)線連接時(shí),節(jié)點(diǎn)移動(dòng)會(huì)導(dǎo)致通道的端點(diǎn)變化)。因此,共生網(wǎng)絡(luò)不關(guān)注某種具體的連接方式,而是對(duì)這些連接方式進(jìn)行統(tǒng)一抽象。
本質(zhì)上,隨著互聯(lián)網(wǎng)發(fā)展成為網(wǎng)絡(luò)空間,網(wǎng)絡(luò)間的互聯(lián)關(guān)系逐漸演變成人類社會(huì)關(guān)系在網(wǎng)絡(luò)空間的投射,即網(wǎng)絡(luò)間根據(jù)社會(huì)(商業(yè))關(guān)系建立域間路徑,而連接方式是實(shí)現(xiàn)這種社會(huì)關(guān)系的具體手段。相應(yīng)地,給定2 個(gè)網(wǎng)絡(luò)間的連接關(guān)系,其連接方式可以多種多樣。因此,共生網(wǎng)絡(luò)對(duì)網(wǎng)絡(luò)間的域間路徑(代表社會(huì)關(guān)系)進(jìn)行命名。具體而言,共生網(wǎng)絡(luò)為每條域間路徑分配一個(gè)域間路徑標(biāo)識(shí)前綴PX。假定域間路徑標(biāo)識(shí)的長(zhǎng)度為L(zhǎng)bit,路徑標(biāo)識(shí)前綴PX 的長(zhǎng)度為lbit,則PX 代表2L-l個(gè)連續(xù)的域間路徑標(biāo)識(shí),其中第一個(gè)域間路徑標(biāo)識(shí)能夠被2L-l整除。例如,設(shè)L=32,l=24,則路徑標(biāo)識(shí)前綴192.168.10.0/24 代表了192.168.10.0,192.168.10.1,…,192.168.10.255 共256 個(gè)連續(xù)的域間路徑標(biāo)識(shí)。
由于域間路徑的數(shù)量眾多,共生網(wǎng)絡(luò)按照“正交復(fù)用”的原則為域間路徑分配域間路徑標(biāo)識(shí)前綴。給定2 個(gè)網(wǎng)絡(luò)A 和B,以及A 和B 間的一條域間路徑P0,此外分別有M和N條域間路徑。記A、B 與所有相鄰網(wǎng)絡(luò)的域間路徑集合分別為
記PXj(Y)為域間路徑Pj(Y)的域間路徑標(biāo)識(shí)前綴,其中Y代表A 或B,j=1,2,…,max(M,N),路徑標(biāo)識(shí)前綴的分配如圖1 所示。正交分配是指任意給定j≠ 0,PXj(Y)與PX0沒(méi)有交集,即沒(méi)有相同的域間路徑標(biāo)識(shí)。然而,在滿足正交分配的原則下,PX0可以被網(wǎng)絡(luò)中的多條域間路徑復(fù)用,從而避免集中分配域間路徑標(biāo)識(shí),既降低分配域間路徑標(biāo)識(shí)的復(fù)雜性,又防止壟斷。例如,PX0可以同時(shí)分配給圖1中虛線示意的兩條域間路徑。
圖1 路徑標(biāo)識(shí)前綴的分配
TCP/IP 網(wǎng)絡(luò)體系結(jié)構(gòu)模型和共生網(wǎng)絡(luò)體系結(jié)構(gòu)模型如圖2 所示。如前所述,共生網(wǎng)絡(luò)旨在通過(guò)各種體制異構(gòu)網(wǎng)絡(luò)的跨域安全互聯(lián),實(shí)現(xiàn)信息的跨域傳遞。因此,共生網(wǎng)絡(luò)的物理層、數(shù)據(jù)鏈路層與已有網(wǎng)絡(luò)體制類似。在網(wǎng)絡(luò)層,共生網(wǎng)絡(luò)在充分利用IPv4、IPv6 等各種網(wǎng)絡(luò)體制的同時(shí),引入域間PID 進(jìn)行跨域分組轉(zhuǎn)發(fā)。在網(wǎng)絡(luò)層之上,共生網(wǎng)絡(luò)抓住網(wǎng)絡(luò)傳遞信息的功能本質(zhì),引入內(nèi)容路由層,通過(guò)內(nèi)容名字SID 進(jìn)行跨域互聯(lián),從而屏蔽各種網(wǎng)絡(luò)體制的差異。需要指出的是,根據(jù)部分網(wǎng)絡(luò)的特點(diǎn),內(nèi)容路由層可以直接運(yùn)行在數(shù)據(jù)鏈路層之上,而不是必須運(yùn)行在網(wǎng)絡(luò)層之上。最上層是應(yīng)用層,與內(nèi)容名字(而非IP 地址)綁定。
圖2 TCP/IP 網(wǎng)絡(luò)體系結(jié)構(gòu)模型和共生網(wǎng)絡(luò)體系結(jié)構(gòu)模型
與TCP/IP 網(wǎng)絡(luò)體系結(jié)構(gòu)模型相比,共生網(wǎng)絡(luò)體系結(jié)構(gòu)模型沒(méi)有顯式的傳輸層。然而,這并不代表共生網(wǎng)絡(luò)不需要傳輸協(xié)議;相反,本文認(rèn)為應(yīng)該有各種傳輸協(xié)議組成的協(xié)議庫(kù),供各種應(yīng)用根據(jù)需要調(diào)用,從而鼓勵(lì)各種傳輸協(xié)議的創(chuàng)新與應(yīng)用。當(dāng)然,某些應(yīng)用也可以不調(diào)用協(xié)議庫(kù)中的傳輸協(xié)議,而是將擁塞控制等功能內(nèi)嵌到應(yīng)用中,類似Chrome內(nèi)嵌QUIC(quick UDP Internet connection)。
共生網(wǎng)絡(luò)的基本工作機(jī)理包含三方面:域內(nèi)域間解耦的路由組織模式、內(nèi)容名字驅(qū)動(dòng)的跨域互聯(lián)模式、“以拉促推、推拉結(jié)合”的跨域通信模式,分別介紹如下。
2.3.1 域內(nèi)域間解耦的路由組織模式
由于不同體制網(wǎng)絡(luò)采用的名字空間、分組格式、分組轉(zhuǎn)發(fā)方式等存在差異,共生網(wǎng)絡(luò)嚴(yán)格區(qū)分域內(nèi)和域間路由。域內(nèi)路由根據(jù)每個(gè)網(wǎng)絡(luò)采用的網(wǎng)絡(luò)體制確定;相應(yīng)地,每個(gè)網(wǎng)絡(luò)內(nèi)部的分組轉(zhuǎn)發(fā)方式也由其采用的網(wǎng)絡(luò)體制確定。
相反,共生網(wǎng)絡(luò)用域間路徑標(biāo)識(shí)進(jìn)行跨域分組轉(zhuǎn)發(fā)。為此,每個(gè)網(wǎng)絡(luò)的邊界路由器需要維護(hù)一個(gè)域間路由表,其中的一個(gè)路由表項(xiàng)對(duì)應(yīng)一個(gè)域間路徑標(biāo)識(shí)前綴。該表項(xiàng)記錄該域間路徑標(biāo)識(shí)對(duì)應(yīng)的域間路徑連接的網(wǎng)絡(luò)、去往該網(wǎng)絡(luò)的下一跳節(jié)點(diǎn)、去往下一跳節(jié)點(diǎn)的通信方式等。例如,圖1 中邊界路由器R2的域間路由表如表1 所示;其中設(shè)網(wǎng)絡(luò)B 采用IPv4,且網(wǎng)絡(luò)A 的邊界路由器R1和網(wǎng)絡(luò)B 的邊界路由器R2之間使用多協(xié)議標(biāo)簽交換(MPLS,multi-protocol label switching)。表1 中的第一行對(duì)應(yīng)域間路徑標(biāo)識(shí)前綴PX0的表項(xiàng),記錄了該前綴對(duì)應(yīng)的域間路徑(即R1~R2)連接的是網(wǎng)絡(luò)A,去往A 的下一跳節(jié)點(diǎn)是R1,且通過(guò)封裝MPLS 報(bào)頭可將分組從邊界路由器R2發(fā)給R1。類似地,表1 中的第二行對(duì)應(yīng)域間路徑標(biāo)識(shí)前綴PX1(B)的表項(xiàng),記錄了該前綴對(duì)應(yīng)的域間路徑(即R0~R9)連接的是網(wǎng)絡(luò)D,去往D 的下一跳節(jié)點(diǎn)是邊界路由器R9,且通過(guò)封裝IPv4 報(bào)頭可將分組從邊界路由器R2發(fā)給R9。
表1 路由器R2 的域間路由表
當(dāng)邊界路由器收到(攜帶域間路徑標(biāo)識(shí))的分組時(shí),通過(guò)查找域間路由表,可知應(yīng)該將該分組發(fā)往哪個(gè)下一跳節(jié)點(diǎn)。例如,當(dāng)圖1 中的邊界路由器R2收到一個(gè)攜帶域間路徑標(biāo)識(shí)PID(屬于PX0)的分組時(shí),R2通過(guò)查找其域間路由表可知,應(yīng)該將該分組發(fā)送給網(wǎng)絡(luò)A 的邊界路由器R1;類似地,當(dāng)R2收到一個(gè)攜帶域間路徑標(biāo)識(shí)PID(屬于PX1(B))的分組時(shí),R2通過(guò)查找其域間路由表,可知應(yīng)該將該分組發(fā)送給網(wǎng)絡(luò)B 的邊界路由器R9。這里需要說(shuō)明以下幾點(diǎn)。
1) 2.1 節(jié)所述域間路徑標(biāo)識(shí)的正交分配原則,保證了每個(gè)域間路徑標(biāo)識(shí)在某個(gè)給定邊界路由器最多只能匹配一個(gè)路由表項(xiàng),使邊界路由器可以利用精確匹配(而不是最長(zhǎng)前綴匹配)進(jìn)行路由表的查找,從而提高查表效率。
2) 由于每個(gè)網(wǎng)絡(luò)的鄰域數(shù)量較少,邊界路由器所維護(hù)域間路由表的規(guī)模較小,從而保障了共生網(wǎng)絡(luò)跨域互聯(lián)的規(guī)??蓴U(kuò)展性。事實(shí)上,截至2021年12 月14 日,互聯(lián)網(wǎng)中一個(gè)自治系統(tǒng)(AS,autonomous system)的鄰域數(shù)量最多為9 259 個(gè)。即使2 個(gè)鄰域之間有4 條域間路徑,共生網(wǎng)絡(luò)中域間路由表的規(guī)模也不到4 萬(wàn)條。與此對(duì)比,現(xiàn)有互聯(lián)網(wǎng)核心網(wǎng)路由表中的路由條目已超過(guò)93 萬(wàn)條,是共生網(wǎng)絡(luò)域間路由表規(guī)模的23 倍。由于存儲(chǔ)小規(guī)模路由表所需的三態(tài)內(nèi)容尋址存儲(chǔ)器(TCAM,ternary content addressable memory)更小,且TCAM能耗極高,因此共生網(wǎng)絡(luò)邊界路由器的能耗將低于IP 路由器。
3) 由于2 個(gè)網(wǎng)絡(luò)之間的域間路徑數(shù)量由它們之間的社會(huì)關(guān)系確定,這使2 個(gè)網(wǎng)絡(luò)之間的連接關(guān)系相對(duì)穩(wěn)定,因而共生網(wǎng)絡(luò)中的邊界路由器不會(huì)頻繁更新域間路由表,具有更好的路由穩(wěn)定性。相反,IPv4 核心網(wǎng)路由器的路由表頻繁更新,例如2021 年12 月2日BGP(border gateway protocol)的峰值更新速率高達(dá)7 899 前綴/秒,均值也高達(dá)18.19 前綴/秒。
4) 為每條域間路徑分配一個(gè)域間路徑標(biāo)識(shí)前綴(而不是一個(gè)固定的域間路徑標(biāo)識(shí)),使共生網(wǎng)絡(luò)可以利用內(nèi)容名字、節(jié)點(diǎn)標(biāo)識(shí)等信息,耦合生成域間路徑標(biāo)識(shí),從而實(shí)現(xiàn)安全的跨域互聯(lián)。
從上面的描述可以看出,通過(guò)將域內(nèi)域間路由解耦,并用域間路徑標(biāo)識(shí)轉(zhuǎn)發(fā)跨域分組,共生網(wǎng)絡(luò)能夠支持各種異構(gòu)網(wǎng)絡(luò)的融合共生。同時(shí),一個(gè)網(wǎng)絡(luò)所用網(wǎng)絡(luò)體制的更新?lián)Q代,不會(huì)影響其他網(wǎng)絡(luò),也不需要其他網(wǎng)絡(luò)的協(xié)同。因此,共生網(wǎng)絡(luò)不僅具備很好的普適性,而且可以鼓勵(lì)網(wǎng)絡(luò)體制的創(chuàng)新與應(yīng)用。
2.3.2 內(nèi)容名字驅(qū)動(dòng)的跨域互聯(lián)模式
如前所述,盡管不同網(wǎng)絡(luò)體制采用的名字空間、分組格式等不同,但它們的功能本質(zhì)相同,即傳遞信息。因此,共生網(wǎng)絡(luò)為網(wǎng)絡(luò)中的信息(或內(nèi)容)命名,并在網(wǎng)絡(luò)間通告內(nèi)容名字的可達(dá)性,屏蔽網(wǎng)絡(luò)異構(gòu)性的同時(shí)實(shí)現(xiàn)跨域互聯(lián)。
由于網(wǎng)絡(luò)體制不同,且不希望改變每個(gè)網(wǎng)絡(luò)體制的既有工作方式,使共生網(wǎng)絡(luò)不能像IP或者NDN那樣,在每個(gè)路由器通告內(nèi)容名字的可達(dá)性(雖然新網(wǎng)絡(luò)可以嘗試這樣做)。因此,共生網(wǎng)絡(luò)在每個(gè)網(wǎng)絡(luò)部署一個(gè)邏輯上集中但可分布式實(shí)現(xiàn)的資源管理器(RM,resource manager),以層疊的方式在該網(wǎng)絡(luò)運(yùn)行。每個(gè)資源管理器維護(hù)一個(gè)內(nèi)容路由表,記錄內(nèi)容名字的可達(dá)性。內(nèi)容路由表中的每個(gè)路由條目對(duì)應(yīng)一個(gè)內(nèi)容名字(前綴),記錄去往相應(yīng)內(nèi)容提供者的下一跳節(jié)點(diǎn),去往內(nèi)容提供者的下一跳網(wǎng)絡(luò)、該資源管理器所在網(wǎng)絡(luò)與下一跳網(wǎng)絡(luò)之間的域間路徑標(biāo)識(shí)前綴等信息如表2 所示。
表2 資源管理器RMb 維護(hù)的內(nèi)容路由表
當(dāng)一個(gè)內(nèi)容提供者要將某個(gè)內(nèi)容向其他網(wǎng)絡(luò)提供時(shí),該內(nèi)容提供者首先向其本地資源管理器通告相應(yīng)內(nèi)容名字。內(nèi)容名字(前綴)通告如圖3 所示,當(dāng)內(nèi)容提供者S2有名為SID1和SID2的內(nèi)容要向外提供時(shí),其先將SID1和SID2通告給本地資源管理器RMc。本地資源管理器收到該內(nèi)容名字通告后,首先檢查其內(nèi)容路由表中是否記錄有相應(yīng)內(nèi)容名字的表項(xiàng)。如果有,則檢查內(nèi)容提供者與表項(xiàng)中記錄的內(nèi)容提供者是否相同;如果相同,則更新相應(yīng)條目的TTL(time to live)值。如果內(nèi)容路由表中沒(méi)有記錄相應(yīng)的內(nèi)容名字,或者記錄的下一跳節(jié)點(diǎn)與通告消息中的內(nèi)容提供者不同,則為該內(nèi)容名字增加一個(gè)表項(xiàng),表項(xiàng)中的下一跳節(jié)點(diǎn)為發(fā)送該內(nèi)容名字通告的節(jié)點(diǎn),下一跳網(wǎng)絡(luò)和PID 前綴為空。之后,本地資源管理器根據(jù)策略將該內(nèi)容名字通告消息發(fā)送給鄰域;如圖3 所示,RMc將通告消息發(fā)送給RMb。
圖3 內(nèi)容名字(前綴)通告
需要注意的是,資源管理器在將內(nèi)容名字通告消息發(fā)送給鄰域之前,需將資源管理器所在網(wǎng)絡(luò)和鄰域之間的域間路徑標(biāo)識(shí)前綴添加到內(nèi)容名字通告消息中。這樣,資源管理器所在網(wǎng)絡(luò)的邊界路由器可以根據(jù)該域間路徑標(biāo)識(shí)前綴將該通告消息發(fā)送給鄰域;同時(shí),鄰域的資源管理器收到該內(nèi)容名字通告消息后,也可以知道該內(nèi)容名字通告消息來(lái)自哪個(gè)網(wǎng)絡(luò)。
當(dāng)資源管理器收到從鄰域發(fā)來(lái)的內(nèi)容名字通告消息時(shí),檢查其內(nèi)容路由表中是否記錄有相同內(nèi)容名字的表項(xiàng)。如果有,則檢查表項(xiàng)中的下一跳網(wǎng)絡(luò)是否與內(nèi)容名字通告消息中攜帶域間路徑標(biāo)識(shí)前綴對(duì)應(yīng)的鄰域相同;如果相同,則更新相應(yīng)條目的TTL 值。如果內(nèi)容路由表中沒(méi)有記錄相應(yīng)的內(nèi)容名字,或者記錄的下一跳網(wǎng)絡(luò)與內(nèi)容名字通告消息中對(duì)應(yīng)的網(wǎng)絡(luò)不同,則為該內(nèi)容名字增加一個(gè)表項(xiàng),表項(xiàng)中的域間路徑標(biāo)識(shí)前綴通告消息中攜帶域間路徑標(biāo)識(shí)前綴,下一跳網(wǎng)絡(luò)為該域間路徑標(biāo)識(shí)前綴對(duì)應(yīng)的鄰域。例如圖3 中,當(dāng)資源管理器RMb接收到從鄰域C 發(fā)來(lái)的內(nèi)容名字通告消息時(shí),則將內(nèi)容名字SID1和SID2加入其內(nèi)容路由表,如表2中第一行和第二行所示。此后,資源管理器根據(jù)策略,將該通告消息發(fā)送給鄰域。
需要指出的是,由于內(nèi)容名字的層次化設(shè)計(jì),資源管理器可以對(duì)鄰域通告的內(nèi)容名字進(jìn)行聚合。例如表2 中,當(dāng)SID1和SID2中的NID 部分相同時(shí),RMb可以將這2 個(gè)表項(xiàng)聚合成一個(gè)只包含NID 的表項(xiàng)。通過(guò)聚合,可以減少內(nèi)容路由表的條目數(shù)量和內(nèi)容名字通告數(shù)量,保障網(wǎng)絡(luò)的規(guī)??蓴U(kuò)展性。
2.3.3 “以拉促推、推拉結(jié)合”的跨域通信模式
IP 采用“推”的通信模式,網(wǎng)絡(luò)中一個(gè)節(jié)點(diǎn)可以向任意節(jié)點(diǎn)主動(dòng)推送任意數(shù)量的分組,可能會(huì)導(dǎo)致網(wǎng)絡(luò)攻擊泛濫[16]。NDN 顛覆了IP 推的通信模式,采取“拉”的通信模式[7];但是NDN 中的每個(gè)請(qǐng)求只能返回一個(gè)數(shù)據(jù)分組,導(dǎo)致請(qǐng)求分組數(shù)量太多。因此,共生網(wǎng)絡(luò)采用“以拉促推、推拉結(jié)合”的跨域通信模式。共生網(wǎng)絡(luò)的通信模式如圖4 所示,當(dāng)一個(gè)用戶U 需要獲取某個(gè)內(nèi)容時(shí),向其本地資源管理器(圖4 中RMa)發(fā)送一個(gè)請(qǐng)求消息;該請(qǐng)求消息包含所需內(nèi)容的內(nèi)容名字(如SID1)、請(qǐng)求者U 的節(jié)點(diǎn)標(biāo)識(shí)等信息。當(dāng)本地資源管理器RMa收到該請(qǐng)求消息時(shí),查詢其內(nèi)容路由表,得知應(yīng)該將該請(qǐng)求消息發(fā)送給鄰域B,且去往鄰域B 的下一跳為邊界路由器R1,R1與鄰域B 間的域間路徑標(biāo)識(shí)前綴為PX0。此時(shí),資源管理器RMa用式(3)為該請(qǐng)求消息計(jì)算一個(gè)域間路徑標(biāo)識(shí)PID1(屬于路徑標(biāo)識(shí)前綴PX0),然后將該域間路徑標(biāo)識(shí)添加在請(qǐng)求消息的尾部,并將該請(qǐng)求發(fā)送給邊界路由器R1。邊界路由器R1收到該請(qǐng)求后,通過(guò)PID1得知應(yīng)該將該請(qǐng)求消息轉(zhuǎn)發(fā)給鄰域B 的邊界路由器R2。
圖4 共生網(wǎng)絡(luò)的通信模式
當(dāng)邊界路由器R2收到該請(qǐng)求消息后,將該請(qǐng)求消息轉(zhuǎn)發(fā)給其本地資源管理器RMb。資源管理器RMb收到請(qǐng)求消息后,查找其內(nèi)容路由表,得知應(yīng)該將該請(qǐng)求消息發(fā)送給鄰域C,且去往鄰域C 的下一跳為邊界路由器R7,R7與鄰域C 間的域間路徑標(biāo)識(shí)前綴為PX2(B)。類似地,資源管理器RMb為該請(qǐng)求消息計(jì)算一個(gè)域間路徑標(biāo)識(shí)PID2(屬于路徑標(biāo)識(shí)前綴PX2(B)),然后將PID2添加在請(qǐng)求消息的尾部,并將該請(qǐng)求發(fā)送給邊界路由器R7。邊界路由器R7收到該請(qǐng)求后,通過(guò)PID2得知應(yīng)該將該請(qǐng)求轉(zhuǎn)發(fā)給鄰域C 的邊界路由器R8。
當(dāng)邊界路由器R8收到該請(qǐng)求消息后,將該請(qǐng)求消息轉(zhuǎn)發(fā)給其本地資源管理器RMc。資源管理器RMc收到請(qǐng)求消息后,查找其內(nèi)容路由表,得知應(yīng)該將該請(qǐng)求消息發(fā)送給內(nèi)容提供者S2。內(nèi)容提供者S2收到RMc發(fā)來(lái)的請(qǐng)求消息時(shí),通過(guò)請(qǐng)求消息中的SID1,得知用戶U 需要的內(nèi)容;通過(guò)請(qǐng)求消息中攜帶的域間路徑標(biāo)識(shí)PID2和PID1,得知去往用戶U的域間路徑。此時(shí),內(nèi)容提供者S2將SID1對(duì)應(yīng)內(nèi)容以分組的形式推送給用戶U,其中每個(gè)分組都應(yīng)攜帶域間路徑標(biāo)識(shí)PID2和PID1,用戶U 的節(jié)點(diǎn)標(biāo)識(shí)以及SID1。
事實(shí)上,內(nèi)容提供者S2根據(jù)域間路徑標(biāo)識(shí)PID2,可知應(yīng)該將分組發(fā)送給邊界路由器R8;而R8根據(jù)域間路徑標(biāo)識(shí)PID2,可知應(yīng)該將分組發(fā)送給邊界路由器R7。邊界路由器R7收到分組后,首先用式(3)校驗(yàn)PID2的合法性,若PID2非法,邊界路由器R7直接丟棄該分組,否則邊界路由器R7根據(jù)域間路徑標(biāo)識(shí)PID1,可知應(yīng)該將分組發(fā)送給邊界路由器R2;而R2根據(jù)域間路徑標(biāo)識(shí)PID1,可知應(yīng)該將分組發(fā)送給邊界路由器R1。若PID1合法,邊界路由器R1則將分組發(fā)送給用戶U。
需要指出三點(diǎn)。首先,請(qǐng)求消息在從用戶U 轉(zhuǎn)發(fā)到內(nèi)容提供者的過(guò)程中,會(huì)收集沿途各個(gè)網(wǎng)絡(luò)的最大傳輸單元(MTU,maximum transmission unit),從而便于內(nèi)容提供者封裝合適大小的分組。其次,內(nèi)容提供者在向用戶U 推送分組的過(guò)程中,涉及擁塞控制等。最后,內(nèi)容提供者可以對(duì)用戶分組進(jìn)行加密傳輸。
隨著互聯(lián)網(wǎng)與實(shí)體經(jīng)濟(jì)深度融合,眾多網(wǎng)絡(luò)在互聯(lián)互通的同時(shí),迫切需要保障跨域互聯(lián)安全,包含2 個(gè)主要方面:攻擊數(shù)據(jù)進(jìn)不來(lái),隱私數(shù)據(jù)出不去。攻擊數(shù)據(jù)進(jìn)不來(lái),意味著凡是未經(jīng)某個(gè)網(wǎng)絡(luò)允許進(jìn)入該網(wǎng)絡(luò)的數(shù)據(jù),都不能進(jìn)入該網(wǎng)絡(luò);隱私數(shù)據(jù)出不去,意味著凡是未經(jīng)某個(gè)網(wǎng)絡(luò)允許發(fā)送到網(wǎng)外的數(shù)據(jù),都不能被轉(zhuǎn)發(fā)到該網(wǎng)絡(luò)之外。為了實(shí)現(xiàn)上述目標(biāo),共生網(wǎng)絡(luò)基于前述基本工作機(jī)理,通過(guò)將多維名字空間的耦合與協(xié)同,建立了跨域安全保障機(jī)理。
2.4.1 基于路徑標(biāo)識(shí)耦合生成的跨域攻擊防范機(jī)理
如前所述,每個(gè)網(wǎng)絡(luò)的資源管理器在通過(guò)某條域間路徑(對(duì)應(yīng)域間路徑標(biāo)識(shí)前綴PX)向鄰域轉(zhuǎn)發(fā)跨域請(qǐng)求消息時(shí),會(huì)為該請(qǐng)求消息生成一個(gè)域間路徑標(biāo)識(shí)PID[17]。假設(shè)一個(gè)請(qǐng)求消息攜帶的內(nèi)容名字為SID,請(qǐng)求者的節(jié)點(diǎn)標(biāo)識(shí)為NID,該請(qǐng)求消息攜帶的域間路徑標(biāo)識(shí)為 PID0(若未攜帶,則PID0=0)。該資源管理器所在網(wǎng)絡(luò)周期性生成一個(gè)私密的隨機(jī)數(shù)(SN,secret number),并按照式(3)生成域間路徑標(biāo)識(shí)PID。
其中,||為連接運(yùn)算符,將lbit 的PX 與L-lbit 的HMAC 連接成Lbit 的域間路徑標(biāo)識(shí)PID;HMAC按照式(4)耦合生成。
在實(shí)際實(shí)現(xiàn)時(shí),f(·)為單向散列函數(shù),既便于資源管理器高效計(jì)算,又難以被其他節(jié)點(diǎn)偽造(因?yàn)椴恢繱N)[18]。當(dāng)該資源管理器的邊界路由器收到一個(gè)分組時(shí),根據(jù)上述域間路徑標(biāo)識(shí)的生成機(jī)理,校驗(yàn)分組中攜帶域間路徑標(biāo)識(shí)的合法性。只有當(dāng)域間路徑標(biāo)識(shí)合法時(shí),才繼續(xù)轉(zhuǎn)發(fā)該分組;否則,丟棄該分組。同時(shí),邊界路由器還可以維護(hù)一個(gè)計(jì)數(shù)器,記錄從鄰域發(fā)來(lái)的攜帶非法域間路徑標(biāo)識(shí)的分組數(shù)量。如果沒(méi)有攻擊行為發(fā)生,則域間路徑標(biāo)識(shí)不會(huì)出錯(cuò)。這是因?yàn)殡m然信道有誤碼率,但考慮到數(shù)據(jù)鏈路層糾錯(cuò),則域間路徑標(biāo)識(shí)不會(huì)出錯(cuò)。相反,即使有攻擊行為,也可以被快速檢測(cè),且攻擊數(shù)據(jù)分組在邊界路由器處被丟棄而不能進(jìn)入網(wǎng)絡(luò)。
同樣,這里需要指出兩點(diǎn)。首先,由于域間路徑標(biāo)識(shí)的空間有限,攻擊者可以低速率猜測(cè)某個(gè)網(wǎng)絡(luò)用于計(jì)算域間路徑標(biāo)識(shí)的SN;因此,每個(gè)網(wǎng)絡(luò)應(yīng)該周期性改變SN。但是,當(dāng)SN 改變后,上一周期生成的域間路徑標(biāo)識(shí)不能用當(dāng)前周期的SN 進(jìn)行校驗(yàn)。為此,邊界路由器需要用2 個(gè)周期的SN 分別校驗(yàn)域間路徑標(biāo)識(shí);只要其中一個(gè)可以得到合法的域間路徑標(biāo)識(shí),即可放行分組。其次,式(4)中計(jì)算HMAC 時(shí),使用了上一跳域間路徑標(biāo)識(shí)PID0,從而將請(qǐng)求消息和分組經(jīng)過(guò)的所有域間路徑“鏈接”起來(lái),使攻擊者更難偽造合法的域間路徑標(biāo)識(shí)。
2.4.2 基于多維名字逐分組過(guò)濾的數(shù)據(jù)泄露防范機(jī)理
為了實(shí)現(xiàn)隱私數(shù)據(jù)出不去,內(nèi)容提供者所在網(wǎng)絡(luò)的資源管理器和邊界路由器基于多維名字空間,對(duì)出網(wǎng)數(shù)據(jù)分組進(jìn)行逐分組過(guò)濾。為此,邊界路由器維護(hù)一個(gè)請(qǐng)求列表;該列表中的每一個(gè)條目對(duì)應(yīng)一個(gè)內(nèi)容名字,記錄了以下信息。
1) 發(fā)送該請(qǐng)求的用戶(圖4 中U),保證數(shù)據(jù)僅能發(fā)送給對(duì)應(yīng)的用戶。
2) 該請(qǐng)求經(jīng)過(guò)的域間路徑標(biāo)識(shí)序列(圖4 中的PID1和PID2),保證數(shù)據(jù)僅能根據(jù)指定路徑發(fā)送給對(duì)應(yīng)的用戶。
3) 內(nèi)容提供者的節(jié)點(diǎn)標(biāo)識(shí)(圖4 中的S2),防止網(wǎng)絡(luò)內(nèi)的其他節(jié)點(diǎn)通過(guò)偵聽(tīng)獲取U、域間路徑標(biāo)識(shí)序列、SID 等信息后,利用這些信息將隱私數(shù)據(jù)發(fā)送到網(wǎng)外。
共生網(wǎng)絡(luò)中基于多維名字逐分組過(guò)濾的數(shù)據(jù)泄露防范機(jī)理如圖5 所示。當(dāng)邊界路由器收到請(qǐng)求消息后,將該請(qǐng)求消息轉(zhuǎn)發(fā)給其本地資源管理器,如圖5 中(1)所示。資源管理器查詢其內(nèi)容路由表,如果未能找到請(qǐng)求消息中攜帶內(nèi)容名字對(duì)應(yīng)的條目,則將該請(qǐng)求消息作為異常信息甚至請(qǐng)求分組攻擊告警;如果找到對(duì)應(yīng)的條目,則向邊界路由器發(fā)送通告,將內(nèi)容提供者的節(jié)點(diǎn)標(biāo)識(shí)發(fā)送給邊界路由器,如圖5 中(2)所示。同時(shí),資源管理器向內(nèi)容提供者轉(zhuǎn)發(fā)該請(qǐng)求消息,如圖5 中(3)所示。邊界路由器收到該通告后,在請(qǐng)求列表中為請(qǐng)求的內(nèi)容名字增加一個(gè)條目。當(dāng)內(nèi)容提供者收到請(qǐng)求消息后,將相應(yīng)內(nèi)容以分組形式經(jīng)邊界路由器發(fā)送給內(nèi)容請(qǐng)求者,如圖5 中(4)所示。邊界路由器收到分組后,查詢其請(qǐng)求列表,并將分組中攜帶信息與表中記錄的信息進(jìn)行比對(duì)。只有比對(duì)成功,才向外網(wǎng)轉(zhuǎn)發(fā)該分組。當(dāng)內(nèi)容提供者發(fā)送完畢相應(yīng)數(shù)據(jù)后,向邊界路由器發(fā)送一個(gè)通告消息,讓其從請(qǐng)求列表中將相應(yīng)內(nèi)容名字對(duì)應(yīng)的條目刪除,從而減少請(qǐng)求表的規(guī)模,如圖5 中(5)所示。
圖5 數(shù)據(jù)泄露防范機(jī)理
需要指出的是,上述數(shù)據(jù)泄露防范機(jī)理僅從網(wǎng)絡(luò)的角度進(jìn)行考慮,若上層應(yīng)用被敵手控制并利用共生網(wǎng)絡(luò)的合法通信流程,將數(shù)據(jù)編碼在合法數(shù)據(jù)中傳給網(wǎng)外,則是共生網(wǎng)絡(luò)解決不了的。因此,保障應(yīng)用本身的安全,在共生網(wǎng)絡(luò)中依然十分重要。不過(guò),只要將邊界路由器的請(qǐng)求表作為日志進(jìn)行記錄,即可追蹤數(shù)據(jù)在何時(shí)、從哪個(gè)節(jié)點(diǎn)、沿什么路徑、被泄露到了哪里,從而便于威懾和發(fā)現(xiàn)數(shù)據(jù)泄露者。
本文開(kāi)展了大規(guī)模仿真,研發(fā)了協(xié)議軟件,研制了原型設(shè)備,構(gòu)建了原型系統(tǒng),對(duì)共生網(wǎng)絡(luò)的上述工作機(jī)制和機(jī)理的可行性與正確性進(jìn)行了驗(yàn)證。下面介紹原型系統(tǒng)的部分實(shí)驗(yàn)結(jié)果和目前已經(jīng)生成的部分能力。
本文從大規(guī)模仿真和小規(guī)模原型系統(tǒng)實(shí)驗(yàn)2個(gè)方面,對(duì)共生網(wǎng)絡(luò)的基本工作機(jī)制和跨域安全保障機(jī)理等進(jìn)行了驗(yàn)證。首先,基于OMNet++仿真軟件,構(gòu)建了包含3 萬(wàn)個(gè)網(wǎng)絡(luò)(含IPv4 網(wǎng)絡(luò)、IPv6 網(wǎng)絡(luò)、NDN、基于路徑標(biāo)識(shí)和內(nèi)容名字進(jìn)行轉(zhuǎn)發(fā)的網(wǎng)絡(luò)[19-20])、20 萬(wàn)個(gè)節(jié)點(diǎn)的大規(guī)模仿真環(huán)境,驗(yàn)證了共生網(wǎng)絡(luò)基本工作機(jī)制和跨域安全保障機(jī)理的可行性與正確性[21]。其次,研發(fā)了協(xié)議軟件,研制了原型設(shè)備,構(gòu)建了如圖6 所示的原型系統(tǒng),開(kāi)發(fā)了文件傳輸、視頻傳輸、Web 瀏覽等典型應(yīng)用,驗(yàn)證了共生網(wǎng)絡(luò)的實(shí)用性,并成功驗(yàn)證了共生網(wǎng)絡(luò)的跨域攻擊防范和數(shù)據(jù)泄露防范能力[22]。限于篇幅,本文僅給出邊界路由器和資源管理器等共生網(wǎng)絡(luò)核心設(shè)備的性能測(cè)試結(jié)果。
圖6 原型系統(tǒng)
3.1.1 邊界路由器的性能測(cè)試結(jié)果
邊界路由器性能測(cè)試采用兩臺(tái)Dell PowerEdge R740 服務(wù)器,服務(wù)器CPU 型號(hào)為Intel(R) Xeon(R) Gold 5218,操作系統(tǒng)為Ubuntu 16.04,DPDK 版本為17.11.10,網(wǎng)卡型號(hào)為Intel(R) Ethernet Converged Network Adapter XL710-Q2,具有2 個(gè)40 Gbit/s 端口。在一臺(tái)服務(wù)器上運(yùn)行邊界路由器程序,另一臺(tái)服務(wù)器上運(yùn)行發(fā)包軟件,兩臺(tái)服務(wù)器的2 個(gè)網(wǎng)口分別通過(guò)兩根光纖直連,由發(fā)包軟件向邊界路由器發(fā)送數(shù)據(jù)分組并統(tǒng)計(jì)邊界路由器的轉(zhuǎn)發(fā)速率。
當(dāng)數(shù)據(jù)分組總長(zhǎng)度為1 108 B、邊界路由器維護(hù)的域間路由表表項(xiàng)數(shù)量為100 時(shí),邊界路由器轉(zhuǎn)發(fā)數(shù)據(jù)分組的性能測(cè)試結(jié)果如圖7 所示。
圖7 邊界路由器轉(zhuǎn)發(fā)數(shù)據(jù)分組的性能測(cè)試結(jié)果
從圖7 可以看出,邊界路由器目前每秒可以處理19.4~ 23.4 Gbit/s 的入網(wǎng)流量,對(duì)應(yīng)219 萬(wàn)~264 萬(wàn)分組。需要指出的是,隨著表項(xiàng)數(shù)量的增加,路由器能夠處理的入域數(shù)據(jù)分組流量?jī)H略有降低。這主要是因?yàn)槁酚杀聿檎也捎镁_匹配,且式(3)用的哈希算法跟路由表大小無(wú)關(guān)[23]。邊界路由器目前每秒可以處理14.5~27.3 Gbit/s 的出網(wǎng)流量,對(duì)應(yīng)164 萬(wàn)~308 萬(wàn)分組。同時(shí),隨著出網(wǎng)數(shù)據(jù)對(duì)應(yīng)內(nèi)容名字的增加,路由器處理的出網(wǎng)數(shù)據(jù)流量逐步下降。這主要是因?yàn)?,為了防止?shù)據(jù)泄露并對(duì)數(shù)據(jù)的流向進(jìn)行精細(xì)粒度管控,數(shù)據(jù)源所在網(wǎng)絡(luò)的邊界路由器在轉(zhuǎn)發(fā)出網(wǎng)分組時(shí),不僅需要查找分組中攜帶的SID 是否在出域數(shù)據(jù)管控表中,而且要將該分組中攜帶的域間路徑標(biāo)識(shí)序列與表中記錄的序列進(jìn)行比對(duì)。IP 流量可以充分利用40 Gbit/s 的帶寬,這主要是因?yàn)镮P僅做盡力而為的分組轉(zhuǎn)發(fā),而不做哈希校驗(yàn)等安全操作。
3.1.2 資源管理器的性能測(cè)試結(jié)果
資源管理器的性能測(cè)試環(huán)境與上述邊界路由器相同。表3 給出了資源管理器在不同情形下轉(zhuǎn)發(fā)請(qǐng)求包的性能測(cè)試結(jié)果[24-25]。結(jié)果顯示,當(dāng)資源管理器不為請(qǐng)求包耦合計(jì)算域間路徑標(biāo)識(shí)時(shí)(第一行和第三行),目前每秒能夠轉(zhuǎn)發(fā)超過(guò)300 萬(wàn)個(gè)請(qǐng)求;而耦合計(jì)算域間路徑標(biāo)識(shí)時(shí)(第二行和第四行),資源管理器目前每秒只能轉(zhuǎn)發(fā)100 萬(wàn)個(gè)左右的請(qǐng)求。需要說(shuō)明的是,上述結(jié)果是單核處理場(chǎng)景;若采用多核處理,可以提升轉(zhuǎn)發(fā)性能。同時(shí),當(dāng)用戶需求太大時(shí),可以采用分布式處理。
表3 資源管理器在不同情形下轉(zhuǎn)發(fā)請(qǐng)求包的性能測(cè)試結(jié)果
目前,共生網(wǎng)絡(luò)已經(jīng)形成了跨域攻擊防范、數(shù)據(jù)泄露防范、精準(zhǔn)實(shí)時(shí)溯源、精準(zhǔn)實(shí)時(shí)態(tài)勢(shì)感知、精細(xì)粒度管控等一系列能力,簡(jiǎn)要介紹如下。
3.2.1 跨域攻擊防范能力
如前所述,共生網(wǎng)絡(luò)的域間路徑標(biāo)識(shí)耦合生成機(jī)理,用節(jié)點(diǎn)標(biāo)識(shí)、內(nèi)容名字等信息耦合生成域間路徑標(biāo)識(shí),使攻擊者難以偽造域間路徑標(biāo)識(shí)。結(jié)合共生網(wǎng)絡(luò)以“拉促推、推拉結(jié)合”的跨域通信模式,使一個(gè)節(jié)點(diǎn)只有收到請(qǐng)求者發(fā)送的請(qǐng)求并從中獲得合法域間路徑標(biāo)識(shí)(序列),該節(jié)點(diǎn)才能將數(shù)據(jù)分組發(fā)送到請(qǐng)求者;否則,數(shù)據(jù)分組會(huì)因?yàn)閿y帶的域間路徑標(biāo)識(shí)非法而被邊界路由器丟棄,而不能到達(dá)請(qǐng)求者。正因如此,共生網(wǎng)絡(luò)能夠從根本上防范IP 網(wǎng)絡(luò)中廣泛存在的反射攻擊。
然而,共生網(wǎng)絡(luò)中的內(nèi)容提供者要將內(nèi)容名字通告給外網(wǎng),且要接收外網(wǎng)發(fā)來(lái)的請(qǐng)求消息。因此,共生網(wǎng)絡(luò)中的內(nèi)容提供者有可能遭受請(qǐng)求分組攻擊,即攻擊者通過(guò)發(fā)送大量請(qǐng)求消息來(lái)實(shí)施攻擊。幸運(yùn)的是,共生網(wǎng)絡(luò)很容易檢測(cè)與防范請(qǐng)求分組攻擊[26]。若攻擊者發(fā)送大量合法請(qǐng)求(即請(qǐng)求的內(nèi)容名字確實(shí)存在),則將會(huì)有數(shù)據(jù)分組返回給攻擊者。由于一個(gè)請(qǐng)求消息對(duì)應(yīng)的內(nèi)容通常需要多個(gè)數(shù)據(jù)分組進(jìn)行發(fā)送,且數(shù)據(jù)分組的大小通常遠(yuǎn)大于請(qǐng)求消息的大小,攻擊者發(fā)送大量合法請(qǐng)求時(shí),易形成針對(duì)攻擊者自身的反射攻擊。因此,攻擊者通常不會(huì)通過(guò)發(fā)送合法請(qǐng)求實(shí)施攻擊。若攻擊者通過(guò)發(fā)送非法請(qǐng)求進(jìn)行攻擊,則由于請(qǐng)求的內(nèi)容名字不存在,這樣的請(qǐng)求很容易被檢測(cè)。此時(shí),請(qǐng)求消息中攜帶的域間路徑標(biāo)識(shí)(序列),可以被用于對(duì)攻擊者的精準(zhǔn)溯源,從而阻止攻擊[26]。
3.2.2 數(shù)據(jù)泄露防范能力
共生網(wǎng)絡(luò)基于多維名字逐分組過(guò)濾的數(shù)據(jù)泄露防范機(jī)理,能夠有效阻止數(shù)據(jù)在未經(jīng)授權(quán)的情況下被泄露到外網(wǎng)。一個(gè)數(shù)據(jù)要被合法發(fā)送到外網(wǎng),數(shù)據(jù)提供者必須要將該數(shù)據(jù)的內(nèi)容名字通告給外網(wǎng)。為了防止內(nèi)容名字通告過(guò)程中出現(xiàn)數(shù)據(jù)泄露,共生網(wǎng)絡(luò)采取了兩點(diǎn)措施。首先,通告消息必須經(jīng)其本地資源管理器轉(zhuǎn)發(fā);其次,共生網(wǎng)絡(luò)設(shè)計(jì)了不同的分組類型,嚴(yán)格區(qū)分通告消息、請(qǐng)求消息和數(shù)據(jù)分組,而通告消息和請(qǐng)求消息的格式固定且不能承載數(shù)據(jù)[27]。
3.2.3 精準(zhǔn)實(shí)時(shí)溯源能力
共生網(wǎng)絡(luò)中,請(qǐng)求消息和數(shù)據(jù)分組均攜帶域間路徑標(biāo)識(shí)(序列)。一個(gè)內(nèi)容提供者只需維護(hù)域間網(wǎng)絡(luò)拓?fù)洌ňW(wǎng)絡(luò)、域間路徑及域間路徑標(biāo)識(shí)),通過(guò)將域間路徑標(biāo)識(shí)與網(wǎng)絡(luò)拓?fù)溥M(jìn)行匹配,即可準(zhǔn)確知道請(qǐng)求分組的來(lái)源網(wǎng)絡(luò)。相應(yīng)地,內(nèi)容提供者也可以準(zhǔn)確知道數(shù)據(jù)分組的去向網(wǎng)絡(luò)。類似地,內(nèi)容請(qǐng)求者只需通過(guò)將數(shù)據(jù)分組中攜帶的域間路徑標(biāo)識(shí)序列與域間網(wǎng)絡(luò)拓?fù)溥M(jìn)行匹配,即可知道數(shù)據(jù)分組的來(lái)源網(wǎng)絡(luò)。邊界路由器也可以利用同樣的方法,準(zhǔn)確知曉數(shù)據(jù)分組的來(lái)源網(wǎng)絡(luò)和去向網(wǎng)絡(luò)。因此,共生網(wǎng)絡(luò)能夠提供針對(duì)單個(gè)數(shù)據(jù)分組的精準(zhǔn)溯源能力[26]。
在溯源實(shí)時(shí)性方面,將單個(gè)域間路徑標(biāo)識(shí)與網(wǎng)絡(luò)拓?fù)溥M(jìn)行匹配的最優(yōu)時(shí)間復(fù)雜度為O(1);假設(shè)數(shù)據(jù)分組/請(qǐng)求消息中攜帶的域間路徑標(biāo)識(shí)數(shù)量為M,則對(duì)單個(gè)數(shù)據(jù)分組/請(qǐng)求消息進(jìn)行溯源的最優(yōu)時(shí)間復(fù)雜度為O(M)[26]。本文在自治域規(guī)模為60 000 的網(wǎng)絡(luò)中,評(píng)估了針對(duì)單個(gè)數(shù)據(jù)分組的溯源開(kāi)銷如圖8 所提方法(基于哈希查找的匹配)針對(duì)單個(gè)數(shù)據(jù)分組的溯源時(shí)間及存儲(chǔ)空間占用情況,并將其與3 種經(jīng)典的方法進(jìn)行了對(duì)比,包括最長(zhǎng)前綴匹配、精確匹配、基于二分查找的匹配,結(jié)果如圖8 所示。從圖8(a)中可以看出,在數(shù)據(jù)分組/請(qǐng)求分組中攜帶5 個(gè)域間路徑標(biāo)識(shí)的情況下,針對(duì)單個(gè)數(shù)據(jù)分組的溯源時(shí)間低至10 μs。從圖8(b)中可以看出,結(jié)合拓?fù)浞纸馀c匹配優(yōu)化,所提方法實(shí)現(xiàn)實(shí)時(shí)溯源所需的存儲(chǔ)空間不到14 MB。
圖8 共生網(wǎng)絡(luò)中針對(duì)單個(gè)數(shù)據(jù)分組的溯源開(kāi)銷
3.2.4 精準(zhǔn)實(shí)時(shí)態(tài)勢(shì)感知能力
共生網(wǎng)絡(luò)體系下,內(nèi)容提供者、內(nèi)容請(qǐng)求者、邊界路由器等能夠精準(zhǔn)實(shí)時(shí)感知網(wǎng)絡(luò)的跨域流量等態(tài)勢(shì)[26]。如上所述,內(nèi)容提供者可以對(duì)收到的每個(gè)請(qǐng)求分組進(jìn)行精準(zhǔn)溯源;相應(yīng)地,內(nèi)容提供者可以清楚知曉該請(qǐng)求分組的來(lái)源網(wǎng)絡(luò)和從來(lái)源網(wǎng)絡(luò)到請(qǐng)求者經(jīng)過(guò)的所有網(wǎng)絡(luò)。因此,給定域間網(wǎng)絡(luò)拓?fù)洌瑑?nèi)容提供者可以精準(zhǔn)實(shí)時(shí)統(tǒng)計(jì)源自每個(gè)網(wǎng)絡(luò)的請(qǐng)求分組數(shù)量、每個(gè)網(wǎng)絡(luò)轉(zhuǎn)發(fā)給該內(nèi)容提供者的請(qǐng)求分組數(shù)量。類似地,內(nèi)容請(qǐng)求者可以精準(zhǔn)實(shí)時(shí)統(tǒng)計(jì)源自每個(gè)網(wǎng)絡(luò)的數(shù)據(jù)分組、每個(gè)網(wǎng)絡(luò)轉(zhuǎn)發(fā)給該請(qǐng)求者的數(shù)據(jù)分組數(shù)量。邊界路由器也可以精準(zhǔn)實(shí)時(shí)統(tǒng)計(jì)源自每個(gè)網(wǎng)絡(luò)的數(shù)據(jù)分組數(shù)量、去往每個(gè)網(wǎng)絡(luò)的數(shù)據(jù)分組數(shù)量等,進(jìn)而形成跨域流量態(tài)勢(shì)。
3.2.5 精細(xì)粒度管控能力
共生網(wǎng)絡(luò)能夠賦予用戶對(duì)每個(gè)內(nèi)容的精細(xì)粒度管控能力[22]。一方面,前述基于多維名字逐分組過(guò)濾的數(shù)據(jù)泄露防范機(jī)理,能夠?qū)γ總€(gè)內(nèi)容的出網(wǎng)(甚至去向)進(jìn)行管控。另一方面,給定域間網(wǎng)絡(luò)拓?fù)洌瑑?nèi)容提供者可以為每個(gè)內(nèi)容名字指定通告路徑,使內(nèi)容名字(而不是內(nèi)容)只能沿著指定路徑通告給指定網(wǎng)絡(luò)的指定節(jié)點(diǎn)。當(dāng)內(nèi)容提供者收到請(qǐng)求消息時(shí),根據(jù)請(qǐng)求消息中攜帶的域間路徑標(biāo)識(shí)序列,很容易判斷針對(duì)該內(nèi)容名字的通告是否超出通告范圍,以及哪個(gè)網(wǎng)絡(luò)進(jìn)行了超范圍通告。若內(nèi)容提供者發(fā)現(xiàn)某個(gè)內(nèi)容名字被超范圍通告,則可告警且不將相應(yīng)的數(shù)據(jù)發(fā)送給請(qǐng)求者。此外,從域間流量工程的角度而言,共生網(wǎng)絡(luò)可以賦予網(wǎng)絡(luò)對(duì)域間流量的精細(xì)管控能力[28-29]。
3.2.6 路由解耦釋放網(wǎng)絡(luò)潛能的能力
共生網(wǎng)絡(luò)通過(guò)域內(nèi)域間路由解耦,使每個(gè)網(wǎng)絡(luò)可以根據(jù)自身特點(diǎn)采用合適的網(wǎng)絡(luò)體制,在充分利用該網(wǎng)絡(luò)優(yōu)勢(shì)的同時(shí),賦予了每個(gè)網(wǎng)絡(luò)獨(dú)立演進(jìn)的能力。事實(shí)上,項(xiàng)目組結(jié)合節(jié)點(diǎn)標(biāo)識(shí)和內(nèi)容名字設(shè)計(jì)的移動(dòng)自組網(wǎng)路由機(jī)制[30],性能較采用AODV(ad hoc on-demand distance vector)路由協(xié)議的IP 網(wǎng)絡(luò)和采用LFBL(lister first broadcast later)的NON 有大幅度提升。設(shè)網(wǎng)絡(luò)中有8 個(gè)請(qǐng)求者、2 個(gè)內(nèi)容提供者,運(yùn)動(dòng)模型為隨機(jī)游走,節(jié)點(diǎn)運(yùn)動(dòng)速度為20 m/s,運(yùn)動(dòng)場(chǎng)地為方形,面積隨節(jié)點(diǎn)數(shù)量增多而增大,但保持節(jié)點(diǎn)平均密度為1×10-2架/平方千米,IP、NDN 和所提方法的分組投遞成功率如圖9 所示。從圖9 中可以看出,當(dāng)給定節(jié)點(diǎn)規(guī)模時(shí),所提方法的分組投遞成功率顯著高于IP 和NDN。當(dāng)給定分組投遞成功率時(shí),所提方法能夠支撐更大的網(wǎng)絡(luò),如當(dāng)分組投遞成功率為50%時(shí),IP 僅能支撐50 余個(gè)節(jié)點(diǎn)的移動(dòng)自組網(wǎng),NDN 能夠支撐約120 個(gè)節(jié)點(diǎn)的移動(dòng)自組網(wǎng),而所提方法能夠支撐超過(guò)256 個(gè)節(jié)點(diǎn)的自組網(wǎng)。上述結(jié)果說(shuō)明,根據(jù)不同的網(wǎng)絡(luò)特點(diǎn)設(shè)計(jì)有針對(duì)性的組網(wǎng)機(jī)制,比所有網(wǎng)絡(luò)都采用相同的機(jī)制(如IP)更好。因此,共生網(wǎng)絡(luò)通過(guò)路由解耦,能夠充分釋放網(wǎng)絡(luò)潛力。
圖9 移動(dòng)自組織網(wǎng)絡(luò)中不同機(jī)制的分組投遞成功率
3.2.7 網(wǎng)絡(luò)空間權(quán)益保障能力
如前所述,共生網(wǎng)絡(luò)中每個(gè)網(wǎng)絡(luò)維護(hù)一個(gè)邏輯上集中但可分布式實(shí)現(xiàn)的資源管理器,管理內(nèi)容名字的可達(dá)性;同時(shí),請(qǐng)求消息也發(fā)送給資源管理器,由資源管理器進(jìn)行解析。相應(yīng)地,一個(gè)網(wǎng)絡(luò)內(nèi)部節(jié)點(diǎn)間的內(nèi)容交換,不用依靠外部就可以獨(dú)立運(yùn)行,不受外部影響和控制。類似地,共生網(wǎng)絡(luò)中,網(wǎng)絡(luò)間根據(jù)策略等考慮,平等進(jìn)行域間互聯(lián),并相互通告內(nèi)容名字的可達(dá)性,避免了類似DNS(domain name system)集中式設(shè)計(jì)帶來(lái)的“斷網(wǎng)停服”問(wèn)題。因此從長(zhǎng)遠(yuǎn)看,共生網(wǎng)絡(luò)具備保障網(wǎng)絡(luò)空間權(quán)益的能力。
3.2.8 高效性能力
由于其獨(dú)特設(shè)計(jì),共生網(wǎng)絡(luò)還具備內(nèi)容高效分發(fā)能力,并增強(qiáng)網(wǎng)絡(luò)的可管能力。首先,共生網(wǎng)絡(luò)為內(nèi)容命名并基于內(nèi)容名字進(jìn)行內(nèi)容查找,便于網(wǎng)絡(luò)緩存內(nèi)容并進(jìn)行利用[31]。例如,車聯(lián)網(wǎng)環(huán)境下,通告對(duì)內(nèi)容進(jìn)行緩存,不僅可以大幅降低節(jié)點(diǎn)獲取內(nèi)容的平均時(shí)延,且能夠降低網(wǎng)絡(luò)的傳輸負(fù)載。其次,共生網(wǎng)絡(luò)中,每個(gè)跨域分組都攜帶了域間路徑標(biāo)識(shí),因此,入口邊界路由器根據(jù)域間路徑標(biāo)識(shí)進(jìn)行分組轉(zhuǎn)發(fā)時(shí),可以得知分組的出口邊界路由器。這樣,入口邊界路由器就可以很方便地統(tǒng)計(jì)從該入口邊界路由器到網(wǎng)絡(luò)中其他邊界路由器的流量,從而形成實(shí)時(shí)準(zhǔn)確的流量矩陣[32],進(jìn)而為域內(nèi)路由選擇、路徑規(guī)劃甚至流量異常檢測(cè)等提供便利。
雖然共生網(wǎng)絡(luò)的基本工作機(jī)制和安全保障機(jī)理等已經(jīng)得到了成功驗(yàn)證,但仍有部分問(wèn)題有待進(jìn)一步解決。
前文介紹了共生網(wǎng)絡(luò)中域間路徑標(biāo)識(shí)前綴的“正交復(fù)用”分配的原則。當(dāng)域間網(wǎng)絡(luò)拓?fù)涫庆o態(tài)的且已知的情況下,域間路徑標(biāo)識(shí)前綴可以集中分配。但是,在廣域開(kāi)放互聯(lián)環(huán)境下,各個(gè)網(wǎng)絡(luò)為了保護(hù)隱私,通常不會(huì)對(duì)外公布與其他網(wǎng)絡(luò)之間的互聯(lián)關(guān)系;同時(shí),域間互聯(lián)關(guān)系也會(huì)動(dòng)態(tài)變化。因此,2 個(gè)網(wǎng)絡(luò)之間需要根據(jù)“正交復(fù)用”分配原則,在不考慮其他網(wǎng)絡(luò)的情況下為它們之間的每條域間路徑分配域間路徑標(biāo)識(shí)前綴。因此,從全網(wǎng)的角度看,這種分配是分布式實(shí)現(xiàn)的。相應(yīng)地,如何實(shí)現(xiàn)域間路徑標(biāo)識(shí)前綴的分布式分配,使全網(wǎng)使用的域間路徑標(biāo)識(shí)前綴盡可能少,從而在域間路徑標(biāo)識(shí)長(zhǎng)度固定的情況下盡量提升網(wǎng)絡(luò)安全性,是需要進(jìn)一步研究的問(wèn)題。
共生網(wǎng)絡(luò)抓住網(wǎng)絡(luò)間互聯(lián)的本質(zhì),為網(wǎng)絡(luò)之間的域間互聯(lián)關(guān)系(體現(xiàn)為域間路徑)命名,使其能夠高效支持移動(dòng)網(wǎng)絡(luò)之間、移動(dòng)網(wǎng)絡(luò)和固定網(wǎng)絡(luò)之間的互聯(lián)互通。固定網(wǎng)絡(luò)之間互聯(lián)時(shí),邊界路由器通常固定不變,因而不用經(jīng)常更新邊界路由器的路由表。但機(jī)動(dòng)網(wǎng)絡(luò)和固定網(wǎng)絡(luò)互聯(lián)時(shí),或者機(jī)動(dòng)網(wǎng)絡(luò)和機(jī)動(dòng)網(wǎng)絡(luò)互聯(lián)時(shí),節(jié)點(diǎn)移動(dòng)會(huì)導(dǎo)致邊界路由器經(jīng)常發(fā)生變化?;诠采W(wǎng)絡(luò)的基本工作機(jī)制,若2 個(gè)網(wǎng)絡(luò)之間的連接關(guān)系不變,則它們之間的域間路徑標(biāo)識(shí)前綴不變。當(dāng)邊界路由器發(fā)生改變時(shí),只需更新該域間路徑標(biāo)識(shí)前綴對(duì)應(yīng)域間路徑的端點(diǎn),并將相應(yīng)更新通告給網(wǎng)絡(luò)中的其他節(jié)點(diǎn),便于其他節(jié)點(diǎn)更新域間路由表,從而將分組發(fā)送給新的邊界路由器。但是,移動(dòng)環(huán)境下如何發(fā)現(xiàn)新的邊界路由器、如何實(shí)現(xiàn)新舊邊界路由器之間的切換、如何將新的邊界路由器通告給其他邊界路由器等,是需要研究解決的問(wèn)題。
如前所述,將數(shù)據(jù)分組(或請(qǐng)求消息)中攜帶的域間路徑標(biāo)識(shí)(序列)與已知域間網(wǎng)絡(luò)拓?fù)溥M(jìn)行匹配,可以對(duì)數(shù)據(jù)分組(或請(qǐng)求消息)進(jìn)行精準(zhǔn)溯源。目前的匹配算法對(duì)單個(gè)域間路徑標(biāo)識(shí)進(jìn)行匹配時(shí),時(shí)間復(fù)雜度為O(1);當(dāng)序列中有M個(gè)域間路徑標(biāo)識(shí)時(shí),整個(gè)序列的匹配時(shí)間為O(M)。因此,如何設(shè)計(jì)更高效的匹配算法,提高精準(zhǔn)溯源和精準(zhǔn)實(shí)時(shí)態(tài)勢(shì)感知的實(shí)時(shí)性,是需要解決的另一個(gè)問(wèn)題。
雖然本文給出了邊界路由器的部分性能測(cè)試結(jié)果,但該邊界路由器是基于軟件實(shí)現(xiàn)的,分組轉(zhuǎn)發(fā)過(guò)程中涉及的步驟只能串行執(zhí)行,性能受限。因此,研制基于硬件實(shí)現(xiàn)的邊界路由器,將分組轉(zhuǎn)發(fā)過(guò)程中可以并行處理的步驟通過(guò)硬件進(jìn)行并行處理從而提升分組轉(zhuǎn)發(fā)性能,是下一步的重點(diǎn)工作。
本文針對(duì)不同體制異構(gòu)網(wǎng)絡(luò)之間的安全高效互聯(lián)問(wèn)題,提出了共生網(wǎng)絡(luò)。在分析異構(gòu)網(wǎng)絡(luò)安全高效互聯(lián)面臨挑戰(zhàn)與科學(xué)問(wèn)題的基礎(chǔ)上,基于網(wǎng)絡(luò)傳遞信息的自然屬性,提出了共生網(wǎng)絡(luò)對(duì)異構(gòu)體制網(wǎng)絡(luò)互聯(lián)而成網(wǎng)絡(luò)空間的普適表征機(jī)理,即用內(nèi)容名字、節(jié)點(diǎn)標(biāo)識(shí)、地址和域間路徑標(biāo)識(shí)分別表征傳什么、傳給誰(shuí)、傳到哪、怎么傳。在此基礎(chǔ)上,重點(diǎn)介紹了共生網(wǎng)絡(luò)的體系結(jié)構(gòu)模型、基本工作機(jī)理(包含域內(nèi)域間解耦的路由組織模式、內(nèi)容名字驅(qū)動(dòng)的跨域互聯(lián)模式、“以拉促推、推拉結(jié)合”的跨域通信模式)。原型系統(tǒng)的部分實(shí)驗(yàn)結(jié)果表明,共生網(wǎng)絡(luò)能夠?qū)崿F(xiàn)數(shù)據(jù)的安全高效跨域傳遞,并具備跨域攻擊防范能力、數(shù)據(jù)泄露防范能力、精準(zhǔn)實(shí)時(shí)溯源能力、精準(zhǔn)實(shí)時(shí)態(tài)勢(shì)感知能力、精細(xì)粒度管控能力、路由解耦釋放網(wǎng)絡(luò)潛能的能力、網(wǎng)絡(luò)空間權(quán)益保障能力、高效性能力等。同時(shí),本文指出了共生網(wǎng)絡(luò)有待進(jìn)一步解決的問(wèn)題。