Jak rozwiązywać problemy z routerami – czarnymi dziurami

Tłumaczenia artykułów Tłumaczenia artykułów
Numer ID artykułu: 314825 - Zobacz jakich produktów dotyczą zawarte w tym artykule porady.
Wersja tego artykułu dla systemu Microsoft Windows 2000: 159211.

WAŻNE: Ten artykuł zawiera informacje na temat modyfikowania rejestru. Przed zmodyfikowaniem rejestru utwórz jego kopię zapasową i upewnij się, że wiesz, jak przywrócić rejestr w przypadku pojawienia się problemu. Aby uzyskać informacje dotyczące wykonywania kopii zapasowej, przywracania i edytowania rejestru, kliknij następujący numer artykułu w celu wyświetlenia tego artykułu z bazy wiedzy Microsoft Knowledge Base:
256986 Opis Rejestru systemu Microsoft Windows
Rozwiń wszystko | Zwiń wszystko

Na tej stronie

Streszczenie

W tym artykule zdefiniowano termin router – „czarna dziura”, opisano metodę lokalizowania takich routerów i zasugerowano trzy sposoby unikania utraty danych z ich powodu.

Więcej informacji

W sieci rozległej TCP/IP (WAN) mogą występować błędy komunikacji na niektórych trasach, jeśli segment sieci pośredniej ma maksymalny rozmiar pakietu, który jest mniejszy niż maksymalny rozmiar pakietu łączących się hostów – a router nie wysyła odpowiedniej odpowiedzi ICMP (Internet Control Message Protocol) sygnalizującej ten stan. Taki router jest czasem nazywany routerem – „czarną dziurą”.

Router – czarną dziurę można zlokalizować za pomocą narzędzia Ping, które jest standardowym narzędziem instalowanym z protokołem TCP/IP Microsoft Windows. Można zastosować jeden z trzech następujących sposobów naprawy lub obejścia routerów – czarnych dziur.

Gdy router otrzymuje pakiet większy od rozmiaru maksymalnej jednostki transmisji, MTU (Maximum Transmission Unit), następnego segmentu sieci komunikacyjnej, a bit „nie fragmentować” warstwy IP pakietu jest ustawiony, router powinien odesłać z powrotem do wysyłającego hosta komunikat ICMP „miejsce docelowe jest nieosiągalne”.

Jeśli router nie wysyła komunikatu, pakiet może być porzucony, powodując rozmaite błędy, które zależą od komunikującego się bez powodzenia programu. (Te błędy nie występują, jeśli program łączy się z komputerem w lokalnej podsieci). To zachowanie może wydawać się przejściowe, ale dokładniejsze badanie wskazuje, że daje się je odtwarzać, na przykład wtedy, gdy klient czyta duży plik wysłany ze zdalnego hosta.

Lokalizowanie routera – czarnej dziury

Do zlokalizowania routera – czarnej dziury można użyć narzędzia Ping, ustawiając parametry -f i -l podczas wpisywania polecenia ping.
  • Parametr -f powoduje, że narzędzie Ping wysyła pakiet echa ICMP, który ma ustawiony bit „nie fragmentować”.
  • Parametr -l ustawia rozmiar bufora (ładowność) pakietu echa ICMP. Rozmiar ten ustawia się, wpisując liczbę po parametrze -l.
