Sunteți pe pagina 1din 66

Universitatea Politehnica Bucureti - Facultatea de Automatic i Calculatoare

Nivelul reea

09.03.2015

Protocoale de comunicaie

Universitatea Politehnica Bucureti - Facultatea de Automatic i Calculatoare

Principiul comunicrii n Internet


Inspirat din sistemul clasic potal.
Drumul ntre utilizatorii A i B
trece prin ruterele
IMP3, IMP7, IMP6.

09.03.2015

Protocoale de comunicaie

Universitatea Politehnica Bucureti - Facultatea de Automatic i Calculatoare

Reele
Modelul unei reele:

Nivelurile strbtute de pachete:

09.03.2015

Protocoale de comunicaie

Universitatea Politehnica Bucureti - Facultatea de Automatic i Calculatoare

Nivelul reea
Funciile nivelului reea:
dirijarea pachetelor;
adresarea;
evitarea congestionrii reelei.

Aspecte principale:
servicii:
orientate pe conexiune;
ne-orientate pe conexiune.

organizarea intern:
datagrame;
circuite virtuale.

dirijarea (politici, algoritmi).

09.03.2015

Protocoale de comunicaie

Universitatea Politehnica Bucureti - Facultatea de Automatic i Calculatoare

Organizarea intern datagrame

Folosit de
pachetele
1, 2 i 3

09.03.2015

Folosit de
pachetul 4

Protocoale de comunicaie

Universitatea Politehnica Bucureti - Facultatea de Automatic i Calculatoare

Organizarea intern circuit virtual

09.03.2015

Protocoale de comunicaie

Universitatea Politehnica Bucureti - Facultatea de Automatic i Calculatoare

Clasificarea algoritmilor de dirijare


Fr tabele de dirijare:

Cu tabele de dirijare alte


criterii:

inundarea
hot potato

criterii de dirijare:
calea cea mai scurt;
ntrzierea medie global;
folosirea eficient a
resurselor;
echitabilitatea.

Cu tabele de dirijare criterii


diverse:
adaptarea la condiiile de
trafic:
static;
dinamic.

locul unde se fac calculele:


descentralizat;
centralizat;
distribuit.

09.03.2015

informaii schimbate ntre


noduri:
starea legturii;
vectorul distanelor;

tipul reelei.

Protocoale de comunicaie

Universitatea Politehnica Bucureti - Facultatea de Automatic i Calculatoare

Algoritmi de dirijare Calea cea mai scurt


Algoritmul lui Dijkstra:
nnod: mulimea nodurilor reelei;
sursa: nodul surs;
l[i][j]: costul legturii (i,j), avnd valorile:
0 dac i = j;
lungmax dac i i j nu sunt adiacente;
o valoare ntre 0 i lungmax n celelalte cazuri;

D[i]: costul minim al legturii de la surs la i;


S: mulimea nodurilor deja selectate;
V: tabloul de dirijare:
V[i] = vecinul prin care se transmit date de la nodul curent la nodul i.

09.03.2015

Protocoale de comunicaie

Universitatea Politehnica Bucureti - Facultatea de Automatic i Calculatoare

Algoritmul lui Dijkstra


void Dijkstra (int sursa)
{
int i, j, k;
for (i=1; i <= nnod; i++)
{
S[i] = 0;
// nod neselectat
D[i] = l[sursa][i];
// distantele minime de la sursa
if (D[i] < lungmax)
V[i] = i;
// initializeaza vecinii
else
V[i] = 0;
}
S[sursa] = 1;
// selecteaza nodul sursa
D[sursa] = 0;
for ( i=1; i < nnod; i++)
{
// gaseste nodul k neselectat cu D[k] minim;
S[k] = 1;
for (j=1; j <= nnod; j++)
// recalculeaza distantele
if ((S[j] == 0) && (D[k] + l[k][j] < D[j]))
{
D[j] = D[k] + l[k][j];
V[j] = V[k];
// modifica tabela de dirijare
}
}
}

09.03.2015

Protocoale de comunicaie

Universitatea Politehnica Bucureti - Facultatea de Automatic i Calculatoare

Dirijarea centralizat
Algoritmul lui Floyd:
Utilizeaz tabloul distanelor minime A:
A[i][j] distana minim de la nodul i la nodul j.

Iniial:
A[i][j] = l[i][j] pentru orice i i j.

Calculul drumurilor minime:


A[i][j]k = min (A[i][j]k-1, A[i][k]k-1 + A[k][j]k-1)

Deoarece exist relaiile


A[i][k]k = A[i][k]k-1
A[k][j]k = A[k][j]k-1
calculul se poate realiza cu o singur copie a tabloului A.

09.03.2015

Protocoale de comunicaie

10

