Windows Server 2008

Protokoły TCP/IP i komponenty sieciowe następnej generacji Udostępnij na: Facebook

Opublikowano: 6 listopada 2007

Zawartość strony
 Wstęp   Wstęp
 Stos TCP/IP następnej generacji   Stos TCP/IP następnej generacji
 Obsługa protokołu IPv6   Obsługa protokołu IPv6
 Kontrola jakości połączeń przy pomocy zasad   Kontrola jakości połączeń przy pomocy zasad

Wstęp

Możliwość sprawnego działania przez sieci komputerowe jest niezmiernie ważna dla organizacji konkurujących na światowych rynkach. Pracownicy muszą mieć możliwość połączenia się z siecią firmową z każdego miejsca przy pomocy każdego urządzenia, na którym aktualnie pracują. Partnerzy, dostawcy i inne osoby spoza firmy nieposiadające kont w jej sieci, muszą mieć możliwość skutecznego korzystania z określonych zasobów tej sieci, przy czym kwestia zapewnienia bezpieczeństwa jest chyba ważniejsza, niż kiedykolwiek dotychczas.

W systemach Windows Server 2008 i Windows Vista wprowadzono wiele zmian oraz modyfikacji protokołów i komponentów sieciowych, do których należą:

  • stos TCP/IP następnej generacji
  • obsługa protokołu IPv6
  • kontrola jakości obsługi połączeń QoS (Quality of Service) przy pomocy zasad

 Do początku strony Do początku strony

Stos TCP/IP następnej generacji

Systemy Windows Server 2008 oraz Windows Vista wyposażono w nową implementację stosu protokołów TCP/IP, znaną jako „stos TCP/IP nowej generacji”. Stos TCP/IP nowej generacji oferuje całkowicie przeprojektowaną funkcjonalność TCP/IP, zarówno dla wersji IPv4, jak i IPv6 protokołu IP (Internet Protocol). Nowa funkcjonalność spełnia jakościowe wymagania bardzo zróżnicowanych środowisk i technologii sieciowych obecnej doby.

Pojawiły się nowe lub zostały udoskonalone następujące funkcje i możliwości:

  • automatyczne dostrajanie okna odbiorczego
  • funkcja Compound TCP
  • zwiększona przepustowość
  • wykrywanie niedostępności sąsiadów w ruchu IPv4
  • testowanie nieaktywnych bram
  • wykrywanie routerów PMTU działających jak czarne dziury
  • routing compartments
  • obsługa platformy Network Diagnostics Framework
  • obsługa statystyk ESTATS
  • obsługa platformy Windows Filtering Platform
  • funkcja Explicit Congestion Notification.

Automatyczne dostrajanie okna odbiorczego

Rozmiar okna odbiorczego TCP to porcja danych, TCP jaką odbiorca pozwala wysyłać nadawcy bez konieczności potwierdzenia ich odbioru. W celu optymalizacji tego rozmiaru zależnie od bieżących warunków panujących w łączu, stos TCP/IP nowej generacji wykorzystuje funkcję Receive Window Auto-Tuning (automatyczne dostrajanie okna odbiorczego). Funkcja ta optymalizuje rozmiar okna odbiorczego osobno dla każdego nawiązanego połączenia, mierząc iloczyn: pasmo-opóźnienie oraz współczynnik retrieval rate komunikującej się aplikacji. Wykorzystanie pasma sieci podczas transferów danych rośnie wraz ze wzrostem przepływności między komunikującymi się aplikacjami. Gdyby wszystkie aplikacje były zoptymalizowane z punktu widzenia odbioru danych przesyłanych protokołem TCP, to ogólne wykorzystanie sieci mogłoby się znacznie zwiększyć.

Funkcja Compound TCP

Podczas gdy automatyczne dostrajanie okna odbiorczego optymalizuje przepustowość po stronie odbiorcy, to funkcja Compound TCP (CTCP) stosu TCP/IP następnej generacji optymalizuje przepustowość po stronie nadawcy. Współpracując, obie funkcje mogą doprowadzić do znacznie lepszego wykorzystania łącza.

