IP adressering

[[IP-adress]] och [[subnetmask]]ar

När datorn deltar i ett nätverk behöver den en så kallad [[IP-adress]]. IP ([[Internet Protocol]]) är ett protokoll för datakommunikation som bland annat används för adressering av datorer och nätverksenheter, exempelvis skrivare, i nätverk. IP ([[Internet Protocol]]) arbetar på nätverksnivå, protokollets viktigaste uppgift är routing (vägval). Med hjälp av IP-adresser kan rätt mottagare och avsändare adresseras och routrar tittar på denna adress för att avgöra hur paket ska skickas vidare. En [[IP-adress]] är en unik adress som i de flesta fall tilldelas datorn av en så kallad [[DHCP]]-server för att datorn ska kunna identifieras i nätverket. I andra fall kan en fast [[IP-adress]] vara att föredra och detta sätter en nätverksadministratör eller tekniker manuellt. Exempel på när en fast [[IP-adress]] är att föredra är på en webbserver eller en skrivare. Alla enheter som skickar data på Internet eller ett nätverk måste ha ett [[IP-adress]]. Detta tilldelas enhetens [[nätverkskort]] (NIC). Ex på enheter i ett nätverk är datorer, ip-telefoner, skrivare och routrar. (På Wikipedia finner du mer om [[Routing]])

IP-adressen behöver inte vara densamma hela tiden, utan kan variera beroende på sammanhang och då har man en sk. dynamisk [[IP-adress]]. Dessutom kan datorn exempelvis använda en [[IP-adress]] i ett lokala nätverk ([[LAN]]) men en helt annan [[IP-adress]] på Internet ([[WAN]]). Vi människor agerar likadant eftersom vi presenterar oss på olika sätt beroende på socialt sammanhang. Inom familjen känns det onödigt att presentera sig med både för- och efternamn, något som däremot känns helt naturligt att presentera sig med på en formell arbetsintervju. Datorn kan heta 192.168.0.190 i det lokala nätverket men 94.184.92.86 på Internet.

All data i ett nätverk skickas som paket med information om vilken [[IP-adress]] de ska till och avsändaren av paketet är den som anger mottagarens adress. Detta gör att varje dator i ett nätverk måste ha en unik [[IP-adress]]. Om två ­datorer har samma [[IP-adress]] går det inte att veta vilken av datorerna som är ett pakets ­avsedda ­mottagare (om två personer i samma flerbostadshus heter Anders Andersson kan brev­bäraren inte veta vem av dem som ska få paketet som han har med sig).

En [[subnätmask]] är en bitmask som visar var nätverksadressen slutar och värdadresserna börjar och anger därför hur stort nätet är. Den lägsta nätverksadressen anger nätverkets nummer (Net-ID) och den högsta adressen på nätverket anger en sk. [[Broadcast address]]. Subnätmasken består av 32 bitar, som var och en kan ha värdet ett eller noll. På samma sätt som med IP-adresser skrivs varje byte decimalt med en särskiljande punkt. Med hjälp av subnätmasken räknar datorn ut vilket nätnummer den finns på (programmeringsmässigt används en logisk AND-operation).

TCP/IP

TCP/IP och OSI är två olika beskrivningar av arkitekturen för datakommunikation över datornätverk. TCP/IP-modellen beskrivs av fyra eller fem skikt. OSI-modellen beskrivs i sju skikt. Det protokoll som är absolut viktigast på Internet är TCP/IP. Standardprotokollet på Internet är TCP/IP. Namnet TCP/IP är egentligen en hel familj protokoll. Namnet TCP/IP kommer från två av de ingående protokollen, nämligen IP och TCP. IP står för Internet Protocol och är det protokoll som ansvarar för hur alla datorer skall hitta varandra på Internet. Alla datorer på Internet har en så kallad IP-adress. Denna adress är unik och det är tack vare denna som paket som skall till din dator kommer fram just till din dator. Om vi jämför IP i TCP/IP modellen med OSI-modellen nedan som vi tittat på tidigare så ligger IP i nätverksskiktet i den senare.

 

IP i nätverksskiktet.

