IP protokoll

Internet Protocol (IP) är utformat som ett protokoll med få funktioner därmed har protokollet låg styrinformationsmängd (low overhead). Det gör att IP protokollet kan erbjuda endast funktioner som är nödvändiga för datatrafiken och inte kunna tillhandahålla tillförlitliga tjänster. IP protokollet har inte utformats för tillförlitliga tjänster därmed är IP ett otillförlitligt/förbindelselöst protokoll som har följande egenskaper:

  • Förbindelselös tjänst – Ingen anslutning upprättas innan datapaket överförs.
  • Best Effort (opålitlig) – Ingen overhead används för att garantera paketleverans.
  • Media Independent – fungerar oberoende av transmissionsmedium.

Ett exempel på förbindelselös kommunikation är det att skicka ett brev till någon mottagare utan att meddela i förväg. Man kan jämföra med att du skickar ett brev utan att behöva informera mottagaren att brevet är på väg. Förbindelselös datakommunikation via IP protokollet fungerar på samma princip.

Bild 1: Förbindelselös tjänst

Förbindelselöst tjänst

Förbindelselös protokoll, såsom IP eller UDP, kräver inte att en session mellan avsändaren och mottagaren etableras först innan paket kan överföras. Till skillnad från förbindelseorienterat protokoll, såsom TCP, som upprättar först en session och därefter tillåter dataöverföring äga rum.

Bild 2: IP förbindelselöst protokoll

IP protokollets header bär styrinformation i dess header som skiljer sig från tillförlitliga protokoll, exempelvis TCP. Mindre säkerhetsmekanismer innebär mindre bearbetningstid vid varje router därmed inga leveransförseningar. Däremot ingen säkerhet lovas ut av ett förbindelselöst protokoll som IP. I ett paketförmedlande nätverk förs paket över olika vägar till destinationen vilket gör att paketen ankommer till destinationen i olika tider och inte i ordning. På vägen till destinationen kan paket hindras att ta sig vidare utan att IP märker det. Ett förbindelselöst protokoll har inte säkerhetsmekanismer som kan känna av att paketen saknas och därmed kan inte lovas felfria leveranser. Felhantering i dataöverföringen och andra liknande säkerhetsfunktioner hanteras av andra protokoll i kommunikationsmodellen exempelvis TCP.

I stället felfria leveranser tillhandahåller IP bästa överföringstjänsten (best effort), det vill säga utan kompromisser. Det är inte fel om man refererar till nätverksskiktets uppdrag, att transportera paket mellan kommunicerande enheter (hosts) med så liten belastning på nätverket som möjligt.

Funktioner i nätverksskiktet koncentrerar sig på adressering och dirigering av paket dock inte på paketets innehåll eller säkerhet. Tjänster och protokoll i nätverksskiktet gör sitt bästa (best effort service) utan att garantera felfria hanteringar. Även om IP är ett otillförlitligt protokoll innebär det inte att IP är olämplig som datakommunikationsprotokoll eftersom IP samarbetar med andra tillförlitliga protokoll.

IP protokoll arbetar oberoende av transmissionsmedier

IPv4 och IPv6 arbetar oberoende av de medier som bär data.

Bild 3: IP oberoende av transmissionsmedier

Som framgår av figuren, kan varje enskild IP-paket överföras som elektriska signaler, fiberoptiska signaler eller radiovågor signaler genom olika transmissionsmedier. Det innebär att IPv4 och IPv6 är media oberoende (media independent).
Det åligger OSI Datalänk skiktet att ta emot ett IP-paket och förbereda det för sändning över olika transmissionsmedia. Även om IP är oberoende av transmissionsmedier finns det en viktig egenskap hos de transmissionsmedier som nätverksskiktet måste ta hänsyn till, den maximala storleken på PDU. Denna egenskap kallas Maximum Transmission Unit (MTU). MTU avgörs mellan datalänks skikt och nätverksskiktet. I vissa fall kan en mellanliggande enhet, vanligtvis en router, behöva dela upp ett stor paket i mindre delar för att ta sig genom nätet på väg till destinationen. Denna process kallas paketfragmentering eller endast fragmentering.

IP pakets header

Såsom visas i figuren, en IPv4-protokollet definierar flera olika fält i paketets header. Dessa fält innehåller binära värden som gäller fram till destinationen.

Bild 4: IP header
  • Version (4 bitar): 0100 = 4 (IPv4); 0110 = 6 (IPv6)
  • IHL Header Length (4 bitar): ger kombination 8421=1111=15; 15×4 = 60 byte max; 0101 = 5; 5×4 = 20 byte min (no options), vanligt värde 5 eller 6 dvs. 20 eller 24 byte.
  • Type of Service (8 bitar): binärt värde som indikerar bl a paketets prioritet och andra kvalitativa tjänster.
  • Packet Length (16 bitar): anger paketets längd inklusive dess header.
  • Identification (16 bitar): binärt värde som identifierar fragment av ett paket.
  • Flag (3 bitar): tre flagor, R=0; DF = 0 (fragmentera vid behov) eller DF = 1 (Do not fragment); MF = 0 (this is the last fragment) eller MF = 1 (more fragments to come).
    The More Fragments (MF) flaggan är en enda bit i flaggfältet som talar om att ett visst paket har fragmenteras och flera paketfragment följer.
    DF flaggan är en enda bit i flaggfält som indikerar att fragmenteringen av paketet inte är tillåtet. Om en router måste fragmentera ett paket men flaggan DF=1 är satt kommer routern att ta bort paketet.
  • Fragment Offset (13 bitar): identifierar den ordning i vilken paketfragment placeras i återuppbyggnaden. Som tidigare nämnts kan en router fragmentera ett paket när paketets storlek är för stort. När fragmentering inträffar använder IPv4-paket ett markeringsvärde som kallas Fragment Offset. Fältet markeras med flaggor (DF och MF) som indikerar att ett visst paket har fragmenteras i flera mindre paket.
    När mottagaren ser ett paket med flagga MF=1 granskar den Fragment Offset värde för att se fragmentets placering i återuppbyggnaden. Men när mottagaren tar emot ett paket med MF=0 placerar routern det fragment som den sista. Ett icke fragmenterat paket har alla flaggor satt till noll.
  • Time-to-Live (8 bitar): anger paketets livslängd under överföringen. TTL -värdet minskar med minst ett varje gång paketet bearbetas av en router (vid varje hop). När TTL-värdet blir noll tar routern bort paketet från nätverket. Denna mekanism förhindrar vidarebefordring av paket som inte kan nå sin destination.
  • Protokoll (8 bitar): Det binära värde indikerar protokollet som ska hantera inkapslade data (data payload). Fältet underlättar för nätverksskiktet att passera mottagna PDU till rätt protokoll i övre skiktet. Exempelvärden är: 01 ICMP; 06 TCP; 17 UDP osv.
  • Header Checksum (16 bitar): fältet används för felkontroll i pakethuvudet.
  • Options: fältet används för att tillhandahålla andra tjänster men dessa används sällan.

En mer detaljerad bild här nedan:

IP paketens header innehåller styrinformation, men inte säkerhetsmekanismer för ett tillförlitligt dataöverföring. Följande kan konstateras när man läser av IP paketens header:

  • Det finns inga bekräftelser av paketleverans.
  • Det finns ingen felkontroll för dataöverföring.
  • Det finns inte heller någon form av övervakning
  • och därför finns det ingen möjlighet för paketåtersändningar.