← Back to team overview

sslug-teknik team mailing list archive

Re: Problemer sammen med Cisco-Linksys small Buisiness router RV042

 

Martin Schlander <martin.schlander@xxxxxxxxx> (2009-06-16 13:16 +0200):

> Michael Widerkrantz wrote:
>> De flesta Linux-distar har väl IPv6 påslaget som default?

> Det tror jeg ikke, men jeg har ikke undersøgt det nærmere.

Jag tror tvärtom. Varför skulle de inte ha det påslaget? Kolla på dina
egna nätinterface. Har de en link-local address? Kolla med ifconfig
eller ip addr. En link-local börjar med fe80. Har du en sådan har du
alltså IPv6 påslaget.

Du kan också kolla om du har autokonfiguration av IPv6-adresser
påslaget. Titta efter net.ipv6.conf.*.accept_ra_* med sysctl. Är de 1
eller 0? Är de 1 kan alltså det nätverksgränssnittet få en IPv6-adress
så fort en lokal IPv6-router börjar skicka ut Router Advertisments.

>> Vilka performance-problem är det du tänker på? 
>
> Jeg kan ikke redegøre for de tekniske detaljer, men "eksperterne"
> plejer at anbefale at slå det fra hvis man oplever langsomhed
> ifm. browsing.

Jag tror att den långsamhet som talas om här är just en timeout om
maskinen tror att den har IPv6-konnektivitet.

De flesta operativsystem använder nämligen IPv6 i första hand. Om någon
försöker komma åt

  http://hack.org/

och ser att hack.org har en AAAA-post (2001:888:22b3::2) så försöker
alltså en typisk browser i första hand prata IPv6.

Maskinen har kanske bara link-local IPv6 och ingen default route, så
uppkopplingsförsöket kommer snabbt att misslyckas, men det tar ändå lite
tid. Här kommer den första timeouten in. Den borde i de flesta fallen
vara knappt märkbar.

I ett värre scenario finns en default route för IPv6, men det finns
ingen IPv6-konnektivitet. Det här kan till exempel inträffa om någon kör
en IPv6-router på det lokala nätet, men det inte finns någon uplink,
vare sig native eller i form av en IPv6-tunnel, eller om IPv6-uplinken
är nere, förstås. Det här kan också inträffa om den lokala maskinen
försökt etablera en egen tunnel, satt default route, men har problem med
tunneln på något vis. Tänk 6to4 eller Teredo, till exempel. Moderna
Windows är ganska pigg på att automatiskt försöka skapa sådana tunnlar,
har jag hört.

Om det finns en default route kommer programmet förstås att försöka
koppla upp över IPv6 och kommer att få en timeout långt senare. En
timeout på en TCP-uppkoppling är vanligen ganska lång.

Det här händer alltså eftersom IPv6-adresser föredras framför IPv4. Det
är som det skall vara. Felet ligger ju här i en trasig eller
icke-existerande uplink och/eller en router som borde veta bättre.

Eftersom routingen på IPv6 kan se så annorlunda ut jämfört med IPv4 vill
man ändå ibland styra om IPv4-adresser eller IPv6-adresser skall
föredras. Det kan hända att det är signifikant fler hopp eller sämre
latens över IPv6 till en viss destination än över IPv4, till
exempel. Exempel: Helsingborgs dagblad, http://hd.se/. Hemifrån får jag
~4 ms RTT till deras IPv4-router och 85 ms RTT över IPv6.

I FreeBSD kan man använda ip6addrctl(8) för att styra vilka
destinationer som skall föredra IPv6 eller IPv4. För Linux vet jag inte
vad motsvarande kommando heter. Någon?

För mer om adressval i IPv6, se RFC 3484.

-- 
M.C. Widerkrantz, http://hack.org/mc/
Plain text e-mail, please. OpenPGP welcome.


Follow ups

References