Windows Networking Component
由上而下來排:
- Networking API. 這個不用多說,就是一般 app 使用到的 API。它可以實現在 user mode or kernel mode。
- Transport Driver Interface (TDI) client. 一個 device driver,它實作 networking API。
- TDI Transports. 也叫作 NDIS protocol driver,或稱作 protocol driver。NDIS 對收到的 IRP 內容加上 header(如 TCP/IP, UDP, or IP),並且使用 NDIS library 提供的 function 與 adapter driver 溝通。
- NDIS Library (Ndis.sys). 它提供 NDIS protocol driver 與 adapter driver 一些 function。
- NDIS miniport driver. 負責 protocol driver 與 adapter driver 的界面。NDIS miniport driver 向 NDIS library 註冊一個 call-table interface,裡頭提供 pointers,指向 NDIS library export 出來的 function。它負責處理特定 NIC 的 traffic(使用 NDIS library 提供的 function)。想要建立虛擬 NIC,只要建立虛擬 miniport driver,負責處理同一個 NIC traffic 就可以了。
留言
張貼留言