R01-5.doc

(242 KB) Pobierz
Rozdział 2

Rozdział 1.
Specyfikacja interfejsu sterownika sieciowego

Dogłębnie

Specyfikacja interfejsu sterownika sieciowego (NDIS) to dokument opracowany przez firmy Microsoft i 3Com. Interfejsy sterowników urządzeń systemu Windows, napisane według tej specyfikacji, umożliwiają pojedynczej karcie sieciowej (NIC) wiązanie wielu protokołów sieciowych za pomocą interfejsu NDIS. Biblioteka interfejsów sterowników urządzeń, znana jako obwoluta NDIS, pozwala dowolnemu typowi karty sieciowej, dla dowolnego obsługiwanego nośnika, wiązać się z dowolnym lub ze wszystkimi spośród protokołów pracy sieciowej (TCP/IP, NWLink, czy NetBEUI) zainstalowanych na komputerze. Kolejność, w jakiej dana karta sieciowa wykorzystuje owe protokoły, zwana kolejnością powiązań, może być modyfikowana, przy czym danej karcie sieciowej można przydzielić więcej niż jeden numer IP.

Przed pojawieniem się specyfikacji NDIS kwestie zgodności pomiędzy różnymi implementacjami pracy sieciowej przysparzały problemów związanych z wykonywaniem niektórych jej podstawowych funkcji (na przykład implementowanie dwóch protokołów na tej samej karcie sieciowej). Rozwiązaniem tradycyjnym było zastosowanie dwóch sterowników, ale w momencie kiedy jeden ze sterowników przejmował kontrolę nad płytą, wykazywał on tendencję do przerywania lub zakłócania pracy drugiego. Potrzebny był pojedynczy sterownik, który mógłby sterować kartą i który te dwa protokoły mogłyby współużytkować. By wyjść naprzeciw owej potrzebie, w maju 1988 wydano dokument NDIS.

Interfejs NDIS

W skład interfejsu NDIS wchodzi menedżer protokołów, który przyjmuje żądania ze strony sterownika sieciowego (w warstwie transportu) i przekazuje te żądania do karty sieciowej (w warstwie łącza danych). W ten sposób może ze sobą współistnieć wiele sterowników sieciowych zgodnych z NDIS. Poza tym, jeżeli dany komputer posiada wiele podłączeń i zawiera wiele kart sieciowych, interfejs NDIS może wyznaczać trasę ruchu do prawidłowej karty.

NDIS umożliwia dostęp do usług sieciowych w warstwie łącza danych. Programiści, którzy muszą stosować swoje własne implementacje protokołu sieciowego, mogą programować zgodnie z tą specyfikacją i wykorzystywać zgodne z NDIS sterowniki sprzętu sieciowego dostarczane przez różnych producentów. Uwalnia to programistę protokołów od konieczności pisania osobnych programów dla każdego typu kart sieciowych. Rozwiązuje to również problemy zgodności w przypadku komputerów korzystających z wielu protokołów. Wszystkie składniki oprogramowania sieciowego, które są zgodne z wytycznymi NDIS, to sterowniki. Sterowniki te można sklasyfikować w dwóch typach:

·         sterowniki protokołów,

·         sterowniki kontroli dostępu do nośnika (MAC).

Rysunek 1.1 przedstawia koncepcję architektoniczną interfejsu i obwoluty NDIS.

 

NetBEUI              NWLink              TCP/IP

 

                                                                                     Powiązania

 

 

Obwoluta NDIS                  NDIS

                           

                             Sterownik karty sieciowej                            Sterownik karty sieciowej

 

                            Karta sieciowa                                Karta sieciowa

 

Rysunek 1.1. Architektura NDIS

Edycje specyfikacji NDIS

Edycje specyfikacji NDIS były raczej budowane na poprzednich specyfikacjach, niż je zastępowały; NDIS4 oraz NDIS4.1 zawierają wszystkie funkcje NDIS3.1, jak również własne funkcje dodatkowe, z kolei NDIS5 rozszerza NDIS4. W związku z tym, aby uzyskać pełną specyfikację dla NDIS5, należy przyjrzeć się również NDIS3.1, NDIS4 oraz NDIS4.1.

NDIS3.1

NDIS3.1 zapewnia obsługę podstawowych usług, które umożliwiają modułowi protokołu wysyłanie pakietów poprzez urządzenie sieciowe i dają możliwość zawiadamiania tego modułu o przychodzących pakietach otrzymywanych przez

... poprzez ...

urządzenie sieciowe.

NDIS4

