![]() |
|
Kan bepaalde websites niet bezoeken [7-5-2004] Het probleem: je kunt een bepaalde website niet bezoeken, maar mensen met een andere verbinding kunnen wel naar die site. Andere sites kun je wel gewoon bezoeken. Het internet is opgebouwd uit een enorme hoeveelheid apparaten, niet alleen computers, maar ook switches, hubs etc. Al deze apparaten praten met elkaar door middel van de welbekende IP pakketjes. Deze apparaten zijn bovendien fysiek op tal van verschillende manieren aan elkaar verbonden, door bijvoorbeeld glasvezels, utp-kabels of, minder fysiek, door zogenaamde tunnels. Deze verbindingen stellen eisen aan de manier waarop data eroverheen getransporteerd kan worden, niet alleen of dat met behulp van licht of elektriciteit moet, maar ook zaken als de maximale grootte die een data-pakketje mag hebben. Deze maximale grootte wordt MTU oftewel Maximum Transmission Unit genoemd. Dit betekent dat ieder stukje in de fysieke verbinding tussen een computer en een andere computer een andere maximale grootte kan hebben. Je voelt hem nu waarschijnlijk al aankomen: hoe weet nou de ene computer hoe groot hij een pakketje maximaal mag maken, zodat het toch nog bij de andere computer aan komt? Dat weet ie in eerste instantie ook niet! Hij weet alleen dat op het stukje netwerk waar hij op aangesloten is de maximale grootte bijvoorbeeld 1500 (bytes) is. Als hij verbinding maakt met een andere computer zal hij dan ook in z'n IP pakketje zetten: 'de maximale grootte van de pakketjes die ik kan ontvangen is 1500'. De ontvangende computer, die bijvoorbeeld als maximale grootte 3000 heeft, weet dan: 'oh ik mag geen pakketjes sturen die groter zijn dan 1500!'. Mocht er nou, tussen die twee computers in een stukje netwerk liggen dat bijvoorbeeld IP pakketjes van maximaal 1476 groot kan transporteren, dan is er een probleem. De pakketjes van de twee computers, die net afgesproken hebben dat ze pakketjes van maximaal 1500 bytes groot zullen sturen, passen er niet doorheen! Omdat de apparatuur van het tussenliggende stukje netwerk niet de IP pakketjes kan aanpassen zodat beide computers door hebben dat de maximale grootte niet 1500, maar 1476 is, is hier iets anders op bedacht. Krijgt de apparatuur een te groot pakketje, dan zal deze de afzender hiervan een zogenaamd ICMP pakketje terug sturen, met daarin: 'hee, dit pakketje is te groot, ik kan maar maximaal 1476 bytes aan'. Deze pakketjes zijn familie van de bekendere ICMP ping pakketjes, die gebruikt worden om een host 'te pingen'. Nu verlagen beide kanten de maximale pakket grootte van 1500 naar 1476 en kan er uiteindelijk toch nog gecommuniceerd worden. Dit zou allemaal prachtig werken als iedereen die apparatuur aan of in het internet heeft hangen, zich netjes zou gedragen. Er zijn echter netwerk beheerders die alle ICMP pakketjes op hun firewall eruit filteren, ook al zijn deze pakketjes nodig voor een goede communicatie! Een voorlopige oplossing hiervoor is ervoor te zorgen dat je computer denkt dat de maximale pakket grootte niet 1500, maar 1476 is. Zodat al bij het begin van de communicatie met een andere computer wordt duidelijk gemaakt dat de pakketjes niet groter mogen zijn en er daardoor ook geen te grote pakketjes worden verstuurd welke er voor zorgen dat het tussenliggende stukje netwerk ICMP pakketjes terugstuurd die er in de firewall worden uit gefilterd. 2. Workaround 2.1 voor Windows 2.2 voor Linux ip link set <netwerk device, bijv eth0> mtu 1476 [lees andere artikelen] |
|