Universitatea Politehnica Bucureti - Facultatea de Automatic i Calculatoare

Algoritmul lui Floyd


void Floyd()
{
int i, j, k;
for (i=1; i <= nnod; i++)
for (j=1; j <= nnod; j++)
{
A[i][j] = l[i][j];
if ( A[i][j] < lungmax)
V[i][j] = j;
}
for (k=1; k <= nnod; k++)
for ( i=1; i <= nnod; i++)
for ( j=1; j <= nnod; j++)
if (A[i][j] > A[i][k] + A[k][j])
{
A[i][j] = A[i][k] + A[k][j];
V[i][j] = V[i][k];
}
}
09.03.2015

Protocoale de comunicaie

11

Universitatea Politehnica Bucureti - Facultatea de Automatic i Calculatoare

Dirijarea distribuit (starea legturilor)


C tabloul distanelor:
C[d][v] este lungimea (sau costul) drumului de la nodul curent la
nodul destinatar d, prin nodul vecin v.

D tabloul distanelor minime:


D[d] este lungimea drumului minim de la nodul curent la nodul
destinatar d.

V tabloul de dirijare:
V[d] este nodul vecin prin care se transmit datele, pe drumul minim,
spre destinatarul d.

Evenimente tratate:
adugarea unei noi legturi;
sesizarea modificrii lungimii unei linii;
primirea unui mesaj de control de la un nod vecin.

09.03.2015

Protocoale de comunicaie

12

Universitatea Politehnica Bucureti - Facultatea de Automatic i Calculatoare

Structuri de date pentru nodul crt


C

vecini

D[d]

V[d]

Destinatar
d

C[d][v]
09.03.2015

Protocoale de comunicaie

13

Universitatea Politehnica Bucureti - Facultatea de Automatic i Calculatoare

Adaug legtura crt-m


vecini
m

D[d]

V[d]

D[m]

V[m]

Destinatar

C[m][m]
09.03.2015

Protocoale de comunicaie

14

Universitatea Politehnica Bucureti - Facultatea de Automatic i Calculatoare

Adaug legtura crt-m


/* adauga legatura (crt,m), crt = nodul curent*/
void adauga_legatura (int m)
{
C[m][m] = l[crt][m];
calculeaza p pentru care C[m][p]=min C[m][w], dupa w;
V[m]=p;
if (C[m][p] != D[m])
{
D[m] = C[m][p];
transmite mesaj (crt,m,D[m]) tuturor vecinilor;
}
transmite mesajele (crt,a,D[a]),...,(crt,z,D[z]) nodului m
}

09.03.2015

Protocoale de comunicaie

15

Universitatea Politehnica Bucureti - Facultatea de Automatic i Calculatoare

Schimb cost crt-m cu delta_crt_m


C

vecini
m

D[d]

V[d]

Destinatar
d

C[d][m] se modific pentru toate d


09.03.2015

Protocoale de comunicaie

16

Universitatea Politehnica Bucureti - Facultatea de Automatic i Calculatoare

Schimb cost crt-m cu delta_crt_m


void schimba_cost (int m, int delta_crt_m)
{
for (toate destinatiile d)
{ C[d][m] += delta_crt_m;
calculeaza p a.i. C[d][p]=min C[d][w], dupa w;
V[d] = p;
if (C[d][p] != D[d])
{
D[d] = C[d][p];
transmite mesaj (crt,d,D[d]) tuturor vecinilor;
}
}
}
m

+delta
d
crt
09.03.2015

Protocoale de comunicaie

17

Universitatea Politehnica Bucureti - Facultatea de Automatic i Calculatoare

Schimb cost crt-m cu delta_crt_m


void receptie_mesaj (int s, int d, int cost_s_d)
{
if (d != crt)
{ C[d][s] = cost_s_d + l[s][crt];
calc p a.i. C[d][p] = min C[d][w], dupa w;
V[d] = p;
if (C[d][p] != D[d])
{D[d] = C[d][p];
transmite mesaj (crt,d,D[d]) tuturor vecinilor;
}
}
}

cost_s_d

l[s][crt]

d
crt
09.03.2015

Protocoale de comunicaie

18

Universitatea Politehnica Bucureti - Facultatea de Automatic i Calculatoare

Starea legturilor variant


Operaii executate de fiecare ruter:
Descoper vecinii i afl adresele de reea (pachet HELLO).
Determin costul la fiecare vecin (pachet ECHO).
Alctuiete un pachet cu informaiile culese:

identitatea expeditorului.
numr de secven.
vrsta.
list de <vecin, cost legatura>.

Transmite pachetul tuturor ruterelor (inundare).


Calculeaz cea mai scurt cale la fiecare ruter (Dijkstra).

09.03.2015

