Ingemars infall: Time to live
Ditt epostmeddelande har 30 sekunder på sig att finna vägen från dig till din adressat, oavsett var på jorden denna befinner sig. Har det inte landat i trygghet på mottagarens mailserver innan tiden är förlupen avrättas det skoningslöst av internet-protokollet.
Så tillspetsat kan man uttrycka villkoren för datasändningar på internet, och inte bara där - andra nätverksprotokoll än IP stadgar än hårdare regler och kortare levnadsbanor. Men resonemanget är också väldigt förenklat; det är egentligen inte själva mejlet som har 30 sekunder på sig, utan varje ingående datapaket. Det är i den lilla funktionen TTL, Time To Live, i datapaketets huvud som livslängden sätts. Detta är bara en av de protokollsanteckningar som möjliggör gränsöverskridande kommunikation i nätverk.
De binära talen som bildar vårt elektroniska brev eller datafil transporteras över nätet i form av elektriska signaler. En vanlig orsak till att dessa signaler förvanskas (och att vi får fel på våra överföringar) är att de förlorar i styrka. I ett nätverk som förbinds med koaxialkabel kan signalerna inte transporteras längre än 185 meter. Med jämna mellanrum måste därför förstärkare sättas in. Även på Internet försvagas signalerna och brus från ledningarna kan också störa datagrammen.
Ditt e-postmeddelande med bifogade filer demonteras vid behov till mindre datapaket, man säger att det fragmenteras. Detta är nödvändigt av flera skäl. Ett är att paket som sänds med hjälp av IP (Internet Protocol) inte får vara större än cirka 66.000 byte. Därefter kan det fragmenteras ytterligare på vägen. Såväl PPP som Ethernet har en maxstorlek på 1.500 byte, vilket i och för sig torde räcka till mer normala epostmeddelanden (1 byte=1 tecken/bokstav, 1 A4-sida ungefär 2.500 tecken). I detta datapaket skall även dess huvud få plats, där förvaras nämligen all den information som krävs för att paketet ska hanteras och levereras rätt. Betrakta det som ett analogt kuvert. Där står vem som är avsändare och mottagare, om - med en något tillskruvad metafor - brevet ska levereras med tåg eller flyg, dvs om säkerhet eller snabbhet ska prioriteras och hur postverket ska förfara med det vid fel av typen Adressaten okänd, etc.
Huvudet upptar totalt endast 30 byte och 8 bitar av dessa används till en liten, men mycket väsentlig funktion - TTL, Time To Live.
I TTL-fältet anges, brutalt uttryckt, hur länge ditt paket få lov att leva ute på nätet. Syftet med detta är naturligtvis att hindra datapaket utan nåbar adressat från att för all evighet segla omkring i sajberrymden som några slags binära flygande holländare. Internet är oändligt men bandbredden är begränsad. Gräshoppssvärmar av fritt hoppande datapaket skulle kunna förmörka vår sajberhimmel avsevärt.
Alltså måste en gräns sättas - hur många hopp ska tillåtas innan paketet ska anses förlorat? Jo, "fabriksinställningen" för de flesta internetprotokoll är 30. Det finns dock andra protokoll som är avsevärt snålare med TTL-faktorn. Det kanske mest spridda operativsystemet för lokala nätverk, Novell Netware (och det kanske mest tillförlitliga), har satt gränsen så lågt som 16.
Intenets "oändlighet" är ju resultatet av en global sammankoppling av dataväxlar, så kallade routers, eller vägvisare. Ett datapaket behöver inte ta rakaste vägen mellan två noder (värddatorer) utan kan växlas om till andra routers vid behov. TCP/IP-protokollet är konstruerat så att det ålägger varje router som paketet passerar att minska summan - den som alltså ursprungligen är 30 - med ett. Får paketet vänta mer än tre sekunder så dras detta också från livslängden. Om då TTL-fältet är nere vid noll innan paketet är framme vid sin destinationsadress så kommer TCP/IP helt rått att förstöra paketet.
Ja, men det är ju förskräckligt!? Nja, inte så farligt som det låter. Det opålitliga IP har god hjälp av TCP (se nedan). Dessutom finns ett hjälpprotokoll som heter ICMP (Internet Control Message Protocol) vilket då omedelbart träder in i handlingen och ser till att ett felmeddelande sänds tillbaka till avsändaren. Är det fråga om förverkad TTL brukar det stå To many hops i felmeddelandet.
Ett fil som sänds kan ju utan vidare bestå av hundratals datapaket som alla, teoretiskt sett, kan ta olika vägar till målet. När alla väl är framme sätter TCP, transportprotokollet, ihop dem igen med hjälp av kontrollsummor som även de förvaras i varje pakets huvud. Om det då är något fragment som fattas, kastas hela ditt meddelande. Skrämmande? Ja, jo, men TCP är så smart konstruerat att det sänder om felande paket. Det protokollet kallas också, till skillnad från kusinen IP, för pålitligt.
De 30 sekunderna som nämndes i början ska inte tolkas för bokstavligt - visserligen finns en rekommendation att inte enbart hoppen mellan routrar ska räknas, utan även tiden som tillbringas på varje enskild router ska dras från livslängden. En del routrar har gränsen satt till en sekund, andra till tre, men det stora flertalet bryr sig överhuvudtaget inte om denna begränsning. Och det är ju inte mejlet i sin helhet som avlivas, utan enbart det paket som överskridit gränsen.
Ingemar Härd ingemar.hard(snabel-a)comhem.se
Ingemar Härd är notisredaktör och artikelskribent i papperstidskriften Populär Kommunikation. http://www.popkom.se/page/7
Artikeln ovan ingår i det elektroniska kunskapsbrevet Björns Blandning nr 1/2011 från Populär Kommunikation. http://www.popkom.se/page/18
Copyright © 2011 Ingemar Härd och Populär Kommunikation
Skriv ut sidan
|