11Aug
Windows kan je heel goed vertellen of je een goed werkende internetverbinding hebt, maar hoe doet het dat precies? Onderzoeken hoe Windows het probleem aanpakt, biedt inzicht in Windows-connectiviteitsberichten.
De vraag van vandaag &Antwoord sessie komt naar ons met dank aan SuperUser-een onderverdeling van Stack Exchange, een community-drive groep van Q & A-websites.
De vraag
SuperUser-lezer N. Hinkle stelt de volgende vraag over de Windows-internetcontrole en -verificatieprocedure:
In Windows 7 zal het netwerkpictogram van het systeemvak een foutindicator weergeven als er geen internettoegang is en het foutpictogram verdwijntzodra er een succesvolle verbinding met internet is. Soms, als voor de WiFi-verbinding een in-browser authenticatiestap vereist is, zoals op veel gastnetwerken in hotels of universiteiten, dan verschijnt de volgende pop-upballon, met zoveel woorden:
Hoe weet Windows of het een succesvol internet heeftverbinding?
Waarschijnlijk controleert het een of andere online Microsoft-service om te zien of het een succesvolle verbinding heeft, wordt doorgestuurd naar een andere pagina, of krijgt helemaal geen reactie, maar ik heb nergens gezien dat dit proces of de gebruikte servicesgedocumenteerd. Kan iemand uitleggen hoe dit werkt?
Dergelijke controles zijn een van de vele dingen die we als vanzelfsprekend beschouwen bij het gebruik van een modern besturingssysteem, maar zelfs de meest vanzelfsprekende elementen van de gebruikerservaring hebben een onderliggend mechanisme. Hoe laat Windows ons weten of er een internetverbinding is en of we al dan niet moeten inloggen op een Wi-Fi-authenticatieportal?
Het antwoord
SuperUser-bijdrager Tobias Plutat biedt enig inzicht in het proces:
Na wat graven( het enorme aantal netwerk- en internetgerelateerde services in Windows is verbazingwekkend), denk ik dat ik het heb gevonden. Windows Vista en 7 hebben verschillende netwerkbewustheidsfuncties, waaronder de netwerkconnectiviteitsstatusindicator waarmee connectiviteitstests worden uitgevoerd die op hun beurt worden gebruikt door het pictogram van de netwerkstatus. De test voor internetconnectiviteit is eenvoudig:
- NCSI probeert een specifieke pagina via HTTP te laden( meer precies: een tekstdocument) en test of het kan worden opgehaald.
- Als dat niet lukt, meldt Windows "Geen internettoegang".
Het mechanisme controleert ook of het domein waarin het document wordt gehost, wordt omgezet naar het verwachte IP-adres. Het kan dus ook uitgaan van de juiste internettoegang als deze test succesvol is maar het document niet kan worden opgehaald.
De reden dat het rapporteert "Geen internettoegang" wanneer u nog niet bent geauthenticeerd op een Hotspot, ligt in de manier waarop een Hotspot werkt. Het blokkeert alle poorten naast 80 en 443( voor respectievelijk HTTP en HTTPS), die worden omgeleid naar de authenticatieserver van de Hotspot en op de een of andere manier in de problemen kunnen komen met DNS-verzoeken. NCSI kan dus niet het domein waarover het testbestand wordt gehost oplossen, en zelfs als het zou kunnen, zou het het daadwerkelijke bestand niet bereiken omdat HTTP-verkeer wordt omgeleid naar de authenticatieserver.
Een andere medewerker, Jeff Atwood, belicht een aantal sleutelquotes uit het document Tobias-referenties:
Hier zijn de details van het verbindingsstatusbepalingsproces:
De volgende lijst beschrijft hoe NCSI met een website kan communiceren om te bepalen of een netwerk een internetverbinding heeft:
- Een aanvraag voor DNS-naamomzetting van dns.msftncsi.com
- Een HTTP-verzoek voor http: //www.msftncsi.com/ ncsi.txt retourneert 200 OK en de tekstMicrosoft NCSI
Dit kan worden uitgeschakeld met een registerinstelling. Als u:
HKEY_LOCAL_MACHINE \ SYSTEM \ CurrentControlSet \ Services \ NlaSvc \ Parameters \ Internet \ EnableActiveProbing
op 0 instelt, zal Windows niet langer zoeken naar internetverbindingen.
Apple doet iets vergelijkbaars in iOS om internetverbindingen te detecteren en mogelijke wifi-pagina's van het hotel "in te loggen", enz.
Hoewel dit hele proces meestal 100% transparant is voor eindgebruikers, zo nu en dan na authenticatie via een Wi-Fi hotspot's webportaal, sta je te staren naar de feitelijke inhoud van NSCSI.txt. Hoe je uiteindelijk naar een onopvallend tekstdocument hebt gekeken in plaats van naar de webpagina die je probeerde te laden, is niet langer een mysterie wanneer je deze combineert met de vorige antwoorden op het onderwerp.
Heeft u iets toe te voegen aan de uitleg? Geluid uit in de opmerkingen. Wilt u meer antwoorden van andere technisch onderlegde Stack Exchange-gebruikers lezen? Bekijk de volledige discussiethread hier.