Protocoale de comunicaie

19

Universitatea Politehnica Bucureti - Facultatea de Automatic i Calculatoare

Dirijare folosind vectorul distanelor


Urmtorii vectori au fost primii de nodul C (lista include
distanele la nodurile A, B, C, D, E, F, n aceast ordine):
De la B: (5, 0, 8, 12, 6, 2) ;
De la D: (16, 12, 6, 0, 9, 10);
De la E: (7, 6, 3, 9, 0, 4).

Intrzierea msurat de la C la B, D si E este 6, 3 i 5 respectiv.

09.03.2015

Protocoale de comunicaie

20

Universitatea Politehnica Bucureti - Facultatea de Automatic i Calculatoare

Dirijare folosind vectorul distanelor


De la B

La
A

16

12

12

10

De la C

Prin B

Cost
min

La

Pas
urmtor

5+6

16 + 3

7+5

11

0+6

12 + 3

6+5

12 + 6

0+3

9+5

6+6

9+3

0+5

2+6

10 + 3

4+5

09.03.2015

Protocoale de comunicaie

21

Universitatea Politehnica Bucureti - Facultatea de Automatic i Calculatoare

Problema numrrii la infinit


Toate legturile au cost 1, exceptnd (C,D) cu cost 10
Costurile la int sunt:

D: direct conectat, cost 1


B: ruta prin D, cost 2
C: ruta prin B, cost 3
A: ruta prin B, cost 3

Legtura (B,D) cade!!!

B
C
D
int

timp ------------------------------------------------------>
D: dir, 1
dir, 1 dir, 1 dir, 1 ... dir, 1
dir, 1
B: unreach C,
4 C,
5 C,
6
C, 11
C, 12
C: B,
3
A,
4 A,
5 A,
6
A, 11
D, 11
A: B,
3
C,
4 C,
5 C,
6
C, 11
C, 12

Cauza: C alege ruta prin A i A alege ruta prin C.


n ultimul pas, C gsete o cale mai ieftin prin D i problema se
rezolv.
Pentru reele deconectate, numrarea continu la infinit.
09.03.2015

Protocoale de comunicaie

22

Universitatea Politehnica Bucureti - Facultatea de Automatic i Calculatoare

Soluii
Adoptate n RIP Routing Information Protocol
"simple split horizon" omite rutele nvate de la un vecin n
actualizrile timise acestuia
"split horizon with poisoned reverse" include astfel de rute dar pune
un cost infinit.

Ideea: n mesajul su ctre C, A trebuie s informeze c D nu


mai este tangibil
D:
B:
C:
A:

dir, 1
unreach
B,
3
B,
3

dir, 1
unreach
D, 11
unreach

dir, 1
C, 12
D, 11
C, 12

Protocoale care folosesc split horizon:

C
D

RIP, Routing Information Protocol;


IGRP, Interior Gateway Routing Protocol;
EIGRP, Enhanced Interior Gateway Routing Protocol.
09.03.2015

Protocoale de comunicaie

int

23

Universitatea Politehnica Bucureti - Facultatea de Automatic i Calculatoare

Dirijare ierarhic

Reducere numr intrri: 17 -> 7.


Penalizare la destinaia 5C.

09.03.2015

Protocoale de comunicaie

24

Universitatea Politehnica Bucureti - Facultatea de Automatic i Calculatoare

Difuzare i multicast
Punct la punct Trimite un pachet fiecrei destinaii.
Inundarea:
Genereaz prea multe pachete.
Copiile sunt distruse.

Dirijarea multidestinaie:
Pachetul conine lista adreselor de destinaie.

Arbore de acoperire. <1,2,3,4,5,6>


0

2
<2,3,4>
3

<5,6>

<2>
<4>

<6>
6
09.03.2015

Protocoale de comunicaie

25

Universitatea Politehnica Bucureti - Facultatea de Automatic i Calculatoare

Difuzare urmrirea cii inverse


Calea preferat ntre nodurile I i X este cea pe care X trimite
pachete lui I.
Cnd un pachet ajunge la un ruter:
Verific n tabela sa de dirijare dac a sosit pe calea preferat
este trimis pe toate celelalte linii dac da.
este distrus, altfel.

Figura:
(a) O subreea
(b) un arbore de acoperire pentru nodul I
(c) un arbore construit prin algoritmul cilor inverse

09.03.2015

Protocoale de comunicaie

26

Universitatea Politehnica Bucureti - Facultatea de Automatic i Calculatoare

Dirijarea pentru gazde mobile


Funcionare:
Gazda mobil cere s se nregistreze cu un agent strin (d adresa
de acas).
Agentul strin contacteaz agentul de acas (transmite adresa
strin + info securitate).
Agentul de acas valideaz.
Agentul strin nregistreaz gazda mobil i o informeaz.

