Windows Networking Component

由上而下來排:

  1. Networking API. 這個不用多說,就是一般 app 使用到的 API。它可以實現在 user mode or kernel mode。
  2. Transport Driver Interface (TDI) client. 一個 device driver,它實作 networking API。
  3. TDI Transports. 也叫作 NDIS protocol driver,或稱作 protocol driver。NDIS 對收到的 IRP 內容加上 header(如 TCP/IP, UDP, or IP),並且使用 NDIS library 提供的 function 與 adapter driver 溝通。
  4. NDIS Library (Ndis.sys). 它提供 NDIS protocol driver 與 adapter driver 一些 function。
  5. 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 就可以了。

留言

熱門文章