博客專欄

        EEPW首頁 > 博客 > RmNet,CDC-ECM ,NDIS,RNDIS區別

        RmNet,CDC-ECM ,NDIS,RNDIS區別

        發布人:電子禪石 時間:2023-01-05 來源:工程師 發布文章

        RmNet和CDC-ECM區別:更像是兩種撥號方式的區別,RmNet獲取公網IP,ECD-ECM獲取局域網IP。

        在高通平臺上,rmnet driver 和標準的CDC-ECM是有區別的,rmnet 也是屬于CDC-ECM
        他們具體的區別在于對于USB命令的封裝以及使用的USB接口,端點定義方式不同

         如果是使用rmnet,那么發起data call是通過QMI工具發的QMI命令,QMI工具為QMICM,QMICM集成了QMI命令
         而通過標準的CDC-ECM發起data call,則是發送標準的ECM命令。

         如果是QMICM建立的data call,不走router的,所以它的IP地址獲得的是公網IP。
         而通過標準的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)是網絡驅動程序接口規范的簡稱。它橫跨傳輸層、網絡層和數據鏈路層,定義了網卡或網卡驅動程序與上層協議驅動程序之間的通信接口規范,屏蔽了底層物理硬件的不同,使上層的協議驅動程序可以和底層任何型號的網卡通信。 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設備看上去像一塊網卡。

        轉載自:https://www.cnblogs.com/ricks/p/9448712.html


        *博客內容為網友個人發布,僅代表博主個人觀點,如有侵權請聯系工作人員刪除。



        關鍵詞: 網路

        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 林州市| 梅河口市| 康乐县| 宜川县| 札达县| 巴南区| 永年县| 丹东市| 星子县| 云浮市| 咸阳市| 延边| 木兰县| 长治市| 斗六市| 长阳| 揭东县| 安化县| 龙山县| 禹城市| 仙游县| 巢湖市| 冀州市| 澄江县| 龙南县| 嘉善县| 铁力市| 盐津县| 宁化县| 阿拉尔市| 桂林市| 十堰市| 榆社县| 民县| 阿合奇县| 太仆寺旗| 铜鼓县| 乐山市| 彭阳县| 迁安市| 正镶白旗|