09.03.2015

Protocoale de comunicaie

27

Universitatea Politehnica Bucureti - Facultatea de Automatic i Calculatoare

Dirijarea n reele ad hoc


AODV (Ad hoc On demand Distance Vector) determin ruta la cerere:
Reea ad hoc = graf.
Muchie = conexiune nodurile pot comunica direct (radio).

Fiecare nod = ruter + gazd


Fiecare nod conine:
Tabela dirijare:

Destinaie;
Pas urmtor;
Distan;
Numr secven destinaie;
Altele.

Tabela history:
Identitile cererilor precedente.

Tabela reverse route:


Calea spre sursa unui pachet de cerere.
09.03.2015

Protocoale de comunicaie

28

Universitatea Politehnica Bucureti - Facultatea de Automatic i Calculatoare

Cum funcioneaz?
Exemplu: A vrea sa comunice cu I care nu e n tabela sa ->
trebuie s descopere ruta.

09.03.2015

Protocoale de comunicaie

29

Universitatea Politehnica Bucureti - Facultatea de Automatic i Calculatoare

Pachete ROUTE REQUEST


A difuzeaz un pachet ROUTE REQUEST
Identificat unic prin Source address + Request ID
Folosete Sequence # pentru a deosebi rutele noi de cele vechi

Prelucrarea ROUTE REQUEST n fiecare nod:


Verific duplicat n tabela history local (Source address + Request
ID);
Transmite ROUTE REPLY dac gsit ruta nou, adic:
Dest sequence # n routing table > Dest sequence # n packet

Altfel,
Incrementeaz Hop count i re-difuzeaz ROUTE REQUEST.
Memoreaz informaia n reverse route table.

Source sequence # folosit pentru actualizare tabel dirijare local.

09.03.2015

Protocoale de comunicaie

30

Universitatea Politehnica Bucureti - Facultatea de Automatic i Calculatoare

Pachete ROUTE REPLY


I construiete ROUTE REPLY i-l trimite pe legtura invers:
Source address, dest address, hop count sunt copiate;
Destination sequence # luat din contorul propriu;
Lifetime = ct timp rmne valid,

Prelucrarea la alte noduri:


Actualizeaz tabela dirijare local;
Transmite pe legtura invers;
Trece prin anumite noduri celelalte terg intrarea n reverse route
table.

09.03.2015

Protocoale de comunicaie

31

Universitatea Politehnica Bucureti - Facultatea de Automatic i Calculatoare

Intreinerea rutelor
G cade (se defecteaz, se oprete).
D descoper (se folosesc mesaje Hello periodice).
D afl c G a fost utilizat pe rute ctre E, G i I.
D anun vecinii activi (active neighbors) care folosesc G, anume
{A, B}.
D golete intrrile pentru E, G i I din tabela de rutare.

09.03.2015

Protocoale de comunicaie

32

Universitatea Politehnica Bucureti - Facultatea de Automatic i Calculatoare

Protocolul IPv4
Cmpuri:

Cmpuri:

SERVICE TYPE =
precedence (3), delay,
throughput, reliability, cost.
TYPE = protocol (TCP, UDP,
etc.).
IDENTIFICATION datagrama
de care aparine fragmentul.

09.03.2015

FLAGS:
DF = Dont Fragment
MF = More Fragments

Opiuni:

Protocoale de comunicaie

Security.
Strict source routing.
Loose source routing.
Record route.
Timestamp.

33

Universitatea Politehnica Bucureti - Facultatea de Automatic i Calculatoare

Adrese IP

C las e d e ad re s e
E (1 / 16)
D (1 / 16)

C (1 / 8)

A (1 / 2)

B (1 / 4)

09.03.2015

Protocoale de comunicaie

34

Universitatea Politehnica Bucureti - Facultatea de Automatic i Calculatoare

Adrese speciale
Prefix
Toi 0
Network
Network
Toi 1
127

Sufix
Toi 0
Toi 0
Toi 1
Toi 1
Orice

Adrese
0.0.0.0 - 0.255.255.255
10.0.0.0 - 10.255.255.255
127.0.0.0 - 127.255.255.255
169.254.0.0 - 169.254.255.255
172.16.0.0 - 172.31.255.255
192.0.2.0 - 192.0.2.255
192.88.99.0 - 192.88.99.255
192.168.0.0 - 192.168.255.255
198.18.0.0 - 198.19.255.255
224.0.0.0 - 239.255.255.255
240.0.0.0 - 255.255.255.255
09.03.2015

Tip adres
Acest calculator
Network
Broadcast
Broadcast
Loopback

Scop
Bootstrap
Identificare reea
Broadcast n reeaua specificat
Broadcast n reeaua local
Testare

