hover_
驱动牛犊
驱动牛犊
  • 注册日期2002-05-30
  • 最后登录2002-07-06
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
阅读:1752回复:7

关于协议驱动的疑惑?

楼主#
更多 发布于:2002-06-28 11:47
最近在看ndis的ddk,有点疑惑。
在ndis的三层驱动中,协议驱动位于顶层,它的位置好像和系统的tcp/ip冲突了,我的疑问是协议驱动与tcp/ip设备的关系是怎样的呢?感觉他们应该是并行的呀,那么一个帧会同时交给两个设备?
还是在两个设备之间串行处理?
如果两者都可能,那么又是由什么决定的呢?
请大家解惑!

最新喜欢:

ABUABUABUABU
fracker
驱动太牛
驱动太牛
  • 注册日期2001-06-28
  • 最后登录2021-03-30
  • 粉丝0
  • 关注0
  • 积分219分
  • 威望81点
  • 贡献值0点
  • 好评度23点
  • 原创分0分
  • 专家分1分
  • 社区居民
沙发#
发布于:2002-06-28 13:44
我的想法是:
tcpip.sys中注册了一个协议,顺便创建了tcp,udp,ip,rawip等设备,当协议从nic得到数据后,分发给tcp,udp等设备,这些设备对上提供tdi的接口。
hover_
驱动牛犊
驱动牛犊
  • 注册日期2002-05-30
  • 最后登录2002-07-06
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
板凳#
发布于:2002-06-28 16:40
我想问的是自己注册的协议与tcpip.sys中注册的协议是什么关系呢?并行还是串行。他们都可以从nic上得到数据吗?谁先谁后?
由什么决定?
这些在NdisRegisterProtocol中都看不出来呀。
hover_
驱动牛犊
驱动牛犊
  • 注册日期2002-05-30
  • 最后登录2002-07-06
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
地板#
发布于:2002-07-01 11:26
难道没有人知道这个问题吗?
拜托回一下吧!
gjpland
驱动小牛
驱动小牛
  • 注册日期2001-09-13
  • 最后登录2011-03-22
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
地下室#
发布于:2002-07-01 11:38
最近在看ndis的ddk,有点疑惑。
在ndis的三层驱动中,协议驱动位于顶层,它的位置好像和系统的tcp/ip冲突了,我的疑问是协议驱动与tcp/ip设备的关系是怎样的呢?感觉他们应该是并行的呀,那么一个帧会同时交给两个设备?
还是在两个设备之间串行处理?
如果两者都可能,那么又是由什么决定的呢?
请大家解惑!
 

没搞懂你TCPIP设备是什么意思。
不过,我想你大概想知道TCPIP.SYS做了些什么吧。
其实tcpip.sys即使用一个tdi driver 也是一个protocol driver.
在他启动时首先创建了device\\ip,tcp,udp,然后又向NDIS注册了
TCPIP,TCPIP_WANARP协议。
说的简单的点,tcpip做的事情就是将协议驱动收到的数据进过处理传给tdi driver然后在传递给上层驱动(winsock 驱动程序),反之发送数据包也一样。
我思故我在,脑袋不会坏.
hover_
驱动牛犊
驱动牛犊
  • 注册日期2002-05-30
  • 最后登录2002-07-06
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
5楼#
发布于:2002-07-01 20:01
谢谢版主!
我还是不太明白板主所说的TDI driver是怎样一个概念?
我理解TDI Driver就是一个实现了TDI的protocol driver,是不是这样呢?

另外,如果我们开发一个协议驱动,那么它注册的协议与tcpip.sys注册的tcpip协议构成什么样的关系呢?这是我现在最搞不清楚的一点。

请板主指教,谢谢!

gjpland
驱动小牛
驱动小牛
  • 注册日期2001-09-13
  • 最后登录2011-03-22
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
6楼#
发布于:2002-07-04 22:21
谢谢版主!
我还是不太明白板主所说的TDI driver是怎样一个概念?
我理解TDI Driver就是一个实现了TDI的protocol driver,是不是这样呢?

另外,如果我们开发一个协议驱动,那么它注册的协议与tcpip.sys注册的tcpip协议构成什么样的关系呢?这是我现在最搞不清楚的一点。

请板主指教,谢谢!

 

TDI其实就是面向所有网络使用者了,为网络使用者提供该协义的接口。而protocol driver只是协议的处理部分

你写的协议驱动,如果不涉及IP的话,那你就和TCPIP无关。(也说的不够谨慎)
我思故我在,脑袋不会坏.
hover_
驱动牛犊
驱动牛犊
  • 注册日期2002-05-30
  • 最后登录2002-07-06
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
7楼#
发布于:2002-07-05 16:11
那么自己写的协议驱动与系统本身的比如tcpip.sys等之间是如何来处理miniport传上来的数据帧的呢?
是呈链状,还是并行的把帧的拷贝给每个协议?
这个好像在ddk文档里面没有提到过。:(
板主能不能讲一下?

还有为什么不涉及ip就没有关系,涉及ip就会有冲突吗?
不明白呀,也找不到什么资料,谁能推荐一些协议驱动方面的资料吗?


游客

返回顶部