4.1-4.3 Flashcards
(39 cards)
Vad består datapaket av?
Ett datapaket kan bestå av upp till tre delar
>Header
>Data
>Tail
Huvudet och svansen innehåller kontrollinformation för det protokoll som används
Vad är payload?
Det är den del av paketet som mottagaren har nytta av, det vill säga de data som sändaren skickar.
Vad är overhead?
Den del av datapaketet som behövs för att payloaden skall kunna komma fram korrekt, det vill säga huvudet och svansen
Vad är mängden overhead som krävs för at dataöverföringen ska vara tillförlitlig?
Det beror bland annat på hur mycket störningar det finns på länken som används. Ex optisk fiber ingen störning men trådlös kommunikation mycket störning.
När används applikationsprotokoll?
Två användarapplikationer använder sig av applikationsprotokoll när de skall komminicera
Ge exempel på applikationsprotokoll
Ett exempel är HTTP som används när man hämtar webbsidor från en dator kopplad till internet
Vad kallad de datapaket som används i applikationsprotokoll?
meddelanden, messages eftersom paketen ofta har en brevkaraktär där man i klartext kan se vad som finns i paketen.
Varför finns länkprotokoll?
För att applikationsprotokollet inte skall behöva veta vilken slags länk som används i datöverföring, finns det i varje värddatoren speciell länkhanterare. Länkhantereraren i sändaren och mottagaren använder ett länkprotokoll för att överföringen skall fungera. Länkhanterare tar emot data från applikationen och ser sedan till att dess data kommer fram korrekt till mottagaren.
Varför har vi flera olika protokoll?
Man delar upp funktionaliteten på detta viset i olika skikt för att göra varje protokoll mindre komplicerad. Om applikationsprotokollet skulle behöva ta hand om länkfunktionerna också hade det gjort programmet ytterst komplicerad, eftersom dessa funktioner beror på vilkem slags länk.
Vad kallas datapaketen i länkprotokollet?
ram eller frame. Anledningen är att paketen ramas in av flaggor. Först en startflagga för att tala om att en ny ram startar. Flaggan bestpr av ett antal bitar som sändare och mottagre kommit överrens om, sedan kommer det kontrollbitar som kan innehålla info om hur många bitar datafältet innehåller.
flagga kontroll data kontroll flagga
Varför använder man flaggor i länkprotokollet?
Man vill underlätta för mottagaren att detektera när en ram är slut och nästa börjar.
Vad händer om det blir bitfel?
De flesta länkprotokoll innehåller funktioner för att detektera bitfel,så kallade feldetektering, samt funtioner för att se till att felaktig data skickas om, så kallad felhantering
När uppstår bitfel?
När mottagaren tolkar en etta som en nolla och tvärtom. Vi måste ha feldetektering för att få tillförlitlig data.
Var är den grundläggande principen i feldetekering?
Sändaren lägger till en eller flera bitar i slutet av ett datapaket. Värdet på dessa bitar räknas ut mha bitarna i datapaketet. Mottagaren gör samma beräkning på de mottagna bitarna i paketet och jämför resultet med de extra bitarna. Om värdena överensstämmer anses paketet vara korrekt mottaget. I annat fall har dett skett ett eller flera bitfel, vilket medför att mottagaren inte har tagit emot ett korrekt paket.
Nämn tre vanliga metoder för feldetektering
paritetsbit
cyklisk redunanscheck(crc)
kontrollsunna
Hur fungerar parititetsbit
Sändare och mottagare kommer överrens om ifall jämn eller udda paritet ska användas. I vilket fall lägger sändaren till en bit i slutet av datapaketet. Om jämn paritet används lägger sändare till en etta om det fnns ett ojämnt antal ettor i paketet, annars lägger sändaren till en nolla.
Vad är problemet med partitetsbit
De kan bara användas för att detektera ett ojämnt antal bitfel i ett paket. Om det blir ett jämnt antal bitfel i samma datapaket kan detta inte upptäckas, eftersom paritetsbiten fortfarande stämmer i dessa fall→ krävs andra metoder
Hur fungerar crc?
I crc represeteras bitarna i paketet av ett polynom. Ett paket som innehåller n bitar , representeras av ett polynom av graden n-1 som betecknas M(x).
Hur skulle 10011010 representeras?
M(x) = x^7 + x^4 + x^3 + x^1
Förklara generatorpolynom
Generatorpolynom är ett polynom som sändare och mottagare är överrens om. Låt generatorpolynomet i vårt exempel vara
C(x) = x^3 + x^2 + 1
Vilket innebär attt k = 3 i detta fall. Generatorpolynomet motsvarar ett generatortal som här alltså är 1101
Hur hittar man ett polynom R(x) så att M(x)* x^k + R(x) är jämt delbart med C(x)?
Det ges av P(x) = M(x) * x^k +R(x)
1 . Multiplicera M(x) med x^k → B(x) = x^3(x^7+x^4+x^3+x) = x^10+x^7+x^6+x^4 → 10011010000
2 . Dividera M(x) med C(x) genom att använda polynomdivision i modulo-2
3 . Resultatet från polynomdivisonen är dels ett polynom f(x) samt en rest R(x)/C(x) → En division mellan x^10+x^7+x^6+x^4 /x^3 + x^2+1 vilket ger resten R(x)= x^2 +1
4 . Vi adderar nu R(x) med B(x) → polynomet kommer vara jämt delbart med C(x) → Det slutgilitiga meddelandet blir alltså P(x) = x^10 +10^7+10^6+x^4 +x^2 +1 som motsvarar 10011010101
Vad gör mottagaren när den tar emot P(x)
Det utförs en divison mellan P(x) och det övereenskomna generatorpolynomet C(x).
E(x)/C(x). Har paketet kommit fram rätt blir E(x) = 0 då E(x) är jämt delbart med C(x). Om det är skiljt från noll så vet mottagaren att det skett ett bitfel
Varför måste man välja C(x) med omsorg?
Om E(x) av misstag råkar vara jämnt delbart med C(x). Det gäller att välja C(x) på ett sådant sätt att det är lpg sannolikhet för att detta kommer att inträffa.
Hur fungerar kontrollsumma- sändare?
> Sändaren delar upp data i segment bestående av ett antal bitar, oftast 16 bitar
> Sedan adderas alla segmenten till varandra, och resultatet blir en delsumma
> Eventuella översjutande bitar adderas sedan till delsumman och bilder en slutsumma. Slutsumman kommer därför att innehålla lika många bitar som varje segment
> Komplement till slutsumman skickas sedan paketet. Man får komplementet genom att byta ut alla ettor till nollor, tvärtom.