Używana dla połączeń TCP o dużym oknie odbiorczym realizowanych w sieciach o dużym iloczynie pasmo-opóźnienie funkcja Compound TCP agresywnie zwiększa ilość danych wysyłanych w porcji, dbając przy tym o to, aby takie zachowanie nie wpływało negatywnie na inne połączenia TCP.

W testach wykonanych wewnętrznie w firmie Microsoft okazało się, że czas zapisu dużego pliku kopii zapasowej przez łącze o paśmie 1 Gb/s i czasie RTT (round-trip) 50 ms spadł prawie o połowę. Połączenia charakteryzujące się jeszcze większą wartością iloczynu pasmo-opóźnienie mogą wykazać zwiększone korzyści eksploatacyjne.

Zwiększona przepustowość

Stos TCP/IP następnej generacji jest zgodny z następującymi standardami RFC (Request for Comments) wprowadzonymi dla zoptymalizowania przepustowości w środowiskach o wysokich stratach:

  • RFC 2582: Modyfikacja NewReno algorytmu Fast Recovery.

    Nowy algorytm NewReno zapewnia większą przepustowość dzięki zmienionemu sposobowi, na jaki nadawca może zwiększyć tempo nadawania w sytuacji, gdy w oknie danych tracone są liczne segmenty i nadawca otrzymuje tylko częściowe potwierdzenia (potwierdzenie tylko danych pomyślnie otrzymanych).

  • RFC 2883: Poszerzenie opcji Selective Acknowledgement (SACK) dla TCP.

    Zdefiniowana w RFC 2018 opcja SACK pozwala odbiorcy potwierdzić maksymalnie 4 niesąsiadujące bloki nadesłanych danych. W zaleceniu RFC 2883 zdefiniowano dodatkowe użycie pól opcji SACK TCP dla potwierdzania ponownie otrzymanych pakietów. Pozwala to odbiorcy segmentu TCP z opcją SACK określić, kiedy niepotrzebnie wysłał ponownie jakiś segment i stosownie do tego dopasować swe przyszłe zachowanie, aby uniknąć dublowania. Im mniej niepotrzebnych ponownych transmisji, tym lepsza przepustowość sieci.

  • RFC 3517: Algorytm Loss Recovery dla TCP oparty o Conservative Selective Acknowledgment (SACK).

    Implementacja stosu TCP/IP w systemie Windows Server 2003 oraz w Windows® XP wykorzystuje informacje SACK tylko do określenia tych segmentów TCP, które nie dotarły do miejsca przeznaczenia. W zaleceniu RFC 3517 zdefiniowano metodę wykorzystywania tych informacji także do odzyskiwania utraconych pakietów w momencie, gdy pojawiło się potwierdzenie duplikatu, zastępującego algorytm szybkiego odzyskiwania wtedy, kiedy w danym połączeniu uaktywniona jest funkcja SACK. Stos TCP/IP następnej generacji przechowuje informacje SACK dla każdego połączenia z osobna i monitoruje nadchodzące potwierdzenia pakietów oraz potwierdzenia duplikatów, aby móc szybciej odtworzyć dane w sytuacji, gdy do miejsca przeznaczenia nie dotarło wiele pakietów.

  • RFC 4138: Algorytm Forward RTO-Recovery (F-RTO): wykrywanie w połącze¬niach TCP przekroczeń czasu zbędnych ponownych transmisji (Spurious Retransmission Timeouts) i protokół Stream Control Transmission (SCTP).

    Zbędne ponowne transmisje segmentów TCP mogą zdarzyć się wtedy, gdy wystąpi nagły chwilowy wzrost czasu RTT. Algorytm F-RTO zapobiega zbędnej ponownej transmisji segmentów TCP. Nawet w środowiskach, w których wystąpi nagły chwilowy wzrost RTT (np. kiedy jakiś bezprzewodowy klient przemieści się z jednego punktu dostępu do innego punktu dostępu), algorytm F-RTO zapobiegnie niepotrzebnej, ponownej transmisji segmentów i spowoduje szybszy powrót do normalnego tempa nadawania.

