NDIS和Rndis区别:NDIS是一种规范,定义了网络驱动接口的api。RNDIS是一种技术,是将TCP/IP封装在USB报文里,实现网络通信。

1,RNDIS是指Remote NDIS,基于USB实现RNDIS实际上就是TCP/IP over USB,就是在USB设备上跑TCP/IP,让USB设备看上去像一块网卡。

2,NDIS(Network Driver Interface Specification)是网络驱动程序接口规范的简称。它横跨传输层、网络层和数据链路层,定义了网卡或网卡驱动程序与上层协议驱动程序之间的通信接口规范,屏蔽了底层物理硬件的不同,使上层的协议驱动程序可以和底层任何型号的网卡通信。 NDIS为网络驱动程序创建了一个完整的开发环境,只需调用NDIS函数,而不用考虑操作系统的内核以及与其他驱动程序的接口问题,从而使得网络驱动程序可以从与操作系统的复杂通讯中分离,极大地方便了网络驱动程序的编写。另外,利用NDIS的封装特性,可以专注于一层驱动的设计,减少了设计的复杂性,同时易于扩展驱动程序栈。

NDIS支持三种类型的网络驱动程序: NDIS网卡驱动程序(NICdrivers) 网卡驱动程序是网卡与上层驱动程序通信的接口,它负责接收来自上层的数据包,或将数据包发送到上层相应的驱动程序,同时它还完成处理中断等工作。 NDIS中间驱动程序 (InterMediateProtocolDrivers):中间驱动程序位于网卡驱动程序和协议驱动程序之间,它向上提供小端口(Minport)函数集,向下提供协议(protocol)函数集,因此对于上层驱动程序而言,它是小端口驱动程序。对于底层的驱动程序,它是协议驱动程序。 NDIS协议驱动程序 (Upper Level Protocol Drivers):协议驱动程序执行具体的网络协议,如IPX/SPX、TCP/IP等。协议驱动程序为应用层客户程序提供服务,接收来自网卡或中间驱动程序的信息。

3,RAS是典型的拨号实现,需要利用Windows mobile的PPP协议栈实现连接配置和建立 rndis,Remote Network Driver Interface Specification,既是RemoteNDIS,既是远程网络驱动接口规范。基于USB实现RNDIS实际上就是TCP/IP over USB,就是在USB设备上跑TCP/IP,让USB设备看上去像一块网卡。

NDIS和Rndis区别相关推荐

  1. RmNet,CDC-ECM ,NDIS,RNDIS区别

    RmNet和CDC-ECM区别:更像是两种拨号方式的区别,RmNet获取公网IP,ECD-ECM获取局域网IP. 在高通平台上,rmnet driver 和标准的CDC-ECM是有区别的,rmnet ...

  2. RmNet和CDC-ECM的区别,NDIS和RNDIS的区别。

    RmNet,CDC-ECM ,NDIS,RNDIS区别 一.RmNet和CDC-ECM区别:更像是两种拨号方式的区别,RmNet获取公网IP,ECD-ECM获取局域网IP. 1.如果是使用RmNet, ...

  3. NDIS和Rndis、NCM和ECM

    NDIS和Rndis NDIS是一种规范,定义了网络驱动接口的api.RNDIS是一种技术,是将TCP/IP封装在USB报文里,实现网络通信.(即将TCP/IP包 封装成为USB总线要求的格式) 类似 ...

  4. PPP拨号和NDIS拨号的区别:

    PPP拨号和NDIS拨号的区别: 参考网址: https://blog.csdn.net/xingyuan1hao/article/details/89279730 https://blog.csdn ...

  5. ecm、ppp、ndis 拨号

    RmNet和CDC-ECM区别:更像是两种拨号方式的区别,RmNet获取公网IP,ECD-ECM获取局域网IP. 在高通平台上,rmnet driver 和标准的CDC-ECM是有区别的,rmnet ...

  6. 拨号之 PPP NDIS RNDIS CDC ECM NCM QMI-WWAN GOBINET RMNET MBIM 区别

    如果做3.4.5G的上网,常常会遇到上述几个名词,他们都跟拨号联网相关,总是弄得人云里雾里,这些概念到底是什么意思,或者有啥区别呢? 这里结合网上资料,基于个人理解,再次整理,如有错误之处,欢迎指正. ...

  7. Remote NDIS (RNDIS)

    远程 NDIS (RNDIS) 概述 - Windows drivers | Microsoft DocsRNDIS 使硬件供应商无需为连接到 USB 总线的网络设备编写 NDIS 微型端口驱动程序. ...

  8. 拨号PPP NDIS RNDIS CDC ECM NCM QMI_WWAN GOBINET RMNET MBIM概念介绍

    PPP   PPP 用于建立点对点链路.最初是用于慢速设备的,比如早期通过串行线上网.通过一套协议,维护硬件链路上的数据连接,并具备安全和认证特性,可建立计费模式.   我们在PPP拨号脚本中也常常可 ...

  9. rndis ethernet gadget 驱动 安装方法

    在设备管理器中选中未安装驱动的RNDIS/Ethernet Gadget device,依次选择:升级驱动程序-->手动选择驱动程序-->从计算机的驱动程序列表中选择(如下图) --> ...

最新文章

  1. ios开发之系统信息
  2. 平衡二叉树-splay c/c++代码实现
  3. 主成分分析法(PCA)原理漫谈
  4. Java十大排序算法总结,Java排序算法总结之冒泡排序
  5. java调用kettle批量执行
  6. command对象的三个主要的方法 1119
  7. html5怎么设置li向下移,请问如何实现鼠标移到li上改变另一个div的样式
  8. Volley源码学习2--Error类
  9. php标准代码格式,PHP PSR代码格式规范
  10. 软件开发流程规范介绍
  11. 思科二层冗余技术对比---PortChannel/StackWise/VSS/vPC
  12. gaussian窗口函数_几种常见窗函数及其matlab应用
  13. ES6——TDZ(暂时性死区)
  14. 如何把自己的经历写成小说_教你如何把一本小说写成太监
  15. springboot 集成kafka 实现多个customer不同group
  16. 通俗易懂的解释深藏在傅里叶变换背后的奥秘,傅立叶变换的几何意义
  17. (ZT) 上海房价再涨五倍也并非天方夜谭?
  18. 基于Javaweb的小项目(类似于qqzone) 7 —— 日志相关操作
  19. 11.21 权利的游戏 冰与火之歌
  20. 远景会员定制GHOST WIN7 2010珍藏版

热门文章

  1. 微信开发者工具,page里面的data在js的方法里面修改
  2. ant design vue中a-table中使用a-tag和a-switch
  3. linux第一阶段学习笔记基础
  4. golang 设置goproxy代理的小细节,适用于go module下载超时,阿里云镜像go module下载超时
  5. 【RK按键】按键切换
  6. Speedoffice(excel)如何制作斜线表头
  7. [Linux] Linux不分区硬盘挂载
  8. python控制键盘按键_如何通过Python生成键盘按键事件来控制PP的表示?
  9. 三维点云数据集汇总(分类+检测+识别)
  10. 如何将WPS转换成office,WPS转office的转换方法