Scop
Adrese zero
Adrese private (locale)
Localhost
Zeroconf
Adrese private (locale)
Documentaie, exemple
Ipv6
Adrese private (locale)
Benchmark
Multicast
Rezervate
Protocoale de comunicaie

RFC
RFC 1700
RFC 1918
RFC 1700
RFC 3330
RFC 1918
RFC 3330
RFC 3068
RFC 1918
RFC 2544
RFC 3171
RFC 1700

Clasa
A
A
A
B
B
C
C
C
C
D
E

Numr adrese
16 777 216
16 777 216
16 777 216
65 536
1 048 576
256
256
65 536
131 072
268 435 456
268 435 456
35

Universitatea Politehnica Bucureti - Facultatea de Automatic i Calculatoare

Reprezentare pe bii
Clasa A
0. 0. 0. 0 = 00000000.00000000.00000000.00000000
127.255.255.255 = 01111111.11111111.11111111.11111111
0nnnnnnn.HHHHHHHH.HHHHHHHH.HHHHHHHH
Clasa B
128. 0. 0. 0 = 10000000.00000000.00000000.00000000
191.255.255.255 = 10111111.11111111.11111111.11111111
10nnnnnn.nnnnnnnn.HHHHHHHH.HHHHHHHH
Clasa C
192. 0. 0. 0 = 11000000.00000000.00000000.00000000
223.255.255.255 = 11011111.11111111.11111111.11111111
110nnnnn.nnnnnnnn.nnnnnnnn.HHHHHHHH
Clasa D
224. 0. 0. 0 = 11100000.00000000.00000000.00000000
239.255.255.255 = 11101111.11111111.11111111.11111111
1110XXXX.XXXXXXXX.XXXXXXXX.XXXXXXXX
Clasa E
240. 0. 0. 0 = 11110000.00000000.00000000.00000000
255.255.255.255 = 11111111.11111111.11111111.11111111
1111XXXX.XXXXXXXX.XXXXXXXX.XXXXXXXX

09.03.2015

Protocoale de comunicaie

36

Universitatea Politehnica Bucureti - Facultatea de Automatic i Calculatoare

Algoritm de rutare IP
Tabela rutare tipuri intrri:
<network, 0>: pentru reele distante
<this-network, host>: pentru gazde locale

Tabele rutare separate pentru diferite clase de adrese


Cutare prin: indexare (A i B) sau hashing (C)
Algoritm rutare:
Extrage adresa destinatiei DADR din datagrama
Calculeaza adresa de retea a destinatiei NADR
if NADR apartine unei retele direct conectate
transmite datagrama gazdei de destinatie intr-un frame
else
if DADR apare in tabela dirijare
ruteaza datagrama conform tabelei
else
if NADR apare in tabela dirijare
ruteaza datagrama conform tabelei
else
ruteaza datagrama la un ruter implicit
09.03.2015

Protocoale de comunicaie

37

Universitatea Politehnica Bucureti - Facultatea de Automatic i Calculatoare

Subreele
Organizarea n subreele este invizibil n afara reelei.
Ruterul principal dirijaz pachetele spre ruterele de subreea
(cum?).
Ruterele de subreea le livreaz gazdelor.

09.03.2015

Protocoale de comunicaie

38

Universitatea Politehnica Bucureti - Facultatea de Automatic i Calculatoare

Adresarea n subreele
Exemplu: O reea de clas B imprit n 64 subreele.
Tabela de rutare are intrri suplimentare pentru:
(this-network, subnet, 0)
(this-network, this-subnet, host)

Modificare algoritm rutare:


Folosete masca de subreea pentru a separa reea+subreea i
gazd.
Dirijeaz spre subreea (subnet).
Doar n subreeaua curent dirijeaz direct ctre gazd (host).

Elimin limitrile schemei de adresare bazat pe clase.

09.03.2015

Protocoale de comunicaie

39

Universitatea Politehnica Bucureti - Facultatea de Automatic i Calculatoare

CIDR Classless InterDomain Routing


Ideea: aloc spaiul de adrese IP n blocuri de lungimi diferite.
Notaia CIDR 194.24.0.0/21 => din cei 32 de bii ai adresei:
reea+subreea = 21 bii.
gazd = 11 bii.

Exemplu:
Adres
Masc
C: 11000010 00011000 00000000 00000000
11111111 11111111 11111000 00000000
E: 11000010 00011000 00001000 00000000
11111111 11111111 11111100 00000000
O: 11000010 00011000 00010000 00000000
11111111 11111111 11110000 00000000

Alocare adrese: zona de adrese pentru Oxford incepe la o frontier