Wykrywanie niedostępności sąsiadów w ruchu IPv4

Neighbor Unreachability Detection to funkcja protokołu IPv6: węzły sieci ciągle sprawdzają, czy sąsiednie węzły są dostępne, przez co można szybciej wykrywać błędy i omijać je w sytuacji, gdy któryś z węzłów nagle stanie się niedostępny. Stos TCP/IP następnej generacji wspiera tę funkcję także dla ruchu IPv4 poprzez śledzenie stanu sąsiadów IPv4 i zapamiętywanie go w pamięci podręcznej routingu IPv4. Funkcja weryfikuje, czy sąsiedni węzeł jest dostępny, wymieniając z nim komunikaty ARP (Address Resolution Protocol) Request i ARP Reply albo posiłkuje się w tym celu protokołami wyższych warstw, np. TCP.

Testowanie nieaktywnych bram

W stos TCP/IP systemów Windows Server 2003 i Windows XP wbudowano funkcję wykrywania i omijania nieaktywnych bram (fail-over), ale nie posiadają one właściwości fail-back, tj. funkcji okresowego weryfikowania, czy nieaktywna brama nie zaczęła ponownie działać. Stos TCP/IP następnej generacji oferuje taką kontrolę: okresowo podejmuje próby wysłania pakietów TCP przez bramę, która została uprzednio zakwalifikowana, jako niedostępna. Jeśli któraś z takich prób zakończy się pomyślnie, stos z powrotem przełączy ruch TCP na tę bramę, jako bramę standardową. Funkcja fail-back może zaowocować większą przepustowością, jeśli ruch wróci do podstawowej bramy w danej podsieci.

Wykrywanie routerów PMTU działających jak czarne dziury

Wykrywanie jednostek PMTU (Path Maximum Transmission Unit) według definicji w dokumencie RFC 1191 polega na odbiorze komunikatów Destination Unreachable-Fragmentation Needed oraz Don’t Fragment (DF) Set protokołu ICMP (Internet Control Message Protocol) z routerów zawierających MTU następnego ogniwa. Jednakże w niektórych przypadkach routery pośredniczące ignorują te pakiety, które nie mogą być fragmentowane. Takie routery są znane, jako czarne dziury. Ponadto routery pośredniczące mogą gubić komunikaty ICMP ze względu na reguły skonfigurowane na zaporach firewall. W wyniku ignorowania dużych segmentów oraz gubienia komunikatów ICMP połączenia TCP mogą być przerywane wskutek przekroczenia czasu.

Funkcja wykrywania routerów PMTU, działających jak czarne dziury, wskazuje ponowne transmisje dużych segmentów TCP i automatycznie dopasowuje PMTU danego połączenia zamiast polegać na odbiorze komunikatów Destination Unreachable-Fragmentation Needed oraz Don’t Fragment (DF) Set protokołu ICMP.Stos TCP/IP w systemach Windows Server 2003 i Windows XP miał standardowo wyłączoną tę funkcję, ponieważ zwiększała ona maksymalną liczbę retransmisji wykonywanych w danym segmencie sieci. Natomiast w stosie następnej generacji jest ona standardowo włączona, aby zapobiec przedwczesnemu zrywaniu połączeń TCP.

Routing compartments

Aby zapobiec niepożądanemu przekazywaniu ruchu pomiędzy interfejsami wirtualnych sieci prywatnych (VPN), stos TCP/IP następnej generacji obsługuje separację tablicy routingu (routing compartments). Podział tablicy routingu to połączenie zestawu interfejsów VPN z sesją logowania, która operuje swymi własnymi tabelami routingu IP. Ten sam komputer może mieć wiele wzajemnie izolowanych prodziałów tablicy routingu, jednak każdy interfejs może należeć tylko do jednego przedziału.