Datorer kan kopplas ihop för att kunna utbyta information. En grupp av datorer som kopplas ihop genom att använda en gemensam nätteknologi, t.ex. Ethernet, bildar ett nät. Internet är ett globalt världsomspännande datanät som bildats genom att man länkat samman många hundra tusen mindre nät med routrar. Alla datorer som är kopplade till ett nät som är en del av Internet kan adressera och utbyta information med alla andra datorer på Internet. Det som möjliggör detta är framför allt användandet av en gemensam protokollsvit, TCP/IP

Protokollsviten har fått sitt namn från dess två viktigaste protokoll; Internetprotokoll(IP) för dirigering och överföring av datapaket mellan datorer, och Transmission Control Protocol (TCP) som bygger på IP och med hjälp av bekräftelser och omsändningar tillhandahåller pålitlig dataöverföring mellan program.

All information som skickas eller tas emot i ett nätverk är uppdelad i små datapaket. TCP/IP är en kommunikations­standard som delar upp överföringen i olika skikt med tillhörande protokoll. För att förklara datakommunikation används ofta en förklaringsmodell som kallas OSI-modellen, men i detta fall används istället Internetmodellen. Internet­modellen består av fem skikt.

 

IP

IP-protokollet ser till att varje datapaket förses med information om adress och vägledning till destinationen. Detta sköts i det så kallade nätskiktet. Problemet är att nätskiktet saknar någon form av garanti för att paketet kommer fram överhuvudtaget. Nätskiktet överlåter därför det jobbet till transportskiktet, vilket i sin tur använder två andra protokoll (TCP eller UDP).

 

TCP

TCP (eng. Transmission Control Protocol) är det protokoll som används för en stor del av kommunikationen via Internet och som fungerar som ett mellanlager mellan olika tillämpningsprogram och det underliggande IP (eng. Internet Protocol). Med TCP/IP skickas informationen mellan två datorer i en ström av paket som innehåller en relativt liten datamängd. Protokollet ser till att kommunikationen blir pålitlig genom att mottagaren skickar en bekräftelse till sändaren för varje mottaget paket.

Det sker genom en rad kommunikationer mellan sändare och mottagare, kallas tre vägs handskakning. Först och främst ska kommunikationen verifieras och godkännas av de två inblandade enheterna. Varje datapaket numreras sedan av TCP och om exempelvis datapaket nummer tre kommer fram direkt efter datapaket nummer ett, skickar mottagarenheten en begäran om att paket nummer två (vilket måste ha missats) ska sändas igen. När datapaketen når sin destination skickar mottagaren ut ett svar om att paketen har kommit fram säkert. Denna process upprepas tills all överföring är garanterat slutförd.

 

UDP

User Datagram Protocol (UDP) är ett förbindelselöst protokoll i transportskiktet för att skicka datagram över ett IP-nätverk.

Med förbindelselöst (en. stateless eller connectionless) menas att ingen session upprättas mellan sändare och mottagare av protokollet i sig. Härvid kan inte sändare (på UDP-nivå) garantera att mottagaren får paketet. Mottagaren kan heller inte veta att den fått alla paket, eller att den fått paketen i rätt ordning.

 

ICMP

ICMP som är en förkortning för Internet Control Message Protocol är ett protokoll som används för ruting och annan funktionalitet samt för kontroll och felmeddelandehantering i ett TCP/IP-nät. Programmen ”ping” och ”traceroute” är exempel på program som använder ICMP. ICMP är, precis som UDP, connectionless så man kan inte garantera att paketen kommer fram.

 

ARP

ARP (Address Resolution Protocol) används för att en nod skall kunna hitta MAC-adressen till en annan nod. Detta är nödvändigt eftersom nätverkslagret inte använder samma typ av adresser som underliggande lager. För att de skall kunna tala behöver noden veta den andres IP-adress som är känd från nätverkslagret och uppåt (mer om IP-adresser nedan) men för att de faktiskt skall kunna prata måste den veta dess MAC-adress som används i de underliggande lagren. För att hitta den används ARP. Det fungerar så att den dator som skall sända skickar ut en broadkast-förfrågan (en broadkastförfrågan kommer till alla datorer på nätverket) där den ber noden med den aktuella IP-adressen att svara. När den svarar får den nod som skickar redan på dess MAC-adress. För att varje nod inte skall behöva göra ARP-förfrågningar varje gång den skall sända sparas MAC-adresserna i en tabell på varje nod.

 

