RmNet,CDC-ECM ,NDIS,RNDIS区别
一、RmNet和CDC-ECM区别:更像是两种拨号方式的区别,RmNet获取公网IP,ECD-ECM获取局域网IP。
1、如果是使用RmNet,那么发起data call是通过QMI工具发的QMI命令,QMI工具为QMICM,QMICM集成了QMI命令,通过QMICM建立的data call,不走router的,所以它的IP地址获得的是公网IP;
2、如果是使用标准的CDC-ECM发起data call,则是发送标准的ECM命令,通过标准的CDC-ECM建立的data call,是走router的,获得的IP地址是私有的IP如192.168开头。
二、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)是网络驱动程序接口规范的简称。它横跨传输层、网络层和数据链路层,定义了网卡或网卡驱动程序与上层协议驱动程序之间的通信接口规范,屏蔽了底层物理硬件的不同,使上层的协议驱动程序可以和底层任何型号的网卡通信。
3,RAS是典型的拨号实现,需要利用Windows mobile的PPP协议栈实现连接配置和建立 rndis,Remote Network Driver Interface Specification,既是RemoteNDIS,既是远程网络驱动接口规范。基于USB实现RNDIS实际上就是TCP/IP over USB,就是在USB设备上跑TCP/IP,让USB设备看上去像一块网卡。
版权声明:本文为liurunjiang原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。