windows nt环境下fddi网卡驱动程序设计精编.docx 立即下载
2025-08-15
约1.4万字
约27页
0
23KB
举报 版权申诉
预览加载中,请您耐心等待几秒...

windows nt环境下fddi网卡驱动程序设计精编.docx

windowsnt环境下fddi网卡驱动程序设计精编.docx

预览

免费试读已结束,剩余 22 页请下载文档后查看

10 金币

下载文档

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

windowsnt环境下fddi网卡驱动程序设计

总体结构介绍第一节windowsnt网络结构§1.1.1windowsnt网络体系结构windowsnt的网络体系结构是基于国际标准化(iso)制定的标准模型──开放式系统互连(opensysteminterconnection:osi)参考模型分层建立的,这种方式有利于随时扩展其它功能和服务。windowsnt网络模型开始于mac子层,网卡驱动程序就驻留在其中。它通过相关的网卡把windowsnt与网络连接起来,图中的多个网卡表明在一台运行windowsnt的计算机上能使用多种网卡。这一网络体系结构包括两个重要接口──ndis接口与传输驱动程序接口(tdi)。这两个接口把两个层隔离开来,办法是相邻的部件只允许按单一的标准来写,不允许多重标准。例如一个网卡驱动程序(在ndis接口的下面)就不需要特地按每个传输协议来写它的代码块,恰恰相反,该驱动程序是写给ndis接口的,它通过符合ndis的相应传输协议来请求服务。这些接口包含在windowsnt的网络体系结构中,以容纳可移植、可互换的模块。在两个接口之间,是传输协议。它在网络中起着组织者的作用。一个传输协议规定了数据以何种方式呈递给下一个接收层,以及如何对数据相应地进行打包。它通过ndis把数据传给网卡驱动程序,并通过tdi把数据传给转发程序(redirector)tdi之上是转发程序,它把本地的网络资源申请转送给网络。为了能和其他厂商的网络互连,windowsnt允许有多个转发程序。对于每一个转发程序windowsnt计算机必须也有一个相应的供应者(provider)(由网络厂商提供)。多供应者路由选择程序决定适当的供应者,然后借助于供应者,对应用请求到相应的转发程序做出选择。§1.1.2windowsnt网络驱动程序windowsnt支持两种类型的网络驱动程序传输驱动程序实现数据链路层中的逻辑链路控制子层协议和传输层协议。向下与ndis接口,向上与tdi接口。网卡驱动程序实现对物理层的管理和数据链路层中介质访问控制子层协议,通过ndis向下管理物理网卡,向上与传输驱动程序通信。§1.1.3windowsnt网卡驱动程序windowsnt环境下的网卡驱动程序也分为两种:miniport网卡驱动程序:miniport驱动程序只须实现与网络硬件相关的操作(包括发送和接收)。而所有底层网卡驱动程序的通用操作(如同步),一般由ndis接口程序来实现。full网卡驱动程序:full网卡驱动程序必须实现所有硬件相关和同步、排队等操作。例如full网卡驱动程序为了响应数据接收,需要保持本身的捆绑信息,而miniport就可以由ndis接口库来实现。在windowsnt的早期版本中,full网卡驱动程序要求开发者实现许多底层操作,来处理多处理器的核心问题以及处理器、线程的同步,这样不同的开发者在大量重复着许多相同的工作。而miniport网卡驱动程序允许开发者仅仅写一些与网络硬件相关的代码即可,而那些通用的函数由ndis接口库来实现,这样开发出来的驱动程序减少了不必要的工作。第二节miniport驱动程序的结构ndis接口规范了网卡驱动程序的实现,同时也对tdi驱动程序的实现提出了一定的要求,在nt中,ndis约束下的网卡驱动程序、tdi驱动程序和系统的关系如下图所示:图2.0ndis约束下的网卡驱动程序、tdi驱动程序和系统的关系miniport驱动程序包括驱动程序对象、驱动程序源代码和ndis接口库代码。windowsntddk提供ndis.h作为miniport驱动程序的主要头文件,定义了miniport驱动程序的入口点、ndis接口库函数和通用数据结构。上边缘函数的作用是网卡驱动与ndis接口库进行通信,而下边缘函数是tdi协议驱动程序与ndis通信的手段。§1.2.1miniport网卡对象ndis用一个叫做逻辑网卡的软件对象来描述系统中的每块网卡,而逻辑网卡与windowsnt设备对象的通信由i/o子系统来管理,描述网卡的设备对象包括相关的网络信息如名字、网络地址和网卡内存基地址等,它还包含与硬件相关的驱动程序状态数据(捆绑数目,捆绑句柄,包过滤数据库等)。ndis分配一个句柄到miniportinitialize这个上边缘函数的一个结构中,然后miniport网卡驱动程序将在以后提供这个句柄来给ndis调用,这个结构一直被ndis保持,并且对miniport驱动程序不透明。当miniport网卡驱动程序初始化一块网卡时,它创立自己的内部数据结构来描述网卡,记录需要它管理的与设备相关的状态信息。当miniport网卡驱动程序调用ndismsetatttibutes或ndismsetattributesex两ndis库函数时,它传
查看更多
单篇购买
VIP会员(1亿+VIP文档免费下)

扫码即表示接受《下载须知》

windows nt环境下fddi网卡驱动程序设计精编

文档大小:23KB

限时特价:扫码查看

• 请登录后再进行扫码购买
• 使用微信/支付宝扫码注册及付费下载,详阅 用户协议 隐私政策
• 如已在其他页面进行付款,请刷新当前页面重试
• 付费购买成功后,此文档可永久免费下载
全场最划算
12个月
199.0
¥360.0
限时特惠
3个月
69.9
¥90.0
新人专享
1个月
19.9
¥30.0
24个月
398.0
¥720.0
6个月会员
139.9
¥180.0

6亿VIP文档任选,共次下载特权。

已优惠

微信/支付宝扫码完成支付,可开具发票

VIP尽享专属权益

VIP文档免费下载

赠送VIP文档免费下载次数

阅读免打扰

去除文档详情页间广告

专属身份标识

尊贵的VIP专属身份标识

高级客服

一对一高级客服服务

多端互通

电脑端/手机端权益通用