05_nivelulretea
DESCRIPTION
Nivelul ReteaTRANSCRIPT
-
Universitatea Politehnica Bucureti - Facultatea de Automatic i Calculatoare
09.03.2015 Protocoale de comunicaie 1
Nivelul reea
-
Universitatea Politehnica Bucureti - Facultatea de Automatic i Calculatoare
09.03.2015 Protocoale de comunicaie 2
Principiul comunicrii n Internet
Inspirat din sistemul clasic potal. Drumul ntre utilizatorii A i B
trece prin ruterele IMP3, IMP7, IMP6.
-
Universitatea Politehnica Bucureti - Facultatea de Automatic i Calculatoare
09.03.2015 Protocoale de comunicaie 3
Reele
Modelul unei reele: Nivelurile strbtute de pachete:
-
Universitatea Politehnica Bucureti - Facultatea de Automatic i Calculatoare
09.03.2015 Protocoale de comunicaie 4
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).
-
Universitatea Politehnica Bucureti - Facultatea de Automatic i Calculatoare
09.03.2015 Protocoale de comunicaie 5
Organizarea intern datagrame
Folosit de pachetele 1, 2 i 3
Folosit de pachetul 4
-
Universitatea Politehnica Bucureti - Facultatea de Automatic i Calculatoare
09.03.2015 Protocoale de comunicaie 6
Organizarea intern circuit virtual
-
Universitatea Politehnica Bucureti - Facultatea de Automatic i Calculatoare
09.03.2015 Protocoale de comunicaie 7
Clasificarea algoritmilor de dirijare
Fr tabele de dirijare: inundarea hot potato
Cu tabele de dirijare criterii diverse:
adaptarea la condiiile de trafic:
static; dinamic.
locul unde se fac calculele: descentralizat; centralizat; distribuit.
Cu tabele de dirijare alte criterii:
criterii de dirijare: calea cea mai scurt; ntrzierea medie global; folosirea eficient a
resurselor; echitabilitatea.
informaii schimbate ntre noduri:
starea legturii; vectorul distanelor;
tipul reelei.
-
Universitatea Politehnica Bucureti - Facultatea de Automatic i Calculatoare
09.03.2015 Protocoale de comunicaie 8
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.
-
Universitatea Politehnica Bucureti - Facultatea de Automatic i Calculatoare
09.03.2015 Protocoale de comunicaie 9
Algoritmul lui Dijkstra void Dijkstra (int sursa) { int i, j, k; for (i=1; i
-
Universitatea Politehnica Bucureti - Facultatea de Automatic i Calculatoare
09.03.2015 Protocoale de comunicaie 10
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.
-
Universitatea Politehnica Bucureti - Facultatea de Automatic i Calculatoare
09.03.2015 Protocoale de comunicaie 11
Algoritmul lui Floyd void Floyd() { int i, j, k; for (i=1; i
-
Universitatea Politehnica Bucureti - Facultatea de Automatic i Calculatoare
09.03.2015 Protocoale de comunicaie 12
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.
-
Universitatea Politehnica Bucureti - Facultatea de Automatic i Calculatoare
09.03.2015 Protocoale de comunicaie 13
Structuri de date pentru nodul crt
D[d]
V[d]
C D V
Destinatar
vecini
d
v
C[d][v]
-
Universitatea Politehnica Bucureti - Facultatea de Automatic i Calculatoare
09.03.2015 Protocoale de comunicaie 14
Adaug legtura crt-m
D[d] D[m]
V[d] V[m]
C D V
Destinatar
vecini
d
v
C[m][m]
m
m
-
Universitatea Politehnica Bucureti - Facultatea de Automatic i Calculatoare
09.03.2015 Protocoale de comunicaie 15
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 }
-
Universitatea Politehnica Bucureti - Facultatea de Automatic i Calculatoare
09.03.2015 Protocoale de comunicaie 16
Schimb cost crt-m cu delta_crt_m
D[d]
V[d]
C D V
Destinatar
vecini
d
C[d][m] se modific pentru toate d
m
-
Universitatea Politehnica Bucureti - Facultatea de Automatic i Calculatoare
09.03.2015 Protocoale de comunicaie 17
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; } } }
crt
m
d +delta
-
Universitatea Politehnica Bucureti - Facultatea de Automatic i Calculatoare
09.03.2015 Protocoale de comunicaie 18
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; } } }
crt
s
d
cost_s_d l[s][crt]
-
Universitatea Politehnica Bucureti - Facultatea de Automatic i Calculatoare
09.03.2015 Protocoale de comunicaie 19
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 .
Transmite pachetul tuturor ruterelor (inundare). Calculeaz cea mai scurt cale la fiecare ruter (Dijkstra).
-
Universitatea Politehnica Bucureti - Facultatea de Automatic i Calculatoare
09.03.2015 Protocoale de comunicaie 20
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.
-
Universitatea Politehnica Bucureti - Facultatea de Automatic i Calculatoare
09.03.2015 Protocoale de comunicaie 21
Dirijare folosind vectorul distanelor
4 10 2 F 0 9 6 E 9 0 12 D 3 6 8 C 6 12 0 B 7 16 5 A
E D B De la La
B 8 4 + 5 10 + 3 2 + 6 F E 5 0 + 5 9 + 3 6 + 6 E D 3 9 + 5 0 + 3 12 + 6 D - 0 - - - C B 6 6 + 5 12 + 3 0 + 6 B B 11 7 + 5 16 + 3 5 + 6 A
Pas urmtor
Cost min
E D B De la C Prin La
-
Universitatea Politehnica Bucureti - Facultatea de Automatic i Calculatoare
09.03.2015 Protocoale de comunicaie 22
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!!! 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.
A B
C
D int
-
Universitatea Politehnica Bucureti - Facultatea de Automatic i Calculatoare
09.03.2015 Protocoale de comunicaie 23
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: dir, 1 dir, 1 dir, 1 B: unreach unreach C, 12 C: B, 3 D, 11 D, 11 A: B, 3 unreach C, 12
Protocoale care folosesc split horizon: RIP, Routing Information Protocol; IGRP, Interior Gateway Routing Protocol; EIGRP, Enhanced Interior Gateway Routing Protocol.
A B
C
D int
-
Universitatea Politehnica Bucureti - Facultatea de Automatic i Calculatoare
09.03.2015 Protocoale de comunicaie 24
Dirijare ierarhic
Reducere numr intrri: 17 -> 7. Penalizare la destinaia 5C.
-
Universitatea Politehnica Bucureti - Facultatea de Automatic i Calculatoare
09.03.2015 Protocoale de comunicaie 25
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. 0
1
5
6
4
3
2
-
Universitatea Politehnica Bucureti - Facultatea de Automatic i Calculatoare
09.03.2015 Protocoale de comunicaie 26
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
-
Universitatea Politehnica Bucureti - Facultatea de Automatic i Calculatoare
09.03.2015 Protocoale de comunicaie 27
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.
-
Universitatea Politehnica Bucureti - Facultatea de Automatic i Calculatoare
09.03.2015 Protocoale de comunicaie 28
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.
-
Universitatea Politehnica Bucureti - Facultatea de Automatic i Calculatoare
09.03.2015 Protocoale de comunicaie 29
Cum funcioneaz?
Exemplu: A vrea sa comunice cu I care nu e n tabela sa -> trebuie s descopere ruta.
-
Universitatea Politehnica Bucureti - Facultatea de Automatic i Calculatoare
09.03.2015 Protocoale de comunicaie 30
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.
-
Universitatea Politehnica Bucureti - Facultatea de Automatic i Calculatoare
09.03.2015 Protocoale de comunicaie 31
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.
-
Universitatea Politehnica Bucureti - Facultatea de Automatic i Calculatoare
09.03.2015 Protocoale de comunicaie 32
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.
G
-
Universitatea Politehnica Bucureti - Facultatea de Automatic i Calculatoare
09.03.2015 Protocoale de comunicaie 33
Protocolul IPv4
Cmpuri: SERVICE TYPE =
precedence (3), delay, throughput, reliability, cost.
TYPE = protocol (TCP, UDP, etc.).
IDENTIFICATION datagrama de care aparine fragmentul.
Cmpuri: FLAGS:
DF = Dont Fragment MF = More Fragments
Opiuni: Security. Strict source routing. Loose source routing. Record route. Timestamp.
-
Universitatea Politehnica Bucureti - Facultatea de Automatic i Calculatoare
09.03.2015 Protocoale de comunicaie 34
Adrese IP
A (1 / 2)
B (1 / 4)
C (1 / 8)
D (1 / 16)E (1 / 16)
C las e de adre s e
-
Universitatea Politehnica Bucureti - Facultatea de Automatic i Calculatoare
09.03.2015 Protocoale de comunicaie 35
Adrese speciale
Adrese Scop RFC Clasa Numr adrese0.0.0.0 - 0.255.255.255 Adrese zero A 16 777 216
10.0.0.0 - 10.255.255.255 Adrese private (locale) A 16 777 216127.0.0.0 - 127.255.255.255 Localhost A 16 777 216
169.254.0.0 - 169.254.255.255 Zeroconf B 65 536172.16.0.0 - 172.31.255.255 Adrese private (locale) B 1 048 576
192.0.2.0 - 192.0.2.255 Documentaie, exemple C 256192.88.99.0 - 192.88.99.255 Ipv6 C 256
192.168.0.0 - 192.168.255.255 Adrese private (locale) C 65 536198.18.0.0 - 198.19.255.255 Benchmark C 131 072224.0.0.0 - 239.255.255.255 Multicast D 268 435 456240.0.0.0 - 255.255.255.255 Rezervate E 268 435 456
RFC 1700RFC 1918RFC 1700RFC 3330RFC 1918RFC 3330RFC 3068RFC 1918RFC 2544RFC 3171RFC 1700
Prefix Sufix Tip adres ScopToi 0 Toi 0 Acest calculator Bootstrap
Network Toi 0 Network Identificare reeaNetwork Toi 1 Broadcast Broadcast n reeaua specificat
Toi 1 Toi 1 Broadcast Broadcast n reeaua local127 Orice Loopback Testare
-
Universitatea Politehnica Bucureti - Facultatea de Automatic i Calculatoare
09.03.2015 Protocoale de comunicaie 36
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
-
Universitatea Politehnica Bucureti - Facultatea de Automatic i Calculatoare
09.03.2015 Protocoale de comunicaie 37
Algoritm de rutare IP
Tabela rutare tipuri intrri: : pentru reele distante : 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
-
Universitatea Politehnica Bucureti - Facultatea de Automatic i Calculatoare
09.03.2015 Protocoale de comunicaie 38
Subreele
Organizarea n subreele este invizibil n afara reelei. Ruterul principal dirijaz pachetele spre ruterele de subreea
(cum?). Ruterele de subreea le livreaz gazdelor.
-
Universitatea Politehnica Bucureti - Facultatea de Automatic i Calculatoare
09.03.2015 Protocoale de comunicaie 39
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.
-
Universitatea Politehnica Bucureti - Facultatea de Automatic i Calculatoare
09.03.2015 Protocoale de comunicaie 40
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.
-
Universitatea Politehnica Bucureti - Facultatea de Automatic i Calculatoare
09.03.2015 Protocoale de comunicaie 41
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.
-
Universitatea Politehnica Bucureti - Facultatea de Automatic i Calculatoare
09.03.2015 Protocoale de comunicaie 42
CIDR Classless InterDomain Routing
Reducere dimensiune tabel: agregarea intrrilor pentru o aceeai linie de ieire
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 Intrare agregat: Adres Masc 11000010 00011000 00000000 00000000 11111111 11111111 11100000 00000000 Corespunde cu 194.24.0.0/19 Pentru toate adresele din C, E, O, ruterul trimite pe aceeai
interfa.
-
Universitatea Politehnica Bucureti - Facultatea de Automatic i Calculatoare
09.03.2015 Protocoale de comunicaie 43
CIDR Classless InterDomain Routing
Adrese Notaia CIDR0.0.0.0 - 0.255.255.255 0.0.0.0/8
10.0.0.0 - 10.255.255.255 10.0.0.0/8127.0.0.0 - 127.255.255.255 127.0.0.0/8
169.254.0.0 - 169.254.255.255 169.254.0.0/16172.16.0.0 - 172.31.255.255 172.16.0.0/12
192.0.2.0 - 192.0.2.255 192.0.2.0/24192.88.99.0 - 192.88.99.255 192.88.99.0/24
192.168.0.0 - 192.168.255.255 192.168.0.0/16198.18.0.0 - 198.19.255.255 198.18.0.0/15224.0.0.0 - 239.255.255.255 224.0.0.0/4240.0.0.0 - 255.255.255.255 240.0.0.0/4
Clasa CIDR
A: 0 /8B: 10 /16C: 110 /24D: 1110 /4E: 11110 /4
-
Universitatea Politehnica Bucureti - Facultatea de Automatic i Calculatoare
09.03.2015 Protocoale de comunicaie 44
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.
-
Universitatea Politehnica Bucureti - Facultatea de Automatic i Calculatoare
09.03.2015 Protocoale de comunicaie 45
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: 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.
-
Universitatea Politehnica Bucureti - Facultatea de Automatic i Calculatoare
09.03.2015 Protocoale de comunicaie 46
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
-
Universitatea Politehnica Bucureti - Facultatea de Automatic i Calculatoare
09.03.2015 Protocoale de comunicaie 47
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).
-
Universitatea Politehnica Bucureti - Facultatea de Automatic i Calculatoare
09.03.2015 Protocoale de comunicaie 48
Uniti de date
MTU Maximum Transmission Unit: Fragmentarea: Reasamblarea:
-
Universitatea Politehnica Bucureti - Facultatea de Automatic i Calculatoare
09.03.2015 Protocoale de comunicaie 49
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.
-
Universitatea Politehnica Bucureti - Facultatea de Automatic i Calculatoare
09.03.2015 Protocoale de comunicaie 50
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.
-
Universitatea Politehnica Bucureti - Facultatea de Automatic i Calculatoare
09.03.2015 Protocoale de comunicaie 51
OSPF Open Shortest Path First
Suport: Linii punct la punct ntre dou rutere. LANs. WANs.
Modelul de graf:
-
Universitatea Politehnica Bucureti - Facultatea de Automatic i Calculatoare
09.03.2015 Protocoale de comunicaie 52
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
-
Universitatea Politehnica Bucureti - Facultatea de Automatic i Calculatoare
09.03.2015 Protocoale de comunicaie 53
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.
-
Universitatea Politehnica Bucureti - Facultatea de Automatic i Calculatoare
09.03.2015 Protocoale de comunicaie 54
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.
-
Universitatea Politehnica Bucureti - Facultatea de Automatic i Calculatoare
09.03.2015 Protocoale de comunicaie 55
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: format antet antete extensii support audio i video protocol extensibil spaiu adresa multicast
-
Universitatea Politehnica Bucureti - Facultatea de Automatic i Calculatoare
09.03.2015 Protocoale de comunicaie 56
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.
-
Universitatea Politehnica Bucureti - Facultatea de Automatic i Calculatoare
09.03.2015 Protocoale de comunicaie 57
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).
-
Universitatea Politehnica Bucureti - Facultatea de Automatic i Calculatoare
09.03.2015 Protocoale de comunicaie 58
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.
-
Universitatea Politehnica Bucureti - Facultatea de Automatic i Calculatoare
09.03.2015 Protocoale de comunicaie 59
Fragmentarea
-
Universitatea Politehnica Bucureti - Facultatea de Automatic i Calculatoare
09.03.2015 Protocoale de comunicaie 60
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.
-
Universitatea Politehnica Bucureti - Facultatea de Automatic i Calculatoare
09.03.2015 Protocoale de comunicaie 61
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
-
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
63
Internetul peste IPv4
Public v4 Addresses
Private v4 Addresses
Public v4 Addresses
Private v4 Addresses
Private v4 Addresses
NAT
NAT
NAT
09.03.2015 Protocoale de comunicaie
-
Universitatea Politehnica Bucureti - Facultatea de Automatic i Calculatoare
64
Introducerea IPv6 (Vedere Simplificata)
Public v4 Addresses
Private v4 Addresses
Public v4 Addresses
Public v6 Addresses
Public v6 Addresses
NAT
NAT
NAT
09.03.2015 Protocoale de comunicaie
-
Universitatea Politehnica Bucureti - Facultatea de Automatic i Calculatoare
65
Extinderea IPv6 (Vedere Simplificata)
Public v6 Addresses
Public v6 Addresses
NAT
NAT
Public v4 Addresses
Private v4 Addresses
Public v4 Addresses
Public v6 Addresses
Public v6 Addresses
Public v6 Addresses
NAT
NAT
09.03.2015 Protocoale de comunicaie
-
Universitatea Politehnica Bucureti - Facultatea de Automatic i Calculatoare
09.03.2015 Protocoale de comunicaie 66
Sumar
Funciile nivelului reea. Organizarea intern:
datagrame; circuit virtual.
Clasificarea algoritmilor: calea cea mai scurt; centralizat; distribuit (starea legturilor); vectorul distanelor; ierarhic; difuzare i multicast.
Dirijarea pentru gazde mobile. Dirijarea n reele ad hoc.
Protocolul IPv4: 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.
Protocolul IPv6: antete extensie; fragmentare. adrese IPv6.