Hastighet och storlek – bits och Bytes

När det gäller hastighet och storlek i datornätverk och på datorer så är det väldigt vanligt att det blir rörigt. Orden som används är väldigt lika varandra men betyder ändå helt olika saker.

Grunden till det hela är att datorvärlden består av bitar, eller bits. En bit är en binär siffra. Binär betyder att siffran kan ha två värden, antingen 1 eller 0 (noll).

När man ska lagra något på en dator – en bild till exempel – så lagras bilden på datorns hårddisk i form av ettor och nollor, alltså bitar.

I vanliga världen finns det många exempel på att vi hittar på nya ord för att beskriva ett vanligt antal. Dussin betyder 12st, tjog betyder 20st, par betyder 2st.

På samma sätt finns ordet “byte” i datorvärlden. En byte är 8st bits. Orsaken till att det behövs ett ord för “8st bits” är att just 8st bits är en otroligt vanlig kombination av antal bits när man lagrar saker i datorer. Exempelvis kan en vanlig bokstav behöva 8st bits när man lagrar den.

Så grunden till allt är alltså denna formel:

1 Byte = 8 bits

1 bit är ett så litet värde. Samma sak med 1 Byte. Vi säger ju inte i dagligt tal att vi har burit 10000 gram i väskan hela dagen, utan vi säger 10 Kilo(gram) i stället.

På samma sätt som när det gäller vanliga mått så använder man samma termer även för bits och Bytes.

bits and bytes - table kilo mega giga tera

  • 1 Kilobit är alltså 1,000 bits (tusen bits)
  • 10 Kilobit är 10,000 bits
  • 100 Kilobit är 100,000 bits, vilket också skulle kunna skrivas 0,1 Megabit
  • 1000 Kilobit är 1,000,000 bits, vilket också kan skrivas 1 Megabit

Men bara för att krångla till det så gäller bara ovanstående för bits som är den minsta beståndsdelen i det binära talsystemet. Bytes och framför allt i lagringssammanhang bygger på det binära talsystemet och då blir det lite annorlunda. 1 Kilobyte är därför inte exakt 1000 bytes, utan det är egentligen 1024 bytes.

Förkortningar

Förkortningar är viktiga när man pratar bits och Bytes. Otroligt viktigt till och med, och det är en av dom vanligaste källorna till förvirring.

Bytes förkortas “B” med stort B

Bits förkortas “b” med litet b

Eftersom en Byte är 8 gånger så mycket som 1 bit så är det viktigt att hålla isär dessa förkortningar.

Exempel:

  • MB betyder alltså MegaByte
  • KB betyder KiloByte
  • Mb betyder Megabit
  • Gb betyder Gigabit

Varför är det då så otroligt viktigt? Jo därför att det är vanligt att folk som inte förstår skillnaden mellan bits och Bytes använder både fel förkortning men inte heller förstår skillnaden.

En person som beställer en internetförbindelse som ska klara att ladda hem 20Mb per sekund, men som märkar att hen “bara kan föra över filer i hastigheten 2,5MB per sekund” är ofta otroligt missnöjd. Förmodligen så märker personen inte ens skillnaden i förkortning.

Ska personen vara missnöjd? Nej tvärtom, hen borde vara otroligt nöjd med sin internetförbindelse!

Varje Byte är 8 bits. För att få reda på hur många Megabit (Mb) som 2,5 MegaByte (MB) är så kan vi därför helt enkelt ta 2,5 x 8 = 20.

2,5MB = 20Mb

Det är skillnaden mellan att vara otroligt missnöjd och att vara väldigt nöjd.

Varför blandning av bits och Bytes?

Varför används då en blandning av bits och Bytes? Jo traditionellt sätt så anger man storlek på lagring i Bytes (hur mycket plats tar filen upp på hårddisken) medan man anger överföringshastigheter i bits (hur många bits per sekund kan vi skicka).

Minsta informationen som det finns någon direkt mening med att lagra är ofta en byte, ett tecken eller en bokstav. Därför fanns det inte någon anledning till att ange lagring i antal bits.

Men datornätverk däremot skickar data en bit i taget, och därför är det mer logiskt att ange hur många bitar som nätverksutrustningen kan skicka per sekund.

Överföringshastighet, den förenklade versionen

I den här förenklade versionen bortser vi bland annat från något som kallas “overhead” och som vi återkommer till senare i den avancerade versionen längre ned.

Säg att vi har en internetanslutning som klarar att ladda hem i 50Mbps. Mbps står för Megabit per sekund. Det kan även anges som 50Mb/s. Men observera det lilla b som betyder bit!

Vi ska nu ladda ner en fil som är 625MB stor. 6,25MB är 50Mb (6,25 x 8). Därför tar det i ett optimalt fall en sekund att ladda ner en fil som är 6,25MB stor om du har en internetanslutning som är 50Mbps.