Gdy użytkownik systemu Windows XP zainicjuje połączenie VPN przez Internet z jakąś siecią prywatną, jego komputer będzie łączył się zarówno z Internetem, jak i z intranetem, manipulując pozycjami w tabeli routingu IPv4. W niektórych sytuacjach może zaistnieć możliwość przekazywania ruchu z Internetu przez zestawiony kanał VPN do prywatnego intranetu. Natomiast w przypadku klientów VPN obsługujących podział tablicy routingu, stos TCP/IP następnej generacji odizoluje łączność z Internetem od łączności z prywatnym intranetem stosując osobne tabele routingu IP.

Platforma Network Diagnostics Framework

Network Diagnostics Framework to bogata platforma, mająca za zadanie wspierać użytkowników w diagnozowaniu problemów sieciowych i przywracaniu działania sieci.

W przypadku diagnozowania problemów w połączeniach TCP/IP platforma zadaje użytkownikowi serię pytań eliminujących poszczególne możliwe przyczyny, aż przyczyna problemu zostanie zdiagnozowana albo wszystkie możliwości zostaną wyczerpane.

Platforma Network Diagnostics Framework może diagnozować następujące kwestie, odnoszące się do komunikacji TCP/IP:

  • niepoprawny adres IP
  • niedostępna standardowa brama (router)
  • niepoprawna standardowa brama
  • niepowodzenie przy określaniu nazwy NetBIOS over TCP/IP (NetBT)
  • niepoprawne ustawienia DNS
  • zajęty port lokalny
  • nie pracuje klient DHCP
  • brak odległego odbiorcy
  • odłączone media
  • zablokowany port lokalny
  • za mało wolnej pamięci.

Statystyki ESTATS

Stos TCP/IP następnej generacji obsługuje przedłożoną przez Internet Engineering Task Force propozycję "TCP Extended Statistics MIB", w której zdefiniowano poszerzone dane statystyczne obrazujące pracę TCP. Analizując statystyki ESTATS, dotyczące połączenia można określić, co jest wąskim gardłem w tym połączeniu: aplikacja wysyłająca, aplikacja odbierająca, czy też łącza. Zapisywanie statystyk ESTATS jest domyślnie wyłączone, funkcję można włączyć dla wykonania konkretnego połączenia. W oparciu o statystyki ESTATS niezależni dostawcy oprogramowania (ISV) mogą pisać silne narzędzia do diagnostyki i analizy przepustowości sieci.

Platforma WFP

Windows Filtering Platform (WFP) to nowa platforma stosu TCP/IP następnej generacji udostępniająca niezależnym dostawcom oprogramowania (ISV) interfejsy programistyczne API tak, że mogą oni uczestniczyć w podejmowaniu decyzji dotyczących filtrowania pakietów na kilku poziomach stosu protokołów TCP/IP oraz w kilku miejscach systemu operacyjnego. W platformie zintegrowano obsługę takich cech zapór firewall następnej generacji jak łączność uwierzytelniana czy dynamiczne konfigurowanie zapór uzależnione od wykorzystania przez aplikacje interfejsu Windows Sockets API (zasady uzależnione od konkretnych aplikacji). Używając platformy, dostawcy oprogramowania mogą tworzyć zapory, oprogramowanie antywirusowe, diagnostyczne, inne aplikacje i usługi. Zapora Windows Firewall oraz protokół IPsec w systemach Windows Server 2008 i Windows Vista korzystają z WFP API.

Funkcja Explicit Congestion Notification

Gdy okaże się, że jakiś segment TCP został utracony, protokół TCP przyjmuje, że został on utracony wskutek tłoku na routerze i przystępuje do kontroli zatłoczenia, w wyniku, czego tempo nadawania danych może radykalnie spaść. Jeśli w obu komunikujących się aplikacjach TCP i w routerach uaktywni się funkcja ECN (Explicit Congestion Notification), zatłoczone routery będą stosownie oznaczać pakiety przed przekazaniem ich dalej. Aplikacja TCP, otrzymująca tak oznakowane pakiety żąda obniżenia tempa transmisji po to, aby rozładować tłok i zapobiec utracie segmentów. Możliwość wykrycia natłoku, zanim zdarzy się utrata pakietu, zwiększa ogólną przepustowość pomiędzy komunikującymi się aplikacjami TCP. Funkcja ECN jest domyślnie wyłączona.

 Do początku strony Do początku strony

