Documente Academic
Documente Profesional
Documente Cultură
Reele de Calculatoare
Nivelul Reea
Topologie la nivel logic Adresare la nivel logic Serviciile nivelului reea au fost proiectate avnd n vedere urmtoarele scopuri:
Serviciile trebuie s fie independente de tehnologia ruterului Nivelul transport trebuie s fie independent de numrul, tipul i topologia ruterelor existente Adresele de reea trebuie s foloseasc o schem de numerotare uniform n cadrul reelelor WAN i LAN Servicii de transport datagrame Servicii orientate conexiune circuite virtuale
Rezult
Calea de transport este inclus n pachet (antetul pachetului) Cale de urmat este stabilit la setarea conexiunii Pachetele sunt transmise (forwarded) folosind o tabel de circuite stabilit anterior (la stabilirea circuitului)
Comutatoare (rutere) simple Antet de mrime variabil Sursa trebui s cunoasc topologia Reele Ad-hoc Reele de server (Myrinet)
Se examineaz prima nregistrare de cale Se terge aceast nregistrare Se transmite pachetul la urmtorul ruter (dup ce s-a ters nregistrarea corespunztoare ruterului curent)
Pachet Surs 3,4,3
2 1
4,3
2 3 1
R1
4
R2
4
3
2 1
R3
4
Destinaie
Circuite Virtuale
Faz de stabilire a circuitului
Avantaje
Se folosesc protocoale speciale Fiecare ruter aloc flow ID pe fiecare legtur Mapare flow ID intrare flow ID ieire connection ID Lookup flow ID ctare simpl n tabel nlocuire flow ID intrare cu flow ID ieire Comutare port ieire
Packet Surs 5
1 2
Dezavantaje Utilizri
Cutare simpl n tabele Flexibilitate (ci diferite pentru flow-uri diferite) Posibilitate rezervare lrgime de band Uor de implementat hardware Rutare la setare conexiune Complexitate la eroare recreare circuit ATM celule de dimensiune fix MPLS comutare dup etichet (tag) pentru reele IP
Numr mare de circuite Complicaii setare conexiuni Definire conexiune Cum se ruteaza traficul fr conexiuni
7
3 1
R1
4 1,5 3,7
R2
4
1,7
4,2
Pattern de trafic
Puine flow-uri cu timp de via lung Flow set de pachete de la o surs la o destinaie Se mbuntesc performanele de comutare
2
2 1
R3
4 3,6
Destinaie 6
2,2
Comparaie
Dirijare de la Surs Dimensiune antet Dimensiune tabel de dirijare Overhead comutare Dezavantajos Nimic Avantajos Nimic Comunic la toate host-urile Adrese Globale Convenabil Spaiu mare de adrese Numr de host-uri (prefixe) Comparare prefix Nimic Comunic la toate ruterele Circuite Virtuale Cel mai bun Numr de circuite Convenabil Timp setare conexiune Comunic la toate ruterele, reia setare circuit
Fr conexiune Fiecare comutator cunoate toate destinaiile Toate pachetele pentru aceeai destinaie folosesc aceeai cale
O linie n tabel pentru fiecare host? O linie pentru fiecare reea O linie pentru fiecare instituie
Packet Surs R
2 1
R
2 3 1
R1
4 R 3
R2
4
R
2 1
R3
4 R 3
10
Protocoale de Reea
Internet Protocol (IP) Internet Control Message Protocol (ICMP) Address Resolution Protocol (ARP) Reverse Address Resolution Protocol (RARP) Bootstrap Protocol (BOOTP) Dynamic Host Configuration Protocol (DHCP)
12
Standardizare IP
IETF
ICMP - Internet Control Message Protocol IGMP Internet Group Management Protocol RFC 791, 950, 919 i 922 Completri de ultim or n RFC 2474
Organizaie de voluntari ntlniri la fiecare 4 luni Grupuri de lucru i liste de discuii prin email
We reject kings, presidents, and voting; we believe in rough consensus and running code (Dave Clark 1992)
Fr conexiuni
Pachetele pot fi pierdute Pachetele pot fi livrate n ordine diferit dect cea n care au fost trimise Se pot livra pachete duplicat
Rezultatul:
IRTF
End2End Reliable Multicast, etc..
14
13
Adresare IP
Standardul de adresare IP este descris n RFC 1166 Internet Numbers. Identificarea host-urilor n Internet se face prin alocarea unei adrese pentru fiecare, aceasta se numete adres Internet sau adres IP Adresele IP au o lungime de 32 bii (unsigned) n format big-endian Se reprezint n format zecimal cu punct:
Clase de Adrese IP
Primii bii ai adresei cum trebuie separai ceilali bii din adres: Exist 5 clase de adrese IP
Clas A
Adres reea: network number, network address sau netID Adres host: host number, host address and hostID
Ex. 192.129.4.100 Formatul numeric este folosit de software. Pentru comoditate se folosesc nume simbolice
Corespondena ntre nume i adrese se face folosind un serviciu special: Domain Name System (DNS)
7+1 bii pentru adresa de reea 27-2 reele (126) 224-2 adrese de host pentru fiecare clas (16777214) Total: peste 2 miliarde adrese 14+2 bii pentru adresa de reea 214-2 reele (16382) 216-2 (65534) host-uri per clas Total: peste 1 miliard de adrese 21+3 bii pentru adresa de reea 221-2 reele (2097150) 28-2 adrese de host per clas (254) Total: circa 1/2 miliard adrese Multicast
Clas B
Clas A 0 Clas B
Dac un host este ataat la mai multe reele atunci va folosi mai multe adrese, cte una pentru fiecare interfa: multi-homed Adres IP = <adres reea><adres host> American Registry for Internet Numbers (ARIN) Reseaux IP Europeens (RIPE) Asia Pacific Network Information Centre (APNIC)
Network ID 24
Adres Reea
16
Host ID
8
Adres Host
Adres Host
Adres Host
10
Clas C
Adrese Multicast
Rezervat pentru experimente
Concluzie: o adres IP identific o interfa a unui host capabil s trimit i s primeasc datagrame
Copyright Octavian RUSU
Clas D Clas E
15
Copyright Octavian RUSU
16
Clase de Adrese IP
Network ID 8 16 Host ID 24 32
local host adresa interfeei bucl local Adresa reelei Adres de difuzare (direct broadcast) Toate reelele Broadcast general (nefolosit)
Adres Host
Adres Host Adres Host
Private
10.0.0.0: o singur adres de clas A 172.16.0.0 la 172.31.0.0: 16 adrese de clas B bloc continuu 192.168.0.0 la 192.168.255.0: 256 adrese de clas C bloc continuu
18
17
Subnetting
RFC 917 Necesitate:
Tipuri de Subreele
Static
Instalare a unei reele noi Creterea numrului de host-uri implic mprirea reelei n mai mute seciuni (subreele) Creterea distanelor implic reele mai mici care folosesc rutere ntre ele Utilizarea eficient a spaiului de adrese Se mprumut un numr de bii din adresa de host pentru adresa de reea Adresa de subreea se mai numete: subnetwork sau subnet <network number><subnet number><host number>
Toate subnet-urile obinute din aceeai reea (de Toate host-urile i ruterele suport subnet static
clas A, B sau C) vor folosi acelai subnet mask
Lungime variabil
netmask diferit
Combinaia subnet + host se mai numete i local address sau poriunea local a adresei IP Adresa de subnet este asignat de ctre administratorul de reea mprirea se face astfel nct s fie transparent pentru echipamentele din exteriorul reelei Numrul de bii din adresa complet de reea (<network number><subnet number>) se precizeaz folosind subnet mask:
Subnet-urile obinute din aceeai reea pot avea Conservarea spaiului de adrese Un subnet poate fi mprit n alte subnet-uri
20
Exemplu Subnetting
00001001 01000011 00100110 00000001 adresa IP n format binar 9 67 38 1 format zecimal (9.67.38.1) 9.67.38.1 adres IP (clas A) Se mprumut biii de la 8 la 25 Netmask: 255.255.255.192 (11111111 11111111 11111111 11000000 n binar) 00001001 01000011 00100110 00000001 = 9.67.38.1 (Adres clas A) 11111111 11111111 11111111 11000000 = 255.255.255.192 (mask) ===================================== AND 00001001 01000011 00100110 00000000 = 9.67.38.0(adres subnet) Numrul subnet-ului este:
218-2 (de la 1 la 262143) subreele: 262142 subreele 26-2 (62) host-uri n fiecare subreea
Subnet #1: 50 hosts Subnet #2: 50 hosts Subnet #3: 50 hosts Subnet #4: 30 hosts Subnet #5: 30 hosts
22
Distribuia Adreselor IP
Problema Adresrii IP
Clasele B nepopulate
Instituiile refuz returnarea acestora 2 milioane de posibile clase C Alocarea unui grup de clase C Alocarea de blocuri consecutive RFC1338 Classless Inter-Domain Routing
(CIDR)
24
http://www.caida.org/outreach/resources/learn/ipv4space/
Copyright Octavian RUSU
23
Exemplu ISP
Bloc adrese ISP 11001000 00010111 00010000 00000000 Organizaia A Organizaia B Organizaia C ... Organizaia G 11001000 00010111 00010000 00000000 11001000 00010111 00010010 00000000 11001000 00010111 00010100 00000000 .. . 11001000 00010111 00011110 00000000 200.23.16.0/20 200.23.16.0/23 200.23.18.0/23 200.23.20.0/23 . 200.23.30.0/23
Permite folosirea mai eficient a spaiului de adrese i optimizarea tabelei de dirijare Supernet-uri
Adresele 192.129.16.0 - 192.129.31.0 au n comun primii 20 bii, acetia se vor folosi ca adres de reea netmask is /20, /xx valid pentru aproape orice valoare
Alocarea adreselor de reea adiacente la aceeai organizaie Dirijare Classless (CIDR) Se combin mai multe posibile linii n tabela de dirijare (folosesc acelai prefix)
25
26
ICANN: Internet Corporation for Assigned Names and Numbers Alocare adrese Administrare DNS Alocare nume de domenii, rezolvare dispute
200.23.16.0/23
Organizaia B
200.23.18.0/23
Organizaia C
Host ID
Static: configurat de administrator DHCP: Dynamic Host Configuration Protocol: alocare de adres dinamic plug-and-play:
200.23.20.0/23
Organizaia G
. . .
. . .
ISP 1
Host-ul cere prin difuzare mesaj: DHCP discover Serverul DHCP rspunde cu mesaj DHCP offer Host-ul cere adresa IP prin mesaj: DHCP request Serverul DHCP trimite adresa prin mesaj: DHCP ack
200.23.30.0/23
Ali ISP Trimite toate pachetele pentru adresele 199.31.0.0/16
27
28
Exemplu CIDR
ISP-ul are alocate 8 clase C: 201.10.0.0 la 201.10.7.255 Se nlocuiesc 8 clase C cu o singur linie n tabela de dirijare
Probleme cu CIDR
Multi-homing Clientul selecteaz un nou ISP
Acest interval se poate grupa folosind 3 bii din spaiul de reea Rmn 21 bii pentru reea: 201.10.0.0/21 Protocoalele de dirijare anun un prefix cu adresa reelei destinaie Prefixul cel mai lung (adresa cea mai specific) este folosit pentru comutarea pachetelor Prefix 201.10.0.0/21
201.10.0.0/21
ISP
ISP 1
ISP 2
201.10.0.0/22
201.10.4.0/24
201.10.5.0/24
201.10.6.0/23
201.10.0.0/22 201.10.4.0/24
201.10.5.0/24
29
30
Dirijare
Packet pentru 10.1.1.3 Calea este: R2 R1 H1 H2 Tabela de dirijare pe R2
Destinaie 127.0.0.1 Default sau 0/0 10.1.8.0/24 10.1.2.0/23 10.1.0.0/23 Next Hop 127.0.0.1 ISP 10.1.8.1 10.1.2.1 10.1.2.2 Interfa lo0 10.1.16.1 10.1.8.1 10.1.2.1 10.1.2.1
10.1.0.1 10.1.1.1 10.1.2.2 10.1/16
32 bii
10.1.1.3
16
19
24
31
H1
H2
10.1.1/24 10.1.0.2
Versiune
HLEN
TOS/DiffServ FLAGS
R1 R2
10.1.2/23
H3
10.1.0/24 10.1.8/24
ISP
Adres IP Surs
H4
10.1.8.4
Antetul IP
Versiune
Antetul IP
Lungime lungimea total a pachetului inclusiv antetul Identificator numr unic alocat de surs i folosit pentru reasamblarea fragmentelor
Toate fragmentele unei datagrame au acelai identificator Bit 0 rezervat Bit 1 DF Do not Fragment Fragmentarea este/nu este permis
FLAGS control
Bitul 7 - rezervat
33
Copyright Octavian RUSU
34
Antetul IP
Offset fragment folosit pentru reasamblarea datagramei
Antet IP
Protocol protocolul de nivel superior (ncapsulat de IP)
Valoarea acestui cmp este egal cu numrul de segmente de 64 bii (fr antet) coninute n fragmentele anterioare Pentru primul fragment, sau dac nu se face fragmentare acest cmp este 0
Teoretic - specific timpul n secunde permis datagramei s cltoreasc n reea Practic fiecare ruter decrementeaz TTL
0: Rezervat 1: Internet Control Message Protocol (ICMP) 2: Internet Group Management Protocol (IGMP) 3: Gateway-to-Gateway Protocol (GGP) 4: IP (IP encapsulation) 5: Stream 6: Transmission Control Protocol (TCP) 8: Exterior Gateway Protocol (EGP) 9: Private Interior Routing Protocol 17: User Datagram Protocol (UDP) 41: IP Version 6 (IPv6) 50: Encap Security Payload for IPv6 (ESP) 51: Authentication Header for IPv6 (AH) 89: Open Shortest Path First
35
36
Antet IP
Sum de Control Antet suma de control calculat pentru antet
Fragmentare
Pachetele IP pot avea lungimea de pn la 64KB MTU are valori diferite pe calea de transport Fragmentare:
fragmentare: in: o datagram out: 3 datagrame
Adresa IP destinaie: adresa IP pe 32 bii a host-ului destinaie la care trebuie s ajung datagrama
Copyright Octavian RUSU
Antet IP pentru fiecare fragment Rutele intermediare pot fragmenta Cmpurile specifice din antetul IP sunt folosite pentru fragmentare (ordine fragment, offset)
reasamblare
37
38
Reasamblare
Unde se poate face reasamblarea? Nodurile finale
Lungimea fragmentului IP Identificator datagram se folosete pentru toate fragmentele Dont fragment More fragments Precizeaz poziia fragmentului n datagram Se msoar n uniti de cte 8 octei (cmp cu lungimea de 13 bii)
40
Se evit operaiile suplimentare atunci cnd pachetele sunt fragmentate de mai multe ori
Spaiul necesar de memorie pe rutere pentru reasamblare Schimbarea cii sau a ruterelor pe traseu Ci multiple ctre o singur destinaie Toate fragmentele trebuie s ajung la aceeai destinaie
39
Concluzie
O datagram este mprit n fragmente mai mici Lung. ID =1500 =x Lung. ID =1500 =x Lungime ID =1040 =x FLAG =1 FLAG =1 FLAG =0 offset =0 offset =1480 offset =2960
Cost de transport per pachet mai mare Costul cel mai mic se obine pentru datagrame Cel mai defavorabil caz: pachetul ceva mai mare
dect MTU mari, raport bun PCI/PDU
41
MTU Discovery
Sistemele surs descoper n mod dinamic dimensiunea minim a MTU pe o cale ctre destinaie Algoritm:
Deasupra nivelului reea ncapsulat n pachete IP Raportare erori Host unreachable Network unreachable Port unreachable Protocol unreachable Type Code Primii 8 octei ai datagramei care a cauzat eroare
Iniializare MTU la dimensiunea MTU pentru primul hp Se trimite o datagram cu bitul Dont Fragment bit setat Dac se recepioneaz mesaj ICMP pkt too big se micoreaz MTU Soluie:
Mesaje ICMP
Periodic se modific MTU (>5min, sau >1min dup ultima mrire a MTU),
Nu toate ruterele comunic corect valoarea MTU Valorile MTU sunt stocate n tabela de dirijare
Type Code Descriere 0 0 echo reply (ping) 3 0 dest. network unreachable 3 1 dest host unreachable 3 2 dest protocol unreachable 3 3 dest port unreachable 3 6 dest network unknown 3 7 dest host unknown 4 0 source quench (control congestie nefolosit) 8 0 echo request (ping) 9 0 route advertisement 10 0 router discovery 11 0 TTL expired 12 0 bad IP header
43
44
Clasele A i B alocate
Previziunile arat c spaiul de adrese IP (32 bii) va fi complet alocat pn n 2008 (2028-2029) Dou soluii
NAT se implementeaz pe ruterele care fac legtura ntre reeaua proprie i reeaua Internet
Adresele IP ale sistemelor din reeaua local sunt translatate n adrese IP globale Se folosete un set (pool) de adrese IP globale (n numr mai mic dect numrul de sisteme din reea) care sunt alocate dinamic Pentru reeaua local de folosesc adresele private (RFC 1597):
NAT IPv6
http://www.caida.org/outreach/resources/learn/ipv4space
45
46
Funcionare NAT
Destinaie
Set de adrese IP publice (globale)
G P
Probleme NAT
Surs
Internet
DG SG Date
Numrul de adrese publice disponibile n set trebuie s fie suficient de mare ca s permit traficul ntre reeaua local i reeaua Internet Se ascunde structura reelei interne
NAT
Operaie: Sursa (S) iniiaz o conexiune cu Destinaia (D): Se creeaz o hart de alocri de adrese: SG-SP Se nlocuiete SP cu SG pentru pachetele care prsesc reeaua local Se nlocuiete SG with SP pentru pachetele spre reeaua local Cte sisteme pot avea conexiuni active la un moment dat?
47
Poate fi un avantaj Nu se pot realiza conexiuni din reeaua Internet n reeaua privat FTP Problem?
48
NAPT
Dac setul de adrese publice este prea mic (chiar o singur adres) Funcionare NAPT (Masquerading):
Motivaie:
IPv6
Creterea cererii de adrese IP Lipsa unei ierarhii n sistemul actual de rutare Suport pentru sistemele mobile conectate la reea Spaiu de adrese suficient de mare Implementarea unui sistem de asigurare a securitii tranzaciilor la nivel reea Dimensiune pachet variabil (mare jumbo packets) Implementare QoS Interoperabilitate cu IPv4 Suport Multicast Autoconfigurare sisteme finale Simplitate
Se folosete Network Address & Port Translator (NAPT) Se translateaz adresprivat + flux de date n adrespublic addrglobal + flux nou de date
Obiective:
Fluxurile de date sunt identificate prin adrese de port (nivel transport: porturi TCP/UDP)
Avantaje:
Funcioneaz asemntor cu NAT Se pot realiza zeci de mii de conexiuni simultan folosind o singur adres IP public Prelucrare antet nivel Reea Prelucrare antet nivel Transport
Extensii la antet
Dezavantaje:
Format antet care s permit simplificare operaiilor pe rutere Eliminare cmpuri inutile
49
50
Se pot folosi prefixe pentru mapare spaiu de adrese IP v4 n v6 i invers Flexibilitate sporit cu 128 bii de adres Reprezentarea standard a adreselor IPv6 se face prin grupe de valori pentru 16 bii n hexazecimal: Pentru grupe de zero, acestea se pot omite, la fel si zerourile din fa n cadrul unei grupe:
47CD:1234:3200:0000:0000:4325:B792:0428
47CD:1234:3200::4325:B792:0428
51
52
IPv6 Header
0 4 12 16 19 24 32
Version Class Versiune Clasa de Servicii Payload Length Lungime Date Flow Label Etichet Flux Next Header Hop Limit Urmtorul Antet Nr. maxim de Hopuri
Ierarhie:
Adresele Unicast au primii patru bii: 001 Adresele sistemelor finale fac parte din subnet-uri Adresa IPv6 unicast este compus din prefix i adres de host mprirea n subreele se face n aa fel nct s fie posibil agregare Reeaua Internet este o ierarhie de reele Sunt prevzute trei nivele pentru agregare
Multi-homed:
Regiune = 13 bii Furnizor = 24 bii Client = 16 bii Ex: 001,regionID,providerID,subscriberID,subnetID,intefaceID Nu exist soluie simpl
Adres Surs
Adres Destinaie
53
54
Identificare datagrame din acelai flux de date (conceptul de flux nu este definit fr ambiguitate) Se poate folosi conceptul de conexiune la nivel transport Analog cu Protocol n IPv4 Opiunile sunt adugate folosind cmpul Antetul urmtor
Soluii:
Alte cerine
Securitate Sisteme finale mobile IPv6 permite configurarea automat a adresei de nivel reea folosind adresa MAC
Configurare simpl
IPv6 ncapsulat n IPv4 Numai unele rutere implementeaz suport pentru IPv6
56
55
Dual Stack
Tunneling
57
58
Rutere: Arhitectur
Funcii:
Componente ruter
Tipuri de rutere, configuraie:
Ruleaz protocoale de rutare bazate pe diveri algoritmi (RIP, OSPF, BGP) Comutare datagrame de pe linia de intrare pe cele de ieire
Fixe Modulare Line cards Cartele ce conin interfee de reea Forwarding engine
Componente:
Sistem de prelucrare a pachetelor (hardware vs. software) De regul o cartel separat Bus interconectare (posibil dou sau mai multe) Ruleaz sistem de operare
Backplane Procesoare
59
60
Procesare Pachete
Procesare informaie
Recepie pachete pe interfaa de intrare Antetul pachetelor este procesat de forwarding engine Copiere pachete pe linia de ieire Situaiile deosebite sunt predate pentru prelucrare ctre network processor Ruleaz protocoale de rutare (dirijare) i construiete tabela de dirijare pentru forwarding engines ndeplinete funcii corespunztoare procesrii lente slow path processing
Network Processor
Procesare ICMP Procesare opiuni antet IP Fragmentare Procesare pachete destinate ruterului
61
Copyright Octavian RUSU
62
Pachetele sunt procesate de un singur CPU Viteza este limitat de lrgime de band a memoriei (trecere de 2 ori prin bus a datagramelor)
Port Intrare Memorie Port Ieire
Magistral sistem
Ruterele actuale:
Cisco 1900: suficient pentru acces i enterprise, nu i pentru regional sau backbone
63
64
Considerente de Proiectare
Presupunem un ruter cu N intrri i M ieiri
Scump Folosite n reele de interconectare n cadrul sistemelor multiprocessor Mai puin performant n comparaie cu crossbar Cisco 12000
65
Reele Banyan
Pachete multiple pentru aceeai interfa de ieire output contention Switching fabric nu poate prelucra trafic arbitrar (numr de pachete) - Switch contention Excepie crossbar Memorare pachete n buffere cnd i unde este nevoie
Soluie:
Buffer plin:
Exemplu:
Porturi de ieire
Comutare descentralizat:
Pentru o destinaie (se afl din pachet), se identific (lookup) folosind tabela de rutare (n memoria portului de intrare) Scop:
Buferele pentru pachete sunt necesare dac dimensiunea pachetelor depete rata de transmisie
completarea procesului de prelucrare la portul de intrare la viteza liniei Proces necesar dac comutarea prin switch fabric este mai lent
67
Copyright Octavian RUSU
68
Bufere de comutare
3 tipuri
Buffere de Intrare
intrare
Switch fabric mai rapid dect viteza liniei de ieire n interiorul switch fabric limitri interne switch fabric
69
70
Scheduler:
Simple
Complexe