Säg att vi i stället ska ladda hem en fil som är 4,5GB stor! 4,5GB är ungefär 4600MB (4,5 x 1024), och 4600MB är ungefär 36800Mb. I bästa fall tar det då 736 sekunder (36800Mb / 50Mbps) att ladda ner filen.

Det finns otroligt bra och framför allt väldigt många miniräknare på internet för att konvertera Bytes och bits och beräkna nedladdningshastigheter.

Ja det är förvirrande…

Som du märker så är det inte så konstigt varför förvirringar uppstår och varför termerna blandas ihop när det gäller bits och Bytes. Inte ens tillverkarna själva kan komma överens om hur man ska räkna. Hårddiskar till exempel är ju lagringsyta för filer, som mäts i GB eller GigaByte i dagsläget. Men Hårddisktillverkare mäter storleken på hårddiskarna i GB baserat på talbasen 1000. Så enligt hårddisktillverkarna så är 100,000MB lika med 100GB. I själva verket så används talbasen 1024. Så när man försöker lagra filer på hårddisken så får det inte plats lika mycket som man kunde tro, för filerna som lagras tar upp plats enligt talbasen 1024 medan hårddiskutrymmet säljs baserat på talbasen 1000.

Så här räknar hårddisktillverkaren:

  • 100000000000 Byte = 100000000 KB (delat med 1000) = 100000 MB (delat med 1000) = 100 GB (delat med 1000)

Men det här är så mycket plats man faktiskt får till sina filer:

  • 100000000000 Byte = 97656250 KB (delat med 1024) = 95367 MB (delat med 1024) = 93,1 GB (delat med 1024)

Överföringshastighet, den avancerade versionen

Det räcker tyvärr inte med att säga att en 50Mbps internetförbindelse klarar av att överföra 50Mb per sekund. En 50Mbps internetförbindelse skulle aldrig klara av att ta emot en fil på 6,25MB (50Mb) på 1 sekund. Varför?

Förklaringarna är flera, men här är två av dom:

  • Overhead
  • Skalande överföringshastighet

Overhead

Overhead innebär data som inte är själva den datan som vi försöker skicka men som ändå följer med.

När du skickar ett brev till någon med posten så skriver du meddelandet på en bit papper. Sen stoppar du pappret i ett kuvert, och på kuvertet skriver du adressen till mottagaren. Hela kuvertet måste skickas iväg, även om det enda meddelandet som är viktigt för dig är själva meddelandet på pappret i kuvertet.

Kuvertet är postvärldens Overhead. Information som är nödvändig för att meddelandet ska komma fram på rätt sätt, men som inte tillhör själva meddelandet.

Det är väldigt enkelt baserat på postexemplet att se vad som motsvarar overhead i nätverkskommunikation. Vi har i andra exempel använt kuvert för att symbolisera var datorer skriver in IP-adresser och MAC-adresser och portar och liknande. All den informationen är Overhead information.

bits and bytes - headers

När meddelandet ska skickas ut på nätverket så skickas alla delar av meddelandet iväg, inklusive den information som står på motsvarigheten till datorvärldens “kuvert”. En internetförbindelse som kan skicka 50Mbps kan skicka just maximalt 50Mb per sekund. Inklusive overhead.

Filen som ska laddas hem delas upp i massor av mindre delar, och varje del skickas i ett eget paket. Varje paket måste ha hela adresseringen på sig, inklusive TCP portar, IP-adresser och till sist MAC-adresser.

Varje paket får vanligtvis innehålla maximalt 1460 Bytes, och sen tillkommer 40 Bytes med overhead. Det gör alltså att cirka 2,7% (40/1500) av bandbredden går åt till att överföra overhead information.

Vår 50Mbps internetanslutning kan alltså skicka 50Mb per sekund, men 2,7% av dessa 50Mb går åt till overhead. Kvar blir då cirka 48,7Mbps.

Beroende på vilken trafik det är man skickar så kan ännu mer plats gå åt till overhead information.

Skalande överföringshastighet

Dom flesta filöverföringar använder TCP. TCP försöker alltid hjälpa till genom att vara snäll mot den man pratar med. Bland annat försöker TCP se till att data inte skickas varken för långsamt eller för snabbt.

Det gör att en dator som ska skicka en fil ofta försöker börja skicka filen lite långsammare. Går det bra så pratar datorerna ihop sig med varandra genom TCP och bestämmer sig för att öka hastigheten undan för undan.

Så länge som ingenting går fel så kommer hastigheten att öka till den maximala, men den kommer ändå ofta att variera lite upp och ned på grund av små justeringar.

Det gör att i princip ingen enskild filnedladdning någonsin klarar av att använda hela den tillgängliga bandbredden.

Det är däremot en aning lättare om man laddar ner flera saker samtidigt, eller om man använder BitTorrent som går ut på att man laddar ner samma sak från flera ställen samtidigt. Då kan man ofta komma upp i nära nog den maximala hastigheten som internetförbindelsen tillåter.

Föregående avsnitt:
Trafikexempel, en grundlig genomgång

Nästa avsnitt:
Grunder i Radiokommunikation