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 endast erbjuda funktioner som är nödvändiga för datatrafiken och inte kunna tillhandahålla tillförlitliga tjänster. IP protokollet 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 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 mindre styrinformation än andra tillförlitliga protokoll. Det innebär också mindre säkerhetsmekanismer därmed mindre bearbetningstid vilket resulterar i bästa fall noll leveransförseningar. Däremot så lovas ingen säkerhet 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.

I stället för 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.

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 det framgår av figuren, kan varje enskild IP-paket överföras som elektriska signaler, fiberoptiska signaler eller signaler via radiovågor 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 stort 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

IPv4 är ett av de primära kommunikationsprotokollen i nätverksskiktet. IPv4-styrinformation (header) används för att säkerställa att datapaket levereras till routrar på vägen till dess destinationsenhet.

En IPv4-paket header består av fält som innehåller viktig information om paketet. Dessa fält innehåller binära siffror som granskas av L 3-processen.

Bild 3: IP pakets header

De binära värdena för varje fält identifierar olika inställningar i IP-paketet. Protokollets huvuddiagram läses från vänster till höger och uppifrån och ned vilket ger en visuell referens när man analyserar protokollfältet. Här nedan en kortfattat lista:

  • Version – Innehåller ett 4-bitars binärt värde inställt till 0100 som identifierar IP version.
  • IHL (Header Length) – Innehåller ett 4-bitars binärt värde som anger styrinformationsmängd (header size). Viktig information son hjälper att identifiera header från payload. De fyra bitar ger kombinationer 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 – Även känd som ToS eller Differentiated Services eller DiffServ (DS). DS-fältet är ett 8-bitar som används för att bestämma prioriteten för varje paket.
  • Total Length – Med 16 bitar anger hela paketets längd i byte (header och payload).
  • Identification – Med 16 bitar identifierar fragment vid ytterligare paketfragmentering.
  • Flag – 3 bitar som representerar kontrollflagorna MF (More Fragment), DF (Do not Fragment)
  • Fragment Offset – Med 13 bitar identifierar den ordning i vilken paketfragment placeras i återuppbyggnaden. 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 (TTL) – TTL innehåller ett 8-bitars binärt värde som används för att begränsa paketets livslängd. Avsändaren i IPv4-paketet anger det ursprungliga TTL-värdet. Det minskar med en varje gång paketet behandlas av en router. Om TTL-fältet minskar till noll kastar routern paketet och skickar ett meddelande med hjälp av protokollet ICMP. Eftersom routern minskar TTL för varje paket måste routern också beräkna Header Checksum igen.
  • Protocol – Detta fält används för att identifiera protokollet på nästa nivå. Detta 8-bitars binära värde indikerar den datalastbelastningstyp som paketet bär på, vilket gör det möjligt för nätverkslagret att överföra data till lämpligt övre skiktprotokoll. Vanliga värden inkluderar ICMP (1), TCP (6) och UDP (17).
  • Header Checksum – Detta används för att upptäcka möjliga ändringar i IPv4-huvudet.
  • Source Address – Detta innehåller ett 32-bitars binärt värde som representerar avsändarens adress på IPv4 paketet.
  • Destinationen Address – Detta innehåller ett 32-bitars binärt värde som representerar destinationens IPv4-adress. Destinationens IPv4-adress kan vara en unicast eller multicast adress.