這是一個(gè)讀者的留言: 源自這張照片: 在弱電箱里面有一臺白色的小路由,網(wǎng)友就開始問了是不是RB750GR3,怎么能讓這臺小路由跑到千兆網(wǎng)速。本來iN的回復(fù)就是“本身這就是一臺5個(gè)端口的千兆路由器呀”,但仔細(xì)想想還是單獨(dú)拿出來說說吧。 網(wǎng)友提出來的問題實(shí)際上超有意思,會有一點(diǎn)涉及到路由器本身的小秘密了。在網(wǎng)絡(luò)設(shè)備標(biāo)定參數(shù)的時(shí)候一般的來說廠商會有避重就輕的行為,不過這種行為也算是無可厚非,大家都會標(biāo)記最高的參數(shù)。想當(dāng)年聯(lián)想在剛剛推出奔騰II的電腦臺式機(jī)的時(shí)候,鋪天蓋地的宣傳自己的電腦是國內(nèi)首個(gè)使用奔騰II CPU的臺式機(jī),但如果你拿來配置單一看就會發(fā)現(xiàn)奔騰II怎么著也得配一個(gè)AGP接口的顯卡吧?聯(lián)想可到好,直接給懟進(jìn)去一塊PCI接口的S3T64V+。這種顯卡是iN在486DX100上做最后一次升級的時(shí)候用到的,和奔騰II之間還隔著一個(gè)奔騰呢!當(dāng)時(shí)是在《電腦報(bào)》上看到的這個(gè)廣告,看廣告的時(shí)候瞥了一眼顯示器下面壓著的康佰WS5000瞬間就覺得聯(lián)想的奔騰II不香了,這個(gè)感覺過去了快1/4個(gè)世紀(jì)但記憶猶新。 記憶歸記憶,但消費(fèi)市場的心理學(xué)并沒有變化,大家總是最關(guān)注一個(gè)產(chǎn)品的最明顯的參數(shù),而去忽略掉一個(gè)產(chǎn)品的短板部分。商家不提,你也不問…… 在任何IT產(chǎn)品中都有數(shù)量說不清的參數(shù),如果你奔著某一個(gè)具體參數(shù)去選擇IT產(chǎn)品大概率就是踩坑。隨著發(fā)展現(xiàn)在電腦并不算是一個(gè)重災(zāi)區(qū),相反各種外設(shè)和網(wǎng)絡(luò)設(shè)備這件事就有的所說了,目前最嚴(yán)重的是Wi-Fi 6,雖然號稱WIFI的速度可以達(dá)到4800Mbps的速率 但是只提供一個(gè)最大2.5G也就是2500Mpbs的網(wǎng)絡(luò)接口: 那么請問Wi-Fi 6上的4804Mbps的帶寬到底是通過什么來滿足的呢?仔細(xì)想這里面是不是有什么誤解? 其實(shí)這里面的速度都是接口速度,來源于網(wǎng)絡(luò)接口下行的PHY芯片的支持規(guī)格。 焊接在主板上的這枚BMC54991芯片僅僅能代表你的路由器有一個(gè)2.5Gbps的網(wǎng)絡(luò)接入功能,而后面的數(shù)據(jù)處理功能能不能處理2.5Gbps所帶來的龐大數(shù)據(jù)量并不是以這枚芯片所能左右的。 畢竟PHY界面僅僅是在OSI網(wǎng)絡(luò)模型中的最底層也就是物理層。它的作用是為了網(wǎng)絡(luò)傳輸?shù)男枰峁└哳l電信號環(huán)境。 但也正因?yàn)镻HY層本身是可以標(biāo)記出設(shè)備可以支持的網(wǎng)絡(luò)接口帶寬,也就是“線速”,就被很多商家用來標(biāo)記“設(shè)備性能”,而忽略掉(或者模糊掉)了后面的OSI層級的意義。實(shí)際上真正決定網(wǎng)絡(luò)速度的是在第二層(鏈路層)和第三層(網(wǎng)絡(luò)層)。 第二層鏈路層如果不談MAC地址管理的性能,我們最關(guān)心的就是這個(gè)層級的背板容量。 高性能的二層處理設(shè)備是用交換矩陣來生成和處理網(wǎng)絡(luò)數(shù)據(jù)包的,低端一些的設(shè)備會用專門的網(wǎng)絡(luò)交換芯片來生成和處理網(wǎng)絡(luò)數(shù)據(jù)包,再低端一些的設(shè)備會用共享內(nèi)存的方式由CPU處理網(wǎng)絡(luò)數(shù)據(jù)包。 無論是從電路層面(交換矩陣)還是從電子層面(交換芯片)甚至數(shù)據(jù)處理層面(CPU)處理的結(jié)果都是殊途同歸的,都是將標(biāo)記了MAC地址的數(shù)據(jù)幀發(fā)送到對應(yīng)的PHY層也就是你的各個(gè)網(wǎng)口,雖然處理方式不同,但是最后落到設(shè)備上的一個(gè)統(tǒng)一叫法就是“背板容量”了或者叫做“交換帶寬”、“背板帶寬”。 這是網(wǎng)絡(luò)交換機(jī)設(shè)備的極其重要的一個(gè)參數(shù),但是——大家在自己的家用路由器上看到過嗎?反正iN是沒見過哪個(gè)廠商的家用路由器上標(biāo)記這個(gè)參數(shù)的。原因很簡單,大多數(shù)家用路由器,無論是幾百塊到幾千塊的,都沒有臉去標(biāo)出來這個(gè)參數(shù),如果非得標(biāo)出來的話也會很難看。 說一個(gè)場景:一對夫婦旅游回來,丈夫忙著用筆記本將旅游時(shí)所拍的照片和視頻上傳到家里的NAS中,妻子閑來無事,用平板電腦來看網(wǎng)絡(luò)上的熱門電視劇。這時(shí)候忽然發(fā)現(xiàn)網(wǎng)絡(luò)卡得要命根本無法看片子。 明明在家里的內(nèi)網(wǎng)相互拷貝文件并沒有占用外網(wǎng)帶寬,為什么連網(wǎng)絡(luò)視頻看起來也不流暢了呢?原因就在于家用路由器使用了CPU來處理交換數(shù)據(jù),而在大量的網(wǎng)絡(luò)數(shù)據(jù)流面前CPU已經(jīng)不堪重負(fù)。真正的交換機(jī)本身都會有足夠的背板容量,例如iN這邊影音區(qū)有一個(gè)小個(gè)的希力8808交換機(jī): 前幾天還有網(wǎng)友在問,其實(shí)就是100多塊錢的小設(shè)備,但是是有背板帶寬的。 有了這個(gè)帶寬,8個(gè)千兆端口,每個(gè)端口上下行各占1Gbps,供需16Gbps,就可以保證每個(gè)設(shè)備全速度運(yùn)行而毫不干擾。當(dāng)然了,這是設(shè)備內(nèi)的帶寬,還有上行接口的帶寬,這個(gè)回頭有機(jī)會和大家細(xì)講。 再往上就涉及到了第三層,也就是網(wǎng)絡(luò)層。網(wǎng)絡(luò)層實(shí)際上是真正路由器發(fā)揮自己功能的地方。咱們就終于扯回文章開頭提到的RB750GR3跑得滿跑不滿帶寬的問題上了。 本質(zhì)上RB750GR3是一個(gè)軟路由!在上面運(yùn)行的Router OS系統(tǒng)看起來像是一個(gè)專門的路由器系統(tǒng),但是它依舊是一個(gè)基于Linux開發(fā)的軟件平臺,僅僅是對路由器的功能做了一些優(yōu)化,實(shí)際上和大多數(shù)軟路由系統(tǒng)區(qū)別并不是很大。因此也不必要神話他家的任何產(chǎn)品。 尤其是像是RB750GR3這樣的低端貨,軟路由有的通病它全有。這臺小路由器里面是一顆聯(lián)發(fā)科的MT7621A網(wǎng)絡(luò)處理器(實(shí)際就是一個(gè)SOC)。 當(dāng)年聯(lián)發(fā)科發(fā)布這枚芯片的時(shí)候還在說這是一枚最快的網(wǎng)絡(luò)路由器,本來嘛在2007年一個(gè)網(wǎng)絡(luò)處理芯片給干到880MHz也實(shí)屬驚人,不過商家怎么吹并不重要,我們需要看的是這個(gè)芯片的硬件指標(biāo)。最重要的要看這三個(gè)部分: 這枚SOC本身支持5個(gè)1Gbps的端口和RGMII(介質(zhì)無關(guān)接口),這份文檔里面沒告訴大家的是“背板容量”,這五個(gè)1Gbps接口實(shí)際上是和PCI-E直接駁接,如果按照PCI-E來看是20Gbps的帶寬。但是這是軟路由,20Gbps僅僅是理論值。 另一個(gè)參數(shù)是它有2Gbps的IP4/6路由帶寬,這是它真正能夠支持的出口帶寬大小,如果用它跑千兆寬帶接入實(shí)際上是綽綽有余的。 再有一個(gè)就是它的編碼器,它擁有一個(gè)200Mbps的編碼套件,也就是說每秒的數(shù)據(jù)加密能力最多為200Mbps。 那么這個(gè)路由器跑滿千兆怎么跑呢?實(shí)際上在Mikrotik的官網(wǎng)上已經(jīng)給出答案了: 如果僅僅以網(wǎng)橋和路由的模式來跑的話,在發(fā)送標(biāo)準(zhǔn)以太網(wǎng)包(1518 byte)的時(shí)候其性能接近于2Gbps(1972.2Mbps)。作為一個(gè)基本的家用千兆路由器這個(gè)東西是完全夠用的。但如果數(shù)據(jù)包過小(例如測試案例中的64 byte的數(shù)據(jù)包)或者增加了路由器的額外過濾規(guī)則(例如測試案例中增加了25個(gè)過濾項(xiàng)目)其性能都會大幅度下降。例如在跑64字節(jié)小包再加上25個(gè)過濾的時(shí)候,這臺路由器的性能就下降到了48.0Mbps已經(jīng)不足百兆了。 同時(shí),在使用Router路由器的時(shí)候大部分人實(shí)際上都看中了這種路由器的編碼和加密功能,至于做什么大家也心知肚明了。 你會發(fā)現(xiàn)在經(jīng)過隧道加密處理之后,網(wǎng)絡(luò)速度大幅度下降。這就是用CPU的軟路由的一個(gè)通病。例如在用AES-256-CBC + SHA256加密256個(gè)通道的時(shí)候這個(gè)路由器跑標(biāo)準(zhǔn)以太網(wǎng)絡(luò)數(shù)據(jù)包的時(shí)候性能就下降到了359.5Mbps和之前不跑加密的時(shí)候性能有了5倍的差異。 這也是很多人覺得RB750GR3跑不滿千兆帶寬的主要原因了。別抱怨!這東西價(jià)格在那里擺著呢!幾百塊的小設(shè)備加密跑滿千兆基本上就是癡人說夢了。 想跑得快,得加錢,買更強(qiáng)的設(shè)備。例如: 你可以看到測試指標(biāo)已經(jīng)差了一天一地,當(dāng)然了,一個(gè)價(jià)格只有59.95美金,另一個(gè)價(jià)格則是3350美金。 那么問題來了,59.95美金的路由器怎么用起來?一般家用如果是普通人使用實(shí)際上還真的夠了,大部分時(shí)間都可以滿足你的要求,只是網(wǎng)絡(luò)負(fù)擔(dān)很大的時(shí)候你會發(fā)現(xiàn)這種路由器會出現(xiàn)我們之前提到夫妻場景的問題。 同時(shí)如果真的在意網(wǎng)絡(luò)性能和成本的話,不妨在這個(gè)路由器下再接一個(gè)交換機(jī),利用交換機(jī)隔離掉大部分二層網(wǎng)絡(luò)的處理需求。還是之前弱電箱的例子,RB750GR3僅僅是做路由器的工作。 網(wǎng)絡(luò)交換的功能實(shí)際上是交給了一臺TP-link的POE交換機(jī)來完成,這種做法咱們就僅僅是用路由器上2Gbps的路由接口,也就是剛剛咱們提到的聯(lián)發(fā)科資料里面的第二個(gè)重要參數(shù)。 再有就是要更合理均衡的分配加密流量和非加密流量了。例如iN自己用的路由器性能高那么一些,因此就更傾向的將所有數(shù)據(jù)走加密流量: 但如果再這種小路由器上用,那么事情就倒過來了,就把更多的流量走非加密通道。這樣這種小路由器才能真正的發(fā)揮出應(yīng)有的性能價(jià)值。 這里咱們說的是路由器、交換機(jī)本身的理想使用方法。但如果你家里是那種寬帶光貓這種集成設(shè)備基本上是沒有什么解的。寬帶光貓本身也不是為了較大流量需求而設(shè)計(jì)的。CPU更弱、內(nèi)存更小、數(shù)據(jù)處理能力也更差。但是如果你家里數(shù)嗎設(shè)備很多,有多于三條網(wǎng)線需要接入光貓,想提升網(wǎng)絡(luò)性能,除了換光貓改橋接之外還有一個(gè)方法是用一個(gè)真正的交換機(jī)(注意不是路由器)從光貓的Lan口接出來負(fù)責(zé)家里所有有線設(shè)備的網(wǎng)絡(luò)接入。這個(gè)方法其實(shí)還是之前咱們講過的,用交換機(jī)隔離二層處理需求,這樣降低了光貓CPU的負(fù)載,網(wǎng)速自然也能提升很多。 |
|