Översikt:
Vad är IP?
IP
Paketet2
IP
Adressering (IPv4)
Subnet
mask
Subnet mask annan än 255
IPv6
protokollet
Introduktion
IPV6 adressen
Stegvis övergång till Ipv6
IP
(the Internet Protocol) : en förbindelselös och opålitlig metod
för data-transport som man på engelska kallar för ”best-efforts delivery
system”.
Med
detta menas att data-paketet inte kommer att godtyckligt kastas bort utan en
väldigt bra orsak.
Internet
protokollet (ip) är den vanligaste metoden för data-transport inom och mellan
olika nätverk.
Att IP
beskrivs som opålitligt är inget man behöver skrämmas av eftersom ansvaret för
pålitligheten ligger hos andra protokoll av högre nivå tex:
TCP (Transmission Control Protocol). Med opålitlig leverans menas att
data-paket kan försvinna, försenas, dupliceras, skadas och-eller komma fram i
omkastad ordning.
IP
kallas för förbindelselös eftersom det liknar post-service mer än ett telefon
system. När en nod som använder sig av IP önskar sända ett paket till en annan
liknande nod, skickar den helt enkelt paketet, korrekt adresserat, precis som
att posta ett brev. Ett telefon system däremot, upprättar kontakt mellan två
användare som uppehålls under informations-växlingen. Inom IP´s
förbindelse-lösa design så behandlas varje paket helt oberoende av varandra.
För
att använda IP till mer komplicerade uppgifter så krävs tillämpning av s.k ”higher level protocols” som TCP eller UDP (User
Datagram Protocol). Ofta
nämns IP tillsammans med andra protokoll, t.ex: TCP/IP.

