- 論壇徽章:
- 0
|
延時大點無所謂,我的意思是說,給網(wǎng)卡開的緩沖區(qū)是一定的,即使用內(nèi)部協(xié)議棧,包在系統(tǒng)內(nèi)的生存時間總有一個固定值,
假如說一個網(wǎng)卡1000K包數(shù)/秒,開辟一個100M大小的緩沖區(qū),因為一個eth frame是1500,為了計算方便,給每個包使用
2k字節(jié), 則1M放512個包, 100M可以放共100*512= 50K個包; 如果不做任何處理,則包的生存時間是1/20秒= 0.05秒
也就是如果應用程序能夠50毫秒內(nèi)處理完這個包,則系統(tǒng)相當不丟包,在這個條件下,一個應用程序如果有鎖的碰撞,很容易丟包.
旁路攔截是在智能交換機(路由器)中,使用portmap或者端口分光技術,把出口的流量進行復制后送給處理機器,這樣處理機器
就能處理那么多的流量了. 通;貜桶乃俣纫h遠快于正常請求包速度,這樣就能先到達請求機器,從而達到控制的目的.
這種情況下,只能對tcp進行攔截,對udp無能為力,如果要對udp應用攔截,只能是模擬應用發(fā)送udp請求包.
這個系統(tǒng)缺點是要使用交換機等設備,但是能做交換機作不到的很多工作,比如應用攔截,統(tǒng)計,監(jiān)控等.
如果采用直接攔截,我認為目前的PC SERVER是達不到這樣的能力的,一個普通的防火墻應用,最多也只能處理300M左右
的流量吧(不確定).所以要用PC作這樣的高性能防火墻,估計性能還是不怎么夠.
如有錯誤,請多指教,呵呵. |
|