Windows 2000 Network Drivers - PowerPoint PPT Presentation

1 / 28
About This Presentation
Title:

Windows 2000 Network Drivers

Description:

Microsoft Windows 2000 support Three basic types of kernel-mode network drivers ... connectionless network media : Ethernet, FDDI,Token Ring. ... – PowerPoint PPT presentation

Number of Views:47
Avg rating:3.0/5.0
Slides: 29
Provided by: onyxYo
Category:

less

Transcript and Presenter's Notes

Title: Windows 2000 Network Drivers


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-specifi
    c 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
Windows 2000 Network Architecture and the OSI
Model
  • Windows 2000 is Based on the OSI 7-layer
    networking model

5
Windows 2000 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
Windows 2000 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
Windows 2000 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 -gt
    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
    Windows 2000.
  • 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.
Write a Comment
User Comments (0)
About PowerShow.com