de 4096 octei.
Algoritm rutare:
(Adresa IP AND masca) comparat cu primul cmp al fiecrei intrri;
La mai multe coincidene se alege masca cea mai lung.

09.03.2015

Protocoale de comunicaie

40

Universitatea Politehnica Bucureti - Facultatea de Automatic i Calculatoare

CIDR Classless InterDomain Routing


Sosete pachet cu adresa 194.24.17.4:
11000010 00011000 00010001 00000100

I logic cu masca de la Cambridge:


11000010 00011000 00010000 00000000 -> nepotrivire

I logic cu masca de la Edinburgh:


11000010 00011000 00010000 00000000 > nepotrivire

I logic cu masca de la Oxford:


11000010 00011000 00010001 00000000 -> potrivire

Dac nu sunt alte potriviri -> folosete intrarea pentru Oxford.

09.03.2015

Protocoale de comunicaie

41

Universitatea Politehnica Bucureti - Facultatea de Automatic i Calculatoare

CIDR Classless InterDomain Routing


Reducere dimensiune tabel: agregarea intrrilor pentru o
aceeai linie de ieire
Adres
C: 11000010 00011000 00000000 00000000
E: 11000010 00011000 00001000 00000000
O: 11000010 00011000 00010000 00000000

Masc
11111111 11111111 11111000 00000000
11111111 11111111 11111100 00000000
11111111 11111111 11110000 00000000

Intrare agregat:
Adres
11000010 00011000 00000000 00000000

Masc
11111111 11111111 11100000 00000000

Corespunde cu 194.24.0.0/19
Pentru toate adresele din C, E, O, ruterul trimite pe aceeai
interfa.

09.03.2015

Protocoale de comunicaie

42

Universitatea Politehnica Bucureti - Facultatea de Automatic i Calculatoare

CIDR Classless InterDomain Routing


Clasa
A: 0
B: 10
C: 110
D: 1110
E: 11110

CIDR
/8
/16
/24
/4
/4

Adrese
0.0.0.0 - 0.255.255.255
10.0.0.0 - 10.255.255.255
127.0.0.0 - 127.255.255.255
169.254.0.0 - 169.254.255.255
172.16.0.0 - 172.31.255.255
192.0.2.0 - 192.0.2.255
192.88.99.0 - 192.88.99.255
192.168.0.0 - 192.168.255.255
198.18.0.0 - 198.19.255.255
224.0.0.0 - 239.255.255.255
240.0.0.0 - 255.255.255.255
09.03.2015

Protocoale de comunicaie

Notaia CIDR
0.0.0.0/8
10.0.0.0/8
127.0.0.0/8
169.254.0.0/16
172.16.0.0/12
192.0.2.0/24
192.88.99.0/24
192.168.0.0/16
198.18.0.0/15
224.0.0.0/4
240.0.0.0/4
43

Universitatea Politehnica Bucureti - Facultatea de Automatic i Calculatoare

NAT Network Address Translation


O adres = mai multe calculatoare.
Folosete adrese locale (private sau non-rutabile) pentru o
adres global.
NAT translateaz ntre adresa privat i adresa global.

09.03.2015

Protocoale de comunicaie

44

Universitatea Politehnica Bucureti - Facultatea de Automatic i Calculatoare

Principiul NAT
Folosete:
adresa IP + numr port.
tabela de translatare.

Transmisie:

nlocuiete adresa IP local cu o adres IP global;


memoreaz (in tabela de translatare) corespondena i numr port;
inlocuiete numr port cu index n tabela translatare;
re-compune sumele de control IP i TCP.

Recepie:

09.03.2015

obine numr port din pachet (index n tabela translatare);


extrage adresa IP local i numr port;
nlocuiete adresa IP i numr port din pachet;
re-calculeaz sumele de control IP i TCP.

Protocoale de comunicaie

45

Universitatea Politehnica Bucureti - Facultatea de Automatic i Calculatoare

Protocoale de control n Internet


Rezolvarea adreselor:
Mapare adresa de protocol i adresa hardware.
Tehnici:
tabele de coresponden.
formule de calcul.
schimb de mesaje.

Address Resolution Protocol:


livrare mesaj ARP

09.03.2015

Protocoale de comunicaie

46

Universitatea Politehnica Bucureti - Facultatea de Automatic i Calculatoare

ICMP Internet Control Message Protocol


ICMP folosete IP pentru transmisie <=> IP folosete ICMP
pentru raportare de erori.
Test accesibilitate (ping trimite ICMP Echo i ateapt un timp
rspunsul).
Trasare (descoperire) rut (traceroute trimite serie de datagrame
cu valori TIME TO LIVE cresctoare i primete mesaje ICMP
Time exceeded din care extrage adresa ruterului).

09.03.2015

Protocoale de comunicaie

47

