NDIS和Rndis區別

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設備看上去像一塊網卡。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章