NDIS4 dodaje kilka nowych funkcji do NDIS3.1. Funkcje te wymienione są poniżej.

Obsługa danych pozapasmowych

W sygnalizacji pozapasmowej wraz z sygnałem informacyjnym przesyłany jest dodatkowy sygnał, służący do monitorowania i kontroli transmisji. Korzysta on z oddzielnego kanału sieci lokalnej (LAN) i pozwala urządzeniom zarządzania siecią na dostęp do urządzeń LAN nawet kiedy sam LAN nie funkcjonuje, co zapewnia dodatkową warstwę elestyczności

... daje dodatkowy stopień elastyczności ...

. Obsługa sygnalizacji pozapasmowej jest konieczna w przypadku komputera osobistego emisji

... komputera przeznaczonego wyłącznie do obsługi emisji ...

.

Wskazówka: Komputer osobisty emisji

... komputer emisji ...

(Broadcast PC) pozwala komputerowi

... komputerowi użytkownika ...

importować i przetwarzać strumienie multimedialne pochodzące z całej gamy źródeł, łącznie z kablem, systemem bezpośredniej transmisji satelitarnej (DBS) oraz cyfrowym dyskiem wideo (DVD). Urządzenia, które obsługują komputer osobisty emisji

... komputer emisji ...

powinny być zgodne z wymogami wizji i emisji Microsoft PC 99, które są dostępne pod adresem www.microsoft.com.

Rozszerzenie nośników bezprzewodowych sieci rozległej

Nośniki bezprzewodowe mogą korzystać z transmisji w podczerwieni lub transmisji ultradźwiękowej. Jednakże w przypadku sieci rozległych, jako metodę komunikacji stosuje się bezprzewodową transmisję mikrofalową o bardzo wysokiej częstotliwości. Jest ona zazwyczaj wykorzystywana przy komunikacji satelitarnej.

Szybkie wysyłanie i odbieranie pakietów

Możliwość wysyłania danych poprzez szybkie nośniki, takie jak tryb transferu asynchronicznego (ATM), zapewnia istotny wzrost wydajności.

Szybkie rozszerzenie nośników IrDA

Stowarzyszenie ds. przesyłania danych przy użyciu podczerwieni (IrDA) to grupa producentów urządzeń, publikująca standardy transmisji danych za pomocą fal podczerwonych. Bezprzewodową transmisję IrDA można, przykładowo, implementować pomiędzy komputerem typu laptop a drukarką w tym samym pomieszczeniu, o ile pomiędzy urządzeniami występuje wyraźna linia widzenia.

Wykrywanie nośników

Wykrywanie nośników pozwala karcie sieciowej (NIC) informować stos protokołu o zdarzeniach przyłączenia i odłączenia nośników. Protokół TCP/IP systemu Windows 2000 wykorzystuje te informacje do wspomagania automatycznej konfiguracji. Kiedy w przypadku poprzednich implementacji Windows zdarzyło się, że dany komputer został przeniesiony do innej podsieci bez przeładowania, albo też został w ogóle zdjęty z sieci, to stos protokołu nie otrzymywał żadnych wskazań dotyczących tego zdarzenia. W związku z tym parametry konfiguracji stawały się nieaktualne, czy też przedawnione. Obsługa wykrywania nośników pozwala stosowi protokołu reagować na zdarzenia i unieważniać przedawnione parametry. Jeżeli komputer działający w systemie Windows 2000 zostanie wyłączony z sieci, to TCP/IP unieważni związane z nim parametry po upływie okresu wygaśnięcia (obecnie 20 sekund).

Filtr wszystkich pakietów lokalnych

Filtr wszystkich pakietów lokalnych zapobiega monopolizowaniu procesora (CPU) przez Monitor sieci. Monitor sieci jest omówiony szczegółowo w rozdziale 2.

Wskazówka: NDIS komunikuje się ze sprzętem sieciowym za pomocą sterowników miniportu. Sprzęt zyskuje dostęp do interfejsu NDIS poprzez przeprowadzenie wywołania funkcji sterownika miniportu; przy użyciu tej samej metody odbiera i transmituje informacje. Szczegóły dotyczące sterowników miniportu oraz wywołań funkcji znajdują się w zestawie do rozbudowy sterowników systemu Windows 2000 (DDK), który został omówiony w dalszej części niniejszego rozdziału.

NDIS4.1

NDIS4.1 (znany również jako CoNDIS) umożliwia dostęp surowy do nośników

Czyli jaki?

