Internetprotokoll

Internet Protocol, på svenska i allmänhet IP-protokollet (mer sällan internetprotokollet), är det kommunikationsprotokoll (det vill säga den standard eller regelsamling för datakommunikation) som används för all överföring av information i datornätverket internet. IP-protokollet används även i intranät (i bemärkelsen privat datornätverk som också använder internetteknologi).

Protokollet föreskriver att varje värddator (varje dator ansluten till internet) ska ha en IP-adress, med vars hjälp routrar kan vidareförmedla information mellan olika fysiska nätverk så att informationen levereras till rätt mottagardator. IP-protokollet möjliggör att routrar kan koppla samman många fysiska nätverk (exempelvis flera olika Ethernet, trådlösa nätverk och punkt-till-punkt-förbindelser) till ett logiskt mellannätverk, internet. Protokollet föreskriver att data som ska överföras ska vara uppdelat i datapaket kallade IP-paket eller IP-datagram. Varje sådant paket har ett pakethuvud, vilket kan liknas vid ett brevhuvud eller en etikett, och som bland annat innehåller avsändardatorns och mottagardatorns IP-adresser.

Den vanligaste varianten är internet protocol version 4, som specificerades år 1981 i ett dokument kallat RFC791 (en Request for Comments). Långsamt har den börjat ersättas av IP version 6, som standardiserades i RFC 2460 år 1998.

IP, och TCP, uppfanns ursprungligen av amerikanerna Vint Cerf och Bob Kahn 1974. Deras uppfinning, tillsammans med principen med distribuerade nätverk, som ARPANET, lade grunden till dagens moderna internet.

Relation till andra TCP/IP-protokoll 
IP-protokollet är ett av flera tcp/ip-protokoll (protokoll i tcp/ip-stacken), och skulle på svenska kunna beskrivas som ett av flera olika internetprotokoll (sammanskrivet, obestämd form), en formulering som dock är mycket ovanlig.

IP-protokollet ligger i tcp/ip-modellens nätverkslager eller internetlager, ofta kallat lager 3. Protokollet används alltid tillsammans med protokoll på övriga lager i tcp/ip-modellen (som har fem lager, eller fyra egentliga protokollager, beroende på lärobok).

IP-paketens innehåll (nyttodata) utgörs av paket som har producerats av ett protokoll på nästa högre nivå, transportlagret, lager 4. Detta utgörs nästan alltid av antingen Transmission Control Protocol-protokollet (TCP) eller User Datagram Protocol-protokollet (UDP). Transportlagret möjliggör att informationen levereras till rätt programprocess i mottagardatorn. Transportlagrets paket har ett pakethuvud som innehåller ett portnummer, med vars hjälp programprocesser identifieras.

Nyttodatat i transportprotokollets paket är i sin tur hämtat från ändå nästa nivå i TCP/IP-modellen, applikationslagret. Vissa böcker kallar det lager 5 i tcp/ip-modellen, andra kallar det lager 5 till 7 (enligt OSI-modellen). Exempel är smtp för e-post och http för att överföra filer på webben.

Varje IP-paket inkapslas i paket som kallas ramar och ligger på nästa lägre nivå i TCP/IP-modellen, datalänklagret eller nivå 2. Exempel är Ethernet, IEEE 802.11 (för trådlösa nätverk) eller point-to-point protocol (PPP) (som används över modem och andra punkt-till-punkt-förbindelser). Datalänkramarna innehåller ramsynkronsering, som anger när paketet börjar. Ofta innehåller de även fysiska adresser (mac-adresser), vilket är ett serienummer som ligger i nätverkskortets firmware och sällan ändras. Lager 2-protokoll kan ha en egen typ av adresser, mac-adresser eller fysiska adresser, som bara används för adressering inom det fysiska nätverket, exempelvis inom ett Ethernet.