Portnummer

Som vi sagt tidigare så kan en och samma dator tillhandahålla en mängd olika tjänster. Till exempel så kan en dator vara både webbserver, e-postserver och DNS-server på samma gång. För att inte trafiken till de olika tjänsterna skall krocka med varandra så måste man på något sätt dela upp den. Till exempel så förstår ju inte en webbserver den trafik som är menad till en e-postserver även om de körs på samma dator. För att komma till rätta med detta så har man infört i protokollet något som kallas för portar.

Man skulle kunna jämföra det med ett hyreshus. Hela huset är datorn och varje lägenhetsdörr är en port. I varje lägenhet bor en tjänst. I lägenhet nummer 80 bor till exempel webbtjänsten så om någon pratar med port 80 på datorn så pratar den bara med webbtjänsten. Portar är alltså inte något fysiskt på datorn utan bara en logisk uppdelning av tjänsterna. Varje tjänst är kopplad till en port på datorn. En dator kan ha ungefär 65000 portar.I lägenhet nummer 80 bor till exempel webbtjänsten så om någon pratar med port 80 på datorn så pratar den bara med webbtjänsten.

 

Services

Mer tekniskt kan man säga att när datapaketen når transportskiktet är det i form av ett segment (TCP-paket) eller ett UDP-datagram. Formatet på deras huvuden skiljer sig en hel del åt, men båda innehåller två portnummer: Källport, som tilldelas av applikationen hos sändande maskin, och destinationsport, som anger till vilken applikation (tjänst) som paketet är adresserat till. Man kan säga att portnummer är indexnummer för käll- eller destinationsportar i nätverksammanhang.

Standardportnumren brukar vara listade i en fil som heter services. I Unix ligger filen i katalogen /etc, medan Windows operativ har den i Windows\System32\Drivers\Etc. Portnumren under 1024 är reserverade, men de övriga, s k höga portarna, används också flitigt (särskilt som källportar).

Tabellen nedan (som bygger på filen services) visar de vanligaste portarna

 

Socket

Kombinationen av en IP-adress och ett portnummer kallas en socket, vilken entydigt identifierar en nätverksprocess i Internet. Vid användning av ett förbindelseorienterat protokoll (som TCP) definieras en förbindelse av ett socketpar (en socket för sändaren och en för mottagaren).

 

Vanliga portnummer:

20 & 21: File Transfer Protocol (FTP)

22: Secure Shell (SSH)

23: Telnet remote login service

25: Simple Mail Transfer Protocol (SMTP)

53: Domain Name System (DNS) service

80: Hypertext Transfer Protocol (HTTP) used in the World Wide Web

110: Post Office Protocol (POP3)

119: Network News Transfer Protocol (NNTP)

143: Internet Message Access Protocol (IMAP)

161: Simple Network Management Protocol (SNMP)

194: Internet Relay Chat (IRC)

443: HTTP Secure (HTTPS)

465: SMTP Secure (SMTPS)

 

 

 

 

 

 

 

 

 

 

 

 

Källor och material:

Massor av information om TCP på Wikipedia:

http://sv.wikipedia.org/wiki/Transmission_Control_Protocol

Om UDP på Wikipedia:

http://sv.wikipedia.org/wiki/UDP

Mera material att studera på Howstuffworks:

How does the Internet work?

 

Dessutom mer på följade länkar:

Läs mer om Datorkommunikation, Internet och portar på Rejås:

http://www.rejas.se/fritis/datorkommunikation/chap_internetteknik.html

Lista på Wikipedia med portar inom TCP och UDP:

http://en.wikipedia.org/wiki/List_of_TCP_and_UDP_port_numbers

Mer om portnummer på wikiPedia:

http://en.wikipedia.org/wiki/Port_number