05_nivelulretea

66
Universitatea Politehnica Bucureşti - Facultatea de Automatică şi Calculatoare 09.03.2015 Protocoale de comunicaţie 1 Nivelul reţea

Upload: toncuvasile

Post on 14-Nov-2015

4 views

Category:

Documents


1 download

DESCRIPTION

Nivelul Retea

TRANSCRIPT

  • 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.