很多的高性能网络设备都基于BSD系统,而不是Linux。不管什么操作系统,其协议栈的实现都是大同小异,这里面做的最统一的估计就是Windows NT的NDIS了,其次是BSD,Linux也许派不上号吧,主要的性能以及功能差异在协议栈上看不出来,主要要看如何扩展以及定制协议栈,Windows的NDIS不谈,对于BSD和Linux,我想有必要比较一下Netfilter和Netgraph,结果可想而知,Netgraph比Netfilter更灵活,效率更高。
1.实现Netfilter
使用NF_HOOK宏将数据包引入协议栈内置的5个HOOK点之一。
Netgraph
使用_p回调函数将数据包引入一张独立的graph。
2.执行顺序和控制Netfilter
由Netfilter自身来控制单独HOOK点诸多hook函数的执行,执行顺序为该HOOK点各个hook函数的优先级顺序。
Netgraph
由Netgraph自身来控制数据包在一张graph中各个Node的游历,执行顺序取决于该graph中各个Node是怎么连接的。
3.动作的不同Netfilter
熟知的accept,deny…
Netgraph
取决于该graph中的接收Node的hook的rcvdata回调函数,对于ipfw,还可以skip掉某个或某些rule,当然是不是netgraph的范畴,而是ipf的机制了。
Netfilter和Netgraph
转载请注明出处:服务器评测 » Netfilter和Netgraph
相关推荐
- *TMS 黑色星期五大促销!Ryzen 9 7950X 和 7950X3D 清仓促销!库存充足!立即订购!
- 【五年商家双十一限时送200】香港9929+CN2 大带宽2核14元/月
- DEDICATED.COM::Xeon E3-1270v5/v6 | 64GB | 2 x 512GB SSD | IPMI | 100TB @ 1GBPS | 49.99 美元/月
- *IOFLOOD.com █ RAM-ageddon:双倍增长 █ 2X RAM 同样低价
- *PLiKhost:廉价且可靠的印度尼西亚 (IIX) 专用服务器 – 雅加达
- 服务器fsockopen函数和pfsockopen函数开启及作用
- Linux系统通过FTP上传文件到云服务器
- Linux系统通过RDP上传文件到Windows云服务器