1. Niv Nivelul elul Net Netw work ork / In Interne ernett 2. Principiile rutării
1. Nivelul Network / Internet
2. Principiile rutării
DNS SMTP
DHCP POP3
FTP
Transport
TCP
UDP
ICMP
Internet
IPv4
IPv6
Network Access
ETHERNET
Application
A. Funcții Layer 3 Funcția principală = adresarea / identificarea la nivel logic a hosturilor în rețea – adrese IP - Adresare – topologia logică – network portion / host portion; - Rutare – determinarea căilor (rutelor) pentru interconectarea rețelelor; alegerea căii optime pentru comunicația end-to-end; - Interconectarea diferitelor tehnologii de nivel 2 – Ethernet, FDDI (Fiber Distributed Data Interface), Serial, Token Ring
B. PDU Layer 3 = Pachet Application
Date
Încapsulare Header TCP / UDP
Date
Transport
SEGMENT Internet Header IP Network Access
Header TCP / UDP
PACHET
Date
C. Protocoale Layer 3 - IPv4 (IP) - Internet Protocol versiunea 4 - definit în RFC 791 - adrese pe 32 biți - IPv6
- adrese pe 128 biți (3.4×1038 ) - RFC 2460
- IPX (Novell), Appletalk - obsolete - CLNP (Connectionless-mode Network Protocol) – ISO / OSI
D. Caracteristici IPv4 - Connection-less - realizarea conexiunii logice se realizează la nivelul Transport prin TCP - Best – effort (Unreliable) - nu există mecanisme care să garanteze trasmiterea cu succes a pachetelor la destinație - Media – independent – funcționează pe orice tip de mediu de transmisie de la nivelul Network Access (singura interacțiune între L1/L2 și IP – L3 este prin intermediul MTU – Maximum Transmission Unit )
E. Header IPv4
20 Bytes 5 Words
IHL (Internet Header Length)
Nibble Byte
Word
E. Header IPv4 (cont.)
Version IHL
- IP version number 4 - Internet Header Length – lungimea headerului IP (poate varia dacă există opțiuni – trebuie să știm unde se termină header-ul și unde încep datele)
Total Lenght (Packet Lenght) - lungimea totală a pachetului
(header + segment); poate fi cuprins între 20 Bytes (header + 0 data) și 65535 (216) - folosit la identificarea pachetelor fragmentate (din ce pachet mare fac parte pachetele mici)
Identification
E. Header IPv4 (cont.)
Flags:
X--X--X
Unused (Always Zero) Don’t Fragment DF More Fragments MF
Dacă:
routerul trebuie să fragmenteze pachetul (de ex. trebuie scos pe un MTU mai mic) și DF = 1 -> se face drop DF = 0 -> se poate fragmenta MTU = 1500 B
MTU = 750 B
+ 1500 B
1500 B
2 x 750 B
2 x 750 B
E. Header IPv4 (cont.)
MF = More Fragments
- destinatarul observă acest flag;
Dacă:
-> mai sunt pachete de sosit -> ultimul pachet, se poate începe reansamblarea pachetului mare
MF = 1 MF = 0
+ 1500 B Id = 1
500 B Id = 1 FO = 3 MF = 0 Ultimul sosit
Id = Identification FO = Fragment Offset
+ 500 B Id = 1 FO = 2 MF = 1
500 B Id = 1 FO = 1 MF = 1 Primul sosit
E. Header IPv4 (cont.)
- Time To Live – mecanism de evitare a buclelor de rutare;
TTL
- fiecare ruter prin care trece pachetul decrementează această valoare cu 1; - dacă TTL = 0 pachetul este aruncat
TTL = 9
TTL = 8
TTL = 7
TTL = 2
TTL = 1
TTL = 0
A
B TTL = 7
TTL = 10
TTL = 3
E. Header IPv4 (cont.)
Protocol
- protocolul încapsulat de la nivelul superior (IANA) 0x01 ICMP 0x06 TCP 0x11 UDP
Header Checksum
- calculat pentru a verifica integritatea header-ului - se recalculează de către fiecare hop datorită modificării TTL
E. Header IPv4 (cont.)
- Type-of -Service / Differentiated Services Code Point / Explicit Congestion Notification – prioritizarea traficului (ex. voce, video față de date)
ToS/DSCP/ECN
E. Header IPv4 (cont.)
Politicile de QoS presupun: - Împărțirea traficului în clase de servicii: -Sensitive -Best – effort -Undesired
- Prelucrarea traficului – în cazul apariției de congestii se stabilește ce clasă de trafic se ”aruncă”: - 3 biți = clasa de servicii - 2 biți = probabilitatea de a arunca traficul - 1 bit = always 0
1. Nivelul Network / Internet 2. Principiile rutării
s 0/0/0 fa 0/0
fa 0/1 s 0/0/1
A
A
B
Fiecare interfață a ruterului este o rețea diferită / un domeniu de broadcast
B
C. Rutare (cont.)
A
B
Hostul B este în altă rețea => A trebuie să trimită pachetul către default-gateway, pentru a fi rutat către destinație IPsursă IPdestinație
= IP A = IP B
MACsursă = MAC A MACdestinație = MAC int. fa0/0
C. Rutare (cont.)
În tabela de rutare există rețelele la care ruterul știe să trimită/primească pachete (”știe să ajungă”); !!! by default sunt prezente doar rețelele direct conectate Vi zual i zar e: Rout er # show i p r out e
Pachetul este primit pe interfața fa0/0 – decapsulare: - din biți este reconstruit frame-ul; - ruterul se uită la MAC destinație și observă că frame-ul îi este adresat; elimină headerul de layer 2; - din pachetul rezultat examinează IP destinație și se uită în tabela de rutare pentru o rută către rețeaua din care face parte hostul B => observă că B se află în rețeaua direct conectată pe interfața fa0/1; [Dacă nu există o rută spre rețeaua destinație pachetul este aruncat – drop / discard ]
C. Rutare (cont.)
Pachetul este trimis pe interfața fa0/1 - încapsulare
IPsursă IPdestinație
= IP A = IP B
NU se modifică !!
MACsursă = MAC int. fa0/1 MACdestinație = MAC B Hostul B primește frame-ul, vede că MAC destinație este adresa sa, decapsulează frame-ul și examinează adresa IP destinație din pachet, vede că este adresa sa, decapsulează pachetul și trimite segmentul la nivelul transport, unde este prelucrat iar datele sunt trimise spre aplicația destinație.
C. Rutare (cont.)
Rețeaua 1
A
R1
R2
Rețeaua 2
Rețeaua 3
B
Implicit R1 știe să ajungă doar la rețelele direct conectate , respectiv Rețeaua 1 și Rețeaua 2; R1 nu știe că Rețeaua 3 se află în spatele lui R2. Un pachet de la A la B va fi aruncat de R1 pentru că rețeaua destinație (Rețeaua 3) nu se află în tabela de rutare, nefiind direct conectată.
C. Rutare (cont.)
Rețeaua 1
A
R1
R2
Rețeaua 2
Rețeaua 3
B
R1 trebuie configurat astfel încât pentru Rețeaua 3 să trimită pachetele lui R2 (next-hop); Configurarea se poate face: - Manual – rută statică (Rețeaua 3 via R2) - Automat – protocoale de rutare (RIP, EIGRP, OSPF) - R2 anunță că știe să ajungă la Rețeaua 3