Nivelul IP

IP header

alt text

IHL - lungimea câmpului Options (de obicei 5 => Options are 4 * 5 octeți)
DSCP - clasa de prioritate a pachetului; folosit în centrele de date, nu în internet
ECN - folosit pentru congestion control
TOTAL LENGTH - dimensiunea pachetului
TTL - time-to-live
PROTOCOL - spune ce protocol urmează să prelucreze pachetul
CHECKSUM - acoperă doar headerul IP (nu și payload-ul); se recalculează după forwarding (din cauza TTL)
SRC, DST ADR
OPTIONS

alt text

Dimensiune frame = 9000 biți.
De la S la R1 avem 9000 biți, de la R1 la R2 avem 1500 și de la R2 la D avem 536.
Deoarece de la R1 la R2 sunt mai puțini biți (9000 > 1500) => ori drop, ori IP fragmentation.

IP fragmentation = sparge pachetul în bucăți dacă este mai mare.

Fragmentarea presupune copierea header-ului în întregime cu excepția: identification, flags, fragment offset.
flags: 0 DF MF, DF = don't fragment, MF = more fragment. Dacă DF == 1 => drop.

Dacă avem voie să fragmentăm: alt text

Destinația reasamblează pachetele.
Fragmentarea este rar folosită.

ICMP = protocol debugging peste IP

BORDER GATEWAY PROTOCOL (BGP)

Leagă organizații care își gestionează propriile rețele.
Autonomous Systems: AS, ASN.

BGP este un protocol hard state (ruta se anunță o singură dată și se ține minte).

User Datagram Protocol

UDP = protocl de nivel trasnport

Porturi de nivel trasnport = număr pe 2 octeți; a.î. pachetul să știe pe ce proces se duce.

Headerul UDP se pune după header IP.

UDP-header:

  • src port
  • dst port
  • length
  • checksum