遠(yuǎn)程 NDIS (RNDIS) 是一種獨(dú)立于總線的類規(guī)范,適用于動(dòng)態(tài)即插即用上的網(wǎng)絡(luò)設(shè)備) (802.3 (PnP) 總線,如 USB、1394、藍(lán)牙和自動(dòng)限制。 遠(yuǎn)程 NDIS 通過抽象控件和數(shù)據(jù)通道定義主機(jī)計(jì)算機(jī)和遠(yuǎn)程 NDIS 設(shè)備之間與總線無關(guān)的消息協(xié)議。 遠(yuǎn)程 NDIS 的精確度足以允許主機(jī)計(jì)算機(jī)上的遠(yuǎn)程 NDIS 設(shè)備具有與供應(yīng)商無關(guān)的類驅(qū)動(dòng)程序支持。
從 Windows XP 開始,Microsoft Windows 版本包括用于 USB 設(shè)備的遠(yuǎn)程 NDIS 驅(qū)動(dòng)程序。 此 NDIS 微型端口驅(qū)動(dòng)程序 Rndismp.sys 由 Microsoft 實(shí)現(xiàn)和維護(hù),并在所有支持的 Windows 版本中進(jìn)行分發(fā)。 可以在%SystemRoot%\System32\drivers 目錄中找到該文件。
若要將此驅(qū)動(dòng)程序與 USB 設(shè)備一起使用,IHV 必須提供遵循 遠(yuǎn)程 NDIS INF 模板中的模板的 INF 文件。
遠(yuǎn)程 NDIS 消息從主機(jī)發(fā)送到遠(yuǎn)程 NDIS 設(shè)備,遠(yuǎn)程 NDIS 設(shè)備使用適當(dāng)?shù)耐瓿上⑦M(jìn)行響應(yīng)。 消息也將以未經(jīng)請(qǐng)求的方式從遠(yuǎn)程 NDIS 設(shè)備發(fā)送到主機(jī)。
遠(yuǎn)程 NDIS (RNDIS) 無需硬件供應(yīng)商為連接到 USB 總線的網(wǎng)絡(luò)設(shè)備編寫 NDIS 微型端口設(shè)備驅(qū)動(dòng)程序。 遠(yuǎn)程 NDIS 通過定義獨(dú)立于總線的消息集并說明此消息集在 USB 總線上的運(yùn)行方式來實(shí)現(xiàn)此目的。 由于此遠(yuǎn)程 NDIS 接口是標(biāo)準(zhǔn)化的,因此一組主機(jī)驅(qū)動(dòng)程序可以支持連接到 USB 總線的任意數(shù)目的網(wǎng)絡(luò)設(shè)備。 這大大減少了設(shè)備制造商的開發(fā)負(fù)擔(dān),提高了系統(tǒng)的整體穩(wěn)定性,因?yàn)椴恍枰碌尿?qū)動(dòng)程序,并且改進(jìn)了最終用戶體驗(yàn),因?yàn)闆]有要安裝的驅(qū)動(dòng)程序來支持新的 USB 總線連接網(wǎng)絡(luò)設(shè)備。 目前,Microsoft Windows支持通過 USB 進(jìn)行遠(yuǎn)程 NDIS。
下圖顯示了將設(shè)備制造商的 NDIS 微型端口與遠(yuǎn)程 NDIS 微型端口驅(qū)動(dòng)程序和 USB 傳輸驅(qū)動(dòng)程序組合在一起。 因此,設(shè)備制造商可以專注于設(shè)備實(shí)現(xiàn),并且不需要開發(fā)Windows NDIS 設(shè)備驅(qū)動(dòng)程序。
Microsoft 提供了 NDIS 微型端口驅(qū)動(dòng)程序 Rndismp.sys,該驅(qū)動(dòng)程序?qū)崿F(xiàn)遠(yuǎn)程 NDIS 消息集并與通用總線傳輸驅(qū)動(dòng)程序通信,而通用總線傳輸驅(qū)動(dòng)程序又與相應(yīng)的總線驅(qū)動(dòng)程序通信。 此 NDIS 微型端口驅(qū)動(dòng)程序由 Microsoft 實(shí)現(xiàn)和維護(hù),并作為該驅(qū)動(dòng)程序的一Windows。
以下遠(yuǎn)程 NDIS 消息集鏡像 NDIS 微型端口驅(qū)動(dòng)程序接口的語義:
初始化、重置和停止設(shè)備操作
傳輸和接收網(wǎng)絡(luò)數(shù)據(jù)包
設(shè)置和查詢?cè)O(shè)備操作參數(shù)
指示媒體鏈接狀態(tài)和監(jiān)視設(shè)備狀態(tài)
Microsoft 還提供一個(gè) USB 總線傳輸驅(qū)動(dòng)程序,該驅(qū)動(dòng)程序?qū)崿F(xiàn)用于跨 USB 總線傳送遠(yuǎn)程 NDIS 消息的機(jī)制。 此驅(qū)動(dòng)程序在遠(yuǎn)程 NDIS 微型端口驅(qū)動(dòng)程序和特定于總線的驅(qū)動(dòng)程序(如 USB)之間傳輸標(biāo)準(zhǔn)化的遠(yuǎn)程 NDIS 消息。 還需要特定于總線的驅(qū)動(dòng)程序?qū)⑷魏翁囟ㄓ诳偩€的要求(如電源管理)映射到標(biāo)準(zhǔn)化的遠(yuǎn)程 NDIS 消息。 USB 1.1 和 2.0 的傳輸驅(qū)動(dòng)程序由 Microsoft 實(shí)現(xiàn)和維護(hù),并作為 USB 1.1 和 2.0 的一Windows。
此結(jié)構(gòu)允許將單個(gè)設(shè)備驅(qū)動(dòng)程序用于具有特定于總線的傳輸層的任何遠(yuǎn)程 NDIS 設(shè)備。 此外,對(duì)于特定總線上的所有網(wǎng)絡(luò)設(shè)備,只需要一個(gè)總線傳輸層。
聯(lián)系客服