首頁(yè) 收藏 QQ群
 網(wǎng)站導(dǎo)航

ZNDS智能電視網(wǎng) 推薦當(dāng)貝市場(chǎng)

TV應(yīng)用下載 / 資源分享區(qū)

軟件下載 | 游戲 | 討論 | 電視計(jì)算器

綜合交流 / 評(píng)測(cè) / 活動(dòng)區(qū)

交流區(qū) | 測(cè)硬件 | 網(wǎng)站活動(dòng) | Z幣中心

新手入門 / 進(jìn)階 / 社區(qū)互助

新手 | 你問(wèn)我答 | 免費(fèi)刷機(jī)救磚 | ROM固件

查看: 9434|回復(fù): 1
上一主題 下一主題

TPlink無(wú)線路由器研發(fā)負(fù)責(zé)人談常見路由器問(wèn)題

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
發(fā)表于 2013-12-26 16:16 | 只看該作者 回帖獎(jiǎng)勵(lì) |倒序?yàn)g覽 |閱讀模式 | 來(lái)自浙江
經(jīng)常使用無(wú)線路由器的同學(xué)會(huì)發(fā)現(xiàn)有時(shí)候家里的路由器長(zhǎng)時(shí)間運(yùn)行后上網(wǎng)速度會(huì)越來(lái)越慢,尤其是使用BT等軟件下載東東會(huì)發(fā)現(xiàn)路由器非常慢,有時(shí)候發(fā)現(xiàn)小米盒子上的無(wú)線信號(hào)滿格,但網(wǎng)絡(luò)卻不通?而上述問(wèn)題出現(xiàn)后一般重啟路由器就可以解決?這到底是為啥原因呢?
張先生是TPLink無(wú)線路由器的前研發(fā)負(fù)責(zé)人,他下面的回答會(huì)讓大家清楚這些現(xiàn)象背后的原因。 我們具體的疑問(wèn)如下:
Q1. 為啥長(zhǎng)時(shí)間使用低端路由后,路由器上網(wǎng)速度會(huì)變慢,為啥建議經(jīng)常重啟低端路由器?
Q2,為啥有的路由器無(wú)線上不轉(zhuǎn)發(fā)ip組播但有線會(huì)轉(zhuǎn)發(fā)
Q3,有的路由器完全不轉(zhuǎn)發(fā)ip組播包,導(dǎo)致基于IP組播的米聯(lián)有時(shí)候不能工作
Q4,多線程同時(shí)啟動(dòng)下載有時(shí)候會(huì)把無(wú)線路由器打死,必須重啟才能恢復(fù)

答:?jiǎn)栴}1與問(wèn)題4原因相同。這個(gè)問(wèn)題與路由器的演進(jìn)歷程有關(guān),當(dāng)前路由器的市場(chǎng),以TP為首挑國(guó)內(nèi)品牌挑了價(jià)格戰(zhàn),在幾年時(shí)間內(nèi),讓進(jìn)口路由器市場(chǎng)份額縮到30%以內(nèi),如D-LINK,Netgear,Linksys,甚至有些國(guó)外品牌已經(jīng)退出了中國(guó)市場(chǎng)。原因就是國(guó)人買東西只看價(jià)格不看品質(zhì)。而這些國(guó)內(nèi)品牌看中了國(guó)人的這種價(jià)值觀,于是對(duì)于路由器一再的降低成本,原則是先從無(wú)技術(shù)難度的降,比如一些替代料,用上后性能略有影響,但價(jià)格便宜很多;然后再?gòu)挠屑夹g(shù)難度上的降,比如DDR。你們現(xiàn)在看到的這個(gè)問(wèn)題,就與DDR有關(guān),現(xiàn)在跑在路由器上的操作系統(tǒng)最多的是兩個(gè):vxWorks與Linux,Linux的體積比較大,很難裁剪,但有些廠商為了低成本,還是會(huì)去裁剪;vxWorks操作系統(tǒng)容易裁剪,就成為一些廠家的首選(如TP),所以,用了vxWorks的操作系統(tǒng)后,廠商對(duì)操作系統(tǒng)進(jìn)行了裁剪,DDR的大小可以用的很小,比如8MB(64Mbit),成本相對(duì)于16MB的可以省2-3元人民幣;而vxWorks的操作系統(tǒng)最大的特點(diǎn)是內(nèi)存地址空間不分內(nèi)核態(tài)和用戶態(tài),所有的代碼運(yùn)行在同一地址空間,當(dāng)進(jìn)行系統(tǒng)開發(fā)時(shí),如果編程人員的水平不足,很容易出現(xiàn)用戶態(tài)的程序直接訪問(wèn)內(nèi)核態(tài)的數(shù)據(jù)(如網(wǎng)絡(luò)協(xié)議),這種情況下很容易出現(xiàn)沖突和異常,同時(shí),又因?yàn)榫W(wǎng)絡(luò)數(shù)據(jù)包在一個(gè)余量很?。ū热缡S?-2MB)的DDR中,長(zhǎng)時(shí)間跑大的網(wǎng)絡(luò)流量,很容易出現(xiàn)緩沖數(shù)據(jù)包,重傳數(shù)據(jù)包,PS數(shù)據(jù)包(Power Save)等等,以至于讓可本來(lái)就很小余量的DDR,變的更小,從而產(chǎn)生了分配時(shí)失敗,需要等待,再分配的惡性循環(huán),因此,系統(tǒng)會(huì)變慢;如果分配時(shí)失敗沒有做處理,那么會(huì)死機(jī)。這就是問(wèn)題1與問(wèn)題4的兩個(gè)不同結(jié)果;問(wèn)題1是會(huì)變慢,問(wèn)題4會(huì)死機(jī)。
對(duì)于采用Linux操作系統(tǒng)作為路由器OS的廠商,如果也去做Cost down,用小內(nèi)存跑系統(tǒng),更容易出現(xiàn)不穩(wěn)定的問(wèn)題,因?yàn)関xWorks操作系統(tǒng)可以有內(nèi)存池的概念,可以預(yù)分配,OOM的概率降低很多;而linux操作系統(tǒng)在進(jìn)行網(wǎng)絡(luò)數(shù)據(jù)包的處理時(shí),很難做內(nèi)存池,因?yàn)樗鼌^(qū)分用戶態(tài)與內(nèi)核態(tài),數(shù)據(jù)包收到時(shí)存在內(nèi)核態(tài),內(nèi)容到用戶態(tài)處理完才可以釋放,因此,數(shù)據(jù)包的傳遞有malloc與free的操作,并且是大量的。在這個(gè)過(guò)程中,很容易出現(xiàn)異步,即上層還未處理完數(shù)據(jù)包,下層又來(lái)大量的數(shù)據(jù),導(dǎo)致系統(tǒng)運(yùn)作失控,很容易變慢或者死機(jī)。之所以變慢是因?yàn)楫?dāng)free狀態(tài)的memory不足時(shí),操作系統(tǒng)會(huì)從cached中要回memory,如果這個(gè)操作還不能滿足需求,則會(huì)隨機(jī)的kill優(yōu)先級(jí)低的進(jìn)程,來(lái)保證系統(tǒng)不死機(jī),但,這個(gè)就是飲鴆止渴,最后,系統(tǒng)還是會(huì)死機(jī),因?yàn)檎l(shuí)也不知道它會(huì)kill哪個(gè)進(jìn)程,我們看到過(guò)很多這種案例。最好的作法就是不讓它oom去觸發(fā)kill進(jìn)程的操作,即留足夠的內(nèi)存余量。

