Search code examples
windowsdevice-driverndisminiport

Understanding NDIS virtual miniport driver


I have built and installed the netvmini on windows 7/8. And Im able to ping from one IP to the other. But I have some doubts with respect to its functionality which are listed below:

  1. In which layer does the driver get placed w.r.t OSI layers.
  2. Does the driver route the packets w.r.t the IP addresses given by the Application.
  3. What is the role of NDIS protocol driver.
  4. What is the difference between NDIS protocol driver and miniport driver.

Looking forward to some answers which will be of great help...


Solution

    1. In the 2nd layer (MAC)
    2. No, routing is done by the IP protocol (3rd layer). MAC layer operates with MAC addresses.
    3. There is no specific role, as is. The role is defined by the driver developer and the location of the driver in the network stack. Protocol drivers are the highest level NDIS drivers and reside above miniport and filter drivers. Therefore, they naturally belong to higher layers of OSI model, e.g. they can implement functionality related to the transport layer (4th layer). See more here: https://msdn.microsoft.com/en-us/library/windows/hardware/ff566823%28v=vs.85%29.aspx
    4. Miniport driver is the lowest driver in the network stack, except for the bus driver. Usually it will implement functionality related to the 2nd layer (MAC). See more here: https://msdn.microsoft.com/en-us/library/windows/hardware/ff565951(v=vs.85).aspx