1 / 28

Windows 2000 Network Drivers

Windows 2000 Network Drivers 정보통신 연구실 석사 3 학기 김신규 Roadmap Microsoft Windows 2000 support Three basic types of kernel-mode network drivers Miniport NIC drivers A miniport driver directly manages a network interface card (NIC) and provides an interface to higher-level drivers.

Télécharger la présentation

Windows 2000 Network Drivers

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Windows 2000 Network Drivers 정보통신 연구실 석사 3학기 김신규

  2. Roadmap • Microsoft Windows 2000 support Three basic types of kernel-mode network drivers • Miniport NIC drivers • A miniport driver directly manages a network interface card (NIC) and provides an interface to higher-level drivers. • Intermediate drivers • An intermediate protocol driver interfaces between upper-level protocol drivers, such as a legacy transport driver, and a miniport. • Protocol drivers • An upper level protocol driver implements a TDI interface, or possibly another application-specific interface at its upper-edge • At its lower edge, this type of driver provides a protocol interface to pass packets to and receive incoming packets from the next-lower driver.

  3. Roadmap • Another type of kernel-mode driver supported by Windows 2000 • filter-hook driver • Filter packets • Extends the functionality of the IP filter driver

  4. Windows2000 Network Architecture and the OSI Model • Windows 2000 is Based on the OSI 7-layer networking model

  5. Windows2000 Network Architecture and the OSI Model • Physical Layer • involves the reception and transmission of the unstructured raw bit stream over a physical medium • Implemented by the network interface card(NIC), its transceiver, and the medium to which the NIC is attached • can include low-level network software

  6. Windows2000 Network Architecture and the OSI Model • Data Link Layer • LLC • establishes and terminates logical links, controls frames flow, sequences frames, acknowledges frames, and retransmits unacknowledged frames. • Implemented in the transport driver • MAC • manages access to the network media, checks frame errors, and manages address recognition of received frames. • implemented in the network interface card (NIC) • The NIC is controlled by a software device driver called the NIC driver.

  7. Windows2000 Network Architecture and the OSI Model • Network Layer • controls the operation of the subnet and determines the physical path the data should take • Transport Layer • ensure that messages are delivered error-free, in sequence, and with no loss or duplication • In the Windows 2000 network architecture • the LLC, Network, and Transport layer -> transport drivers

  8. NDIS Drivers • The Network Driver Interface Specification(NDIS) library • abstracts the network hardware from network drivers • specifies a standard interface between layered network drivers • abstract lower-level drivers • maintains state information and parameters for network drivers • support • Miniport drivers • Intermediate drivers • Protocol drivers

  9. NDIS Drivers

  10. NDIS Drivers • NDIS Miniport Drivers(miniport NIC driver) • two basic functions • managing a NIC • interfacing with higher-level drivers • The NDIS library exports a full set of functions(NdisXXX functions) that encapsulate all the OS functions. • Called by Miniport • The miniport must export a set of entry points(MiniportXxx functions). • Called by NDIS

  11. NDIS Drivers • The interaction of miniport NIC drivers with NDIS and with higher-level drivers • Send • transport driver calls an NdisXxx functions. • NDIS passes the packet to the miniport by calling the appropriate MiniportXxx function. • The miniport driver then forwards the packet to the NIC by calling the appropriate NdisXxx functions. • Receive • NIC post a hardware interrupt. • NDIS call MiniportXxx function • The miniport sets up the transfer of data from the NIC and then indicates the presence of the received packet to bound higher-level drivers by calling the NdisXxx function.

  12. NDIS Drivers • Connectionless miniport • Serialized drivers • rely on NDIS to serialize calls to their miniportXxx functions and to manage their send queues. • Deserialized drivers • serialize the operation of their own MiniportXxx functions • queue internally all incoming send packets. • connectionless network media : Ethernet, FDDI,Token Ring. • connection-oriendted network media : ATM and ISDN • Always deserialized. • An NDIS miniport driver can have a non-NDIS lower edge

  13. NDIS Drivers • NDIS Intermediate Drivers

  14. NDIS Drivers • NDIS Intermediate Drivers • At it lower edge, exposes protocol entry points(ProtocolXxx functions) • At it upper edge, exposes miniport entry points(MiniportXxx functions) • It does not actually manage a physical NIC • it exports one or more virtual adapters. • Intermediate drivers are typically used in the following ways • To translate between different network media • To filter packets • To balance packet transmission across more than on NIC

  15. NDIS Drivers • NDIS Protocol Drivers • The highest driver in the NDIS drivers • often used as the lowest-level driver in a transport driver that implements a transport protocol stack(TCP/IP, IPX). • At its lower edge, a protocol driver interfaces with intermediate network drivers and miniport NIC drivers. • Use NDIS funcions(NdisXxxx) • export a set of entry points(ProtocolXxx functions) • At its upper edge, a transport protocol driver has a private interface to a higher-level driver in the protocol stack.

  16. NDIS Drivers • TDI(Transport Driver Interface) Drivers • defines a kernel-mode network interface that is exposed at the upper edge of transport protocol stacks.

  17. NDIS Drivers • TDI Client • kernel-mode driver such as redirector and Server. • Interface with such transports through TDI • simplifies the task of developing transport drivers in that only the TDI interface needs to be coded. • Transport drivers that expose only the TDI interface can be used only by TDI client.

  18. Network Driver Environments • Network Driver Environments • Connectionless drivers • Connection-oriented drivers • WAN drivers

  19. Network Driver Environments • Connectionless Environment for Network Drivers • the standard network driver environment for connectionless media, such as Ethernet and Token Ring.

  20. Network Driver Environments • Connection-Oriented Environment for Network Drivers • NDIS supports • Connection-oriented miniports • Connection-oriented clients • Call managers • Integrated miniport call managers(MCM)

  21. Network Driver Environments

  22. Network Driver Environments • A connection-oriented miniport • control one or more network interface cards(NIC) • provides an interface between connection-oriented protocols and the NIC hardware • A call manager • NDIS protocol that provide call setup and tear-down services for connection-oriented clients • An MCM driver • connection-oriented miniport that also provides call manager services to connection-oriented clients.

  23. Network Driver Environments • Environment for WAN Network Drivers • Windows 2000 supports wide area network (WAN) connections over both connectionless and connection-oriented media

  24. Network Driver Environments

  25. Network Driver Environments • Remote Access Service(RAS) • allows user-mode applications to make dial-up connections • TAPI service provider • user-mode component that accepts call setup and teardown requests from RAS clients and from TAPI-aware applications through the SPI • NDISTAPI • kernel-mode component that exposes connectionless miniports to the TAPI device space.

  26. Network Driver Environments • NDPROXY • a kernel-mode component that exposes connection-oriented miniports to the TAPI device space. • NDISWAN • an intermediate NDIS driver that performs PPP protocol/link framing, compression, and encryption. • WAN miniport • calls many of the same NDIS functions and supplies many of the same handlers as does a non-WAN NDIS miniport • Serial driver • standard device driver for internal serial ports or multiport serial cards.

  27. Network Driver Programming Considerations • Design Goals for Network drivers written for Windows2000. • Portability across platforms • Scalable to multiprocessor systems • Simple configuration of hardware and software • Object-based interfaces • Support for asynchronous I/O

  28. Reference • Microsoft Windows 2000 DDK • Network Driver • Design guide part 1.

More Related