Digitální střepiny


Drobnosti, které se vám mohou hodit

Vlastní vyhledávání Googlem na stránkách cestuji.info

Google


Digitální střepiny - stránka zaměřená na drobné rady z oblasti výpočetní techniky


Nejdou otevřít některé www stránky

Pokud vám nejdou otevřít některé www stránky a vyloučili jste problémy s DNS-serverem (pokud funguje ping na problematickou stránku, není pravděpodobně problém v DNS-serveru), restartujete modem nebo wifi-router, pokud nějaký používáte. Pokud nepomůže ani to, tak na vině může být velikost jednotky MTU. O co jde?
MTU je maximální velikost paketu v bytech, kterou je možné přenést. Ve Windows je nastavena hodnota 1500 byte. Ale například ADSL dokáže přenést jenom pakety velké 1492 byte a některé další technologie ještě menší velikost paketu. Když tedy Windows odešle paket o plné velikosti 1500 byte a ten dojde na modem, tak ten ho musí rozdělit na dvě části, ty poslat samostatně. To nás stojí trochu rychlosti, protože rozdělení na dvě části, přenos dvou paketů a následné spojování částí je časově náročné. Horší ale je, že se občas stává, že některá zařízení takové rozdělené pakety nerozdělí a to má za následek, že například nejdou zobrazit některé webové stránky. Taky pokud používáme nějaký "optimalizační" software, který paketům nastaví příznak, že se nesmí rozdělovat, tak takové pakety taky nedojdou. Řešením je nastavit ve Windows optimální hodnotu velikosti MTU (Maximum Transmission Unit) na hodnotu, která naším internetovým připojením projde bez dodatečného dělení. Windows pak bude přímo odesílat pakety o velikosti, které se na cestě už nebudou muset fragmentovat. Optimální velikost paketu je co největší, ale zároveň jenom tak velká, aby se nemusel na cestě fragmentovat.

Krok 1: zjistit optimální (myšleno maximální možnou) velikost MTU.
Proveďte ping na problematickou adresu (v příkladu pingám seznam.cz, vy pingejte optimálně tu stránku, která vám dělá problemy). Ping je nutné provést s parametrem f, který znamená, že se paket nesmí na cestě dělit. Pokud tedy narazí na problematický síťový prvek, který velikost omezuje, vrátí se s chybou:

Ping k otestování maximální velikosti MTU, která projde bez fragmentace. Tady k fragmentaci došlo.

Z obrázku je vidět, že paket o velikosti 1500 byte neprošel, protože by musel být rozdělen na dvě části. Postupně zmenšujte velikost, až najdete hodnotu, která projde:

Ping k otestování maximální velikosti MTU, která projde bez fragmentace. Zde byla nalezena hraniční velikost paketu.

Zde již byla nalezena hraniční hodnota. Paket o velikosti 1453 byte ještě neprošel, ale 1452 už prošel.
Toto ale není správná hodnota, protože 1452 byte značí velikost obsahu paketu, ale nezapočítává velikost IP a ICMP hlaviček, které mají velikost 20 a 8 byte. Maximální možná velikost paketu je tedy o 28 byte větší, 1452 + 28 = 1480 Byte a tuto hodnotu musíme nastavit do windows. Pokud bychom nastavili menší hodnotu, než je nutné, snižovalo by nám to trochu rychlost internetového připojení, protože by Windows musely odesílat více paketů, než je bezpodmínečně nutné.

Krok 2a: nastavení do Windows Vista / Windows 7
Zjistíme si název připojení, přes které komunikujeme s internetem. Použijeme příkaz ipconfig /all a najdeme spojení, které má nadefinovanou výchozí bránu a DNS server. Pokud máte takových více, orientujte se i podle názvu adaptéru, zda je wireless nebo LAN...:



Nalezení názvu připojení při ručním nastavení.

Zobrazíme si všechna připojení:


Nalezení idx připojení.

Najdeme si řádek s názvem připojení, které jsme si zjistili v předchozím kroku (Připojení k místní síti 2). Všimněte si stávající velikosti MTU, zde je nastavena zatím výchozí hodnota Windows 1500. Zapamatujte si Idx tohoto připojení (zde 12). Nastavte novou velikost MTU příkazem:



přičemž jako subinterface zadejte Idx připojení (zde 12). Místo Idx lze zadat i celý název připojení "Připojení k místní síti 2".
Jako poslední krok můžete zkontrolovat, zda nastavení skutečně proběhlo. Na obrázku už je vidět změněná hodnota MTU:

Nastavení velikosti MTU a kontrola.


Krok 2b: nastavení do Windows XP
Zjistíme si parametry připojení, přes které komunikujeme s internetem. Použijeme příkaz ipconfig /all a najdeme spojení, které má nadefinovanou výchozí bránu a DNS server. Pokud máte takových více, orientujte se podle názvu adaptéru, zda je wireless nebo LAN...:



Nalezení parametrů připojení při ručním nastavení.

V tomto případě se jedná o připojení s IP-adresou 192.168.100.10 a bránou 192.168.100.252.
Otevřete editor registrů, jděte do klíče HKLM / SYSTEM / CurrentControlSet / Services / Tcpip / Parameters / Interfaces /. Zde je několik klíčů označených šílenými čísly, prohledej te je postupně, až najdete ten, ve kterém jsou parametry připojení (IP-adresa, brána) nalezené v předchozím kroku. V mém případě jsou parametry připojení nastaveny ručně, takže bránu najdete v klíči DefaultGateway a IP-adresu v klíči IPAddress:

Nalezení adaptéru
Klikněte do obrázku pro zvětšení

Poznámka: Pokud používáte přebírání nastavení z DHCP serveru, najdete bránu v klíči DhcpDefaultGateway a IP-adresu v klíči DhcpIPAddress:

Umístění parametrů připojení v případě přebírání nastavení z DHCP serveru

V tom klíči, ve kterém jste nalezli vaši správnou bránu a IP-adresu, vytvořte novou 32-bitovou hodnotu typo DWORD, pojmenujte ji MTU:

Vytvoření nového klíče Dword. Obrázek pochází z 64-bitových Windows 7, u 32-bitových vypadá lehce odlišně

Přiřaďte jí desítkovou hodnotu zjištěnou na začátku tohoto návodu, zde se jedná o hodnotu 1480:

Přiřazení hodnoty klíči MTU

Po restartu windows již budou odesílány pakety s velikostí maximálně 1480 bytes a pokud byl problém se zobrazováním stránek v tomto nastavení, budou se napříště stránky již zobrazovat lépe.


Pro majitele zařízení Mikrotik: aby RouterOS Mikrotik nebyl příčinou problémů se zobrazováním některých stránek, pokud používá PPPoE připojení (ADSL modem, například), je potřeba nastavit jedno pravidlo do firewallu: maximální velikost MSS (maximum segment size) nastavit o 40 (pro jistotu prý o 44) byte menší, než je MTU připojení. Tedy pokud má ADSL připojení přes PPPoE MTU 1492, nastavíme v Mikrotiku hodnotu MSS na max. 1448:
 
/ ip firewall mangle  
add chain=forward protocol=tcp tcp-flags=syn 
action=change-mss tcp-mss=!0-1448 new-mss=1448 
Zdroj: http://wiki.mikrotik.com/wiki/MikroTik_RouterOS_Frequently_Asked_Questions_-_FAQ

U RouterOS 5 a vyšší je toto pravidlo po navázání PPPoE generováno automaticky, není tedy tento ruční zásah nutný.

Na začátek stránky
Zpět na Digitální střepiny

Spřátelené stránky: Konstrukční kancelář ACR, Katalog katalogů