Obsługa protokołu IPv6

Razem ze stosem TCP/IP następnej generacji wprowadzono następujące modyfikacje protokołu IPv6:

  • standardowo włączona obsługa protokołu IPv6
  • podwójny stos IP
  • konfigurowanie w interfejsie graficznym
  • modernizacja adresacji Teredo
  • zintegrowana obsługa protokołu IPsec
  • protokół Multicast Listener Discovery, v 2
  • Link-Local Multicast Name Resolution
  • IPv6 przez PPP
  • losowe identyfikatory kart sieciowych
  • obsługa DHCPv6.

Standardowo włączona obsługa protokołu IPv6

W systemach Windows Server 2008 i Windows Vista obsługa protokołu IPv6 jest domyślnie włączona. Ustawienia konfiguruje się właściwościami protokołu Internet Protocol version 6 (TCP/IPv6) oraz poleceniami netsh. Protokołu IPv6 nie można w systemach Windows Server 2008 i Windows Vista odinstalować, można go jedynie wyłączyć.

Podwójny stos IP

Stos TCP/IP następnej generacji obsługuje architekturę z dwoma warstwami IP, w której implementacja IPv4 dzieli z implementacją IPv6 wspólną warstwę transportową (obejmującą TCP i UDP) oraz warstwę ramek. Obie implementacje IPv4 i IPv6 są w stosie TCP/IP następnej generacji standardowo włączone i nie trzeba instalować żadnego osobnego komponentu, aby uzyskać dostęp do obsługi IPv6.

Konfigurowanie w interfejsie graficznym

Systemy Windows Server 2008 i Windows Vista pozwalają ręcznie skonfigurować ustawienia IPv6 w zestawie okienek dialogowych folderu Network Connections podobnie, jak konfiguruje się ustawienia IPv4.

Modernizacja adresacji Teredo

Technika Teredo umożliwia pracę poprzez translatory adresów sieciowych (NAT) aplikacjom IPv6, wymagającym dopuszczenia nie zamawianego ruchu wchodzącego i globalnego adresowania, np. aplikacjom klasy peer-to-peer. Gdyby takie aplikacje posługiwały się protokołem IPv4, wymagałyby ręcznego skonfigurowania translatora NAT bądź nawet w ogóle nie mogłyby pracować bez modyfikacji protokołu sieciowego.

Obecnie technika Teredo ma zastosowanie w przypadku, kiedy klient Teredo znajduje się za translatorem adresów sieciowych NAT lub większą ich liczbą. NAT mapuje w ruchu wychodzącym ten sam wewnętrzny (prywatny) adres sieciowy i numer portu na różne zewnętrzne (publiczne) adresy oraz porty, zależnie od zewnętrznego adresu docelowego. Takie nowe zachowanie pozwala Teredo połączyć przez Internet większą grupę hostów.

W systemie Windows Vista komponent Teredo jest standardowo nieaktywny. Aby go uaktywnić, użytkownik musi zainstalować aplikację wymagającą tej techniki albo zmienić ustawienia zapory firewall tak, aby zezwolić aplikacjom na korzystanie z Teredo.

Zintegrowana obsługa protokołu IPsec

W systemach Windows Server 2008 i Windows Vista w aspekcie IPsec ruch IPv6 jest obsługiwany tak samo, jak ruch IPv4, łącznie z obsługą Internet Key Exchange (IKE) i szyfrowaniem danych. Zapora Windows Firewall z Advanced Security oraz IP Security Policies obsługuje teraz konfigurowanie zasad IPsec dla ruchu IPv6 podobnie, jak dla ruchu IPv4. Na przykład, konfigurując IP Security Policies filtrację IP, na liście filtrów IP można specyfikować określone adresy źródłowe lub docelowe adresami IPv6 i ich prefiksami.

Protokół Multicast Listener Discovery, wersja 2

Protokół Multicast Listener Discovery, , v2 (MLDv2)wyspecyfikowany w RFC 3810, obsługuje ruch grupowy (wieloemisyjny) zależnie od nadawcy. Protokół MLDv2 jest ekwiwalentem Internet Group Management Protocol, v3 (IGMPv3) dla IPv4.

