APNet公眾號(hào)
李丹
互聯(lián)網(wǎng)技術(shù)漫談系列文章
1、對(duì)IP協(xié)議的常見(jiàn)“非議”主要有哪些?
2、IP協(xié)議的設(shè)計(jì)目標(biāo)不全嗎?
3、IP協(xié)議的技術(shù)存在缺陷嗎?
4、IP協(xié)議需要不斷迭代有問(wèn)題嗎?
5、總結(jié)
不知道從什么時(shí)候開始,IP協(xié)議似乎一下子成了“過(guò)街老鼠”。只要做“互聯(lián)網(wǎng)”(“網(wǎng)絡(luò)”)體系結(jié)構(gòu)研究,一定要對(duì)IP協(xié)議(或者是對(duì)“已有”的IP協(xié)議)批一通,然后一個(gè)新的架構(gòu)橫空出世,針對(duì)“IP協(xié)議”和“互聯(lián)網(wǎng)”的各種新名詞層出不窮。而我們的科研環(huán)境,也總是喜歡聽(tīng)到有這些“新網(wǎng)絡(luò)架構(gòu)”出現(xiàn),否則就感覺(jué)不算網(wǎng)絡(luò)研究的創(chuàng)新。這篇文章,我們就來(lái)討論應(yīng)該如何看待IP協(xié)議的那些“不足”?基于IP協(xié)議進(jìn)行互聯(lián)網(wǎng)體系結(jié)構(gòu)的研究到底算不算創(chuàng)新?
1、對(duì)IP協(xié)議的常見(jiàn)“非議”主要有哪些?
對(duì)于IP協(xié)議的“不足”,往往最常見(jiàn)的是以下幾種說(shuō)法。
1)設(shè)計(jì)目標(biāo)不全:IP協(xié)議沒(méi)有服務(wù)質(zhì)量保障,不適合于許多要求高帶寬、低時(shí)延、確定性時(shí)延的業(yè)務(wù);IP協(xié)議是為了靜止的主機(jī)而設(shè)計(jì)的,不適合于移動(dòng)互聯(lián)網(wǎng)時(shí)代;IP協(xié)議在設(shè)計(jì)時(shí)缺乏安全性考慮,沒(méi)有支持網(wǎng)絡(luò)“內(nèi)生安全”。
2)技術(shù)存在缺陷:主要是針對(duì)“盡力而為”的轉(zhuǎn)發(fā)方式以及“基于IP地址的尋址方法”存在的問(wèn)題。
3)需要不斷迭代:IP協(xié)議“修三年、補(bǔ)三年,修修補(bǔ)補(bǔ)又三年”,這樣不斷打補(bǔ)丁的方式不好,需要另外設(shè)計(jì)互聯(lián)網(wǎng)協(xié)議。
4)時(shí)間過(guò)于古老:IP協(xié)議是上世紀(jì)70年代設(shè)計(jì)的,已經(jīng)不適合于今天的互聯(lián)網(wǎng)。
5)其他國(guó)家反推:人家美國(guó)或者歐洲都在搞“未來(lái)互聯(lián)網(wǎng)”/“未來(lái)網(wǎng)絡(luò)”研究,說(shuō)明IP協(xié)議確實(shí)有問(wèn)題。
6)反正就是不好:“眾所周知,IP協(xié)議存在很多缺陷”。
批評(píng)總是比反思來(lái)得容易;但沒(méi)有反思的批評(píng),就顯得很廉價(jià)了。對(duì)于后3種非技術(shù)的論調(diào),因?yàn)樘菀追瘩g,咱們就不討論了。下邊我們重點(diǎn)從“設(shè)計(jì)目標(biāo)不全”、“技術(shù)存在缺陷”、“需要不斷迭代”這三個(gè)方面來(lái)探討,看看IP協(xié)議是不是真的那么不堪?
2、IP協(xié)議的設(shè)計(jì)目標(biāo)不全嗎?
要理解IP協(xié)議是否存在設(shè)計(jì)目標(biāo)不全的問(wèn)題,首先要看IP協(xié)議的核心設(shè)計(jì)目標(biāo)到底是什么?然后再看看服務(wù)質(zhì)量保障、移動(dòng)性、安全性等目標(biāo)是否可以放到與核心設(shè)計(jì)目標(biāo)等同的位置?
2.1 IP協(xié)議的核心設(shè)計(jì)目標(biāo)是什么?
IP協(xié)議的全稱是“互聯(lián)網(wǎng)協(xié)議”,它的核心設(shè)計(jì)目標(biāo)自然就是要體現(xiàn)互聯(lián)網(wǎng)的核心使命。我們?cè)谥暗膸灼恼乱呀?jīng)討論過(guò),互聯(lián)網(wǎng)技術(shù)就是為了實(shí)現(xiàn)大規(guī)模“網(wǎng)際互聯(lián)”(Internetworking)的想法而誕生的,IP協(xié)議是實(shí)現(xiàn)“網(wǎng)際互聯(lián)”的最重要的技術(shù)。關(guān)于IP協(xié)議最初的設(shè)計(jì)動(dòng)機(jī),有興趣的讀者也可以去讀一下David Clark先生發(fā)表于SIGCOMM 1988年的論文:“The Design Philosophy of the DARPA Internet Protocols”。其中明確地寫到互聯(lián)網(wǎng)最重要的設(shè)計(jì)目標(biāo)。“The components of the Internet were networks, which were to be interconnected to provide some larger service. The original goal was to connect together the original ARPANET with the ARPA packet radio network, in order to give users on the packet radio network access to the large service machines on the ARPANET. At the time it was assumed that there would be other sorts of networks to interconnect, although the local area network had not yet emerged.”在 “互聯(lián)網(wǎng)”這個(gè)想法誕生的時(shí)候,世界上甚至連“計(jì)算機(jī)局域網(wǎng)”都還沒(méi)有。因此IP協(xié)議的核心設(shè)計(jì)目標(biāo)非常單純,就是“開放與互聯(lián)”;并不只是對(duì)當(dāng)前已經(jīng)存在的“網(wǎng)絡(luò)”互聯(lián)(更不是對(duì)“計(jì)算機(jī)”互聯(lián)),而是要把將來(lái)可能存在的“網(wǎng)絡(luò)”都互聯(lián)起來(lái)。如果IP協(xié)議不以“互聯(lián)”作為最核心的設(shè)計(jì)目標(biāo),“互聯(lián)網(wǎng)”就不能叫“互聯(lián)網(wǎng)”了。
關(guān)于IP協(xié)議在“網(wǎng)絡(luò)互聯(lián)”方面的目標(biāo),有興趣的朋友還可以參考RFC 1287“Towards the Future Internet Architecture”(1991年)。其中明確提到:“The Internet architecture needs to be able to scale to 10**9 networks.”“The exponent '9' is rather fuzzy; estimates have varied from 7 to 10.”也就是說(shuō),在1991年討論未來(lái)互聯(lián)網(wǎng)體系結(jié)構(gòu)的時(shí)候,明確提到希望將來(lái)的互聯(lián)網(wǎng)能把大概10億個(gè)“網(wǎng)絡(luò)”互聯(lián)(注意:不是10億個(gè)“節(jié)點(diǎn)”)。從這一點(diǎn),也可以看出IP協(xié)議在“網(wǎng)絡(luò)互聯(lián)”方面的壓力有多大。盡管在IP協(xié)議設(shè)計(jì)之初需要互聯(lián)的“網(wǎng)絡(luò)”數(shù)量非常少,而且今天IP協(xié)議所互聯(lián)的“網(wǎng)絡(luò)”數(shù)量也遠(yuǎn)小于10億,但“互聯(lián)網(wǎng)”的設(shè)計(jì)目標(biāo)就是為了擴(kuò)展到非常大的網(wǎng)絡(luò)數(shù)量,這是互聯(lián)網(wǎng)存在的終極意義。今天不斷涌現(xiàn)的各種“網(wǎng)絡(luò)”的新名詞,如物聯(lián)網(wǎng)、工業(yè)互聯(lián)網(wǎng)、衛(wèi)星互聯(lián)網(wǎng)、能源互聯(lián)網(wǎng)、金融互聯(lián)網(wǎng)、家庭網(wǎng)絡(luò)、個(gè)域網(wǎng)等,也充分說(shuō)明了未來(lái)需要互聯(lián)的“網(wǎng)絡(luò)”數(shù)量是非常多的。IP協(xié)議的首要目標(biāo)就是要把這些為數(shù)眾多的“網(wǎng)絡(luò)”都“互聯(lián)”起來(lái)。
IP協(xié)議對(duì)互聯(lián)網(wǎng)“開放與互聯(lián)”這一核心目標(biāo)到底實(shí)現(xiàn)得如何呢?我想絕大部分人的答案都是一樣的:完美得超出預(yù)期。今天世界各國(guó)那么繁榮的互聯(lián)網(wǎng)產(chǎn)業(yè),那么多互聯(lián)網(wǎng)應(yīng)用領(lǐng)域的巨頭公司,就是最好的明證。通過(guò)IP協(xié)議,互聯(lián)網(wǎng)不但連接了世界上許多的計(jì)算機(jī)網(wǎng)絡(luò),而且還連接了電信網(wǎng)?!熬W(wǎng)際互聯(lián)”這一偉大構(gòu)想,對(duì)人類社會(huì)的生產(chǎn)力帶來(lái)了空前的解放,無(wú)數(shù)行業(yè)被互聯(lián)網(wǎng)改造,我們隨時(shí)都可以聽(tīng)到“互聯(lián)網(wǎng)思維”、“互聯(lián)網(wǎng)哲學(xué)”這樣的詞匯,我國(guó)在2015年還推出了“互聯(lián)網(wǎng)+行動(dòng)計(jì)劃”。但要注意的是,當(dāng)前互聯(lián)網(wǎng)所取得成就,僅僅是把計(jì)算機(jī)網(wǎng)絡(luò)互聯(lián)、以及和電信網(wǎng)連接的結(jié)果,并非是互聯(lián)網(wǎng)發(fā)展的終點(diǎn)。
當(dāng)然我們可以問(wèn),對(duì)“開放與互聯(lián)”這一核心目標(biāo)(先不說(shuō)其他目標(biāo)),IP協(xié)議就一定是最好的選擇嗎?如果歷史回退到互聯(lián)網(wǎng)誕生的起點(diǎn),我們還能找到比IP協(xié)議更好的技術(shù)嘛?這個(gè)答案很簡(jiǎn)單:也許能,也許不能。IP協(xié)議以及當(dāng)前的TCP/IP協(xié)議棧的成功確實(shí)有多方面的原因。但歷史不容假設(shè),IP協(xié)議和TCP/IP協(xié)議棧已經(jīng)成功地運(yùn)行了幾十年。在足球領(lǐng)域有句名言:“一直贏球的隊(duì)伍,是不會(huì)更換首發(fā)陣容的”。作為互聯(lián)網(wǎng)規(guī)模高速擴(kuò)展背后的技術(shù)引擎,要更換它、替掉它,勢(shì)必要進(jìn)行更嚴(yán)謹(jǐn)?shù)恼撟C。而且新的技術(shù)一定是圍繞“開放與互聯(lián)”這一核心使命來(lái)提的,一定是針對(duì)IP協(xié)議在“無(wú)連接”、“分組交換”、“盡力而為的轉(zhuǎn)發(fā)”、“基于IP地址的尋址”這幾個(gè)方面的根本特征來(lái)進(jìn)行改善或替換的。
2.2、能把IP協(xié)議的其他設(shè)計(jì)目標(biāo)跟“開放與互聯(lián)”這一核心目標(biāo)放在“并列第一”的位置嗎?
我們接下來(lái)可能會(huì)問(wèn),就算“開放與互聯(lián)”是IP協(xié)議最重要的設(shè)計(jì)目標(biāo),那“服務(wù)質(zhì)量保障”、“移動(dòng)性”、“安全性”等目標(biāo)是否可以處于與“開放與互聯(lián)”同等重要的位置呢?如果能放到同等重要的位置的話,那就不能只優(yōu)化“開放與互聯(lián)”這一目標(biāo)了。我們下面就來(lái)討論“開放與互聯(lián)”這一設(shè)計(jì)目標(biāo)與其他幾個(gè)目標(biāo)之間的關(guān)系。
1)“開放與互聯(lián)”和“服務(wù)質(zhì)量保障”之間的關(guān)系
“服務(wù)質(zhì)量保障”指的是網(wǎng)絡(luò)為業(yè)務(wù)/用戶提供確定的帶寬、時(shí)延、抖動(dòng)和丟包率。不能提供“服務(wù)質(zhì)量保障”,是IP協(xié)議被詬病最多的一點(diǎn)。在第四篇文章我們也討論過(guò),由于互聯(lián)網(wǎng)把“開放與互聯(lián)”作為最重要的使命,采用完全分布式的架構(gòu),對(duì)用戶和流量沒(méi)有準(zhǔn)入控制,因此不可能實(shí)現(xiàn)像電路交換中一樣的嚴(yán)格“服務(wù)質(zhì)量保障”,只能采用“盡力而為”的轉(zhuǎn)發(fā)方式。
互聯(lián)網(wǎng)帶寬總是有限的,而用戶和業(yè)務(wù)的數(shù)量是巨大的。假設(shè)互聯(lián)網(wǎng)當(dāng)初真的采取了嚴(yán)格保障服務(wù)質(zhì)量的做法,也許我們今天體驗(yàn)到的互聯(lián)網(wǎng)服務(wù)會(huì)是這樣的。我們正準(zhǔn)備打開QQ和一位好友聊天,互聯(lián)網(wǎng)提醒你:“抱歉,互聯(lián)網(wǎng)帶寬正在保障其他用戶的服務(wù)質(zhì)量,請(qǐng)您稍后再來(lái)聊天”;我們興致勃勃地看了李佳琦的帶貨直播,然后打開一個(gè)鏈接去購(gòu)物,互聯(lián)網(wǎng)提醒你:“抱歉,互聯(lián)網(wǎng)帶寬正在保障直播業(yè)務(wù)的服務(wù)質(zhì)量,暫時(shí)無(wú)法為您提供購(gòu)物服務(wù)”。試想一下:如果是這樣的互聯(lián)網(wǎng),能發(fā)展成今天這樣的用戶規(guī)模和業(yè)務(wù)規(guī)模嗎?“盡力而為”的轉(zhuǎn)發(fā),意味著大家都起碼能至少用一點(diǎn)互聯(lián)網(wǎng)資源,不至于被互聯(lián)網(wǎng)直接“禁入”、“拒絕”。這對(duì)于互聯(lián)網(wǎng)實(shí)現(xiàn)“開放與互聯(lián)”的使命非常重要。
話雖如此,IETF其實(shí)也一直在做各種服務(wù)質(zhì)量保障的技術(shù)標(biāo)準(zhǔn),包括IPv4的ToS字段和IPv6的Traffic Class字段,MPLS、DiffServ、AQM,以及最近比較熱門的確定性網(wǎng)絡(luò)(DetNet)等技術(shù)。但這些標(biāo)準(zhǔn)并未提供“嚴(yán)格”的服務(wù)質(zhì)量保障。有些是給流量分成了很多優(yōu)先級(jí),在路由器上進(jìn)行優(yōu)先級(jí)調(diào)度,但每個(gè)優(yōu)先級(jí)內(nèi)部還是“盡力而為”的;假設(shè)所有用戶/業(yè)務(wù)都給自己打成最高優(yōu)先級(jí),其實(shí)也就回退到完全的“盡力而為”了。有些是更好地為業(yè)務(wù)選路,但選定路徑之后還是“盡力而為”地轉(zhuǎn)發(fā)的?!按_定性網(wǎng)絡(luò)”技術(shù)的一個(gè)重要前提假設(shè),是互聯(lián)網(wǎng)中大部分流量還是只需要“盡力而為”的,因此可以為少量特殊業(yè)務(wù)提供“確定性時(shí)延”。我對(duì)“確定性網(wǎng)絡(luò)”的應(yīng)用前景持保留態(tài)度,因?yàn)橐坏╅_了先例,每個(gè)用戶/業(yè)務(wù)都可以把自己標(biāo)記成特殊的,而互聯(lián)網(wǎng)是不可能保障所有的業(yè)務(wù)都獲得“確定性時(shí)延”的。
我們也可以看到,盡管IP協(xié)議一直沒(méi)有提供嚴(yán)格的“服務(wù)質(zhì)量保障”,IP協(xié)議支持的業(yè)務(wù)卻越來(lái)越多;語(yǔ)音、視頻等業(yè)務(wù),以前都被認(rèn)為是很難通過(guò)IP協(xié)議來(lái)支持的。IP協(xié)議為什么能做到呢?我認(rèn)為主要原因有兩點(diǎn):第一,互聯(lián)網(wǎng)帶寬的增長(zhǎng)。這不用說(shuō)了,總盤子大了,每個(gè)人能分到的自然多一些。第二,端系統(tǒng)應(yīng)用程序的各種解決方案,比如DASH (自適應(yīng)流媒體傳輸)技術(shù),通過(guò)自適應(yīng)網(wǎng)絡(luò)帶寬來(lái)調(diào)整流媒體的碼率,從而更好地支持流媒體傳輸應(yīng)用。而這一點(diǎn)又恰恰得益于IP協(xié)議的極簡(jiǎn)化設(shè)計(jì),把豐富的功能留給了端系統(tǒng)。有理由相信,未來(lái)會(huì)有更多的我們?cè)詾椤氨M力而為”的IP協(xié)議難以支持的業(yè)務(wù),同樣可以在互聯(lián)網(wǎng)上運(yùn)行地很好;也許其“服務(wù)質(zhì)量”并不那么完美,但因?yàn)樽畲蟪潭鹊貙?shí)現(xiàn)了“開放與互聯(lián)”,其實(shí)際效果可能會(huì)好得多(梅特卡夫定律)。
當(dāng)然我們還可以繼續(xù)“挑戰(zhàn)”,我的業(yè)務(wù)就是要超高的服務(wù)質(zhì)量,互聯(lián)網(wǎng)滿足不了我怎么辦?這種情況下,也有一個(gè)互聯(lián)網(wǎng)技術(shù),就是RSVP,為某些特定用戶或應(yīng)用預(yù)留帶寬。我一直把RSVP協(xié)議理解成互聯(lián)網(wǎng)技術(shù)在服務(wù)質(zhì)量保障方面做出的一個(gè)巨大妥協(xié),因此今天RSVP并沒(méi)有在互聯(lián)網(wǎng)的大網(wǎng)上廣泛使用。如果對(duì)某個(gè)應(yīng)用或業(yè)務(wù),RSVP還是無(wú)法保障其服務(wù)質(zhì)量,那就只能自己鋪光纖或建一個(gè)“專網(wǎng)”了?;ヂ?lián)網(wǎng)是公眾網(wǎng)絡(luò),從來(lái)不是為某些特定業(yè)務(wù)或特定用戶而設(shè)計(jì)的,考慮的永遠(yuǎn)是大部分人/大部分業(yè)務(wù)的需求,否則無(wú)法實(shí)現(xiàn)其“開放與互聯(lián)”的使命。
2)“開放與互聯(lián)”和“移動(dòng)性”之間的關(guān)系
對(duì)于IP協(xié)議在“移動(dòng)性”支持方面的批評(píng),其實(shí)大部分時(shí)候指的都是 “節(jié)點(diǎn)”的移動(dòng)性。但我們討論過(guò),互聯(lián)網(wǎng)技術(shù)本身關(guān)注的網(wǎng)絡(luò)之間互聯(lián)的問(wèn)題,并不特別關(guān)注“節(jié)點(diǎn)”的移動(dòng),因此WiFi標(biāo)準(zhǔn)是在IEEE制定的,而不是在IETF制定的。并且WiFi技術(shù)與蜂窩網(wǎng)技術(shù)相比,其根本的不同來(lái)自于頻譜分配的不同,導(dǎo)致WiFi的覆蓋范圍較?。ㄅc4G以前的電信網(wǎng)相比)。
如果節(jié)點(diǎn)的移動(dòng)跨越了不同的網(wǎng)絡(luò),會(huì)造成節(jié)點(diǎn)IP地址的變化,可能會(huì)影響正常通信;如果要保持原來(lái)的IP地址的話,就得更新互聯(lián)網(wǎng)的路由信息,這就與互聯(lián)網(wǎng)有關(guān)了。因此IETF定義了Mobile IP標(biāo)準(zhǔn)解決這一問(wèn)題。盡管這一解決方案并不完美,可是我們知道,這同樣是由于互聯(lián)網(wǎng)“分布式控制”的原因帶來(lái)的。不同的WiFi網(wǎng)絡(luò),本就屬于不同的計(jì)算機(jī)局域網(wǎng),都是被互聯(lián)網(wǎng)所“互聯(lián)”的“網(wǎng)絡(luò)”之一,在網(wǎng)絡(luò)之間進(jìn)行移動(dòng)性切換的時(shí)候肯定會(huì)有一些困難。為什么電信網(wǎng)不存在這個(gè)問(wèn)題呢?因?yàn)殡娦啪W(wǎng)是集中控制的,就算打電話時(shí)手機(jī)跨基站移動(dòng),但畢竟屬于同一個(gè)管理主體,在移動(dòng)切換上也存在更有效的處理辦法。
因此我們可以看到,當(dāng)前批評(píng)者們所指出的IP協(xié)議“移動(dòng)性”的問(wèn)題,要么與互聯(lián)網(wǎng)無(wú)關(guān),要么是由于互聯(lián)網(wǎng)“開放與互聯(lián)”的核心使命所導(dǎo)致的“分布式”管理機(jī)制所帶來(lái)的,都與IP協(xié)議沒(méi)有直接的關(guān)系。盡管如此,互聯(lián)網(wǎng)技術(shù)也一直在通過(guò)各種方法提升移動(dòng)性體驗(yàn),比如為了克服IP地址同時(shí)作為節(jié)點(diǎn)身份標(biāo)識(shí)和節(jié)點(diǎn)位置標(biāo)識(shí)的問(wèn)題,IETF制定了HIP(Host Identity Protocol)協(xié)議標(biāo)準(zhǔn)。雖然WiFi技術(shù)標(biāo)準(zhǔn)本身不屬于IETF關(guān)注的范圍,但2019年推出的WiFi 6 技術(shù),由于獲得了新的頻譜,與之前的WiFi相比,將會(huì)極大提升用戶的性能和體驗(yàn)。
3)“開放與互聯(lián)”和“安全性”之間的關(guān)系
ISOC主頁(yè)上清楚地寫著,互聯(lián)網(wǎng)的使命是“開放、互聯(lián)、安全、可信”。這里我們就不再區(qū)分“安全”與“可信”的技術(shù)內(nèi)涵了,都用廣義的“安全性”來(lái)概括。不止互聯(lián)網(wǎng),對(duì)于任何系統(tǒng)來(lái)說(shuō),“安全性”都是一個(gè)重要的設(shè)計(jì)目標(biāo),但它始終是一個(gè)“伴生”技術(shù),一般不會(huì)成為首要的設(shè)計(jì)目標(biāo)。道理很簡(jiǎn)單,如果要追求系統(tǒng)的極致安全,那就不要設(shè)計(jì)這個(gè)系統(tǒng),因?yàn)檫@樣最“安全”。
關(guān)于互聯(lián)網(wǎng)的“安全性”,不得不提到最近很熱門的“內(nèi)生安全”技術(shù)。我對(duì)“內(nèi)生安全”的理解是,系統(tǒng)在設(shè)計(jì)上需要把系統(tǒng)內(nèi)的安全因素考慮進(jìn)來(lái),而不是在產(chǎn)生安全問(wèn)題之后全部推給系統(tǒng)之外去處理。但如果“內(nèi)生安全”指的是把安全作為系統(tǒng)的首要設(shè)計(jì)目標(biāo),或者說(shuō)要設(shè)計(jì)一個(gè)永遠(yuǎn)不會(huì)產(chǎn)生安全問(wèn)題的系統(tǒng),這個(gè)恐怕不現(xiàn)實(shí)。
總結(jié)以上三個(gè)方面的討論。對(duì)IP協(xié)議的設(shè)計(jì)來(lái)說(shuō),“服務(wù)質(zhì)量保障”和“開放與互聯(lián)”的核心設(shè)計(jì)目標(biāo)在本質(zhì)上存在沖突,“(節(jié)點(diǎn))移動(dòng)性”不屬于IP協(xié)議要解決的問(wèn)題,“安全性”是排在“開放與互聯(lián)”之后的伴生目標(biāo)。因此我們不可能把“服務(wù)質(zhì)量保障”、“移動(dòng)性”、“安全性”放在和“開放與互聯(lián)”同等重要的目標(biāo)上考慮。互聯(lián)網(wǎng)的設(shè)計(jì)目標(biāo),只能是首先圍繞“開放與互聯(lián)”來(lái)優(yōu)化,并在此基礎(chǔ)上,盡量?jī)?yōu)化其他幾個(gè)設(shè)計(jì)目標(biāo)。如果只拿著“服務(wù)質(zhì)量保障”、“移動(dòng)性”和“安全性”這幾個(gè)方面的問(wèn)題來(lái)批判IP協(xié)議,卻拿不出更好的實(shí)現(xiàn)“開放與互聯(lián)”目標(biāo)的技術(shù),就顯得“本末倒置”、“因噎廢食”了。
3、IP協(xié)議的技術(shù)存在缺陷嗎?
IP協(xié)議的核心技術(shù),主要有幾點(diǎn):“無(wú)連接”、“分組交換”、“盡力而為”的轉(zhuǎn)發(fā)、基于“IP地址”的尋址。當(dāng)前對(duì)IP協(xié)議的具體技術(shù)的各種批評(píng)中,很少有批判“無(wú)連接”和“分組交換”的,主要是針對(duì)“盡力而為”的轉(zhuǎn)發(fā)和基于“IP地址”的尋址這兩個(gè)方面。下面分別討論。
3.1 “盡力而為”的問(wèn)題
“盡力而為”和“服務(wù)質(zhì)量保障”其實(shí)就是一對(duì)對(duì)立的概念。關(guān)于互聯(lián)網(wǎng)無(wú)法提供嚴(yán)格“服務(wù)質(zhì)量保障”的原因,在第2節(jié)已經(jīng)闡述,不再重復(fù)。這里再補(bǔ)充一點(diǎn),“盡力而為”絕對(duì)不是互聯(lián)網(wǎng)“不作為”的選擇,而是“有作為”的追求。舉一個(gè)例子。在互聯(lián)網(wǎng)協(xié)議設(shè)計(jì)早期,TCP和IP是合為同一個(gè)協(xié)議的,就是“TCP/IP”。因?yàn)楫?dāng)時(shí)的考慮很簡(jiǎn)單,“可靠性”應(yīng)該是任何一個(gè)應(yīng)用都會(huì)需要的基本服務(wù)啊!可是很快,互聯(lián)網(wǎng)設(shè)計(jì)者們就反應(yīng)過(guò)來(lái),我們不應(yīng)該對(duì)互聯(lián)網(wǎng)上的應(yīng)用做任何假設(shè),就連“可靠傳輸”這種需求都不能假設(shè);甚至“可靠傳輸”會(huì)干擾到某些應(yīng)用的正常運(yùn)行,比如遠(yuǎn)程Debug。于是,TCP和IP才分裂為兩個(gè)不同的協(xié)議,并且增加了UDP協(xié)議(只對(duì)IP做了簡(jiǎn)單的封裝,僅僅滿足不同應(yīng)用程序端口復(fù)用這一需求)。從這個(gè)例子可以看出,“盡力而為”這一看似簡(jiǎn)單、帶有“負(fù)面”感情色彩的選擇,其實(shí)是仔細(xì)考慮之后主動(dòng)選擇的結(jié)果?!氨M力而為”不但最大程度地實(shí)現(xiàn)了互聯(lián)網(wǎng)的“網(wǎng)際互聯(lián)”目標(biāo),而且催生了各種以前意想不到的互聯(lián)網(wǎng)應(yīng)用。對(duì)這段歷史感興趣的朋友,可以去閱讀David Clark先生發(fā)表于SIGCOMM 1988年的論文“The Design Philosophy of the DARPA Internet Protocols”,里面有詳細(xì)的描述。
除此之外,“盡力而為”與“服務(wù)質(zhì)量保障”之間的關(guān)系,還可以從另一個(gè)角度來(lái)理解:對(duì)于一個(gè)網(wǎng)絡(luò)系統(tǒng)的設(shè)計(jì),到底應(yīng)該“業(yè)務(wù)”適應(yīng)“網(wǎng)絡(luò)”,還是應(yīng)該“網(wǎng)絡(luò)”適應(yīng)“業(yè)務(wù)”?互聯(lián)網(wǎng)選擇了讓“業(yè)務(wù)”適應(yīng)“網(wǎng)絡(luò)”,因?yàn)榛ヂ?lián)網(wǎng)的首要目標(biāo)是讓盡可能多的“網(wǎng)絡(luò)”互聯(lián)起來(lái);但為了最小程度地限制業(yè)務(wù)種類,互聯(lián)網(wǎng)采用了“盡力而為”的極簡(jiǎn)設(shè)計(jì)方式。而作為對(duì)比,電信網(wǎng)選擇了讓“網(wǎng)絡(luò)”適應(yīng)“業(yè)務(wù)”,因?yàn)殡娦啪W(wǎng)的首要目標(biāo)是提供更好的業(yè)務(wù);為了滿足業(yè)務(wù)的需求,網(wǎng)絡(luò)必須要有“服務(wù)質(zhì)量保障”。
當(dāng)前反對(duì)IP協(xié)議“盡力而為”的提案,大多來(lái)自于各種行業(yè)網(wǎng)絡(luò)。由于行業(yè)網(wǎng)絡(luò)往往具有獨(dú)特的業(yè)務(wù)需求,因此總希望能有一定程度的“服務(wù)質(zhì)量保障”。如果僅僅著眼于行業(yè)網(wǎng)絡(luò)的內(nèi)部互聯(lián)通信的話,這種需求無(wú)可厚非,可以基于IP協(xié)議進(jìn)行改善,但這種改善不可能形成“互聯(lián)網(wǎng)”的技術(shù)標(biāo)準(zhǔn)(當(dāng)然可以另外搞一套針對(duì)該行業(yè)網(wǎng)絡(luò)的協(xié)議標(biāo)準(zhǔn),但就不能叫“IP”了)。但進(jìn)一步想,任何一個(gè)行業(yè)網(wǎng)絡(luò),如果能著眼于長(zhǎng)遠(yuǎn)價(jià)值而非眼前需求、著眼于全局優(yōu)化而非局部利益,采用標(biāo)準(zhǔn)的“互聯(lián)網(wǎng)技術(shù)”加入“互聯(lián)網(wǎng)”,可能會(huì)帶來(lái)大得多的收益。因?yàn)榛ヂ?lián)網(wǎng)的發(fā)展歷史表明,業(yè)務(wù)總是能以各種方式適應(yīng)網(wǎng)絡(luò),而網(wǎng)絡(luò)規(guī)模擴(kuò)張的價(jià)值,是不可替代的。
3.2 “IP地址尋址”的問(wèn)題
再來(lái)看看針對(duì)“基于IP地址的尋址”的批評(píng)。目前看到的所有關(guān)于未來(lái)互聯(lián)網(wǎng)的方案中,只有ICN(內(nèi)容中心網(wǎng)絡(luò))/NDN(命名數(shù)據(jù)網(wǎng)絡(luò))是針對(duì)這一問(wèn)題來(lái)提出新方案的。
要理解這個(gè)問(wèn)題,必須先了解互聯(lián)網(wǎng)的尋址體系。所謂“尋址”,就是以什么方式找到互聯(lián)網(wǎng)的“通信對(duì)端”。我們今天的互聯(lián)網(wǎng)是怎么操作的呢?必須先知道“通信對(duì)端”的“域名”(容易記憶和表達(dá)的一串字符);然后通過(guò)DNS系統(tǒng)把“域名”解析為“IP地址”(通信對(duì)端在互聯(lián)網(wǎng)空間的位置標(biāo)識(shí));然后就可以發(fā)送報(bào)文了。這里其實(shí)有個(gè)問(wèn)題:如果我們想要獲取的內(nèi)容在互聯(lián)網(wǎng)的多個(gè)“位置”都能提供,為什么一定要求訪問(wèn)者首先提供“域名”呢?訪問(wèn)者能否只提供“內(nèi)容”的標(biāo)識(shí),然后互聯(lián)網(wǎng)自動(dòng)選擇一個(gè)合適的“位置”來(lái)提供這項(xiàng)服務(wù)? ICN/NDN就是針對(duì)這個(gè)問(wèn)題來(lái)提出的。訪問(wèn)者只需要以“內(nèi)容標(biāo)識(shí)”來(lái)請(qǐng)求服務(wù),路由器以“內(nèi)容標(biāo)識(shí)”把該項(xiàng)請(qǐng)求自動(dòng)路由到“最近”的或“最優(yōu)”的內(nèi)容提供者處。這樣,訪問(wèn)者就不用關(guān)心到底由哪個(gè)內(nèi)容提供者來(lái)提供這項(xiàng)服務(wù)了,甚至路由器本身都可以直接從“緩存”中回復(fù)請(qǐng)求。
根據(jù)以上表述可以看出,ICN/NDN改變的,是互聯(lián)網(wǎng)與用戶之間的“人網(wǎng)接口”,到底是以內(nèi)容提供者的“域名”為接口,還是以“內(nèi)容本身的標(biāo)識(shí)”為接口。這種接口方式的改變,也改變了路由器中的路由轉(zhuǎn)發(fā)方式,即以“IP地址”為核心變成了以“內(nèi)容標(biāo)識(shí)”為核心。
從更本質(zhì)的角度說(shuō),ICN/NDN對(duì)互聯(lián)網(wǎng)體系結(jié)構(gòu)的改變到底在哪里呢?雖然互聯(lián)網(wǎng)是把不同的“網(wǎng)絡(luò)”互聯(lián),但最終互聯(lián)網(wǎng)服務(wù)還是為每個(gè)“網(wǎng)絡(luò)”里的“節(jié)點(diǎn)”提供的。在傳統(tǒng)的互聯(lián)網(wǎng)體系結(jié)構(gòu)中,我們站在節(jié)點(diǎn)本身的角度,以“節(jié)點(diǎn)”之間的“位置標(biāo)識(shí)”作為建立“互通”關(guān)系的核心;而ICN/NDN站在節(jié)點(diǎn)的需求的角度,以“節(jié)點(diǎn)”所需求的“內(nèi)容標(biāo)識(shí)”作為建立“互通”關(guān)系的核心。這種技術(shù)革新,沒(méi)有改變IP協(xié)議“無(wú)連接”、“分組交換”、“盡力而為”的技術(shù)特點(diǎn),沒(méi)有改變“分布式”管理的互聯(lián)網(wǎng)架構(gòu),更沒(méi)有改變“網(wǎng)際互聯(lián)”的本意。
正因?yàn)槿绱?,ICN/NDN目前已經(jīng)形成了好幾個(gè)RFC,包括RFC 7927、RFC 7945、RFC 8763。但I(xiàn)CN/NDN目前在技術(shù)上還存在諸多不完善的地方,因此這幾個(gè)RFC都不是IETF的RFC,而只是IRTF的RFC,也意味著還沒(méi)有廣泛達(dá)成工程上的共識(shí)。現(xiàn)在說(shuō)ICN/NDN替代IP協(xié)議,還為時(shí)尚早。
話又說(shuō)回來(lái),IPv6地址也只不過(guò)是128位的標(biāo)識(shí)而已,沒(méi)有人規(guī)定IP地址“只能”表示節(jié)點(diǎn)的“位置”。IP multicast技術(shù)中,不就用“組播IP地址”來(lái)作為一組會(huì)話的邏輯標(biāo)識(shí)嗎?因此,就算有一天ICN/NDN可以被成功部署,也完全可以采用128位的IPv6地址來(lái)作為“內(nèi)容標(biāo)識(shí)”,只是IPv6地址的語(yǔ)義就和今天不一樣了。如果這種情況真的發(fā)生了,是否也仍然叫“IP協(xié)議”呢?就像從來(lái)沒(méi)有人認(rèn)為IP multicast不屬于“IP協(xié)議”啊。因此按照我個(gè)人的看法,就算有一天ICN/NDN取得了成功,我們完全可以從IPv6地址空間中劃出一半,專門作為“內(nèi)容標(biāo)識(shí)”,就和今天已經(jīng)為組播和廣播通信劃分了專門的地址一樣。這并不影響它仍然叫“IP協(xié)議”。
不管如何,ICN/NDN都可以成為挑戰(zhàn)IP協(xié)議和互聯(lián)網(wǎng)體系結(jié)構(gòu)的一個(gè)好的樣本:新技術(shù)既要圍繞互聯(lián)網(wǎng)“開放與互聯(lián)”的核心使命來(lái)設(shè)計(jì),又要針對(duì)IP協(xié)議的某個(gè)具體的技術(shù)問(wèn)題進(jìn)行革新。從這個(gè)例子也可以看出,只要符合互聯(lián)網(wǎng)的核心使命和設(shè)計(jì)理念,互聯(lián)網(wǎng)社區(qū)并不是“故步自封”的,并不是不接受任何改進(jìn)意見(jiàn)的。
4、IP協(xié)議需要不斷迭代有問(wèn)題嗎?
IP協(xié)議自從誕生以來(lái),就在不斷地改進(jìn)、迭代。很多IETF的技術(shù)標(biāo)準(zhǔn)就在做這件事情。這些改進(jìn)和迭代的例子非常多:為了支持安全性,誕生了IPsec協(xié)議;為了支持支持組通信,誕生了IP multicast協(xié)議;為了卸載IP地址同時(shí)表示位置和身份的問(wèn)題,誕生了HIP協(xié)議;不勝枚舉。但我們看到,任何一個(gè)“補(bǔ)丁”,都沒(méi)有改變IP協(xié)議“無(wú)連接”、“分組交換”、“盡力而為”的本質(zhì)。這些所謂的“補(bǔ)丁”,不過(guò)是對(duì)IP協(xié)議的豐富和完善而已;有些“補(bǔ)丁”確實(shí)在路由器上帶來(lái)了過(guò)高的實(shí)現(xiàn)代價(jià)(代碼行數(shù)),但這并非互聯(lián)網(wǎng)體系結(jié)構(gòu)的問(wèn)題。對(duì)于互聯(lián)網(wǎng)這一復(fù)雜巨系統(tǒng),難道我們換一種互聯(lián)互通的基本協(xié)議,就可以減少實(shí)現(xiàn)代價(jià)嗎?
有人說(shuō),IP協(xié)議過(guò)多的“補(bǔ)丁”使得數(shù)據(jù)轉(zhuǎn)發(fā)路徑顯得太“臃腫”,不夠“高效”,比如NAT轉(zhuǎn)化、防火墻、入侵檢測(cè)設(shè)備等。這里其實(shí)指的問(wèn)題是IP報(bào)文轉(zhuǎn)發(fā)在數(shù)據(jù)平面上做的事情太多了。造成這一現(xiàn)狀的原因大概有幾點(diǎn):1)因?yàn)镮Pv4地址不夠用,帶來(lái)了私有地址和公有地址之間的轉(zhuǎn)化開銷;2)安全方面的考慮:比如防火墻、入侵檢測(cè)設(shè)備、ACL過(guò)濾等。3)服務(wù)質(zhì)量方面的考慮:比如各種隊(duì)列調(diào)度策略等。關(guān)于第1)點(diǎn),事實(shí)上這也是為什么要推出IPv6的根本原因,可以保證每個(gè)節(jié)點(diǎn)都有IP地址,免去網(wǎng)絡(luò)中的協(xié)議轉(zhuǎn)換。關(guān)于第2)點(diǎn),安全方面的“過(guò)濾”類操作是為了“過(guò)濾”掉非法流量,這是從體系結(jié)構(gòu)層面保障互聯(lián)網(wǎng)安全的重要技術(shù),因?yàn)榛ヂ?lián)網(wǎng)的使命除了“開放、互聯(lián)”,還有“安全、可信”,這一類操作并不會(huì)影響互聯(lián)網(wǎng)的開放性。關(guān)于第3)點(diǎn),IP協(xié)議一直主張?jiān)跀?shù)據(jù)平面進(jìn)行盡量“簡(jiǎn)單”的轉(zhuǎn)發(fā),所以才采用“盡力而為”的策略,為了“服務(wù)質(zhì)量保障”而進(jìn)行的操作,本來(lái)就是IP協(xié)議所希望避免的。因此,對(duì)IP協(xié)議在這方面的批評(píng),事實(shí)上是在支持IP協(xié)議原本的設(shè)計(jì)目標(biāo)。打個(gè)比方:設(shè)計(jì)“紅綠燈”,是為了讓道路交通更有秩序;我們不能因?yàn)樵趯?shí)際生活中紅綠燈可能出故障、或者還是有人闖紅燈,反過(guò)來(lái)說(shuō)明紅綠燈這個(gè)規(guī)則有問(wèn)題;除非能拿出比“紅綠燈”更好的方案。
還有人說(shuō),IP協(xié)議的補(bǔ)丁打得太多,如果要面臨一些“新場(chǎng)景”或“新需求”,繼續(xù)打“補(bǔ)丁”就顯得很“笨拙”,不如推翻重來(lái)。這里要先問(wèn)問(wèn),所謂的“新場(chǎng)景”或“新需求”,指的是除了“網(wǎng)際互聯(lián)”之外的需求嗎?如果是“網(wǎng)際互聯(lián)”之外的需求,那就不用討論了,因?yàn)镮P協(xié)議從來(lái)不是為了其他需求而設(shè)計(jì)的;如果仍然是“網(wǎng)際互聯(lián)”這個(gè)需求本身,那就先證明有什么新技術(shù)在這一點(diǎn)上可以比IP協(xié)議做得更好(就像本文前面部分所討論的那樣)。
5、總結(jié)
通過(guò)以上分析,我們的結(jié)論是,對(duì)于互聯(lián)網(wǎng)技術(shù)中最核心的IP協(xié)議:1)IP協(xié)議從來(lái)不是完美的,但起碼迄今為止,圍繞互聯(lián)網(wǎng)的“開放與互聯(lián)”的核心使命,它完成得非常好;2)就算我們要改變IP協(xié)議,必須要保證新協(xié)議的首要設(shè)計(jì)目標(biāo)仍然是圍繞互聯(lián)網(wǎng)“開放與互聯(lián)”的使命來(lái)的,而不能以其他次要的目標(biāo)來(lái)影響主要目標(biāo)的實(shí)現(xiàn)。
就算IP協(xié)議保持穩(wěn)定,也并不意味著互聯(lián)網(wǎng)體系結(jié)構(gòu)就沒(méi)什么好做的了。因?yàn)椤盎ヂ?lián)網(wǎng)體系結(jié)構(gòu)技術(shù)”是包含很多方面的,不止有IP協(xié)議。為應(yīng)用服務(wù)的傳輸協(xié)議、互聯(lián)網(wǎng)控制平面的路由協(xié)議、互聯(lián)網(wǎng)管理、互聯(lián)網(wǎng)安全等等,都是很值得繼續(xù)深入研究、進(jìn)行技術(shù)創(chuàng)新的(這也是當(dāng)前IETF正在做的許多標(biāo)準(zhǔn)化工作)。只是有兩點(diǎn)希望:1)不要讓任何對(duì)互聯(lián)網(wǎng)體系結(jié)構(gòu)的研究,都披著“推翻IP”的外衣;2)不要覺(jué)得任何不改變IP協(xié)議的互聯(lián)網(wǎng)體系結(jié)構(gòu)技術(shù)研究,就不是“重要?jiǎng)?chuàng)新”。再次打個(gè)不恰當(dāng)?shù)谋确剑喝绻桓淖內(nèi)祟惖幕颍袑?duì)人類健康的研究就都不算“重要?jiǎng)?chuàng)新”了嗎?
聯(lián)系客服