Universitatea Politehnica Bucureti - Facultatea de Automatic i Calculatoare

Uniti de date
MTU Maximum Transmission Unit:
Fragmentarea:

Reasamblarea:

09.03.2015

Protocoale de comunicaie

48

Universitatea Politehnica Bucureti - Facultatea de Automatic i Calculatoare

Folosire ICMP pentru aflare path MTU


Path MTU = MTU minim pentru o cale.
Folosete mesaj eroare ICMP = fragmentare cerut dar
nepermis.
Sursa trimite probe cu DF n datagrama IP.
Dac datagrama > MTU => sursa primete eroare ICMP.
Sursa trimite probe mai scurte.

09.03.2015

Protocoale de comunicaie

49

Universitatea Politehnica Bucureti - Facultatea de Automatic i Calculatoare

Dirijarea n Internet
Internet = numr mare de Autonomous Systems.
Dou tipuri de protocoale de dirijare:
IGP Interior Gateway Protocols (n AS).
RIP Routing Information Protocol (Distance vector).
OSPF Open Shortest Path First (Link state).

EGP Exterior Gateway Protocols (intre ASs).


BGP Border Gateway Protocol.

09.03.2015

Protocoale de comunicaie

50

Universitatea Politehnica Bucureti - Facultatea de Automatic i Calculatoare

OSPF Open Shortest Path First


Suport:
Linii punct la punct ntre dou rutere.
LANs.
WANs.

Modelul de graf:

09.03.2015

Protocoale de comunicaie

51

Universitatea Politehnica Bucureti - Facultatea de Automatic i Calculatoare

OSPF
Fiecare AS are mai multe
zone
Tipuri de rutere:

interne
de coloan vertebral
de grani zonal
de grani AS

OSPF folosete schimb de


informaii ntre rutere
adiacente
In LAN, un ruter desemnat
este adiacent cu toate
celelalte

09.03.2015

Protocoale de comunicaie

52

Universitatea Politehnica Bucureti - Facultatea de Automatic i Calculatoare

Calcul rute
Nivel 1 (zona)
Fiecare ruter din zon calculeaz separat cile cele mai scurte pe
baza informaiilor de la celelalte.
Mesaje OSPF:
Hello descoper vecinii.
Actualizare stare legtur furnizeaz costul unei legturi + nr secv
(mai multe costuri intr-un pachet).
Confirmare stare legtur confirm primirea.
Descriere baz de date furnizeaz toate costurile (vecin nou).
Cerere stare legtur cere info de actualizare.

Nivel 2 (AS)
Ruterele backbone:

accept info de la area border routers.


calculateaza cele mai bune rute intre orice ruter backbone i celelalte
rutere.
propag info napoi la area border routers.

Area border routers avertizeaz ruterele din zon.


Fiecare ruter selecteaz cea mai bun ieire spre backbone.

09.03.2015

Protocoale de comunicaie

53

Universitatea Politehnica Bucureti - Facultatea de Automatic i Calculatoare

BGP Border Gateway Protocol


Algoritmi orientai pe aspectele politice, de securitate,
economice.
Reea = ASs i conexiunile.
Protocol = vectorul distanelor.
Tabelele de dirijare conin i rutele spre destinaie.
Comunic vecinilor cile utilizate efectiv.

09.03.2015

Protocoale de comunicaie

54

Universitatea Politehnica Bucureti - Facultatea de Automatic i Calculatoare

IPv6
Motivaii:
Spaiul de adrese
32 bii = peste un milion de reele
Dar...multe sunt Clasa C, prea mici pentru multe organizaii
214 adrese de reea Clasa B, multe folosite

Tip servicii
Aplicaii diferite au cerine diferite de livrare, siguran i vitez
IPv4 are tip de serviciu dar adesea nu este implementat

Caracterizare:

09.03.2015

format antet
antete extensii
support audio i video
protocol extensibil
spaiu adresa
multicast
Protocoale de comunicaie

55

Universitatea Politehnica Bucureti - Facultatea de Automatic i Calculatoare

IPv6 format datagram


IPv6 format Base header
Base header:
lungime fix = 40 octei.
Prioritate - clasa de trafic.
FLOW LABEL - asociaz
datagramele unui flux.
Diferene circuit virtual:
dou fluxuri cu aceeai
etichet se difereniaz prin
adresa surs + adresa
destinaie.
aceeai pereche surs +
destinaie poate avea mai
multe fluxuri.

09.03.2015

Protocoale de comunicaie

56

Universitatea Politehnica Bucureti - Facultatea de Automatic i Calculatoare

IPv6 format datagram


Conine mai puine informaii dect antetul IPv4:
Restul de informaii n extensii.
NEXT HEADER definete tipul datelor (ex. TCP).
NEXT HEADER definete tipul antetului de extensie (ex. route
header).