IP använder sig av
konceptet ”paket” (kallas ibland även för datagram). Paketet kan I sin tur
delas upp I två stora delar: Header och Payload (data del).
Paketets
header består i stora drag av följande delar:
·
Versions nummer ( ex: IPv4 eller IPv6 )
·
Storlek (Datagrammets storlek inkl. header)
·
Käll & Destinations adress
·
Räknare som kontrollerar paketets livstid
·
Service typ
·
Etc. (en grupp mindre viktiga komponenter)
Paketets
Payload (data del) bär på informationen som skall skickas.
Max size = 216 (65536) bytes.
En
IP-adress (i version4) består av 4 bytes (32-bit) där varje byte är en siffra
mellan 0 & 255. IP-adresserna är indelade i 5 st olika s.k IP-klasser
(klass A, B, C, D, E) men klass a,b & c är de klasser som huvudsakligen
används, klass D används för Multicast adresser och klass E är reserverad för framtida bruk.
Klass
|
8 bits |
8 bits |
8 bits |
8 bits |
A
|
Nätverks nr. |
Host
nr. |
|
|
B
|
Nätverks nr. |
Host nr. |
||
C
|
Nätverks nr. |
Host nr. |
||
D.v.s
för klass A tar nätverksadressen upp 1 byte, för B 2 bytes & C 3 bytes
En
typisk IP adress kan se ut så här:
220.0.0.80
|
Klass: |
Nätverks
ID: |
Host ID: |
Exempel: |
A
|
1-126 |
x.x.x |
124.x.x.x |
|
B |
128-191.f |
x.x |
140.f.x.x |
|
C |
192-223.f.f |
x |
210.f.f.x |
|
D |
224-239.f.f.f |
|
230.f.f.f |
|
E |
240-247.f.f.f |
|
245.f.f.f |
( f ) =
Fast adress nummer som inte kan ändras (mellan 0 & 255)
( x ) = Ett värde
mellan 0 & 255 (Host adress)
Som ni
ser är IP adressen ovan av klass C.
Denna
klass delning ger:
|
Klass: |
antal
Nätverk |
antal Hosts: |
|
A |
128 |
16 miljoner |
|
B |
ca 16 000 |
64 000 |
|
C |
ca 2 miljoner |
254 |
Ett
stort problem med IPv4 (32-bit) är det det börjar ta slut på IP-adresser.
En
orsak till det är hur ineffektivt IPv4 hanskas med adresser.
T.ex:
Hela klass A adress 127.x.x.x är reserverad för loopback (16 miljoner adresser
down the drain) när endast en adress hade behövts.
Vis av
tidigare erfarenheter har man nu utvecklat en ny version av IP (IPv6)
som har plats för
mångdubbelt fler adresser.
Omvandling
av decimal adress till Binär
I
vissa fall kan det vara värdefullt att veta den binära motsvarigheten till en
IP-adress
(t.ex: när man skall hantera en subnet-mask, beskrivs senare).
Omvandling
mellan decimal-form och binär-form kan utföras på olika sätt.
Här
följer 2st metoder för att omvandla 16810 till bin2:
·
Med
hjälp av binär-tabell:
|
128 |
64 |
32 |
16 |
8 |
4 |
2 |
1 |
|
1 |
0 |
1 |
0 |
1 |
0 |
0 |
0 |
Detta
ger bin2 = 10101000
·
Med
hjälp av divisions metoden:
|
decimaltal |
rest |
|
|
168/2 |
0 |
minst signifikant bit |
|
84/2 |
0 |
|
|
42/2 |
0 |
|
|
21/2 |
1 |
|
|
10/2 |
0 |
|
|
5/2 |
1 |
|
|
2/2 |
0 |
|
|
1 |
1 |
mest signifikant bit |
Detta
ger bin2 = 10101000 (alltså samma som ovan)
När du
ser en binär-omvandlad IP adress kan du snabbt avgöra vilken klass den tillhör.
|
Klass |
Bit-mönster |
IP-adress
(decimal) |
|
A |
01111000.00000001.00000001.00000001 |
120.1.1.1 |
|
B |
10000001.00000001.00000001.00000001 |
129.1.1.1 |
|
C |
11000001.00000001.00000001.00000001 |
193.1.1.1 |
|
D |
11100001.00000001.00000001.00000001 |
225.1.1.1 |
|
E |
11110001.00000001.00000001.00000001 |
241.1.1.1 |
Introduktion:
Din dator vet
inte vilken sort av ip-adress som du har. Om det är klass A, B eller C. Därför
måste du tala om för din mjukvara hur den med hjälp av din ip-adress får reda
på vilket nätverks-id du har. T.ex. att med ip-adressen 128.32.10.1
så är ditt nätverks-id 128.32.x.x.
Detta löser du
genom att ange en s.k. subnet mask. En typisk subnetmask kan se ut så här: 255.255.255.0. Denna mask berättar att
vi använder en Klass C ip-adress eftersom de tre talen 255 visar att de här individuella numren inte kan ändras. 0 säger oss att denna siffra är den enda
siffra som vi kan använda för att adressera noder i ditt nät.
Om vi hade haft
en ip-adress som lydde 128.10.11.23
och en subnet mask på 255.255.0.0 då
kan vi snabbt se att vi har en Klass B ip-adress.
Hela syftet med
en subnet mask är att berätta för datorn vilka siffror i ip-adressen som
är nätverks-id och vilka som är
host-id.
En subnet mask
kan också hjälp oss att ”avmaska” så att vi kan ange hur många subnät vi vill
ha och hur många tillgängliga hosts (noder) under varje subnät. Utåt mot internet
kommer det fortfarande se ut som om du hade ett enda stort nät med EN
nätverksadress men internt kommer ditt nät att vara uppdelat i s.k. subnät.
Subnet mask för att identifiera nätverk
Ip-addressen 128.10.11.23 subnet mask 255.255.0.0 säger oss att 128.10 är nätverks-id. Om subnet mask
hade varit 255.255.255.0,då hade vi
kunnat dra slutsatsen att nätverks-id var 128.10.11.
|
Ip-adress |
Subnet mask |
Nätverks-id |
|
126.10.11.23 |
255.0.0.0 |
128 - Klass A |
|
128.10.11.23 |
255.255.0.0 |
128.10 – Klass
B |
|
192.10.11.23 |
255.255.255.0 |
128.10.11 –
Klass C |
Du kan använda
subnet mask för att identifiera nätverk.
Tänk dig
scenariot:
Ditt företag
består av fem separata kontor. Ett i Umeå, ett i Ö-vik, ett i Sundsvall, ett i
Ånge och ett i Gävle.
Det första
nätverket som du bygger är för kontoret i Sundsvall. När du byggde så använde
du 128.1.1.x som ip-adresser där x är
ett nummer mellan 1 och 255. Eftersom ip-adressen börjar med 128 så vet du att det är ett Klass B
nätverk. Eftersom du har ett Klass-B nätverk så kan du nu bygga ditt nästa
nätverk i Umeå genom att använda ip-adressen 128.1.2.x. Du kan inkrementera den tredja siffran i ip-adressen
tills du har byggt nätverk för alla dina kontor. När du är klar så skulle din
struktur av ip-adresser se ut som följer.
|
Nätverk |
Ip-adress |
|
Sundsvall |
128.1.1.x |
|
Umeå |
128.1.2.x |
|
Ö-vik |
128.1.3.x |
|
Ånge |
128.1.4.x |
|
Gävle |
128.1.5.x |
Vart och ett av
dina kontor skulla kunna ha 254 stationer med olika interna ip-adresser. (255 är reserverad som en s.k.
broadcast-adress när en station vill sända till alla andra stationer i sitt
nätverk, och 0 är reserverad för att representera huvudnätet)
Så länge som du
ser till att din subnet mask är 255.255.0.0
så kommer du kunna kommunicera framgångsrikt i ditt nätverk.
Om du fick för
dig att ändra på på subnet masken till 255.255..255.0
då skulle du bara kunna kommunicera inom ditt kontors nätverk men inte mellan
dem.
T.ex. om vi är på
kontoret i Sundsvall och har subnet mask 255.255.255.0
så kan vi fortfarande kommunicera inom nätverket med ip-adressen 128.1.1.x. Men om vi försöker
kommunicera med kontoret i Umeå, Ånge, Ö-vik eller Gävle så kommer vi inte att
lyckas eftersom vår subnet mask säger till vår PC att vi är endast uppkopplad
till ett Klass-C nätverk. (även fast vi egentligen har en Klass-B ip-adress)
De flesta subnet
masker är antagligen 255.255.0.0
(Klass-B nätverk) eller 255.255.255.0
(Klass-C nätverk) men ibland kan du se subnet masker som t.ex. 255.255.128.0.
För att kunna se
vad som händer då är det bäst att titta på den binära representationen av
ip-adressen.
Den binära
sekvensen av 128 är:
|
128 |
64 |
32 |
16 |
8 |
4 |
2 |
1 |
|
1 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
När vi ser en
subnet mask som 255.255.128.0 så vet
vi att en del av adresserna nu är reserverade för subnätet. T.ex. ip-adressen 128.1.16.1 skulle vara ok eftersom den
tredje siffran 16 inte är reserverad
av subnätet. Subnätet reserverar endast adressen 128. Vi skulle t.ex. inte kunna använda ip-adressen 128.1.128.1.
Om vi hade en
subnet mask av 192 så skulle vår
binära sekvens se ut så här:
|
128 |
64 |
32 |
16 |
8 |
4 |
2 |
1 |
|
1 |
1 |
0 |
0 |
0 |
0 |
0 |
0 |
I detta exempel
så reserverar vi den 7:e och 8:e biten. Alla ip-adresser som inte använder
dessa bitar är riktiga. T.ex. 128.1.32.1
är riktig om vår subnetmask är 255.255.192.0.
Men om vi skulle försöka använda 128.1.64.1
så skulle vi få ett fel eftersom 64 är reserverad för subnätet.
Men varför då
använda en subnet mask på detta sätt?
Tänk dig att du
har bestämt dig för att alla kontor behöve delas upp i s.k. subnät. Du behöver
alltså minst 5 subnät och dina kontor har nu blivit så stora att du vill kunna
använda minst 1000 adresser till noderna under varje kontor.
Du skulle
kunna gå tillväga på följande sätt:
För att täcka
framtida behov (t.ex. nya kontor i andra städer) så vill jag kunna ha tillgång
till minst 10 subnät (därför reserverar jag 4 bitar för subnetadresser) med
vardera minst 1000 noder.
|
Subnet mask: |
255 |
255 |
240 |
0 |
|
Binär motsvarighet |
11111111 |
11111111 |
11110000 |
00000000 |
Detta ger mig:
16
subnät-adresser
4094 noder under
varje subnät
Huvudnät: 10000000.00000001 .00000000.00000000
= 128.1.0.0/16
Subnät #0: 10000000.00000001 .00000000.00000000 =
128.1.0.0/20
Subnät #1: 10000000.00000001 .00010000.00000000 =
128.1.16.0/20
Subnät #2: 10000000.00000001 .00100000.00000000 =
128.1.32.0/20
Subnät #3: 10000000.00000001 .00110000.00000000 =
128.1.48.0/20
Subnät #4: 10000000.00000001 .01000000.00000000 =
128.1.64.0/20
Subnät #5: 10000000.00000001 .01010000.00000000 =
128.1.80.0/20
Subnät #6: 10000000.00000001 .01100000.00000000 = 128.1.96.0/20
Subnät #7: 10000000.00000001 .01110000.00000000 =
128.1.112.0/20
Subnät #8: 10000000.00000001 .10000000.00000000 =
128.1.128.0/20
Subnät #9: 10000000.00000001 .10010000.00000000 =
128.1.144.0/20
Subnät #10: 10000000.00000001 .10100000.00000000 = 128.1.160.0/20
…
Subnät #15: 10000000.00000001
.11110000.00000000
= 128.1.240.0/20
Vilka adresser
skulle jag då kunna ge noderna i varje subnät:
Subnät #0: 128.1.0.1 till 128.1.15.254 = 4094
adresser
Subnät #1: 128.1.16.1 till 128.1.31.254 =
4094 “”
Subnät #2 128.1.32.1 till 128.1.47.254 = 4094 “”
Detta borde ge
vårt företag lite och växa i eller hur?
Internet Protokol Next Generation (IPng) eller IP
version 6 (IPv6) som det nu heter är det nya internet protokollet som skall
ersätta föregångaren IP version 4. Tillväxten av internet har vuxit med en
hastighet som inte togs i beaktandet när det ursprungliga internet protokollet,
IPv4 designades i början av 80-talet. Under åren har man varit efterklok på
många punkter och hittat på alternativa lösningar för internetprotokollet och
alternativa protokoll till det. I IPv6 har man kombinerat ideerna från dessa
alternativa protokoll och skapat ett nytt internet protokoll. Ändringarna från
IPv4 till IPv6 kan delas in i följande kategorier:
- Expanderade adressmöjligheter. IPv6 ökar internetprotokollets
adresstorlek från 32 bitar till 128 bitar, för att kunna understödja fler
nivåer av adresshierarki och får därigenom fler adresserbara noder.
- Multicasting routing har blivit
förbättrad genom att man lagt till ett fält med multicast adresser. Och en ny
typ av adress som kallas "anycast adress" är definierad, för att
kunna sända paket till vilken som helst av en grupp noder.
- Enklare header format. Några av
Ipv4 headers fält har kastats eller optimerats, för att minska processkostnader
för paketbehandling och att begränsa bandbreddskostnaden för IPv6 headern.
- Förbättrad understödd utbredning
(Extensions) och options. Man har ingen övre gräns när det gäller längden
av options och det ökar flexibiliteten i framtiden för att kunna introducera
nya.
- Flow Labeling Capability. För att kunna etikettera paket som tillhör
en viss ström där sändaren begär speciell behandling, t.ex.
"real-time" tjänster.
- Säkerhet. Externa headers som
stödjer datasäkerhet och dataintegritet. T.ex. kryptering.
Bristen på
adresser i IPv4 var det största problemet som korrigerades med IPv6.
IPv6 introducerar
128 bitars adresser istället för IPv4:as 32 bitars.
Teoretiskt så
skulle man kunna ha 665,985,621,475,071,937
ip-addresser per kvadratmillimeter av jordens yta. Det verkar som om problemet
med bristen på ip-adresser är löst. J
Emellertid så
kommer denna gigantiska adressrymd att bli uppdelad i en mera hierarkisk
struktur än i Ipv4.
Sättet att välja
väg mellan routrar och gateways har fått flera nivåer. I IPv4 hade man en
nätnivå och en nodnivå. Hur stor del av adressen som utgjorde vilkendera nivån
bestämdes av klassen av nät (A, B eller C).
IPv6 har 64 bitar
för att identifiera nätet och 64 bitar för att identifiera noden. IPv6
adressens arkitektur kan ses på följande bild:

