阅读:1961回复:4
关于Protocol driver 的问题,请大家多多帮忙
在DDK文档中描述NDIS程序分为三种:miniport drivers 、Intermediate drivers和 Protocol drivers。但我搞不清楚,Protocol drivers究竟在哪一层,它和TDI是什么关系?为什么在DDK文档中说Intermediate drivers在miniport drivers和Transport driver之间,那么Protocol drivers又体现在什么地方呢?
请各位高手多指教!!! |
|
沙发#
发布于:2001-10-13 22:01
protocol就是在transport层的,TDI就是NDIS驱动的最上一层也叫协议层,我了解的不多,但是知道tcpip.sys就是这层的,win32可以直接调用tdi,tdi就是为WIN32提供的接口,有关这层的列子看packet32的那个列子,或ipman那个应用实例。这层的主要目的就是用来开发协议或网络监视程序的,防火墙和vpn就不行,因为它和tcpip的堆栈在同一层,也就是说网卡有包到了就通知miniport去通知intermedia的驱动通知protocol来收,等protocol收到的包已经不只是2手货了!是被IM和MP都玩腻了才给你的!而win32应用有包要发的话winsock只会问和它同一个妈妈生的哥哥tcpip.sys(就是tcpip的堆栈!!)你写的protocol,也就是你这个后妈生的xxxx.sys一般是没人会去告诉他:“喂!你后爸的生的弟弟winsock那有还东西,听说说是什么什么数据包,快去收!”不会的!我想你应该能明白点了!我也是自己看ddk的,可能有许多理解上的错误!望大虾们指正!!谢谢~~~~~
|
|
|
板凳#
发布于:2001-10-14 10:28
真称得上是TOP高手,回答的很有道理。但能不能说的再严谨一点,如果是写文章可不能一会儿是protocol driver 一会儿又是transport driver.到底NDIS的第三层应该称之为什么。
|
|
地板#
发布于:2001-10-15 00:44
哈哈~~~半桶水的回答就是有些不严谨,对不住!!应该是叫做传输层驱动(transport driver),因为协议这东西一般就是为做数据包传输的各种处理用的,所以协议层就成了传输层的另类叫法,但标准的DDK定义是叫:传输层!!协议就是主要要在这层实现的东西!有待进一步的指正~~~
|
|
|
地下室#
发布于:2001-10-15 11:42
我这样理解:
miniport driver对应物理层和数据链路层的mac子层 protocol driver对应数据链路层的llc子层,网络层,传输层 中间层嘛 对下层的miniport driver装成protocol driver, 对上层的protocol driver装成miniport driver |
|
|