zorientowanych połączeniowo. Został on zaprojektowany, aby ułatwić opracowywanie i testowanie sterowników miniportu ATM.

NDIS5

NDIS5 znacząco rozszerza zestaw dostępnych funkcji. Ponieważ zestaw możliwości NDIS5 jest tematem głównym niniejszego rozdziału, jest on szczegółowo omówiony w następnym podrozdziale. W związku z tym tutaj nowe funkcje są jedynie wypunktowane w celu późniejszego omówienia:

·         zarządzanie zasilaniem,

·         obsługa Plug and Play (PnP),

·         obsługa instrumentacji zarządzania systemu Windows (WMI),

·         obsługa formatu informacji dotyczących pojedynczego urządzenia (INF),

·         miniport zdeserializowany,

·         mechanizmy rozładowywania zadań,

·         rozszerzenie nośnika emisji,

·         NDIS zorientowany połączeniowo,

·         obsługa jakości usługi (QoS),

·         obsługa sterownika pośredniego.

Zestaw możliwości NDIS5

NDIS5 dodaje do NDIS3.1, NDIS4 oraz NDIS4.1 istotną liczbę nowych funkcji. Microsoft określa zadania tych nowych funkcji w następujący sposób:

·         zwiększenie łatwości użycia i ograniczenie całkowitego kosztu eksploatacji (TCO);

·         poprawa wydajności;

·         udostępnienie nowych typów nośników, usług oraz aplikacji;

·         poprawa elastyczności architektury sterowników.

Uwaga! Większość nowych funkcji w NDIS5 dostępnych jest tylko przy zastosowaniu modelu sterownika miniportu i nie są one obsługiwane w przypadku pełnych sterowników MAC ani starszych sterowników miniportu.

Interfejs NDIS5 pozwala wielu sterownikom protokołów różnych typów tworzyć powiązania z pojedynczym sterownikiem karty sieciowej, a pojedynczemu protokołowi tworzyć powiązania z wieloma sterownikami kart sieciowych. Sterowniki zgodne z NDIS5 są dostępne dla szerokiej gamy kart sieciowych, od wielu różnych producentów. Dokument NDIS5 opisuje mechanizm zwielokrotniania, dzięki któremu udało się to osiągnąć. Powiązania można przeglądać lub zmieniać z interfejsu użytkownika połączeń sieciowych systemu Windows, w sposób opisany w podrozdziale rozwiązań natychmiastowych tego rozdziału.

System Windows 2000 TCP/IP zapewnia obsługę następujących nośników:

·         Ethernet,

·         protokół dostępu do podsieci (SNAP) 802.3,

·         Fiber Distributed Data Interface (FDDI),

·         Token Ring (802.5),

·         ATM,

·         ARCNET,

·         nośniki sieci rozległej (WAN) przełączanego obwodu wirtualnego, takie jak cyfrowa sieć z integracją usług (ISDN), X.25, łącza dostępu telefonicznego lub wydzielone łącza asynchroniczne (zauważ, że niektóre karty ATM obsługują emulację LAN i ukazują się stosowi protokołu jako typ nośnika, jak, na przykład, Ethernet).

Wskazówka: Emulacja LAN zapewnia przezroczystą obsługę starych protokołów, jak również mechanizmy wydajniejszego tłumaczenia określonych adresów starych protokołów, na przykład adresów IP, na ich własne formaty adresów.

Zarządzanie zasilaniem

Zarządzanie zasilaniem wymaga zintegrowanego, ogólnosystemowego podejścia do wykorzystania i oszczędzania energii. Systemy komputerowe, które zapewniają sprzętową i programową obsługę zarządzania zasilaniem posiadają następujące zalety:

·         Minimalne opóźnienia przy uruchamianiu i zamykaniu — system może być uśpiony w stanie niskiego zasilania, z którego może wznowić pracę bez całkowitego przeładowania.

·         Większa ogólna wydajność energetyczna i wydłużony czas pracy akumulatora — zasilanie jest dostarczane do urządzeń tylko wtedy, gdy te dostarczają usług użytkownikowi. Jeżeli dane urządzenie nie jest używane, może ono być wyłączane i włączane na żądanie.

·         Cichsza praca — sprzęt i oprogramowanie mogą zarządzać obciążeniem prądem elektrycznym oraz obciążeniem termicznym, w rezultacie czego komputery są prawie niesłyszalne w trybie uśpienia.

