千兆防火墻的代表產(chǎn)品包括Netscreen的 5000系列防火墻,以及Nodia-CheckPoint的IP720以上的產(chǎn)品。這種防火墻的特點(diǎn)是網(wǎng)絡(luò)吞吐性能要求高(即帶寬要求高),普通的硬件主板不能承受,市場(chǎng)出貨量又少。因此,在世界上能夠?qū)崿F(xiàn)的廠家很少,而且必須是世界級(jí)的進(jìn)行市場(chǎng)推廣的公司才能推出真正的千兆防火墻。其他的,即使是名為千兆,實(shí)際上也只是假千兆,說(shuō)穿了就是把千兆卡用到百兆防火墻的內(nèi)核上,實(shí)際上達(dá)不到千兆性能。要了解個(gè)中因由,首先要了解防火墻的工作原理。
大家都知道,防火墻的工作核心其實(shí)就是對(duì)IP包頭與預(yù)定政策的匹配控制。防火墻在工作的時(shí)侯,首先從內(nèi)存讀出政策鏈的第一條放進(jìn)寄存器,然后經(jīng)系統(tǒng)總線 (pci0),再經(jīng)pci-pci橋,再經(jīng)pci1到pci網(wǎng)卡讀取IP包的頭信息,把它與寄存器中的政策進(jìn)行匹配,然后決定該IP包的處理。一來(lái)一去需要兩次經(jīng)過(guò)PIC總線。如果IP包比較大,那么這個(gè)包頭信息與包的大小比較就相對(duì)小得多,這時(shí)侯系統(tǒng)帶寬的瓶頸就是網(wǎng)卡的內(nèi)存暫存能力,也就是我們所說(shuō)的百兆網(wǎng)卡和千兆網(wǎng)卡的區(qū)別,或者稱為線速的限制(wirespeed).但如果IP包很小,那么IP包頭所占的比例就相當(dāng)高,這時(shí),瓶頸就是PCI 總線的交換能力了。
任何來(lái)往于該P(yáng)CI的其他傳輸,都將由于總線爭(zhēng)奪而受到限制。在這一數(shù)據(jù)交換中,數(shù)據(jù)通過(guò)Hubink,從 ICH(I/O Controller Hub))到MCH(Memory Controller Hub)的傳輸有四次,經(jīng)過(guò)PCI總線的傳輸有兩次。由于HubLink的最大數(shù)據(jù)吞吐量是266MB,約2.2Gbps;但由于32位PCI總線以 33MHz運(yùn)行,所以數(shù)據(jù)傳輸率被限制到1.06Gbps左右。而且還要連接運(yùn)行各種系統(tǒng)數(shù)據(jù)交換。由于PCI總線的帶寬限制,PCI網(wǎng)卡永遠(yuǎn)也不能實(shí)現(xiàn)真正的全雙工的2Gbps帶度,最高理論速度是單向1Gbps,而實(shí)際達(dá)到的不超過(guò)一半,即500M。
換句話說(shuō),對(duì)于硬件確定的系統(tǒng),每秒能夠處理IP包的數(shù)量是一個(gè)相對(duì)的常數(shù)。這個(gè)常數(shù)與CPU處理能力和寄存器數(shù)目,以及系統(tǒng)總線的交換速度形成的整體能力密切相關(guān)。對(duì)于使用 PIII處理器和 X86服務(wù)器主板(或工控主板,32位PCI總線)的防火墻,這個(gè)數(shù)字大致在五十萬(wàn)到一百萬(wàn)之間。(注意不要把它和最大的會(huì)話保持這個(gè)標(biāo)稱參數(shù)混淆,最大會(huì)話主要與系統(tǒng)的可分配內(nèi)存有關(guān)系)。因此,基于Intel X86主板的防火墻的極限吞吐量在IP包大小為512比特時(shí),大致是三百兆左右。顯然,這個(gè)吞吐能力很符合百兆防火墻的環(huán)境,也符合低流量的千兆網(wǎng)環(huán)境的要求。但對(duì)于高流量的千兆網(wǎng),就無(wú)能為力了,必須在硬件上整體改進(jìn)才可能滿足這個(gè)階梯的升級(jí)要求。
從前文也可以看出,防火墻的吞吐量是與IP包的大小密切相關(guān)的,所以談?wù)撏掏铝咳绻撾x包的大小是毫無(wú)意義的,任何防火墻都可以達(dá)到百兆線速,只不過(guò)是在包大到什么程度才能達(dá)到線速而已。另一方面,Intel X86主板架構(gòu)的服務(wù)器,即我們通常說(shuō)的英特服務(wù)器,ASIC服務(wù)器(冗余指令集服務(wù)器),或PC服務(wù)器盡管不能完全滿足千兆環(huán)境的防火墻吞吐要求,但一般的千兆環(huán)境還是可以應(yīng)付的。因?yàn)橐蕴W(wǎng)中的設(shè)備不止防火墻一個(gè),還有交換機(jī)、路由器等等,這些產(chǎn)品全部都可以形成瓶頸,因此,一個(gè)局域網(wǎng)段的極限流量不是它的線速,而大約是線速的25%以下。即千兆約250兆,百兆約25兆。考慮到目前國(guó)內(nèi)一般千兆網(wǎng)的實(shí)際流量都不高(很少超過(guò)十兆的),所以這種基礎(chǔ)的防火墻還是可以承擔(dān)一般千兆網(wǎng)的流量要求的。但如果千兆干網(wǎng)達(dá)到100兆以上流量,幾個(gè)千兆口累加的吞吐量就超過(guò)了這種防火墻的內(nèi)部極限,這種防火墻就會(huì)大量丟包,成為網(wǎng)絡(luò)系統(tǒng)的瓶頸了。
因此,要克服這個(gè)瓶頸,就只有一個(gè)辦法,提高系統(tǒng)每秒能夠匹配的IP包的能力。其中的關(guān)鍵是擴(kuò)寬PCI總線的交換速度,反而CPU速度并不是系統(tǒng)的瓶頸,相對(duì)而言,今天的CPU能力大得驚人,處理防火墻過(guò)濾如同牛刀殺雞,所以大量防火墻把多余的處理能力用到VPN的強(qiáng)密解密處理上。而PCI速度實(shí)際上從問(wèn)世到今天,也已經(jīng)從33M提升到133M,只是與CPU的摩爾速度相比,顯得慢得多了,偏偏一個(gè)桶能裝的水是以最短的桶條來(lái)衡量的。到今天,要解決硬件瓶頸,已經(jīng)形成了幾種相對(duì)可行的方案。
一種就是使用專門設(shè)計(jì)的多總線服務(wù)器。如Nokia IP740雖然也是X86,但內(nèi)置三條PCI總線,這樣就可以提高防火墻的極限吞吐量,滿足一般的千兆環(huán)境。第二種是使用專門的處理插卡,換方之,就是把千兆的網(wǎng)卡和專門的過(guò)濾處理器做到一起,形成新的千兆網(wǎng)卡,大部分工作無(wú)需再經(jīng)PCI總線到CPU才返回,直接在PCI1就交換完畢了。這是 CheckPoint曾經(jīng)使用的方法。第三種方法與第二種相似,所不同的不是使用專門的PCI集成網(wǎng)卡,而是使用一個(gè)前置在Pci1總線上的單片機(jī),直接處理防火墻的過(guò)濾轉(zhuǎn)發(fā)要求。這樣同樣可以克服總線限制。使用這種方法的就是著名的netscreen公司的ASIC處理器。最后一種辦法目前仍沒(méi)有確定可行。就是使用英特的NP處理器。它的缺點(diǎn)是把整個(gè)防火墻變成了一個(gè)過(guò)濾器。可是防火墻雖然主要工作是過(guò)濾轉(zhuǎn)發(fā),但并不是過(guò)濾轉(zhuǎn)發(fā)就是防火墻,其他功能也是很重要的。否則就與路由器沒(méi)有什么區(qū)別了。另一個(gè)簡(jiǎn)單的辦法就是使用RISC-SCSI的架構(gòu),也即通常所說(shuō)的高檔UNIX主機(jī),由于使用64位總線,也是可以克服32位PCI總線形成的瓶頸;這也幾乎是普通防火墻廠商滿足千兆要求的唯一辦法了,就是把防火墻軟件裝到UNIX主機(jī)上面,成本可想而知。
無(wú)論是那一種方式,無(wú)不與一定量的市場(chǎng)需求密切相關(guān)。設(shè)計(jì)定制專門的硬件成本很高,動(dòng)輒以千萬(wàn)美元計(jì)算,任何公司都不可能為區(qū)區(qū)一百幾十臺(tái)的出貨量去搞什么專門的硬件。而且,千兆防火墻需求量只是百兆防火墻的幾十分之一(只有敗家子式的蠢才才會(huì)清一色用千兆防火墻),這就決定了即使是年出貨量上千臺(tái)的防火墻生產(chǎn)商也不能承受定制專門的千兆級(jí)硬件的成本。要知道,即使是盡得中國(guó)官方采購(gòu)天時(shí)的天融信也遠(yuǎn)達(dá)不到這個(gè)出貨水平。所以,世界上除非是在全世界范圍內(nèi)成功銷售自已產(chǎn)品的公司,否則,推出真正的千兆防火墻是非常困難的。除非出現(xiàn)64位的PCI總線,否則百兆和千兆就是一個(gè)難以超越的等級(jí);反之,一旦64 位總線成為主流,那時(shí)千兆就象今天的百兆和十兆一樣,很容易就成為一個(gè)可以自動(dòng)適應(yīng)的網(wǎng)絡(luò)帶寬等級(jí)。到那時(shí),瓶頸制約的就是萬(wàn)兆了。不過(guò)說(shuō)老實(shí)話,除非是實(shí)時(shí)看高清晰度電影和電視轉(zhuǎn)播,否則我的想像力根本想不出拿著萬(wàn)兆到底干什么好。
目前英特正在研發(fā)新一代的網(wǎng)絡(luò)系統(tǒng)總線CSA,(傳輸流架構(gòu)),這一接口的投入,將為L(zhǎng)OM(LAN on Motherborad)打下基礎(chǔ)。介時(shí),國(guó)產(chǎn)千兆防火墻產(chǎn)品就可以無(wú)需特別定制的硬件而揚(yáng)帆四海了。