問(wèn)題2與問(wèn)題3原因相同,這個(gè)問(wèn)題有兩種可能。你們的組播數(shù)據(jù)肯定是從Internet上的Server到路由器,然后路由器到小米盒子,這樣的通路。在這樣的鏈路建立的過(guò)程是小米盒子發(fā)起組播請(qǐng)求,給Internet上的server,在經(jīng)過(guò)路由器WAN口時(shí),由IGMP Proxy協(xié)議把局域網(wǎng)地址轉(zhuǎn)成Internet地址,server收到后把組播響應(yīng)發(fā)回路由器WAN口,由IGMP Proxy將組播響應(yīng)傳回內(nèi)網(wǎng),這樣,就實(shí)現(xiàn)了組播可以NAT的效果。接下來(lái),已此原理看你們看到的問(wèn)題:?jiǎn)栴}2,有的路由器無(wú)線不行有線行,說(shuō)明這個(gè)路由器是支持IGMP Proxy的,只不過(guò)實(shí)現(xiàn)的時(shí)候無(wú)線沒有考慮,只實(shí)現(xiàn)了有線;問(wèn)題3,有的路由器完全不行,原因是這個(gè)路由器不支持IGMP Proxy,所以,不能進(jìn)行組播NAT。你們可以做個(gè)實(shí)驗(yàn),對(duì)于那些不能轉(zhuǎn)發(fā)IP組播包的路由器,你們把server路由器接在同一個(gè)交換機(jī)下,看看路由器是否能夠轉(zhuǎn)發(fā)組播包就知道答案了。
對(duì)于問(wèn)題2的還有一種可能是,它的無(wú)線也可以轉(zhuǎn)組播,只不過(guò)無(wú)線驅(qū)動(dòng)里面沒有去做組播轉(zhuǎn)單播的設(shè)計(jì),無(wú)線驅(qū)動(dòng)對(duì)于組播包的傳輸,是以1Mbps或者11Mbps的速率在發(fā)送,這個(gè)速率下很容易出現(xiàn)收不到的情況。一般的作法是當(dāng)組播包到無(wú)線驅(qū)動(dòng)后,會(huì)將他轉(zhuǎn)成單播包,以11N的速率發(fā)出來(lái)。所以,對(duì)于問(wèn)題2,你們可以抓包,看看是否從路由器的無(wú)線中,有發(fā)出組播包,就知道是驅(qū)動(dòng)沒有做IGMP Proxy的處理還是沒有做組播轉(zhuǎn)單播的處理。


上一篇:圣誕夜晚,屌絲自述。。。。
下一篇:小學(xué)算術(shù)題。
沙發(fā)
發(fā)表于 2013-12-26 16:17 | 只看該作者 | 未知
ZNDS有你更精彩

本版積分規(guī)則

Archiver|新帖|標(biāo)簽|軟件|Sitemap|ZNDS智能電視網(wǎng) ( 蘇ICP備2023012627號(hào) )

網(wǎng)絡(luò)信息服務(wù)信用承諾書 | 增值電信業(yè)務(wù)經(jīng)營(yíng)許可證:蘇B2-20221768 丨 蘇公網(wǎng)安備 32011402011373號(hào)

GMT+8, 2024-10-21 05:36 , Processed in 0.068650 second(s), 14 queries , Redis On.

Powered by Discuz!

監(jiān)督舉報(bào):report#znds.com (請(qǐng)將#替換為@)

© 2007-2024 ZNDS.Com

快速回復(fù) 返回頂部 返回列表