RmNet,CDC-ECM ,NDIS,RNDIS區(qū)別
RmNet和CDC-ECM區(qū)別:更像是兩種撥號(hào)方式的區(qū)別,RmNet獲取公網(wǎng)IP,ECD-ECM獲取局域網(wǎng)IP。
在高通平臺(tái)上,rmnet driver 和標(biāo)準(zhǔn)的CDC-ECM是有區(qū)別的,rmnet 也是屬于CDC-ECM
他們具體的區(qū)別在于對(duì)于USB命令的封裝以及使用的USB接口,端點(diǎn)定義方式不同
如果是使用rmnet,那么發(fā)起data call是通過QMI工具發(fā)的QMI命令,QMI工具為QMICM,QMICM集成了QMI命令
而通過標(biāo)準(zhǔn)的CDC-ECM發(fā)起data call,則是發(fā)送標(biāo)準(zhǔn)的ECM命令。
如果是QMICM建立的data call,不走router的,所以它的IP地址獲得的是公網(wǎng)IP。
而通過標(biāo)準(zhǔn)的CDC-ECM建立的data call,是走router的,獲得的IP地址是私有的IP如192.168開頭
NDIS和Rndis區(qū)別:NDIS是一種規(guī)范,定義了網(wǎng)絡(luò)驅(qū)動(dòng)接口的api。RNDIS是一種技術(shù),是將TCP/IP封裝在USB報(bào)文里,實(shí)現(xiàn)網(wǎng)絡(luò)通信。
1,RNDIS是指Remote NDIS,基于USB實(shí)現(xiàn)RNDIS實(shí)際上就是TCP/IP over USB,就是在USB設(shè)備上跑TCP/IP,讓USB設(shè)備看上去像一塊網(wǎng)卡。
2,NDIS(Network Driver Interface Specification)是網(wǎng)絡(luò)驅(qū)動(dòng)程序接口規(guī)范的簡(jiǎn)稱。它橫跨傳輸層、網(wǎng)絡(luò)層和數(shù)據(jù)鏈路層,定義了網(wǎng)卡或網(wǎng)卡驅(qū)動(dòng)程序與上層協(xié)議驅(qū)動(dòng)程序之間的通信接口規(guī)范,屏蔽了底層物理硬件的不同,使上層的協(xié)議驅(qū)動(dòng)程序可以和底層任何型號(hào)的網(wǎng)卡通信。 NDIS為網(wǎng)絡(luò)驅(qū)動(dòng)程序創(chuàng)建了一個(gè)完整的開發(fā)環(huán)境,只需調(diào)用NDIS函數(shù),而不用考慮操作系統(tǒng)的內(nèi)核以及與其他驅(qū)動(dòng)程序的接口問題,從而使得網(wǎng)絡(luò)驅(qū)動(dòng)程序可以從與操作系統(tǒng)的復(fù)雜通訊中分離,極大地方便了網(wǎng)絡(luò)驅(qū)動(dòng)程序的編寫。另外,利用NDIS的封裝特性,可以專注于一層驅(qū)動(dòng)的設(shè)計(jì),減少了設(shè)計(jì)的復(fù)雜性,同時(shí)易于擴(kuò)展驅(qū)動(dòng)程序棧。
NDIS支持三種類型的網(wǎng)絡(luò)驅(qū)動(dòng)程序: NDIS網(wǎng)卡驅(qū)動(dòng)程序(NICdrivers) 網(wǎng)卡驅(qū)動(dòng)程序是網(wǎng)卡與上層驅(qū)動(dòng)程序通信的接口,它負(fù)責(zé)接收來自上層的數(shù)據(jù)包,或?qū)?shù)據(jù)包發(fā)送到上層相應(yīng)的驅(qū)動(dòng)程序,同時(shí)它還完成處理中斷等工作。 NDIS中間驅(qū)動(dòng)程序 (InterMediateProtocolDrivers):中間驅(qū)動(dòng)程序位于網(wǎng)卡驅(qū)動(dòng)程序和協(xié)議驅(qū)動(dòng)程序之間,它向上提供小端口(Minport)函數(shù)集,向下提供協(xié)議(protocol)函數(shù)集,因此對(duì)于上層驅(qū)動(dòng)程序而言,它是小端口驅(qū)動(dòng)程序。對(duì)于底層的驅(qū)動(dòng)程序,它是協(xié)議驅(qū)動(dòng)程序。 NDIS協(xié)議驅(qū)動(dòng)程序 (Upper Level Protocol Drivers):協(xié)議驅(qū)動(dòng)程序執(zhí)行具體的網(wǎng)絡(luò)協(xié)議,如IPX/SPX、TCP/IP等。協(xié)議驅(qū)動(dòng)程序?yàn)閼?yīng)用層客戶程序提供服務(wù),接收來自網(wǎng)卡或中間驅(qū)動(dòng)程序的信息。
3,RAS是典型的撥號(hào)實(shí)現(xiàn),需要利用Windows mobile的PPP協(xié)議棧實(shí)現(xiàn)連接配置和建立 rndis,Remote Network Driver Interface Specification,既是RemoteNDIS,既是遠(yuǎn)程網(wǎng)絡(luò)驅(qū)動(dòng)接口規(guī)范?;赨SB實(shí)現(xiàn)RNDIS實(shí)際上就是TCP/IP over USB,就是在USB設(shè)備上跑TCP/IP,讓USB設(shè)備看上去像一塊網(wǎng)卡。
轉(zhuǎn)載自:https://www.cnblogs.com/ricks/p/9448712.html
*博客內(nèi)容為網(wǎng)友個(gè)人發(fā)布,僅代表博主個(gè)人觀點(diǎn),如有侵權(quán)請(qǐng)聯(lián)系工作人員刪除。