Największy bufor, który można przesłać bez fragmentowania, jest równy najmniejszej jednostce MTU występującej po drodze, pomniejszonej o nagłówki IP i ICMP (innymi słowami, najmniejszej jednostce MTU minus 28). Na przykład Ethernet ma jednostkę MTU równą 1500 bajtom, więc w najlepszych warunkach narzędzie Ping może wysłać echo niefragmentowanego pakietu plus bufor ICMP wielkości 1472 bajtów (1500 minus 28). Składnia polecenia ping jest w tym przypadku następująca:
ping nazwa_komputera lub adres_IP -f -l 1472
W przypadku wszystkich lokalnych adresów IP oczekiwane wyniki są następujące:
  • Jeśli jednostka MTU każdego segmentu routowanego połączenia jest równa co najmniej 1500, pakiet został pomyślnie zwrócony.
  • Jeśli występują segmenty pośrednie, które mają mniejsze jednostki MTU, a routery zwracają odpowiedni pakiet ICMP „przeznaczenie nieosiągalne”, narzędzie Ping wyświetla komunikat „Pakiet wymaga sfragmentowania, ale jest ustawiona flaga DF”.
  • Jeśli występują segmenty pośrednie, które mają mniejsze jednostki MTU, a routery nie zwracają odpowiedniego pakietu ICMP „miejsce docelowe jest nieosiągalne”, narzędzie Ping wyświetla komunikat „Upłynął limit czasu żądania”.
Zwiększając parametr -l w kolejnych poleceniach ping, można określić, jak duże niesfragmentowane pakiety można przesłać po wybranej trasie. Najmniejsza jednostka MTU, będąca w ogólnym użyciu, to 576 bajtów, więc można bezpiecznie rozpocząć od buforu ICMP o wielkości 548, a następnie zwiększać go. Na przykład, jeśli polecenie Ping nazwa_komputera lub adres_IP -f -l 972 zwraca pakiety, a polecenie Ping nazwa_komputera lub adres_IP -f -l 973 nie zwraca pakietów, największa jednostka MTU na trasie to 1000 (972 plus 28). Domyślne jednostki MTU typowych nośników sieciowych są opisane w następującym artykule bazy wiedzy Microsoft Knowledge Base:
314496 Default MTU Size for Different Network Topology

Naprawianie lub obchodzenie routera – czarnej dziury

OSTRZEŻENIE: Nieprawidłowe korzystanie z Edytora rejestru może stać się przyczyną poważnych problemów, które spowodują, że konieczna będzie ponowna instalacja systemu operacyjnego. Firma Microsoft nie może zagwarantować, że rozwiązanie problemów spowodowanych niepoprawnym użyciem Edytora rejestru będzie możliwe. Możesz używać Edytora rejestru na własną odpowiedzialność.

Do naprawienia lub obejścia routera – czarnej dziury można zastosować jeden z trzech sposobów.

Sposób 1

Włącz wykrywanie PMTU czarnej dziury na hostach działających w systemie Windows, które będą się komunikowały przez połączenie WAN. Wykonaj następujące kroki:
  1. Uruchom Edytor rejestru (Regedit.exe).
  2. Zlokalizuj w rejestrze następujący klucz:
    HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\tcpip\parameters
  3. W menu Edycja kliknij polecenie Dodaj wartość, a następnie dodaj następującą wartość rejestru:
    Nazwa wartości: EnablePMTUBHDetect
    Typ danych REG_DWORD
    Wartość: 1
  4. Zamknij Edytor rejestru, a następnie ponownie uruchom komputer.

Sposób 2

Skonfiguruj routery pośrednie do wysyłania komunikatów kod 4, typ 3 ICMP („miejsce docelowe jest nieosiągalne, przesłany bit niefragmentowania (DF) i fragmentacja wymagana”). Może to wymagać uaktualnienia oprogramowania lub oprogramowania sprzętowego routera, ponownej konfiguracji lub wymiany routera

Sposób 3

Ustaw jednostkę MTU interfejsu hosta na największy rozmiar, który router – czarna dziura może obsłużyć, aby zagwarantować, że w połączeniu jest przesyłany największy możliwy pakiet. Pamiętaj jednak, że w lokalnym ruchu będzie wówczas stosowany mniejszy niż trzeba rozmiar pakietu używany w połączeniach routowanych.

