阅读:2105回复:11
讨论一下,ndis属于协议的哪一层?
有人说是llc层之上,ip层之下
我觉得是llc层之下,mac层之上 |
|
|
沙发#
发布于:2003-05-16 16:56
ndis不可以和OSI的模型来横向比较的
|
|
|
板凳#
发布于:2003-05-16 17:16
但是,抽象出来看,应该是可以认为它是属于某个层的啊!
比如linux下的路由程序,它是作为一个应用程序、一个进程运行的,但是抽象来看,它是属于网络层的。 |
|
|
地板#
发布于:2003-05-16 17:21
这不同。
ndis是一个网络驱动的接口。他给协议protocol driver和miniportdriver还有TDI的各种driver之间提供一个交流的接口,你可以比较一个protocvol driver是那一层,但是不可以比较NDIS是在那一层。 |
|
|
地下室#
发布于:2003-05-16 17:25
mike说的是对的,ndis只是一个接口库,提供3种驱动程序接口函数,miniport、IM、protocol。
|
|
|
5楼#
发布于:2003-05-16 17:28
看一下ddk里面的ndis的结构图。
如果要比的话,ndis和BSD的mux是一样的东西 |
|
|
6楼#
发布于:2003-05-16 18:46
在TCP/IP里面就没有数据链路层。你怎么把TCP/IP和OSI扯到一起了,现在的NDIS系统是个TCP/IP的实现他没有实现OSI。我觉得你要说它在链路层也对,反正TCP/IP没有,而NDIS恰好在哪个地方。
请高手指教! |
|
|
7楼#
发布于:2003-05-16 19:56
NDIS是借口,是系统提供了一套方法
而协议是通讯规范,与平台无关 |
|
|
8楼#
发布于:2003-05-16 20:48
是的,在TCP/IP里面就没有数据链路层。因为ip是网络层,在链路层上面的。假设一个有网卡的机器,装了windows,那么:
+-----+ | tcp | 由os实现 +-----+ | ip | 由os实现 +-----+ | llc | 802.2 ???由os实现??? +-----+ | mac | 802.3 由网卡实现 +-----+ |
|
|
9楼#
发布于:2003-05-17 10:40
我认为应该是这样的:
+-----+ |应用层| ------由系统实现 +-----+ | tcp | +-----+ 这两层由系统的Tcpip.sys实现 | ip | +-----+ | llc | +-----+ 这两层由HAL和网卡驱动实现 | mac | +-----+ |
|
|
10楼#
发布于:2003-05-17 19:50
谢谢你,不过我觉得网卡只完成了MAC层的功能
|
|
|
11楼#
发布于:2003-05-24 08:58
hahaha,
ddk中说了,在window2000体系下,llc、网络层和传输层是在transport driver中实现的! 看来我理解的没错, 总结一下: 在window2000体系下的osi七层模型的实现: +------+ |应用层| ------由应用程序实现 +------+ | tcp | \\ +------+ | ip | 这三层由transport driver实现 +------+ | llc | / +------+ --->ndis在这个接口上 | mac | \\ +------+ 网卡实现 | phy | / +------+ |
|
|