All form av kommunikation kräver regler för att sändaren och mottagaren ska förstå varandra. Dessa regler kallas för protokoll. Olika form av medier kräver olika protokoll, ex. ett för telefoner och ett för att skicka ett brev. Olika protokoll samarbetar ofta och då kallas dessa för en protokollstack. Dessa finns både i hård och mjukvara. Protokollstackarna är indelade i skikt där de nedersta förklarar hur data ska skickas på ett visst medium och de översta förklarar hur ett datorprogram ska göra för att skicka.
Nätverksprotokoll
Nätverksprotokoll beskriver bland annat; dataformatet, vägval, felhantering och anslutning till andra datorer.
Protokollstackar och industristandarder
Protokoll utvecklas oftast i enighet med industristandarder. Dessa standarder har skapats av standardiseringsorganisationer som ex. IEEE och IETF. Fördelen med detta är att produkter och protokoll från olika företag fungerar tillsammans.
Samarbetet mellan protokoll
Ett ex. på hur olika protokoll samarbetar är när en webbläsare kontaktar en webbserver:
Applikations protokoll: http – bestämmer hur en webbklient ska fråga efter en webbsida av en server.
Transport protokoll : TCP – bestämmer hur datan ska skickas mellan datorerna
Internet protokoll: IP – bestämmer hur paketen ska hitta på Internet
Fysiska protokoll: Ethernet – bestämmer hur paketen ska hitta på LANet.
Teknikoberoende protokoll
För att ett protokoll ska kunna fungera oberoende av vilken teknik som används måste protokollet beskriva vad som ska göras, inte hur det ska göras. Ex. fungerar Internet Explorer och Firefox olika men båda kan användas till att surfa på Internet. Hur de fungerar är upp till tillverkaren, men vad som ska göras bestäms i protokollet.
Fördelarna av att använda modeller i skikt
Fördelen med att dela in protokoll i en modell med flera skikt är att det blir enklare att utveckla nya protokoll, hindrar att protokollförändringar i ett skikt påverkar ett annat skikt samt gör det lättare att förstå hur protokollen samarbetar.
Protokoll och referensmodeller
En protokollmodell är en modell av hur en protokollstack arbetar. Ex. TCP/IP-modellen visar hur TCP/IP-stacken arbetar.
En referensmodell beskriver hur något är uppbyggt. Ex. hur en router ska ta emot packet. En referensmodell kan inte installeras i en dator utan är en beskrivning om hur du ex. ska bygga din dator.
OSI-modellen är den vanligaste referensmodellen. Den används bland annat för nätverksdesign och felsökning.
TCP/IP-modellen
TCP/IP-modellen skapades på 70-talet och beskriver i fyra skikt hur datakommunikation ska fungera. Dessa skikt är: Applikation, Transport, Internet och Nätverksåtkomst. Det är en öppen standard vilket innebär att vem som helst får lägga till delar till modellen så länge man följer protokollet. Dessa kan laddas ner från IETF och kallas för RFC.
Kommunikationsprocessen
TCP/IP-modellen beskriver hur protokollen i TCP/IP-stacken fungerar. För att man ska kunna skicka data måste följande steg ske:
Skapandet av data på applikationsskiktet
Segmentering och inkapsling av datan när det passerar ner genom protokollstacken
Uppdelningen av datan i bitar på nätverksåtkomstskiktet
Transport på nätverket till mottagaren
Mottagandet av data på nätverksåtkomstskiktet
Avkapslingen och sammansättandet av data när det passerar upp genom protokollstacken
Uppskickandet av data till programmet som ska ha det på applikationsskiktet.
Protokoll och inkapsling av data
När data skickas ner genom protokollstacken läggs ny data på för varje skikt. Detta kallas för inkapsling. Ungefär som när du skriver ett brev och sen lägger till kuvert, adress, frimärke mm.
Namnet på datan ändras beroende på vilket skikt det befinner sej på, men samlingsnamnet på datan oavsett var den befinner sej är PDU. (Protocol Data Unit).
Här är PDU namnen:
- Applikationsskiktet – PDU kallas för Data
- Transportskiktet – PDU kallas för Segment
- Internetskiktet – PDU kallas för Packet
- Nätverksåtkomstskiktet – PDU kallas för Ramar (Frame)
- När det sänds på ett medium – PDU kallas för bitar.
Sänd och mottagningsprocessen
Detta händer i protokollstacken TCP/IP på en webbserver då en webbklient begärt en sida:
Applikationsskiktet – Protokollet http skickar ner ett sida kodad i HTML till:
Transportskiktet – här inkapslas datan i segment och en header läggs till. Den beskriver vilket program som skickat datan, i vårt fall, en webbserver. Den anger även till och från portnummer. Sen skickas segmentet ner till:
Internetskiktet – här inkapslas segmentet om till ett IP-packet. En ny header läggs till som anger till och från IP-nummer. Sen skickas paketet ner till:
Nätverksåtkomstskiktet – här inkapslas paketet om till en Ethernetram. En ny header läggs till som anger till och från MAC-adress. En trailer läggs även till som används för att kolla om ramen kommer fram som den ska. Därefter delas ramen upp i bitar och skickas iväg på nätet genom NIC (nätverkskortet).
När bitarna kommer till webbklienten händer samma sak fast i omvänd ordning. NIC tar emot bitarna och sätter ihop dem till en ram som sedan skickas upp till Internetskiktet och avkapslas till ett packet osv.
OSI-modellen
OSI skapades 1984 och syftet var att ha en referensmodell att utgå ifrån då man skapade nya protokoll. OSI har sju skikt som beskriver allt som händer när data transporteras. En av fördelarna med att dela in processen i skikt är att varje skikt kan operera oberoende av de andra. Skapar du en webbsida bryr du dej bara om det översta skiktet, skikt sju, då behöver inte bry dej om hur klienten ansluter till webbservern.
OSI-modellen. Nerifrån och upp:
- Physical-signaler och media omvandlar bitarna till ström, ljus eller ljud, bestämmer den fysiska hastigheten, ex. kablar, hubbar, repeters. Manchesterencoding.
- Datalink-fysisk adress, nätverkstopologi, logisk åtkomst. Ex.. switchar, bryggor och NIC. Ethernet, PPP, FDDI.
- Network-vägval och logisk adress ex., routrar. IP, OSPF, ISDN, ICMP, IPSec.
- Transport-flödes och felkontroll, virtual circuits. TCP, UDP.
- Session-upprättar sessioner, SQL, RPC, NetBIOS, SSL.
- Presentation-kryptering, komprimering och konvertering, DES, MPEG, ASCII.
- Application-nätverkstjänster till applikationer. Ex. PC, brandväggar. DNS, FTP, http,Telnet.
Jämför OSI-modellen med TCP/IP-stacken
Om man jämför OSI-modellen med TCP/IP-stacken ser man att OSI-modellen använder sju skikt istället för fyra. Syftet är att ge en utförligare beskrivning om hur det går till.
Nätverksadressering
OSI-modellen beskriver hur kodning, formatering, segmentering och inkapsling sker av data som ska skickas via nätet. En dataström delas upp blandar sej med annan trafik på Internet. Därför är det viktigt att datan kan identifieras så att den kommer rätt.
Skicka data till mottagaren
När datan inkapslas läggs en adress eller identifierare på för nästan varje skikt. I skikt 2 läggs MAC-adressen till. Denna adress används vid kommunikation inom ett LAN.
Skicka data genom Internet
skikt 3 protokoll används för att skicka data mellan nätverk. Varje IPnr måste innehålla info om vilket nät det tillhör. Routrarna packar upp ramen till ett packet och läser denna nätinfo för att välja vilken väg den ska skicka paketen. Sen packar router om paketen till nya ramar och skickar iväg dem.
Skicka data till rätt program
På skikt fyra visas vilken port datan ska till. Då flera program kan köras samtidigt, ex. en webbläsare och emailprogram måste datan kunna separeras. Varje typ av program har sitt eget portnr. På det sättet kan trafik till din webbläsare och emailprogram ta emot data samtidigt utan att blandas ihop trots att samma IPnr används.
Filmen ”Warriors of the net”
När du se filmen, tänk på det du lärt dej hittills i kursen och försök förstå vilka protokoll och utrustning som menas. Cirka 5 minuter in i filmen finns ett fel. Man säger att ”What happens when Mr. IP doesn’t receive an acknowledgement, he simply sends a replacement packet.” Flödeskontroll och omsändning sköts inte av IP utan av ett protokoll på ett övre skikt.