Windows jest dość biegły w informowaniu, czy masz właściwie działające połączenie internetowe, ale jak dokładnie to robi? Wgląd w to, jak system Windows radzi sobie z problemem, oferuje wgląd w komunikaty dotyczące łączności w systemie Windows.
Dzisiejsza sesja pytań i odpowiedzi przychodzi do nas dzięki uprzejmości SuperUser - poddziału Stack Exchange, grupy dyskusyjnej poświęconej tematyce społecznościowej.
Czytnik SuperUser N. Hinkle stawia następujące pytanie dotyczące sprawdzania i uwierzytelniania systemu Windows:
W systemie Windows 7 ikona sieci obszaru powiadomień wyświetla wskaźnik błędu, jeśli nie ma dostępu do Internetu, a ikona błędu zniknie po udanym połączeniu z Internetem. Czasami, jeśli połączenie Wi-Fi wymaga kroku uwierzytelniania w przeglądarce, tak jak w wielu sieciach gości w hotelach lub na uniwersytetach, pojawia się następujący pop-up bubble, który mówi:
W jaki sposób system Windows wie, czy ma udane połączenie internetowe?
Przypuszczalnie jest to sprawdzanie niektórych usług online Microsoft, aby sprawdzić, czy ma udane połączenie, zostaje przekierowany na inną stronę lub nie otrzymuje żadnej odpowiedzi, ale nie widziałem nigdzie, że ten proces lub usługi są udokumentowane . Czy ktoś może wyjaśnić, jak to działa?
Takie kontrole są jedną z wielu rzeczy, które uważamy za oczywiste, gdy używamy nowoczesnego systemu operacyjnego, ale nawet najbardziej zajęte elementy doświadczenia użytkownika mają ukryty mechanizm. W jaki sposób system Windows informuje nas, czy istnieje połączenie internetowe i czy musimy zalogować się do portalu uwierzytelniania Wi-Fi?
Uczestnik SuperUser Tobias Plutat oferuje pewien wgląd w proces:
Po pewnym kopaniu (ogromna liczba usług sieciowych i związanych z Internetem w Windows jest zadziwiająca), myślę, że znalazłem to. Systemy Windows Vista i 7 mają wiele funkcji rozpoznawania sieci, z których jednym jest wskaźnik stanu łączności sieciowej, który wykonuje testy łączności, które z kolei są używane przez ikonę paska zadań sieci. Test na połączenie z Internetem jest prosty:
- NCSI próbuje załadować określoną stronę przez HTTP (dokładniej: dokument tekstowy) i sprawdza, czy można go pobrać.
- Jeśli to się nie powiedzie, system Windows zgłasza "Brak dostępu do Internetu".
Mechanizm sprawdza również, czy domena, w której przechowywany jest dokument, rozwiązuje oczekiwany adres IP. Tak więc, może on również założyć prawidłowy dostęp do Internetu, jeśli ten test się powiedzie, ale dokumentu nie można odzyskać.
Powód, dla którego raportuje "Brak dostępu do Internetu", gdy nie jesteś jeszcze uwierzytelniony w Hotspot, działa tak, jak działa Hotspot. Blokuje wszystkie porty oprócz 80 i 443 (odpowiednio dla HTTP i HTTPS), które są przekierowywane do serwera uwierzytelniania Hotspot i mogą w ten czy inny sposób zepsuć żądania DNS. W związku z tym NCSI nie może ani rozwiązać domeny, której hostem jest plik testowy, ani nawet, gdyby nie mógł dotrzeć do rzeczywistego pliku, ponieważ ruch HTTP jest przekierowywany do serwera uwierzytelniania.
Inny współpracownik, Jeff Atwood, podkreśla niektóre kluczowe cytaty z dokumentu odniesienia Tobiasza:
Oto szczegóły procesu określania statusu połączenia:
Poniższa lista opisuje, w jaki sposób NCSI może komunikować się z witryną sieci Web, aby określić, czy sieć ma połączenie z Internetem:
- Żądanie rozpoznawania nazw DNS
dns.msftncsi.com
- Żądanie HTTP dla
http://www.msftncsi.com/ncsi.txt
zwrot 200 OK i tekstMicrosoft NCSI
Można to wyłączyć za pomocą ustawienia rejestru. Jeśli ustawisz:
HKEY_LOCAL_MACHINE \ SYSTEM \ CurrentControlSet \ Services \ NlaSvc \ Parameters \ Internet \ EnableActiveProbing
do
0
, System Windows nie będzie już sprawdzać połączenia internetowego.Apple robi coś bardzo podobnego w iOS, aby wykryć połączenia z Internetem i możliwe strony logowania "wifi" hotelu itp.
Podczas gdy cały proces jest zwykle w 100% przezroczysty dla użytkowników końcowych, czasami po uwierzytelnieniu za pomocą portalu internetowego Wi-Fi, można się zorientować w rzeczywistej zawartości NSCSI.txt. To, jak skończyłeś przeglądać nieokreślony dokument tekstowy zamiast strony internetowej, którą próbujesz wczytać, nie jest już tajemnicą w połączeniu z poprzednimi odpowiedziami na ten temat.
Czy masz coś do dodania do wyjaśnienia? Dźwięk w komentarzach. Chcesz przeczytać więcej odpowiedzi od innych użytkowników Stack Exchange, którzy znają się na technologii? Sprawdź cały wątek dyskusji tutaj.