IP-protokollet (på lager 3) hanteras, liksom transportprotokollen (lager 4), vanligen av en del av datorns operativsystem som kallas TCP/IP-stacken, eller socket-API:et. Lager 2 (datalänklagret) hanteras främst av nätverkskortets mikroprocessor och firmware. Lager 1 (fysiska lagret, eller hårdvarulagret) hanteras istället främst av nätverkskortets fasta elektronik, och betraktas av vissa böcker som ett lager nedanför den egentliga TCP/IP-modellen. På hårdvarulagret standardiseras ingen paketstruktur, utan bara hur enskilda bitar ska representeras fysiskt och elektriskt, och hur kontakter är utformade mekaniskt.

IP-protokollet, liksom övriga tcp/ip-baserade protokoll på lager 3 och högre, är öppna standarder som utvecklas genom RFC-proceduren, en de facto-process för standardisering. Protokoll på lägre lager baseras ofta på de jure-standardisering i beslutande standardiseringsorgan, och kan ibland vara proprietära och patentskyddade.

IP-adresser 

Adresser i IP version 4 (IPv4) består av 32 bit. De skrivs ofta på punkterad decimalform, till exempel "66.230.200.100", som fyra decimaltal åtskilda av punkter. Varje decimaltal representerar en oktett (8 bitar) av adressen, och kan alltså vara mellan 0 (00000000 binärt) och 255 (11111111 binärt). I IP version 4 finns bara 2 upphöjt till 32 möjliga adresser, det vill säga 4 miljarder, vilket sedan länge är otillräckligt om varje internetansluten dator i världen ska ha en egen adress. För att öka antalet möjliga adresser har IP version 6 (IPv6) börjat användas, där adressen består av 128 bitar. 48 av dem är identiska med mac-adressen. En IPv6-adress skrivs ofta på hexadecimal form, exempelvis 2001:0db8:85a3:0000:0000:8a2e:0370:7334.

För att fler datorer ska kunna vara anslutna till internet redan innan övergången till IPv6 kombineras IPv4 ofta med tekniken Network address translation (NAT). Då delar flera datorer inom samma privata nätverk på samma publika IP-adress, det vill säga de behöver bara en eller några få adresser från internetleverantören. Internt inom nätet har varje dator olika privata IP-adresser, exempelvis adresser som börjar på 192.168 (vanligt inom privatpersoners och småföretags nätverk) eller på 10 (inom stora organisationer). Dessa adressområden är enbart tillåtna inom privata nätverk, eftersom många organisationer använder samma serie av privata adresser. En av organisationens routrar innehåller då NAT-funktionalitet, så att den modifierar i IP-pakethuvudena och även transportpaketens huvud och översätter fram och tillbaka mellan privat IP-adress+portnummer och publik IP-adress+portnummer. Översättningen baseras på en lista över vilka portnummer och adress varje dator för tillfället använder. Portnumret utnyttjas på så sätt som en 16 bitars utökning av IPv4-adressen.

Ofta anges IP-adress tillsammans med subnetmask, exempelvis 66.230.200.100/24. Det betyder att datorn tillhör ett nätverk där de första 24 bitarna i adressen (66.230.200) är nätverks-ID eller prefix, och kan jämföras vid ett riktnummer. Nätverks-ID:et anger vilket fysiskt nätverk (vilket subnät) datorn tillhör, exempelvis ett Ethernet som är anslutet till ett specifikt nätverkskort på routern. Om två datorer med samma nätverks-ID (exempelvis 66.230.200.100/24 och 66.230.200.111/24) kommunicerar med varandra behöver inte kommunikationen förmedlas av en router utan de kan kommunicera direkt inom samma fysiska nätverk.

Egenskaper
IP-protokollet är utformat för att internet ska vara ett paketförmedlande nätverk. Genom att stora filer delas upp i paket kan flera samtidiga dataöverföringar varvas på samma ledningar och i samma nätverksutrustning. Paket kan därmed få vänta varierande tid i paketköer i olika nätverksnoder, beroende på hur stor nätverksbelastningen är från andra användare. Därmed varierar genomströmningshastigheten i bit/s över tid.