W tym obejściu zakłada się, że została określona jednostka MTU oraz stan wszystkich łączy, których może używać host. Po określeniu największego obsługiwanego rozmiaru jednostki MTU ręcznie ustaw jednostkę MTU. Wykonaj następujące kroki:
  1. Kliknij przycisk Start, a następnie kliknij polecenie Panel sterowania.
  2. Kliknij dwukrotnie ikonę Połączenia sieciowe i internetowe, a następnie kliknij, aby otworzyć folder Połączenia sieciowe.
  3. Jeśli na liście jest wymienione co najmniej jedno połączenie sieciowe, kliknij dwukrotnie każde połączenie, a następnie kliknij kartę Obsługa otwierającego się interfejsu Stan. Połączenie, przy którym pojawia się wpis Brama domyślna jest prawdopodobnie połączeniem sieciowym używanym do łączenia się Interentem. Zanotuj nazwę połączenia (na przykład „Połączenie lokalne 2”).
  4. Uruchom Edytor rejestru (Regedit.exe).
  5. W drzewie HKEY_LOCAL_MACHINE przejdź do następującego klucza rejestru:
    SYSTEM\CurrentControlSet\Control\Network\{4D36E972-E325-11CE-BFC1-08002BE10318}\
  6. Pod tym kluczem jest jeden lub kilka kluczy z identyfikatorami numerycznymi. Każdy z tych kluczy ma podklucz Connection. Zbadaj każdy klucz, który wygląda podobnie do:
    ID_karty\Connection
    Wartość Nazwa w podkluczu Connection określa nazwę połączenia sieciowego używanego w folderze Połączenia sieciowe. Gdy znajdziesz klucz, którego nazwa odpowiada nazwie znalezionej w kroku 3, zanotuj ID_karty, w którym występuje nazwa połączenia sieciowego.
  7. Wróć do klucza HKEY_LOCAL_MACHINE, a następnie zlokalizuj następujący klucz
    SYSTEM\CurrentControlSet\Services\Tcpip\Parameters\Interfaces\ID_karty,
    gdzie ID_karty jest numerem zanotowanym w kroku 6. Gdy ten klucz jest wyróżniony, po prawej stronie ekranie pojawi się kilka wartości, w tym wartość DefaultGateway i EnableDHCP.
  8. Kliknij prawym przyciskiem myszy prawą stronę ekranu, kliknij polecenie Nowy, a następnie kliknij pozycję Wartość DWORD. Nazwij wartość MTU.
  9. Kliknij dwukrotnie wartość, aby można było ją edytować, zmień wartość Base na Decimal, a następnie wprowadź największy akceptowalny rozmiar jednostki MTU, który był określony za pomocą testów Ping.
  10. Zamknij Edytor rejestru.
Zwróć uwagę, że jeśli nadal występują problemy z tymi samymi serwerami, może być konieczne ustawienie mniejszej jednostki MTU, niż wskazywały na to testy Ping, z powodu innych routerów na drodze. Sukcesywnie zmniejszaj jednostkę MTU co 10, aż uda się uzyskać dostęp do witryn.

Aby uzyskać dodatkowe informacje dotyczące ręcznego ustawiania jednostki MTU, kliknij numer artykułu poniżej w celu wyświetlenia tego artykułu z bazy wiedzy Microsoft Knowledge Base:
314053 Parametry konfiguracji TCP/IP i NBT dla systemu Windows XP

Aby uzyskać dodatkowe informacje, zajrzyj do dokumentacji internetowej RFC 1191 i RFC 1435 dostępnej w następującej witrynie w sieci Web:
http://www.internic.net/

Właściwości

Numer ID artykułu: 314825 - Ostatnia weryfikacja: 20 stycznia 2004 - Weryfikacja: 1.0
Informacje zawarte w tym artykule dotyczą:
  • Microsoft Windows XP Home Edition
  • Microsoft Windows XP Professional Edition
Słowa kluczowe: 
kbinfo kbenv kbnetwork KB314825

Przekaż opinię

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com