Technika Link-Local Multicast Name Resolution (LLMNR) pozwala hostom IPv6 i IPv4 pracującym w tej samej podsieci, określić wzajemnie swe nazwy bez pomocy serwera DNS. Ta możliwość jest użyteczna w sieciach domowych i zestawianych ad hoc sieciach bezprzewodowych.

IPv6 przez PPP

Wbudowany klient zdalnego dostępu obecnie obsługuje zdefiniowany w RFC 2472 protokół IPV6CP (IPv6 Control Protocol), służący do konfigurowania węzłów IPv6 w łączach PPP (Point-to-Point Protocol). Natywny ruch IPv6 może być, więc teraz przesyłany połączeniami PPP. Obsługa IPV6CP pozwala na przykład połączyć się z dostawcą Internetu operującym adresacją IPv6 przez łącze wdzwaniane lub przez łącze PPPoE (PPP over Ethernet), które można wykorzystać do szerokopasmowego dostępu do Internetu

Losowe identyfikatory kart sieciowych

Aby zapobiec skanowaniu adresów IPv6 w oparciu o identyfikatory opublikowane przez producentów kart sieciowych, systemy Windows Server 2008 i Windows Vista domyślnie generują losowe identyfikatory interfejsów sieciowych w przypadku samo-konfigurujących się na stałe adresów IPv6, włączając w to adresy publiczne i link-local.

Obsługa DHCPv6

W systemy Windows Server 2008 i Windows Vista wbudowano klienta DHCP (Dynamic Host Configuration Protocol) z możliwościami DHCPv6, który może auto-konfigurować adresy we współpracy z serwerem DHCPv6.

 Do początku strony Do początku strony

Kontrola jakości połączeń przy pomocy zasad

Funkcjonalność QoS (kontrola jakości połączeń) była w systemach Windows Server 2003 i Windows XP udostępniana aplikacjom poprzez interfejsy API Generic QoS (GQoS), przez które to aplikacje mogły korzystać z funkcji ustalających priorytety dostarczania pakietów. W systemach Windows Server 2008 i Windows Vista pojawiły się nowe możliwości zarządzania ruchem w sieciach korporacyjnych i domowych.

Jakość połączeń w sieciach korporacyjnych

Zasady dotyczące jakości obsługi sieciowej w systemach Windows Server 2008 i Windows Vista pozwalają administratorom ustalać priorytety oraz zarządzać tempem nadawania ruchu wychodzącego z sieci. Zasady te mogą być uzależnione od nazw konkretnych aplikacji generujących ruch sieciowy, określonych adresów IPv4 lub IPv6 aplikacji źródłowej albo docelowej bądź portów TCP lub UDP używanych przez aplikację źródłową albo docelową.

Zasady te ustawia się w ramach zasad grupowych użytkownika lub komputera za pomocą edytora Group Policy Object Editor, po czym łączy z odpowiednimi kontenerami usług katalogowych Active Directory® (domeny, miejsca, jednostki organizacyjne) za pomocą konsoli Group Policy Management Console.

Zarządzając wykorzystaniem pasma sieci, administrator może skonfigurować zasady QoS, limitujące tempo nadawania ruchu wychodzącego z sieci. Taki limit spowoduje ograniczenie zagregowanej ilości danych wychodzących z sieci do wyspecyfikowanego poziomu. Aby ustalić priorytet dostarczania, pakiety danych mogą być oznaczane odpowiednio skonfigurowaną wartością DSCP (Differentiated Services Code Point). Routery pracujące w infrastrukturze sieciowej będą segregować pakiety według ich wartości DSCP do różnych kolejek, a zatem różnicować priorytet ich dostawy. Oznaczenia DSCP i technika limitowania tempa nadawania mogą być użyte łącznie dla skuteczniejszego zarządzania ruchem. Ponieważ obie te techniki dotyczą warstwy sieci, aplikacje nie muszą być w żadnym stopniu przystosowywane.

 Do początku strony Do początku strony

Windows Server 2008