Här tänker man sig att efter de tre
första bitarna som utgör formatets prefix, kommer högsta nivån av ruttval, TLA (=Top-Level Aggregation).
En TLA router kan då välja mellan 16
miljoner NLA (=Next-Level
Aggregation) nätverk (224).
En NLA router i sin tur kan kan allokera
65536 (216)nätverk på SLA-nivå
(=Site-Level Aggregation). Då har ännu varje Site-enhet möjlighet att välja
bland 18 miljoner biljoner (264) möjliga noder.
Adresseringsutdelningen skulle vara global, så att de första bitarna visar
att IP paketet skall t.ex till Europa och paketet skickas till en router i
Europa. Där börjar routern analysera följande bitar och märker att paketet
skall till Sverige. Där upptäcks att paketet skall till Swipnets nät och först
där ser man vilken nod det var fråga om.
Denna topologi skulle leda till mindre ruttvalstabeller, vilket också var
ett problem i IPv4.
Ipv6-adresser
kommer inte att skrivas med decimala tal utan hexadecimalt i grupper om åtta.
Ex. på två
adresser:
FEDC : BA98 : 7654 :
3210 : FEDC : BA98 : 7654 : 3210
FE80 : 0000 : 0000 :
0000 : 0200 : F8FF : FE22 : 26C8
1. De flesta är överens om att den första åtgärden som krävs är att man byter ut sin domänserver (DNS) och ger den möjlighet att hantera IPv6-adressering.
2. Nästa steg är att uppgradera sitt routernät till att kunna hantera såväl IPv4 som IPv6.
3.
Det tredje
steget är att utrusta alla datorer i nätet med möjlighet att kommunicera via
IPv6. Detta ligger en bit framåt i tiden.
För att få
tillgång till alla nya funktioner hos IPv6 krävs alltså en total övergång till
det nya protokollet.