Lassú Internet kapcsolatok hatékonyabbá tétele

Terméktámogatási adatbázis (cg_slowinternet)
Következőkre vonatkozik

SuSE Linux: Verziók a következő dátumig: 7.3

Probléma

Az Internetre modemen, ISDN berendezésen vagy lassú dedikált vonalon keresztül csatlakozik (ez esetben a lassú a kevesebb, mint 512 kbit/s letöltési sebességet jelenti). Interaktív szolgáltatásokat is használ, úgymint irc, talk vagy ssh/telnet a távoli eléréshez. Szerencsétlen módon a kapcsolat "lelassul", azaz virtuálisan használhatatlanná válik amikor adatoka tölt le ezzel párhuzamosan FTP-ről. Ugyanez a dolog jelentkezik, ha weboldalakat böngészne.

A következő módon megfigyelhető, ha teszteljük a csomagok körbejárási idejét (round trip time - RTT) a "ping" parancs és egy gyors Internetes gép segítségével, majd elindítjuk a letöltést ezzel párhuzamosan:


konstriktor:~>ping sdb.suse.de
PING sdb.suse.de (213.95.15.204): 56 data bytes
64 bytes from 213.95.15.204: icmp_seq=0 ttl=247 time=35.767 ms
64 bytes from 213.95.15.204: icmp_seq=1 ttl=247 time=39.488 ms
64 bytes from 213.95.15.204: icmp_seq=2 ttl=247 time=37.377 ms
[...]
64 bytes from 213.95.15.204: icmp_seq=6 ttl=247 time=612.773 ms
64 bytes from 213.95.15.204: icmp_seq=7 ttl=247 time=1188.041 ms
64 bytes from 213.95.15.204: icmp_seq=8 ttl=247 time=1568.059 ms
64 bytes from 213.95.15.204: icmp_seq=9 ttl=247 time=2148.153 ms
64 bytes from 213.95.15.204: icmp_seq=10 ttl=247 time=2138.407 ms

A fenti példában egyetlen folyamatos letöltést indítottunk el a gépen. Ahogy látható, a kapcsolat átlagos RTT-je körülbelül 35 ms, amikor a vonal szabad.

Ahogy a letöltés megindul, a "ping" csomagok RTT-je megnő 2s-ra. Az interaktív alkalmazások e miatt nehezen használhatóvá és túlterheltté válnak.

Háttér

A Linuxban használt TCP/IP protokoll lehetővé teszi a távoli gép számára nagyméretű adatok küldését autentikáció nélkül. Az azonosítás csak a bejövő TCP/IP kapcsolat felépítéséhez szükséges. Éppen ezért a távoli gépnek lehetősége van tetszőleges mennyiségű adat küldésére azonosítás nélkül, ami fontos lehet a jó átviteli képességű kapcsolatok teljesítményének kiaknázására. Ezt az opciót TCP ablak méretnek nevezzük. Az ablak mérete körülbelül 32 kbyte, a legnagyobb méret 64 kbyte lehet.

Szerencsétlen módon, a nagyobb sávszélességű kapcsolatok miatt a legtöbb csomag a "lassú vonal" előtti legutolsó útvonalválasztó gép bufferében várakozik. A legtöbb FTP és Webszerver nagyon nagy sávszélességű kapcsolattal rendelkezik, így a csomagok nem várakoznak az átvitelre, csak a célgép elérése előtti legutolsó állomáson.

Ötlet

Lehetőség van arra, hogy megmondjuk a távoli gépnek, ne küldjön több adatot azok jóváhagyása nélkül. E módon az útvonalválasztó átmeneti tárolója nem lesz túlterhelve, ezért az RTT érték nem növekszik jelentősen.

Megoldás

Egy opcióval tájékoztathatjuk a távoli gépet, hogy csak egy kicsi TCP ablakkal rendelkezünk. Ne használja ezt az opciót, ha több, mint 1 Mbit/s letöltési sebesség érhető el; ellenkező esetben a letöltés hatékonysága erősen csökken, különösen akkor, amikor a letöltés az USA-ból vagy tengeren túli országból jön.

Két esetet tárgyalunk most:

ISDN, modem, PPPoE (ADSL) kapcsolat PPPD-vel

Az alapértelmezett ablakméretet csak akkor tudjuk megváltoztatni, ha már beállítottuk a kapcsolatot. Éppen ez az, ami miatt meg kell szerkeszteni a PPP beállításokat az opció beállítása előtt.

Ha a /etc/ppp/ip-up.local fájl még nem létezik, hozza létre root felhasználóként, és írja bele a következőket:

 #! /bin/sh
# the default gateway is contained in parameter $5 when this
# script is called up.
route del default
route add default gw $5 window 8000

Ha már meg lett szerkesztve, tegye futtathatóvá a fájlt a chmod 755 /etc/ppp/ip-up.local paranccsal. E módon a szkript automatikusan lefut a tárcsázás során.

Kérem jegyezze meg, hogy a fenti módosítás az alapértelmezett útvonalat egy rövid időre megszakítja. Ha módosította az /etc/ppp/ip-up fájlt például automatikus levélfogadásra, el kell azokat tárolni átmenetileg az ip-up.local futtatása után.

Kérem olvassa át a Végeredmény részt a cikkben a 8000 érték szerepének megértéséhez.

Direkt ethernet kapcsolat (nem PPPoE)

Ha ethernet kapcsolata van, pl. egy SDSL útválasztóhoz, szerkessze a /etc/route.conf fájlt. Ennek tartalma valami hasonló alap esetben:


62.146.142.32    0.0.0.0         255.255.255.224  NONE
default          62.146.142.33   0.0.0.0          eth0

Fűzze hozzá a "window" paramétert az alapértelmezett útvonalhoz az alábbi módon:

62.146.142.32    0.0.0.0         255.255.255.224  NONE
default          62.146.142.33   0.0.0.0          eth0 window 8000

Az opció bekapcsolásához ki kell adni azt a route parancson keresztül. Éppen ezért egyszerűbb újraindítani a szolgáltatást az rcroute restart paranccsal.

Végeredmény

Az alapértelmezett átjárót elérő távoli gépek nem küldhetnek 8 kbyte adatnál többet, autentikáció nélkül. Egy 128 kbit/s vonalon ez maximum 0.5 másodperc RTT-nek felel meg. Ha egyszerű ISDN kapcsolat (64 kbit/s) vagy modem kapcsolat van, megpróbálhatja a 4000-et a 8000 helyett. Ne állítson be 2000 alatti értéket; mivel ezáltal veszélyesen közel kerül a csomagmérethez.

Ha komplikált helyi hálózata van, a "kisablakos" beállítást csak a külső lassú kapcsolatokra kell megtenni, és nem a gyors helyi kapcsolatokhoz.


Kulcsszavak: SDSL, INTERNET, NETWORK, ADSL, ISDN, MODEM, SLOW, LASSú, KAPCSOLAT, BETáRCSáZáS, SZERVER, KLIENS

Kategóriák:

SDB-cg_slowinternet, Copyright SuSE Linux AG, Nürnberg, Germany - Verzió: 06. Mär 2002
SuSE Linux AG - Utoljára frissítve: 03. Apr 2002 feladó: comp (sdb_gen 1.40.0)