NDIS LBFO Miniports (Load Balancing And Failover) Larry Cleeton Program Manager Windows Networking And Communications Microsoft Corporation.

Slides:



Advertisements
Similar presentations
LACP Project Proposal.
Advertisements

Module 8: Concepts of a Network Load Balancing Cluster
9.1 © 2004 Pearson Education, Inc. Exam Managing and Maintaining a Microsoft® Windows® Server 2003 Environment Lesson 9: Installing and Configuring.
70-290: MCSE Guide to Managing a Microsoft Windows Server 2003 Environment Chapter 8: Implementing and Managing Printers.
MCITP Guide to Microsoft Windows Server 2008 Server Administration (Exam #70-646) Chapter 14 Server and Network Monitoring.
70-290: MCSE Guide to Managing a Microsoft Windows Server 2003 Environment, Enhanced Chapter 8: Implementing and Managing Printers.
MCTS Guide to Microsoft Windows Server 2008 Network Infrastructure Configuration Chapter 8 Introduction to Printers in a Windows Server 2008 Network.
70-290: MCSE Guide to Managing a Microsoft Windows Server 2003 Environment Chapter 8: Implementing and Managing Printers.
Check Disk. Disk Defragmenter Using Disk Defragmenter Effectively Run Disk Defragmenter when the computer will receive the least usage. Educate users.
1 Chapter Overview Introduction to Windows XP Professional Printing Setting Up Network Printers Connecting to Network Printers Configuring Network Printers.
Network Client Configuration By Nanda Ganesan, Ph.D. © Nanda Ganesan, All Rights Reserved.
(part 3).  Switches, also known as switching hubs, have become an increasingly important part of our networking today, because when working with hubs,
TCP/IP Tools Lesson 5. Objectives Skills/ConceptsObjective Domain Description Objective Domain Number Using basic TCP/IP commands Understanding TCP/IP3.6.
MCTS Guide to Microsoft Windows Server 2008 Network Infrastructure Configuration Chapter 7 Configuring File Services in Windows Server 2008.
Microsoft Virtual Academy Module 4 Creating and Configuring Virtual Machine Networks.
MCTS Guide to Microsoft Windows Server 2008 Applications Infrastructure Configuration (Exam # ) Chapter Ten Configuring Windows Server 2008 for High.
Microsoft Load Balancing and Clustering. Outline Introduction Load balancing Clustering.
Virtual LANs. VLAN introduction VLANs logically segment switched networks based on the functions, project teams, or applications of the organization regardless.
DB-12: Achieving High Availability with Clusters and OpenEdge® Replication Combining the two technologies Hugo Loera Chávez Senior Tech Support Engineer.
1 Chapter Overview Understanding the Windows 2000 Networking Architecture Using Microsoft Management Console.
Overview Print and Document Services Print Management console Printer properties Troubleshooting.
Windows Internet Connection Sharing Dave Eitelbach Program Manager Networking And Communications Microsoft Corporation.
Barracuda Load Balancer Server Availability and Scalability.
INSTALLING MICROSOFT EXCHANGE SERVER 2003 CLUSTERS AND FRONT-END AND BACK ‑ END SERVERS Chapter 4.
ACM 511 Chapter 2. Communication Communicating the Messages The best approach is to divide the data into smaller, more manageable pieces to send over.
1 Understanding the TCP/IP Protocol Suite Industry standard Enables enterprise networking and connectivity.
 Configuring a vSwitch Cloud Computing (ISM) [NETW1009]
1 Chapter Overview Installing the TCP/IP Protocols Configuring TCP/IP.
Module 3: Configuring Hardware on a Computer Running Windows XP Professional.
Module 9: Installing and Configuring Network Load Balancing.
Introduction to the Adapter Server Rob Mace June, 2008.
Mobile Broadband Driver Development for Windows 7
Lesson 5—Networking BASICS1 Networking BASICS Protocols and Network Software Unit 2 Lesson 5.
1 Week #10Business Continuity Backing Up Data Configuring Shadow Copies Providing Server and Service Availability.
11 WORKING WITH PRINTERS Chapter 10. Chapter 10: WORKING WITH PRINTERS2 TERMINOLOGY PrinterLogical object Print DevicePhysical object Printer DriversSoftware.
Virtual Machine Queue Driver Development Sambhrama Mundkur Sr. Software Design Engineer Core Networking
Module 1: Configuring Routing by Using Routing and Remote Access.
1 © 2003, Cisco Systems, Inc. All rights reserved. CCNA 3 v3.0 Module 9 Virtual Trunking Protocol.
11 WORKING WITH PRINTERS Chapter 10. Chapter 10: WORKING WITH PRINTERS2 THE WINDOWS SERVER 2003 PRINTER MODEL  Locally attached printers Printers that.
70-293: MCSE Guide to Planning a Microsoft Windows Server 2003 Network, Enhanced Chapter 12: Planning and Implementing Server Availability and Scalability.
Installing a Network Printer. Network printers work much like any other printer except the data flow is through a network. This means the printer must.
Page 1 Printing & Terminal Services Lecture 8 Hassan Shuja 11/16/2004.
1 Microsoft Windows 2000 Network Infrastructure Administration Chapter 4 Monitoring Network Activity.
© 2002 Global Knowledge Network, Inc. All rights reserved. Windows Server 2003 MCSA and MCSE Upgrade Clustering Servers.
NDIS Intermediate Drivers Larry Cleeton Program Manager Windows Networking And Communications Microsoft Corporation.
1 Terminology. 2 Requirements for Network Printing Print server Sufficient RAM to process documents Sufficient disk space on the print server.
1 © Copyright N Ganesan CHAPTER Exploring the Installed Network Properties.
Basics of JDBC Session 14.
1. At least two computers 2. Network adapters for each computer. The cost should be approximately $ If you have a 10Base-T adapters, and only.
Computer Network Architecture Lecture 3: Network Connectivity Devices.
Chapter TCP/IP in the Windows Environment © N. Ganesan, Ph.D., All rights reserved.
Network Load Balancing Addressing
ArcGIS for Server Security: Advanced
70-293: MCSE Guide to Planning a Microsoft Windows Server 2003 Network, Enhanced Chapter 12: Planning and Implementing Server Availability and Scalability.
NDIS-WDM Miniport Drivers Larry Cleeton Program Manager Windows Networking And Communications Microsoft Corporation.
MANAGING LOCAL AND NETWORK PRINTERS
Affinity Depending on the application and client requirements of your Network Load Balancing cluster, you can be required to select an Affinity setting.
Hands-On Microsoft Windows Server 2008
Network Load Balancing
Module 8: Concepts of a Network Load Balancing Cluster
Lab A: Installing and Configuring the Network Load Balancing Driver
Cluster Communications
Introduction to Networks
Introduction to Networks
Virtual LANs.
Unit 27: Network Operating Systems
Configuration Of A Pull Network.
Specialized Cloud Architectures
Overview of Client Configuration
Presentation transcript:

NDIS LBFO Miniports (Load Balancing And Failover) Larry Cleeton Program Manager Windows Networking And Communications Microsoft Corporation

Agenda  Overview of NDIS LBFO Miniports  How to write LBFO miniports  How to install LBFO miniports

Typical LBFO Scenario  Server machine attached to network with multiple links  More total bandwidth  Continue to work on failed NIC or cable cut

Overview  An NDIS LBFO miniport is a normal NDIS miniport driver plus:  Code to use multiple NICs together for load balancing network traffic  Code to manage a primary NIC and secondary NICs and manage a fail- over upon the failure of the primary

Overview  NDIS gives the miniport driver control over the designation of primary and secondary NICs, exposing only a single binding to protocols  Two key NDIS API calls:  NdisMSetMiniportSecondary  NdisMPromoteMiniport

Normal Binding Miniport TCP/IP Adapter 2 Adapter 1 Interface 2 Interface 1

LBFO Binding Miniport TCP/IP Adapter 2 Adapter 1 Interface 1 Second binding not established if Miniport calls NdisMSetSecondary in Adapter 2 MiniportInitialize

LBFO Data Flow (Normal) Miniport TCP/IP Adapter 2 Adapter 1 Interface 1

LBFO Data Flow (Failure) Miniport TCP/IP Adapter 2 Adapter 1 Interface 1

How To Implement LBFO  Design your LBFO strategy  Modify your miniport code  Modify your INF file

Design Your LBFO Strategy  Just failover or load balancing too?  How to run multiple ports as one load-sharing bundle? (Network issues)  Coordination with attached switch/router?

Modify Your Miniport Code  MiniportInitialize  MiniportSend/SendPackets  NdisMIndicateReceivePacket  Miniport(Query,Set)Information

MiniportInitialize  Read “BundleId” keyword using NdisReadConfiguraton  Search for other adapters that have the same BundleId value  If no match, do nothing, adapter defaults to primary  If match, set self to secondary using NdisMSetMiniportSecondary

MiniportSend/SendPackets  MiniportAdapterContext is always the primary NIC  Miniport code can redirect send to other NICs with it’s own logic  Always complete Send with original primary MiniportAdapterContext

NdisMIndicateReceivePacket  Regardless of adapter on which received, indicate with primary MiniportAdapterHandle

MiniportQuery/SetInformation  Process Query or Set OID for specific adapter referenced by MiniportAdapterContext  No change from normal behavior

MiniportHalt  Secondary Adapter  Normal halt handling  Primary Adapter  Promote secondary with NdisMPromoteMiniport

Sample  Pass-through sample in DDK implements failover  Although intermediate driver it shows the basic implementation requirements

Installing LBFO Miniports  Create net class INF for miniport  Add additional advanced property key “BundleId”  BundleId property’s existence is the trigger to the miniport to enable LBFO support and the string is the Bundle identifier  BundleId property can be optional

BundleId INF Example AddReg = example.advprop.reg [example.advprop.reg] ; BundleId for support of LBFO HKR, Ndi\params\BundleId, ParamDesc, 0, "LBFO Bundle ID" HKR, Ndi\params\BundleId, type, 0, "edit" HKR, Ndi\params\BundleId, LimitText, 0, "15" HKR, Ndi\params\BundleId, UpperCase, 0, "1" HKR, Ndi\params\BundleId, default, 0, "Bundle1" HKR, Ndi\params\BundleId, optional, 0, "1"

Demonstration

Limitations  Configuration is spread across multiple network connections  If a primary adapter is halted the new primary will have a new interface to IP with a potentially different IP configuration

Call To Action  Implement LBFO in your miniport  Simple, no config code necessary  Valuable feature without high cost  Test your LBFO scenarios with appropriate network devices

Discussion