摘要:互聯(lián)網(wǎng)端到端屬性使得運(yùn)行于主機(jī)端的應(yīng)用層協(xié)議易于修改和部署,從而促進(jìn)互聯(lián)網(wǎng)通過新應(yīng)用的競(jìng)爭(zhēng)不斷發(fā)展;但是涉及到網(wǎng)絡(luò)核心層和網(wǎng)絡(luò)設(shè)備(交換機(jī)、路由器等)的新協(xié)議則在實(shí)現(xiàn)和應(yīng)用上十分困難,阻礙了互聯(lián)網(wǎng)核心技術(shù)的演進(jìn)。文章提出一種可演進(jìn)的網(wǎng)絡(luò)體系結(jié)構(gòu)(EIA)。網(wǎng)絡(luò)可以通過EIA提供的接口在主機(jī)和網(wǎng)絡(luò)設(shè)備上添加新的模塊來得到試驗(yàn)和實(shí)際部署。不同的用戶可以任意選擇不同的體系結(jié)構(gòu),同時(shí)用戶可以是一種或多種網(wǎng)絡(luò)體系結(jié)構(gòu)的使用者。人們可以多樣化競(jìng)爭(zhēng)的方式推動(dòng)互聯(lián)網(wǎng)的演進(jìn)。
關(guān)鍵字:網(wǎng)絡(luò)虛擬化;網(wǎng)絡(luò)體系結(jié)構(gòu);互聯(lián)網(wǎng)演進(jìn)
英文摘要:The end-to-end characteristics of networks enables easy modification and development of applications running on the host. Competition among these applications promotes the development of the Internet. However, new protocols related to core networking or network equipment (routers, switches etc.) are often hard to successfully implement. This paper proposes an Evolvable Internet Architecture (EIA). It proposes that new network architectures can plug themselves as new modules into EIA network equipment using the interfaces provided by EIA for experiment and actual development. Different users can independently select network architectures, and at the same time there may be one or more users of network architectures. This diversity and competitiveness promotes the evolution of the network.
英文關(guān)鍵字:network virtualization; network architecture; Internet evolution
基金項(xiàng)目:教育部高等學(xué)校博士學(xué)科點(diǎn)專項(xiàng)科研基金(200800030034)
互聯(lián)網(wǎng)經(jīng)過30多年的發(fā)展,已經(jīng)成為與人們工作、生活息息相關(guān)、不可缺少的基礎(chǔ)設(shè)施之一,互聯(lián)網(wǎng)自身也獲得空前的發(fā)展與繁榮。然而,互聯(lián)網(wǎng)傳輸控制協(xié)議/網(wǎng)間協(xié)議(TCP/IP)式的體系結(jié)構(gòu)從誕生之日起就存在天生的缺陷,如:盡力而為的轉(zhuǎn)發(fā)策略不能提供用戶需求的服務(wù)質(zhì)量、網(wǎng)絡(luò)管理難以部署、網(wǎng)絡(luò)安全漏洞日益暴露、IP地址資源枯竭、接入設(shè)備的泛在移動(dòng)性與異質(zhì)性、大規(guī)模網(wǎng)絡(luò)情況下路由的可擴(kuò)展性等等。
對(duì)互聯(lián)網(wǎng)TCP/IP體系結(jié)構(gòu)的變革一直在進(jìn)行,新的協(xié)議與算法不斷提出;ヂ(lián)網(wǎng)端到端屬性使得運(yùn)行于主機(jī)端的應(yīng)用層協(xié)議易于修改和部署,從而促進(jìn)互聯(lián)網(wǎng)通過新應(yīng)用的競(jìng)爭(zhēng)不斷發(fā)展。但是,互聯(lián)網(wǎng)端到端屬性同時(shí)限制了互聯(lián)網(wǎng)核心部分的革新能力。涉及網(wǎng)絡(luò)核心部分和網(wǎng)絡(luò)設(shè)備內(nèi)核改變的新協(xié)議(如IPv6、集成業(yè)務(wù)、IP多播、差異化服務(wù)、安全路由協(xié)議等)需要部署者全局部署和網(wǎng)絡(luò)設(shè)備統(tǒng)一修改,而這種修改對(duì)網(wǎng)絡(luò)運(yùn)營(yíng)者和網(wǎng)絡(luò)設(shè)備制造者缺乏激勵(lì)機(jī)制,難以在現(xiàn)實(shí)網(wǎng)絡(luò)中大規(guī)模部署;同時(shí)由于缺乏真實(shí)網(wǎng)絡(luò)環(huán)境的充分測(cè)試,這些涉及網(wǎng)絡(luò)核心層的新協(xié)議難以得到充分信任與支持,進(jìn)一步阻礙了設(shè)備實(shí)現(xiàn)的成熟度和運(yùn)營(yíng)者的部署決策。這些都造成新協(xié)議沒有得到大規(guī)模應(yīng)用,互聯(lián)網(wǎng)核心技術(shù)的演進(jìn)陷于停滯。
針對(duì)現(xiàn)有TCP/IP體系結(jié)構(gòu)的諸多缺陷,網(wǎng)絡(luò)研究者們提出了一些全新的體系結(jié)構(gòu),如RBA[1]、RNA[2]、SILO[3]等。這些新體系結(jié)構(gòu)解決了一些現(xiàn)有體系結(jié)構(gòu)的問題。但是僅有一種固定的體系結(jié)構(gòu)難以滿足未來互聯(lián)網(wǎng)的需求,這是因?yàn)椋?/p>
(1)需要多種體系結(jié)構(gòu)共存以解決網(wǎng)絡(luò)多方面的問題。
(2)網(wǎng)絡(luò)體系結(jié)構(gòu)需要不斷演進(jìn),包括:更新、補(bǔ)充及老化。
(3)實(shí)驗(yàn)流量需要在真實(shí)網(wǎng)絡(luò)上運(yùn)行,需要與用戶流量共存。
基于以上分析,本文提出了一種支持多種體系結(jié)構(gòu)并存的可演進(jìn)的體系結(jié)構(gòu)(EIA)。EIA是一個(gè)能夠包容多個(gè)網(wǎng)絡(luò)體系結(jié)構(gòu)的結(jié)構(gòu),且支持網(wǎng)絡(luò)體系結(jié)構(gòu)數(shù)目的不斷擴(kuò)充。EIA如同一個(gè)“插座”,上面插著不同的體系結(jié)構(gòu),現(xiàn)有的TCP/IP協(xié)議棧也作為一個(gè)體系結(jié)構(gòu)插在上面,EIA是這些體系結(jié)構(gòu)的“基”。EIA上層的多種體系結(jié)構(gòu)可以形成競(jìng)爭(zhēng)關(guān)系去解決同一問題,類似于實(shí)時(shí)網(wǎng)絡(luò)通信中Skype、QQ、MSN、Gtalk的關(guān)系,也可以形成互補(bǔ)的關(guān)系去解決不同的問題。不同的用戶可以任意選擇不同的體系結(jié)構(gòu),同時(shí)用戶可以是一種或多種網(wǎng)絡(luò)體系結(jié)構(gòu)的使用者。
1 EIA網(wǎng)絡(luò)體系結(jié)構(gòu)
1.1 EIA的演進(jìn)策略
當(dāng)前互聯(lián)網(wǎng)的演進(jìn)方式主要分為兩種:革命型和革新型。革命型的代表有網(wǎng)絡(luò)革新的全球環(huán)境(GENI)、未來互聯(lián)網(wǎng)設(shè)計(jì)項(xiàng)目(FIND)、未來互聯(lián)網(wǎng)研究和實(shí)驗(yàn)(FIRE)等;革新式則是在現(xiàn)有的互聯(lián)網(wǎng)上進(jìn)行修補(bǔ)式的改進(jìn)。
互聯(lián)網(wǎng)采取革命式的演進(jìn)需要重新構(gòu)建試驗(yàn)網(wǎng)絡(luò),演進(jìn)代價(jià)高,并且研究者對(duì)未來的預(yù)測(cè)有誤差,只有不斷改革才是可能的。因此EIA采用的是改革式的演進(jìn)策略,在現(xiàn)有網(wǎng)絡(luò)的基礎(chǔ)上支持研究者實(shí)現(xiàn)和部署新協(xié)議的目的,進(jìn)而推進(jìn)互聯(lián)網(wǎng)的長(zhǎng)期演進(jìn)。
EIA改革式的演進(jìn)和目前改革式的演進(jìn)方法又是不同的。目前的演進(jìn)方法是在TCP/IP體系結(jié)構(gòu)的基礎(chǔ)上修補(bǔ)、發(fā)現(xiàn)問題、再修改,但是某次修補(bǔ)可能不容易“兼容”未來的繼續(xù)修改。并且現(xiàn)有的演進(jìn)可能引入短期收益而長(zhǎng)期有破壞性如網(wǎng)絡(luò)地址轉(zhuǎn)換(NAT),或者局部收益對(duì)整體有破壞性。而EIA不是在現(xiàn)有的TCP/IP結(jié)構(gòu)上做改進(jìn),其上層支持多種體系結(jié)構(gòu)的并存,TCP/IP只是作為其中的一種體系結(jié)構(gòu)。多種不同的體系結(jié)構(gòu)之間通過競(jìng)爭(zhēng)的方式使更適合需求的方案得以生存和發(fā)展。
1.2 EIA的目標(biāo)
EIA的主要目標(biāo):(1)研究者可以在現(xiàn)實(shí)的網(wǎng)絡(luò)設(shè)備上編程并試驗(yàn)其新的協(xié)議,實(shí)驗(yàn)流與正常流同時(shí)運(yùn)行在實(shí)際網(wǎng)絡(luò)上且之間互不影響;(2)EIA上層承載多種體系結(jié)構(gòu),作為容納多種體系結(jié)構(gòu)的特殊結(jié)構(gòu),EIA可以使能上層體系結(jié)構(gòu)之間的競(jìng)爭(zhēng)。EIA承載的不同體系結(jié)構(gòu)之間可以形成競(jìng)爭(zhēng)關(guān)系去解決同一問題,也可以形成互補(bǔ)關(guān)系去解決不同的問題,各種不同的體系結(jié)構(gòu)在硬件資源方面共享。
現(xiàn)在已經(jīng)提出很多不同的體系結(jié)構(gòu),每種結(jié)構(gòu)均有不同的設(shè)計(jì),哪種體系結(jié)構(gòu)應(yīng)該被選擇,EIA可以通過競(jìng)爭(zhēng)的方式使更適合需求的方案得以生存和改進(jìn)。同時(shí)EIA作為一個(gè)可以包容網(wǎng)絡(luò)結(jié)構(gòu)的結(jié)構(gòu),做到能夠承載上層的結(jié)構(gòu)需要考慮很多問題:每種體系結(jié)構(gòu)可能只覆蓋整個(gè)Internet的一部分;終端用戶也許只用到一種或幾種上層的體系結(jié)構(gòu)而不是所有,類似于部分互聯(lián)網(wǎng)網(wǎng)民使用QQ、Gtalk,而不使用MSN進(jìn)行實(shí)時(shí)通信。
1.3 EIA的組成
EIA包括兩部分:主機(jī)對(duì)多體系結(jié)構(gòu)的支持;網(wǎng)絡(luò)設(shè)備(交換機(jī)或路由器)對(duì)多體系結(jié)構(gòu)的支持。
1.4 EIA主機(jī)
1.4.1 基礎(chǔ)模式
EIA主機(jī)多協(xié)議棧如圖1所示,EIA模塊位于鏈路層,是為支持上層多種體系結(jié)構(gòu)而在現(xiàn)有網(wǎng)絡(luò)上增加的一些函數(shù)接口,F(xiàn)有的主機(jī)要支持多體系結(jié)構(gòu)并存,需要增加EIA模塊。部分體系結(jié)構(gòu)也可以不增加EIA函數(shù),直接利用現(xiàn)有的函數(shù)接口來滿足需求。
EIA 模塊根據(jù)不同的體系結(jié)構(gòu)代碼,把數(shù)據(jù)包傳遞給上層不同的體系結(jié)構(gòu)。已有的TCP/IP通信協(xié)議模型作為一個(gè)特殊的體系結(jié)構(gòu)和其他新體系結(jié)構(gòu)并存。
增加EIA模塊后,鏈路層的工作方式為:當(dāng)接收到一個(gè)數(shù)據(jù)包后,解幀并根據(jù)協(xié)議號(hào)上傳到上層相應(yīng)的協(xié)議棧;當(dāng)接收到上層傳遞來的數(shù)據(jù)包后,根據(jù)上層協(xié)議的任務(wù),把數(shù)據(jù)包轉(zhuǎn)發(fā)到一個(gè)端口或調(diào)用相應(yīng)的硬件資源做出處理動(dòng)作。
和現(xiàn)有開放系統(tǒng)互連(OSI)模型的套接字相比,EIA模型把現(xiàn)有套接字接口往下移動(dòng)從而建立在物理層上,不同的體系結(jié)構(gòu)在鏈路層之上呈現(xiàn)為縱向、并行的方式。
1.4.2 高級(jí)模式
基礎(chǔ)模型中,鏈路層主要提供解幀、封幀的操作。為了開發(fā)者易于開發(fā)新的體系結(jié)構(gòu),EIA高級(jí)模式把各新體系結(jié)構(gòu)中的通用功能模塊抽象出來,以可選項(xiàng)的形式提供給各個(gè)新體系結(jié)構(gòu)的開發(fā)人員,如網(wǎng)絡(luò)監(jiān)管、QoS等功能就可以在此處開放給新體系結(jié)構(gòu)的開發(fā)者。添加公用模塊后的EIA示意圖如圖2所示。