摘要 一些ISP把他們的IP網絡圈起來,增加各種邊界節點,利用圍起來的“比特管道”提供一些增值服務,獲取更高的利益,形成了所謂的“Walled Garden(‘帶圍墻的花園’或‘圍墻花園’)”的商業模式。本文詳細介紹了“圍墻花園”的含義、典型類型以及“圍墻花園”的規模和上“門”類型,并分析了對“圍墻花園”模型的爭論。
1、引言
與傳統電信網絡和廣播電視網絡堅持的嚴格控制和管理不同,互聯網倡導的是一種建立在“自律”基礎之上的“開放”、“平等”和“創新”,讓人人都可以參與建設和發展的精神理念。在這一精神理念的指導下,互聯網工程界提出了“端到端透明性”的核心設計理念(RFC3439),是互聯網少有的、一直堅持的體系架構核心設計原則之一。所謂“端到端透明性”,就是在互聯網的設計中,將與通信相關的部分(IP網絡)與高層應用(端點)和下層傳輸技術分離,讓網絡最大限度地具有開放性。
端到端透明性帶來的互聯網開放性,為后來互聯網商用化的蓬勃發展起到了決定性的作用。但與此同時,互聯網的商用化也給互聯網的開放性帶來了嚴峻的挑戰,改變了互聯網的體系架構,尤其是開放性。互聯網的開放接口只是盡力而為的IP包轉發服務,而不是高層業務和應用的接口,因此互聯網服務提供商(ISP)只能提供所謂的“比特管道”業務,很難提供利潤更高的高層業務和應用,導致大量ISP的倒閉、破產和兼并,使得純粹意義上的ISP沒有一個能夠活下來。于是,另外一些ISP開始把他們的IP網絡圈起來,增加各種邊界節點(Middlebox,中間體),利用圍起來的“比特管道”提供一些增值服務,獲取更高的利益,形成了所謂的“Walled Garden(‘帶圍墻的花園’或‘圍墻花園’)”的商業模式。
2、“圍墻花園”的含義
“圍墻花園”是與RFC3439所謂的完全開放的互聯網模型相對而言的,指ISP把用戶限制在一個特定的范圍內,只允許用戶訪問指定的網站或相關服務,防止用戶訪問其他未被允許的內容和服務。當然,有的“圍墻花園”也可能不阻止用戶訪問“圍墻花園”外的網站和服務,只是給用戶增加了訪問難度。
ISP建立“圍墻花園”的原因有多種。有的是為了防止用戶不適當地訪問一些有害信息或網站,如1999年美國在線服務公司(AOL)少兒頻道就建立了一個圍墻花園,以防止孩子們訪問一些不適宜的網站。但更重要和普遍的原因是ISP的商業利益:ISP希望將用戶資源掌握在自己手中,引導用戶訪問自己或者合作伙伴的服務,減少或防止訪問競爭對手和不能帶來利益的服務。
可以說,美國在線服務公司是“圍墻花園”方案主要和最成功的實踐者。據稱85%的美國在線用戶從未離開過AOL的網絡,美國人花費在網上的40%時間都處在AOL圈定的“圍墻花園”內。另外,在移動數據業務中,讓手機這樣的無線設備只能訪問限制在一個范圍內的網站,也是一種典型的“圍墻花園”,如I-Mode模型,很多收費WAP業務也是這樣的。當前,IPTV業務網的模型,下一代網絡(NGN)以及運營商組建的多個“電信級”的IP網,也普遍采用的是這種模型。
3、“圍墻花園”的典型類型
目前,實際運行的典型“圍墻花園”的類型有:
(1)基于終端的“圍墻花園”:指在終端上限定終端用戶可以訪問的網站范圍和服務形式,超過指定范圍的網站和服務不能訪問。這種方式一般可用作“綠色上網”,比如防止兒童訪問不適宜的網站等。
(2)基于門戶網站的“圍墻花園”:在這種方式下,用戶通過門戶網站可以很便捷地訪問指定門戶網站上的服務(ISP或者ISP合作者的服務)。但這種方式沒有真正的圍墻,用戶實際上也能訪問圍墻外的其它服務,只是用戶訪問其它服務時會更加困難一些。
(3)基于專網或虛擬專用網(VPN)的“圍墻花園”:把提供服務的所有設備都放到一個(虛擬)專用網中,訪問者通過遠程接入VPN來接入到“圍墻花園”中去,自由訪問圍墻內的所有服務。這種方式不但能限制訪問范圍,而且也能防范來自外部的攻擊。
(4)基于防火墻或網關的“圍墻花園”:類似于基于VPN的圍墻花園,主要區別在于這種方式只是把業務與應用服務器真正放在圍墻內,把其它網絡設備放在圍墻外。用戶可通過防火墻或網關,使用圍墻內所提供的服務。
(5)基于用戶注冊的“圍墻花園”:只有注冊的用戶才能使用所保護的服務,非注冊用戶不能使用。一般基于一組或一類網絡服務進行注冊。該類“圍墻花園”旨在提供應用層保護,用戶、網絡以及應用服務器都暴露在外界的安全威脅下。
4、“圍墻花園”的規模
探討“圍墻花園”的規模,首先要看“圍墻”上面是否需要開“門”(與外界互通),把“花園”與別的“圍墻花園”或互聯網連接起來。其次,如果需要開“門”,還需要看要開一個“門”還是多個“門”。如果“圍墻花園”不需要對外開放“大門”(與外界分離),那么在“花園”中可以采用任何類型的編址方式,比如私有地址(RFC1918)、偷偷把別人的公有地址拿來私用(“公有地址私用”),甚至IPv6地址等。因為這時“圍墻花園”不和外界發生關系,不存在編址沖突的可能性,因此想讓“花園”做多大就可以做多大。
但一般情況下,都需要讓“圍墻花園”與外界互聯互通起來,這時花園的規模就會受到限制,就要仔細研究和規劃了。因為規模很大的時候,與“花園”內部可以采用的IP編址方式以及“門”(NAT,網絡地址翻譯)的類型都存在很大的關系。當花園的規模小于RFC1918規定的大約1600萬個IP地址時(10/8,192.168/16和172.16/12),內部不用再分級就可以全部使用平面化的私有地址,在“圍墻”上使用傳統的NAT就完全可以了。只是需要注意,要盡量避免NAT可能會出現單點性能瓶頸和故障。
不分級的平面式內部編址,在“花園”規模很大,超過1600萬時,采用RFC1918規定的全部私有地址也不夠時,可以有兩個辦法來解決:
(1)分級編址,多級傳統NAT,這時需要注意多級NAT的穿越。
(2)內部不分級,“公有地址私有”,但這需要使用“Twice NAT”和“Multihoming NAT”,并解決由此而帶來的各種復雜問題。
這兩種技術方法都存在很多缺陷,迫不得已時推薦使用第一種。
5、“圍墻花園”上“門”的類型
“圍墻花園”一般都采用私有編址,都需要“門”,因此這個“門”一般都需要具有網絡地址翻譯的功能。RFC1631以及相關RFC定義的NAT/NAPT是一種將IP地址從一個編址域(如“圍墻花園”)映射到另外一個編址域(如互聯網)的方法。NAT最典型的應用是把RFC1918定義的私有IP地址映射與互聯網所使用的公有IP地址做相互映射。從功能上看,主要有以下幾種典型的NAT(RFC2663):
(1)傳統NAT(Traditional NAT)
在多數情況下,傳統NAT允許位于圍墻內部的主機(采用RFC1918地址)透明地訪問圍墻外部(互聯網)的主機,把從圍墻外部到圍墻內部的訪問作為一種特例,為事先選擇好的特定內部主機做靜態地址映射。圍墻外部中主機的IP地址在圍墻外部以及圍墻內部中是惟一的和有效的,但圍墻內部主機的IP地址只有在圍墻內部中才是惟一的,在圍墻外部中不一定有效。換言之,NAT不會向外部編址域通告內部網絡的地址,但有可能向內部網絡通告外部互聯網的地址。圍墻內部使用的地址一定不能與圍墻外部的地址重疊,任何一個地址或是一個內部地址或外部地址,不能同時是內部和外部地址。傳統NAT又包括基本NAT和NAPT兩大類。
(2)雙向NAT(Bi-directional NAT,Two-WayNAT)
當使用雙向NAT(Bi-directional NAT或Two-Way NAT)時,可以從圍墻內部向圍墻外部發起會話請求,也可以從圍墻外部向圍墻內部發起會話請求。當在外出或進入任何一個方向上建立連接時,把圍墻內部地址靜態或動態綁定到全局惟一的地址上。這里假設位于圍墻內部和外部網絡之間的名字空間(FQDN,Fully Qualified Domain Names)是端到端惟一的,因為只有這樣才能夠使得位于外部編址域的主機利用域名系統(DNS)訪問內部網絡的主機。在雙向NAT上必須部署DNS-ALG(DNS應用層網關,DNS-Application Level Gateway),以處理名字到地址的映射。當一個DNS包需要穿越圍墻內部和外部網絡編址域時,DNS-ALG必須能夠將DNS查詢和響應消息中的內部地址翻譯成外部地址,或把外部地址翻譯成內部地址。
(3)兩次NAT(Twice NAT)
兩次NAT是NAT的一個變種,它同時修改源和目的地址。這與前面的傳統NAT和雙向NAT(Bi Directional)都不同,前面的兩種NAT只翻譯源或者目的地址(端口)。兩次NAT在圍墻內部編址域和圍墻外部編址域存在沖突時非常有用。典型例子之一是當一個“圍墻花園”(不恰當地)使用已分配給其它機構的公開IP地址對其內部主機進行編址時(“公有地址私用”);例子之二是當一個站點從一家運營商換到另外一家運營商,同時又希望(在內部)保留前一家運營商分配的地址時(而前一家運營商可能會在一段時間后將這些地址重新分配給其它人使用)。在這些情況下,非常關鍵的一點就是外部網絡的主機可能會分配得到以前已分配給內部主機的同一地址。如果該地址碰巧出現在某個包中,則應該將它轉發給內部主機,而不是通過NAT轉發給外部編址域。兩次NAT通過同時翻譯IP包的源和目的地址,試圖橋接這些編址域,解決了地址沖突的問題。
(4)多宿主NAT(Multihomed NAT)
使用NAT會帶來很多問題(RFC2993)。比如,NAT設備要為經過它的會話維護狀態信息,而一個會話的請求和響應必須通過同一NAT設備做路由,因此通常要求允許NAT“花園”邊界路由器必須是惟一的,所有的IP包要么發起,要么終結在該域。但這種配置將NAT設備變成了可能的單點故障點。
為了讓一個內部網絡能夠在某個NAT鏈路故障的情況下,也可以保持與外部網絡的連通性,通常希望圍墻內部網絡到相同或不同的ISP具有多條連接(多宿主的),希望經過相同或不同的NAT設備。又如,多個NAT設備或多條鏈路使用同一NAT,共享相同的NAT配置能夠為相互之間提供故障備份。在這種情況下,有必要讓備份NAT設備交換狀態信息,以便當主NAT出現故障時,備份NAT能夠擔負起透明地保持會話的能力。
6、“圍墻還原”模型的爭論
關于“圍墻花園”商業模型是否合理、合法的問題,圍繞著“網絡中立”和商業模式,業界存在很大的爭議。但這種爭論仍然基本屬于電信界和互聯網界的“理念”爭議之一。從當前情況的發展看,這將是自互聯網商用以來,電信業與互聯網業的一次世紀性大搏弈,事關兩大產業的利益格局,事關所有用戶的切身利益。
主張“花園”不能有“圍墻”的主要來自互聯網界,以“網絡中立”的討論為代表,認為網絡是一種公共的基礎設施,任何人都能平等地在網絡上傳輸數據,ISP不得對網上的傳輸進行任何岐視性限制或收費。“網絡中立”議案由美國消費者協會提出,獲得Google,eBay等互聯網公司力挺,遭到AT&T,Verizon為代表的運營商的反對。
當前,美國主要運營商都在對線路進行擴容,為大規模上IPTV做準備,并在討論是否要向內容提供商收取線路租用費以外的額外費用。而Google等互聯網公司則認為不應額外收費,并試圖以立法的形式確立“網絡中立”的原則,從法律上堵住運營商額外收費的可能性。在運營商看來,Google等互聯網公司利潤豐厚,而運營商利潤情況較差,在線路擴容上投資巨大,如不再收取額外的費用是不公平的。而Yahoo等互聯網公司則認為,運營商已經收取線路費用,額外收費會導致阻礙創新,違反互聯網開放、公平的原則,限制了互聯網業務的發展,損害了消費者的利益。互聯網界沒有自己的網絡基礎設施,只能使用別人的,因此從他們自身的角度看堅持互聯網不能有圍墻的想法很正常。
運營商與互聯網公司的這種利益關系調整是全球性的。一旦“網絡中立”在美國成立或者不成立,都會是全球性的定論,各國運營商和互聯網公司都不會有再次選擇的機會。無可否認的是:目前互聯網產業鏈各環節之間缺乏有效的利益分配和協調機制。端到端的業務與承載分離使得網絡基本成為透明的傳輸通道,業務實現與控制的權利和責任完全推向業務提供商和用戶。這一方面使得業務提供商和用戶承擔了過多的責任;另一方面也導致業務的開發部署不需要ISP的參與,沒有使ISP成為“利益攸關方”,打擊了他們的投資積極性,因而很多與網絡屬性密切相關的業務無法順利開展。這是導致互聯網泡沫的主要原因,因此建立“適當”的圍墻,以便讓業務具有提供更高的服務質量,更好的安全服務和更合理的商業模式。但什么是“適當”的,則需要進一步的研究和實踐。
7、結束語
由于互聯網的應用目的發生了很大變化,而且“用戶自律”的假設不再適用,因此未來互聯網應對完全開放、沒有“圍墻”的體系架構做相應地修正和發展,以便在新的歷史發展階段適應新的應用需求。雖然未來互聯網仍將堅持“端到端透明性”的體系架構,但應修建適當的“圍墻”來滿足一定的約束條件,即“有條件的端到端透明性”。在保證人人能夠繼續參與互聯網發展和創新的前提下,網絡中應內嵌一些對用戶透明的管理和控制機制(即“圍墻”),抑制用戶的不自律行為,平衡產業鏈不同角色之間的職責和利益。