阅读:4614回复:3
关于使用NDIS HOOK DRIVER 来对本地联网进程做流量控制
1. RT,使用NDIS Hook Driver来对本地联网进程做流量控制是否合适呢?有没有做过相关应用的大侠能给个思路?
2. 使用NDIS Hook Driver以进程为粒度做流控,还要再写TDI Filter Driver来截取进程信息来作为依据吗? 3. 之前,看过网上有人说“设定一个时间窗口,在该窗口内统计流 量,达到流量上限之后的数据包全部丢弃,下一个时间窗口继续这一过程。表面上看有数据包被丢弃,会导致通讯失败,但实际上时间窗口足够小,应用软件有机会 重发数据包,并不影响使用。”这一流控策略在实际应用中精度够吗? 4 不知道有人分析过netlimiter的原理机制,大概是怎样实现的? 感谢解答。 |
|
沙发#
发布于:2010-05-15 09:00
貌似做流控的比较少啊,大家谈谈自己想法也行啊
|
|
板凳#
发布于:2010-05-17 15:04
1. RT,使用NDIS Hook Driver来对本地联网进程做流量控制是否合适呢?有没有做过相关应用的大侠能给个思路?
可以 2. 使用NDIS Hook Driver以进程为粒度做流控,还要再写TDI Filter Driver来截取进程信息来作为依据吗? 需要 3. 之前,看过网上有人说“设定一个时间窗口,在该窗口内统计流 量,达到流量上限之后的数据包全部丢弃,下一个时间窗口继续这一过程。表面上看有数据包被丢弃,会导致通讯失败,但实际上时间窗口足够小,应用软件有机会 重发数据包,并不影响使用。”这一流控策略在实际应用中精度够吗? 大致精确。可参考linux Qos 4 不知道有人分析过netlimiter的原理机制,大概是怎样实现的? 具有tdi模块,其安装了tdi驱动:nltdi.sys 4.1 Hook了tcp和udp result = hook_device(DriverObject, &DeviceObject, &AttachedDevice, L"\\Device\\Tcp"); |
|
|
地板#
发布于:2010-05-17 16:48
谢谢版主的耐心解答。
查了些资料,具体带宽分配,流量整形算法实现,基于自己应用来对linux 中TBF做改进可保证精度比较高。 |
|