威爾克森WILKERSON過濾器處理IP分片的研究的詳細(xì)資料:
威爾克森WILKERSON過濾器處理IP分片的研究
BSD包WILKERSON過濾器(BSD Packet Filter,縮寫B(tài)PF)是類Unix系統(tǒng)上數(shù)據(jù)鏈路層的一種原始接口,提供原始鏈路層數(shù)據(jù)包的收發(fā)。除此之外,BPF還支持?jǐn)?shù)據(jù)包的過濾,只把感興趣的數(shù)據(jù)包傳到上層軟件。這樣可以避免從操作系統(tǒng)內(nèi)核向用戶態(tài)軟件復(fù)制其它數(shù)據(jù)包,從而降低抓包的負(fù)擔(dān)以及所需的緩沖區(qū)空間,減少丟包率。但是,BPF存在無法處理IP分片的問題。
威爾克森WILKERSON過濾器處理IP分片的研究
當(dāng)前基于BPF模型的包過濾設(shè)備對IP分片只能處理其*個(gè)分片,拒絕處理其它分片,導(dǎo)致包過濾設(shè)備只能拒絕或接收*個(gè)分片。解決上述問題有兩種思路:*是在內(nèi)核態(tài)重組端或借助用戶態(tài)第三方軟件對各個(gè)IP分片進(jìn)行處理,第二是在內(nèi)核態(tài)對BPF模型增加處理IP分片的功能。采用第二種思路,因?yàn)橄鄬碚f第二種思路在包過濾設(shè)備端就能把IP分片過濾,更能在源頭解決問題,提高了數(shù)據(jù)包傳輸效率?;谏鲜鲈诎黈ILKERSON過濾器中過濾IP分片的方法,提出了一種在內(nèi)核中防御IP分片攻擊的新思路。由于IP分片的某些分片可能無序地、甚至不會(huì)到達(dá)接收端,同時(shí)只有IP分片*個(gè)分片含有傳輸層協(xié)議首部信息,分兩種情況進(jìn)行討論。*,如果到達(dá)的數(shù)據(jù)包IP首部中的分段偏移為0,則根據(jù)IP首部中的標(biāo)記位來判斷其是否為IP分片*個(gè)分片。如果是,把其IP首部中的16位標(biāo)識和IP源地址等有關(guān)信息存入一段緩沖區(qū),在規(guī)定的一段時(shí)間后清空這段緩沖區(qū)。如果不是,這個(gè)數(shù)據(jù)包就不是IP分片包,讓BPF正常處理即可。第二,如果到達(dá)的數(shù)據(jù)包IP首部中的分段偏移不為0,則其一定為IP分片非*個(gè)分片。如果在規(guī)定的一段時(shí)間之前收到過具有相同標(biāo)識的IP分片*個(gè)分片,則與其共用傳輸層協(xié)議首部信息;如果沒有,則將這個(gè)非*個(gè)分片的有關(guān)信息存入一段緩沖區(qū)。如果之后在規(guī)定的一段時(shí)間內(nèi)收到了具有相同標(biāo)識的IP分片*個(gè)分片,則非*個(gè)分片共用這個(gè)*個(gè)分片的傳輸層協(xié)議首部信息;如果沒有,舍棄這個(gè)IP分片非*個(gè)分片。
威爾克森WILKERSON過濾器處理IP分片的研究
實(shí)驗(yàn)結(jié)果表明,上述方法能夠使BPF正確、高效地處理非IP分片數(shù)據(jù)包和所有類型的IP分片數(shù)據(jù)包,并且有效地防御某些類型的IP分片攻擊。zui后,對全文內(nèi)容進(jìn)行了總結(jié),并對未來工作做了適當(dāng)?shù)恼雇?/span>
如果你對威爾克森WILKERSON過濾器處理IP分片的研究感興趣,想了解更詳細(xì)的產(chǎn)品信息,填寫下表直接與廠家聯(lián)系: |
上一個(gè):PILZ光電編碼器的信號誤差補(bǔ)償和故障