IP-protokollet är ett förbindelsefritt protokoll. Innan en serie paket ska överföras så definieras inte en fast väg i routrarna, utan adressinformationen i varje paket hanteras normalt var för sig. Routrarna kan komma överens med varandra om att ändra i routingtabellerna, exempelvis om en ledning går sönder eller om nätverksbelastningen är hög, för att leda trafik en annan väg. En serie IP-paket med samma avsändare och mottagare kan därför överföras olika vägar inom nätverket, och kan därför komma fram i annan ordning. Vill man att de ska levereras i rätt ordning måste man kombinera IP-paket med ett förbindelseorienterat protokoll såsom TCP, som numrerar segmenten och sorterar dem på mottagarsidan.

Analysen av IP-adresser är komplex och måste görs i allmänhet av mjukvara istället för hårdvara, och är därför långsam. För att påskynda detta emuleras IP-routrar idag ofta av lager-2-switchar, som använder något förbindelseorienterat lager 2-protokoll, t.ex. MPLS, och

IP-paket kallas (liksom UDP-paket) också datagram. Begreppet avser att paketen liknar telegram snarare än rekommenderad post eller tidskrifter. Protokollet inte reserverar resurser i förväg, och garanterar inte att paket kan levereras innan sändningen. Det avser också att det inte sänder verifikat efter att de har levererats. Paket kan komma att slängas bort om nätverket blir överbelastat och det blir fullt i en paketkö i en nätverksnod (en router, switch, modem, server eller klientdator). IP-protokollet skickar ingen bekräftelse på att det har nått fram, och sänder därför inte om försvunna paket automatiskt. Ansvaret för eventuella garantier ligger istället transportskiktet eller applikationsskiktet. Vill man ha leveranskvitto från mottagaren, och automatisk omsändning vid fel från avsändare till mottagare, måste man kombinera IP med TCP, eller implementera det i applikationprotokollet.

Utvecklingshistoria 
IP som begrepp går tillbaka till utvecklingen av TCP-protokollet i slutet av 1970-talet. Ursprungligen var IP en datatjänst – utan nätverkskontakt – i ett kontrollprogram för dataöverföring som Vint Cerf och Bob Kahn skapade 1974. I samband med uppdateringen till verson 3 av TCP delade man upp datahanteringen i ett transportskikt och ett nätverksskikt; det förstnämnda fortsatte att benämnas TCP (där T:et står för själva överföringen – transmissionen), det sistnämnda fick namnet Internet Protocol. Fröet till IP såddes

Den versionen av IP som sedan 1990-talet är i allmänt bruk heter IPv4 (Internet Protocol Version 4). Den presenterades 1981, som den första färdigarbetade IP-versionen, och kan adressera minst 4,3 miljarder tillgängliga IP-adresser. Detta sågs då som mer än tillräckligt för globalt bruk, men under 2010-talet (med en stor del av världens befolkning samtidigt uppkopplad mot internet) har de lediga adresserna tagit slut, en världsdel i taget.

Nästa version, som började att utvecklas 1991 av Internet Engineering Task Force (IETF) och som är i bruk parallellt med IPv4 i delar av internet, heter IPv6 (Internet Protocol Version 6). Specifikationen i sin nuvarande utformning var klar 1998, och protokollet lanserades i juli 2004, då ICANN lade in IPv6-poster i sina DNS-datorer för .jp (Japan) och .kr (Korea).

Det nya protokollet är kompatibelt med det äldre, och de kan därmed fungera tillsammans. Den viktigaste skillnaden mellan protokollen är att IPv6 har större adressdel. Adressens längd ökar från 32 till 128 bitar, vilket anses vara tillräckligt för alla nätverk och datorer i framtiden. Det har också bland annat klarare regler om kvalitetsstyrning för hantering av realtidsöverföring av ljud och bild. De två protokollen kommer att fungera parallellt under lång tid.

Anammandet av IPv6 har skett långsamt. Trots adressbristen hos IPv4 hade anno 2017 endast sju länder mer än 15 procents användning av IPv6.

Se även 
 IP-adress
 DNS
 Internet Corporation for Assigned Names and Numbers

Referenser

Externa länkar 

Nätverksskiktsprotokoll