Zarządzanie zasilaniem działa na dwóch poziomach, z których jeden odnosi się do indywidualnych urządzeń, natomiast drugi do systemu jako całości. Jeżeli wszystkie sterowniki w systemie obsługują zarządzanie zasilaniem, to menedżer zasilania (część jądra systemu operacyjnego [OS]) może zarządzać zużyciem energii na zasadzie ogólnosystemowej, wykorzystując nie tylko stany pełnego włączenia i pełnego wyłączenia, lecz także różne pośrednie stany uśpienia systemu. Stare sterowniki, napisane zanim system operacyjny zaczął obsługiwać zarządzanie zasilaniem, dalej pracują tak jak wcześniej. Jednakże systemy, które posiadają stare sterowniki, nie mogą wchodzić w żaden z pośrednich stanów uśpienia i pracują tylko w stanach pełnego włączenia lub pełnego wyłączenia.

Zarządzanie zasilaniem urządzeń odnosi się do pojedynczych urządzeń. Sterownik, który obsługuje zarządzanie zasilaniem może włączać i wyłączać swoje urządzenie według potrzeb. Urządzenia, które posiadają odpowiednie możliwości sprzętowe, mogą wchodzić w stan pośredniego zasilania. Obecność starych sterowników nie wpływa na zdolność nowszych sterowników do zarządzania zasilaniem swoich urządzeń.

Zarządzanie zasilaniem NDIS jest wymagane do sieciowego zarządzania energią oraz do uaktywniania sieciowego. Implementacja NDIS5 oparta jest na specyfikacji wzorcowej zarządzania zasilaniem dla kategorii urządzeń sieciowych, która określa zachowanie urządzeń sieciowych w odniesieniu do zarządzania zasilaniem, a w szczególności w odniesieniu do wzorcowej specyfikacji zarządzania zasilaniem dla kategorii urządzeń sieciowych, zdefiniowanej dla inicjatywy architektury OnNow. Celem owej inicjatywy jest wyeliminowanie opóźnień przy uruchamianiu i zamykaniu, ograniczenie zużycia energii poprzez wyłączanie bezczynnych urządzeń oraz pozwalanie komputerowi, by „spał” kiedy jest bezczynny, a na żądanie szybko się „budził”.

Specyfikacja OnNow określa cztery stany zasilania urządzeń, przedstawione w tabeli 1.1.

Wskazówka: Specyfikacja wzorcowa zarządzania zasilaniem dla kategorii urządzeń sieciowych dostępna jest pod adresem www.microsoft.com/hwdev/onnow/.

Tabela 1.1. Stany zasilania urządzeń określone przez OnNow

Stan

Opis

Stan zasilania D3

Możliwe, że urządzenie zostało w pełni pozbawione zasilania. Kiedy urządzenie znajduje się w tym stanie, jego kontekst zostaje zapisany przez sprzęt. Podczas przechodzenia ze stanu zasilania D3 w stan zasilania D0 każdy ze sterowników związanych z tym urządzeniem musi ponownie zainicjować lub przywrócić urządzenie do w pełni włączonego trybu pracy. W stanie zasilania D3 całkowity czas przywrócenia urządzenia jest najdłuższy, ponieważ może być konieczna ponowna całkowita inicjalizacja urządzenia.

Stan zasilania D2

Zużycie energii jest równe lub większe niż w stanie D3. Wykorzystanie energii jest ograniczone do minimalnego poziomu, na którym przywrócenie stanu urządzenia jest wciąż możliwe. Kontekst urządzenia może być zachowywany lub może ulegać utracie w zależności od definicji dla poszczególnych kategorii. Funkcja sterownika urządzenia w tym stanie jest również zgodna z definicjami dla poszczególnych kategorii. Czas wymagany do przywrócenia urządzenia ze stanu D2 do stanu D0 jest równy lub dłuższy, niż czas wznowienia ze stanu D1. Faktyczne czasy reakcji są zgodne z definicjami dla poszczególnych kategorii.

Stan zasilania D1

Zużycie energii jest równe lub większe niż w stanie D2, ale mniejsze niż w stanie D0. Kontekst urządzenia może być zachowywany lub może ulegać utracie w zależności od definicji dla poszczególnych kategorii. Czas wymagany do przywrócenia urządzenia ze stanu D1 do stanu D0 jest krótszy, niż czas wznowienia ze stanu D2 (o ile to tylko możliwe). W tym stanie minimalizacja opóźnienia w przywracaniu urządzenia jest priorytetem wyższym, niż zużycie energii. Faktyczne czasy reakcji są zgodne z definicjami dla poszczególnych kategorii.

Stan zasilania D0

