说说偶的学习心得 前辈指教:
1 ndis工作在数据链路层 向上向传输层提供服务 由Miniportxxx函数实现 向下提供物理层接口 由Protocolxxx函数实现 对否?以下是我模拟网络接受数据的工作过程:
2 数据接受从物理层开始 物理层必有其对应的功能的支持 而这些功能的支持是由物理层的驱动程序来完成的(至于驱动如何完成 得研究驱动的代码了 暂不管) 
3 tcp/ip体系中每一层都有其对应的数据发送和接受队列 :(在2的条件下:)物理层有物理层的驱动程序支持 于是接受到数据后 可以去掉mac包头 然后将数据放入物理层对应的数据队列 同时上层(tcp/ip)的驱动程序可以完成从物理层的消息队列取出数据并进行同样处理的过程 。
4 利用ndis接口函数可以插入其中 得到去掉mac头的数据 于是可以得到完整的ip数据包 进行相应的操作(包分析:如 filter)。那位解释的清楚 偶不惜高分另外开贴给!

解决方案 »

  1.   

    我个人认为
    1.NDIS是个规范,涵盖链路层,网络层,和传输层
    2.物理层就是网卡
    3.不是很清楚你的意思.协议驱动做的工作是接收数据包,然后提取自己感兴趣的包,再决
      定是否上交给上一层
    4.可以.
      

  2.   

    多谢楼上的回答 
    1 ndis是一个规范。---涵盖链路层,网络层,和传输层 那么它是如何在这三层之间 协调工作的 可以简单说名一下吗?
    至于 2 3 4 不是要回答 而是想知道数据包从物理层开始是如何一层一层进行处理 最后得到传输的数据的? 比如http数据是经过怎样的处理 最后到达ie的?是处理过程。 在这中间ndis又起到了什么作用?
      

  3.   

    NDIS有三种开发方式,
    1.Miniport,
    2.中间层(IMD)
    3.协议层.
      

  4.   


    但是各层的开发模式跟OSI的模式都不是很明确,
    但是功能上已经到达了这个层次
      

  5.   

    你可以去看看www.vckbase.com里面的一个.chm的文档,这个文档是整理出来的,是《windows2000驱动程序大全》的电子版,不过我已经有这本书了,所以没有去下,花了我350大元买的呀。。
    NDIS很难,做之前,最好是系统的了解一下,这本书虽然枯燥,但讲NDIS的本来就不多,也就将就着看吧