09.03.2015

Protocoale de comunicaie

57

Universitatea Politehnica Bucureti - Facultatea de Automatic i Calculatoare

IPv6 antete extensie


Hop-by-hop options info pentru rutere;
suport datagrame excednd 64K (jumbograme).

Destination options info adiionale pentru destinaie;


nefolosit.

Routing lista rutere de vizitat.


Fragmentation identificare fragmente.
Authentication verificare identitate transmitor.
Encrypted security payload informaii despre coninut criptat.

09.03.2015

Protocoale de comunicaie

58

Universitatea Politehnica Bucureti - Facultatea de Automatic i Calculatoare

Fragmentarea

09.03.2015

Protocoale de comunicaie

59

Universitatea Politehnica Bucureti - Facultatea de Automatic i Calculatoare

Fragmentarea
Fragmentarea IPv6 are loc la surs
Ruterele ignor datagramele mai lungi dect MTU

Sursa:
Fragmenteaz pachetele
Descoper path MTU

Caracter dinamic
calea se poate schimba.

Eficiena antetul nu are spaiu pierdut.


Flexibilitate noi antete pentru noi caracteristici.
Dezvoltare incremental ruterele care trateaz anumite antete
coexist cu altele care le ignor.

09.03.2015

Protocoale de comunicaie

60

Universitatea Politehnica Bucureti - Facultatea de Automatic i Calculatoare

Adresarea
Adrese de 128 bii
Includ prefix reea i suffix gazd.

Fr clase de adres limita prefix/suffix oriunde.


Tipuri speciale de adrese:
unicast;
multicast;
cluster colecie de calculatoare cu acelai prefix; datagrama
livrat unuia din ele (permite duplicare servicii).

16 numere
105.220.136.100.255.255.255.255.0.0.18.128.140.10.255.255

Notaie hexazecimal
69DC:8864:FFFF:FFFF:0:1280:8C0A:FFFF

Compresie zerouri
FF0C:0:0:0:0:0:0:B1

==> FF0C::B1

Adrese IPv6 cu 96 zerouri prefix sunt interpretate ca adrese IPv4


09.03.2015

Protocoale de comunicaie

61

Universitatea Politehnica Bucureti - Facultatea de Automatic i Calculatoare

IPv4-IPv6 Co-Existence / Transition


(1) dual-stack techniques, to allow IPv4 and IPv6 to
co-exist in the same devices and networks
(2) tunneling techniques, to avoid order dependencies
when upgrading hosts, routers, or regions
(3) translation techniques, to allow IPv6-only devices
to communicate with IPv4-only devices

09.03.2015

Protocoale de comunicaie

62

Universitatea Politehnica Bucureti - Facultatea de Automatic i Calculatoare

Internetul peste IPv4

Private v4
Addresses

Public v4
Addresses

NAT

Public v4 Addresses

NAT

NAT

Private v4
Addresses

Private v4
Addresses
63
09.03.2015

Protocoale de comunicaie

Universitatea Politehnica Bucureti - Facultatea de Automatic i Calculatoare

Introducerea IPv6 (Vedere Simplificata)

Public v6
Addresses

Public v4
Addresses

NAT

Public v4 Addresses

NAT

NAT

Public v6
Addresses

Private v4
Addresses
64
09.03.2015

Protocoale de comunicaie

Universitatea Politehnica Bucureti - Facultatea de Automatic i Calculatoare

Extinderea IPv6 (Vedere Simplificata)

Public v6
Addresses
Public v4
Addresses

Public v6
Addresses

NAT

Public v4 Addresses

NAT

NAT

Public v6
Addresses

NAT

Private v4
Addresses

Public v6
Addresses
65
09.03.2015

Protocoale de comunicaie

Public v6
Addresses

Universitatea Politehnica Bucureti - Facultatea de Automatic i Calculatoare

Sumar
Protocolul IPv4:

Funciile nivelului reea.

Organizarea intern:
datagrame;
circuit virtual.

Clasificarea algoritmilor:

calea cea mai scurt;


centralizat;
distribuit (starea legturilor);
vectorul distanelor;
ierarhic;
difuzare i multicast.

adrese IPv4
dirijare IP
CIDR Classless InterDomain Routing
NAT Network Address Translation

Protocoale de control n
Internet
ARP Address Resolution Protocol.
ICMP Internet Control Message
Protocol.

OSPF Open Shortest Path First.


BGP Border Gateway Protocol.

Dirijarea pentru gazde mobile. Protocolul IPv6:


Dirijarea n reele ad hoc.
09.03.2015

antete extensie;
fragmentare.
adrese IPv6.

Protocoale de comunicaie

66

S-ar putea să vă placă și