Jest to stan przyjęty jako stan najwyższego poziomu zużycia energii. Urządzenie jest całkowicie aktywne i reagujące. Sterownik działa normalnie.

NDIS ustala, że karty sieciowe mogą obniżać zasilanie kiedy albo użytkownik, albo system zażąda zmiany poziomu zasilania. Na przykład system może zażądać zmiany poziomu zasilania w związku z brakiem aktywności klawiatury lub myszy albo też użytkownik może zechcieć wprowadzić komputer w stan uśpienia. Odłączenie kabla sieciowego również może inicjować żądanie wyłączenia pod warunkiem, że karta sieciowa obsługuje tę funkcję. W tym przypadku, jako że odłączenie może być wynikiem tymczasowych zmian w okablowaniu sieci, a nie odłączenia kabla od samego urządzenia sieciowego, system czeka przez dający się skonfigurować okres czasu, zanim wyłączy kartę sieciową.

Zasady zarządzania zasilaniem NDIS opierają się na braku aktywności sieci. Oznacza to, że wszystkie stosowne składniki sieci muszą wyrazić zgodę na żądanie, zanim można będzie wyłączyć daną kartę. Jeżeli w obrębie sieci są jakieś aktywne sesje lub otwarte pliki, to żądanie wyłączenia może zostać odrzucone przez którykolwiek lub wszystkie zaangażowane składniki,

Komputer może również zostać wzbudzony ze stanu niższego zasilania. Sygnał do uaktywnienia może być spowodowany:

·         wykryciem zmiany w stanie łącza sieciowego ( na przykład ponownego podłączenia kabla),

·         otrzymaniem ramki uaktywnienia sieci,

·         otrzymaniem pakietu magicznego

W tekście oryginału jest odnośnik do rozdziału 1 — nie tłumaczonego.

·         .

Kiedy inicjalizowany jest sterownik miniportu, NDIS sprawdza możliwości miniportu, aby określić, czy obsługuje on pakiet magiczny, dopasowanie do wzorca czy uaktywnienie po zmianie łącza,

... aby określić: czy obsługuje on pakiet magiczny, dopasowanie do wzorca, uaktywnienie po zmianie łącza; ...

jak również po to, aby określić najniższy konieczny stan zasilania w przypadku każdej z metod uaktywniania. Następnie protokoły sieciowe sprawdzają możliwości miniportu. Protokół konfiguruje zasady uaktywniania w momencie uruchamiania, wykorzystując identyfikatory obiektów (OID-ów

... OID ...

), takie jak Włącz uaktywnianie, Ustaw wzorzec pakietu, Usuń wzorzec pakietu.

Wskazówka: Szczegóły dotyczące OID-ów są dostępne w zestawie Windows 2000 DDK, który został omówiony w dalszej części niniejszego rozdziału.

Protokół TCP/IP systemu Windows 2000 rejestruje następujące wzorce pakietów przy inicjalizacji miniportu:

·         skierowany pakiet IP,

·         emisja ARP dla adresu IP stacji,

·         emisja NetBIOS przez TCP/IP dla przypisanej nazwy komputera danej stacji.

Zarządzanie zasilaniem oraz Plug and Play (PnP) to główne funkcje Windows 2000 z punktu widzenia programisty sterowników. (Patrz: paragraf Plug and Play). Prawie każdy składnik systemu, który jest związany ze sterownikami, został zmodyfikowany tak, aby wchodził w interakcję z menedżerem PnP i menedżerem zasilania systemu Windows 2000. Biblioteka NDIS5 zapewnia obsługę PnP i zarządzania zasilaniem dla wszystkich sterowników sieciowych, które komunikują się z NDIS lub poprzez NDIS — łącznie z miniportami kart sieciowych, pośrednimi sterownikami NDIS oraz protokołami NDIS — tak jak to czynią dostarczane przez system sterowniki portu wideo dla miniportów wideo i sterowników monitora.

O ile to możliwe, sterowniki Windows 2000 powinny obsługiwać zarówno PnP, jak i zarządzanie zasilaniem. Pomimo iż system Windows 2000 w dalszym ciągu obsługuje stare sterowniki, obsługa sterowników dla PnP i zarządzania zasilaniem rozszerza potencjalny rynek dla urządzeń peryferyjnych.

Plug and Play

Obsługa sprzętu PnP oraz oprogramowania PnP umożliwia komputerowi rozpoznawanie i przystosowywanie się do zmian w konfiguracji sprzętowej przy niewielkiej ingerencji, lub wręcz bez ingerenc...

Zgłoś jeśli naruszono regulamin