You are on page 1of 159

Tema 2

Xarxes lògiques: Internet

XACO Tema 2: Xarxes de Computadors


Contingut

3. Introducció a la capa de 3. Adreçament


Xarxa
1. ARP
1. Adreçament IP 2. Classes
2. Encaminament 3. Adreçament eficient
3. ICMP 4. Subnetting
5. Adreçament IPv6
3. El paquet IP
4. La capa de Transport
1. IPv4
2. IPv6 1. UDP
2. TCP

2
1 – Introducció a la capa de xarxa
(Internet)
1. Adreçament IP
2. Encaminament
3. ICMP

Loading: 0%

3
1 – Introducció a la capa de xarxa

❑ Recordeu: OSI de ISO vs. TCP/IP

Aplicació

Presentació Aplicació
Aplicació

Sesió

Transport TCP UDP

Xarxa Internet

Enllaç
Enllaç
Físic

4
1 – Introducció a la capa de xarxa

❑ Nivell d’enllaç
▪ Permet a TCP/IP ser independent del
hardware i del medi físic
▪ Equivalent als nivells 1 i 2 OSI
▪ Processos implicats en la
transmissió/recepció a la xarxa local
▪ Controlat pel controlador/firmware de la
targeta de xarxa (NIC)

Ethernet
4G

5
1 – Introducció a la capa de xarxa
❑ Nivell de xarxa
▪ Proporciona connectivitat global
– Per la seva rellevància, dòna nom a la World Wide
Web !!

▪ Equivalent a la capa 3 OSI

▪ Controlat pel sistema operatiu

▪ Transmissió de paquets poc fiable (Best


Effort) de la font a la destinació
(encaminament) a través de múltiples xarxes
– Interconnexió de xarxes
(“Internet”)
▪ Adreçament
– 32 bits (IPv4) / 128 bits
(IPv6)

6
1 – Introducció a la capa de xarxa

❑ Internet: xarxa de xarxes interconnectades mitjançant un


conjunt de protocols comú

▪ Xarxes amb diferents tecnologies d’enllaç que funcionen


en diferents suports físics
– Enllaços sense fils (Wireless), línies de coure, Ethernet, fibra
òptica, …
– Diferents formats de trama, diferents adreces del nivell
d’enllaç (p.e. MAC), diferents característiques de capacitat,
de retard, de probabilitat d’error, etc.
Adreça física B

Estacio B Adreça física C

Xarxa 1 Xarxa 3
Estacio A
Xarxa 2

Adreça física A Estacio C

7
1 – Introducció a la capa de xarxa

❑ Internet: xarxa de xarxes interconnectades mitjançant un


conjunt de protocols comú

▪ Amaga la complexitat d’interconnectar totes aquestes


xarxes mitjançant la definició d’una única xarxa global
– Des d’un punt de vista lògic (no físic)

▪ Descentralitzat / distribuït
Escalable!
▪ Caòtic

Adreça IP de B

Estacio B Adreça IP de C

Net 1 Net 3
Estacio A
INTERNET
Net 2

Adreça IP de A Estacio C

8
1 – Introducció a la capa de xarxa

❑ Protocol Internet (IP): servei de lliurament de


paquets d’extrem a extrem
▪ Descentralitzat / Distribuït
– No hi ha cap element central de control per a tota la
xarxa
– No hi ha un únic punt de fallida
– Algunes organitzacions/institucions dedicades a
l'estandardització/coordinació: IETF, IANA, ISOC
▪ Com a conseqüència:
– Caòtic: creixement descontrolat, sense topologia o
arquitectura definida
– Escalable: “funciona” independentment del nombre
de nodes connectats (hosts i routers)

9
1 – Introducció a la capa de xarxa

❑ Protocol Internet (IP): servei de lliurament de


paquets d’extrem a extrem
▪ Poc fiable
– IP no garanteix que un paquet arribi a la seva destinació
(o que ho farà sense errors)
▪ No orientat a la connexió
– Commutació “total” de paquets (mode datagrama)
– Cada paquet es gestiona independentment de la resta

Xarxa IP.
▪ Best effort 2 1 1 2

– IP no garanteix la qualitat de servei (QoS)


– retard de transmissió, variació del retard de transmissió (jitter),
rendiment (throughput), errors, etc

10
1.1 – Adreçament IP
❑ Adreçament: Identificació única d’un dispositiu connectat

▪ Adreça IP : 32 bits (IPv4) ó 128 bits (IPv6)


– IPv4> 4·109 adreces diferents, amb IPv6> 3·1038 !!!
▪ Assignat a una targeta d’interfície de xarxa (NIC)
– Si un ordinador té diverses interfícies, cadascuna necessitarà
una adreça única (cas dels routers)
– Normalment (estacions de treball, servidors, servers, etc.)
només una interfície - l’adreça IP identifica el host
▪ Estructurat jeràrquicament amb dues parts
– Identificador de Xarxa
10010011010100110000110100010101
– Identificador de Interface (o host) 147.83. 13.21
– Identificat per una mascara de bits Net Host
– Conté un “1” per a cada bit corresponent al identificador de xarxa, un “0”
a les posicions corresponents al identificador host
– 147.83.13.21/16  mascara de xarxa 255.255.0.0  16 primers bits
pel identificador de xarxa

11
1.1 – Adreçament IP

❑ Adreçament: IPv4
▪ Assignació d’adreces IP:
– Una autoritat (IANA o una autoritat local) assigna
un número de xarxa únic a un operador de xarxa.
– UPC: 147.83
L’operador de xarxa assigna una adreça IP única a
cada host amb el prefix de xarxa corresponent
– p.e.: 147.83.13.21

Assignat pel propietari de la xarxa (UPC)

▪ Control descentralitzat de l’espai d’adreces


– En cas contrari, la gestió és inviable

12
1.1 – Adreçament IP

❑ Adreçament: IPv4
▪ Classes:
– Classe A: 8 bits 24 bits
– 8 bits pel identificador de xarxa
» Mascara: 255.0.0.0, o /8
xarxa host
– 24 bits pel identificador de host

– Classe B:
16 bits 16 bits
– 16 pel identificador de xarxa
» Mascara: 255.255.0.0, o /16
– 16 bits pel identificador de host xarxa host

– Classe C:
24 bits 8 bits
– 24 pel identificador de xarxa
» Mascara: 255.255.255.0, o /24
– 8 bits pel identificador de host xarxa host
13
1.1 – Adreçament IP
❑ Adreçament: IPv4
▪ Diferencies entre classes:
– Primer bit = 0  Classe A
– Primer número de l’adreça : 0 - 127
– 7 bits per codificar l’identificador de xarxa: 27 = 128 xarxes
de classe A
– 24 bits per l’identificador de host: 224 ≈ 16 milions
d’adreces
– Primers bits = 10  Classe B
– Primer número de l’adreça : 128 - 191
– 14 bits per codificar l’identificador de xarxa: 214 ≈ 16.000
xarxes de classe B
– 16 bits per l’identificador de host: 216 ≈ 65.000 adreces
– Primers bits = 110  Classe C
– Primer número de l’adreça: 192 - 223
– 21 bits per codificar l’identificador de xarxa: 221 ≈ 2 milions
de xarxes de classe C
– 8 bits per l’identificador de host : 28 = 256 adreces

14
1.1 – Adreçament IP
❑ Adreçament: IPv4
▪ Exemple: 10010011 01010011 00001101 00010101

– Classe B: 147 . 83 . 13 . 21
– 128 < 147 < 191
– Comença amb la seqüència binaria ‘10’

▪ Amb classes: assignació d’adreces ineficient


– És a dir, la teva empresa necessita 280 adreces  classe B
(>65.000 adreces malgastades!!)
– Solucions més eficients:
– Adreçament privat i Network Address Translation (NAT)
– Encaminament entre dominis, sense classes. Classless interdomain
routing (subnetting)
– IPv6!!

15
1.2 – Encaminament

❑ Encaminament: com arriba un paquet a la seva


destinació
▪ El paquet conté adreces d’origen i de destinació (capçalera IP)
▪ Si la destinació es troba for a de la xarxa local, el host envia el
paquet al router local
– Porta d’enllaç (gateway) per defecte
▪ El router analitza l’adreça de destinació de la capçalera IP del
paquet
origen: 206.44.119.35
destinació : 194.72.55.8
origen: 206.44.119.35

WAN

LAN1
LAN2
16
1.2 – Encaminament
❑ Encaminament: com arriba un paquet a la seva
destinació
▪ En rebre un paquet, el router
– Llegeix l’adreça de xarxa de la destinació
– Busqueu una coincidència a la seva taula d’encaminament
@ destination Output intf. Intf. 0
Intf. 1
206.44.119.0 0
194.72.55.0 1 Intf. 2 origen: 206.44.119.35
destinació.: 194.72.55.8
Default 2

– Si hi ha una ruta coneguda per aquesta destinació, reenvia el paquet


a la interfície adequada
– Si no hi ha cap ruta, el paquet es reenvia a la ruta predeterminada
(si n’hi ha)
– Si no hi ha cap ruta o ruta predeterminada, el paquet es descarta

17
1.2 – Encaminament

❑ Encaminament: com arriba un paquet a la


seva destinació
▪ El paquet es transmet de router a router fins
que arriba a la xarxa de destinació
– El router de la xarxa de destinació el lliurarà al host
especificat
– Prova:
– http://www.yougetsignal.com/tools/visual-tracert/
– http://cqcounter.com/traceroute
206.44.119.0
LAN1
LAN2

206.44.119.35 194.72.55.0

194.72.55.8
18
1.2 – Encaminament
❑ Encaminament: com arriba un paquet a la seva
destinació
▪ Les taules d’encaminament s’han d’actualitzar:
– Noves xarxes, fallades dels enllaços, congestió, etc.
– Intercanvi regular d’informació entre routers (protocols)
▪ Informació d’encaminament:
– Els routers coneixen totes les rutes possible?  inviable !!
– Memòria per emmagatzemar taules i capacitat per cercar en un tprocès ~ 0
– La informació es distribueix entre els routers
– Els routers només guarden informació de les xarxes més properes
– Destinacions desconegudes: reenvia el paquet a un encaminador d’una
jerarquia superior
▪ Compensació: mida de la taula d’encaminament vs. Optimització
de la ruta

19
1.2 – Encaminament
❑ Encaminament Multicast: múltiple destinacions
▪ unicast
– Una còpia del paquet
per a cada destinació

▪ multicast
– Nombre mínim de
copies  escalable
– Basat en la subscripció
a un grup de
multidifusió identificat
per una adreça IP
especial (multicast)

20
1.3 – Internet Control Message Protocol

❑ ICMP (Internet Control Message Protocol)


▪ RFC 792 (1981)
– Part de la suite IP: cada mòdul IP ha d’implementar
ICMP
▪ IP no esta implementat per oferir fiabilitat
– Si es necessita fiabilitat, s’implementa a les capes
superiors
▪ ICMP NO proporciona fiabilitat, però és una eina útil
per a altres mecanismes que busquen millorar el
control i la fiabilitat de les xarxes IP:
– Diagnòstic d’encaminament, congestió, fragmentació,
etc.
– Notificacions sobre errors de paquets

21
1.3 – Internet Control Message Protocol

❑ ICMP (Internet Control Message Protocol)


▪ Dos tipus de missatges ICMP
– Comandes Request / Response (Petició / Resposta)
– Sol·licituds d'informació

▪ Missatges d’errors (causat en processar un paquet IP)


– Des d’una destinació o un router del camí del paquet fins
a l’origen del paquet
– Els paquets de broadcast/multicast no generen
missatges ICMP

22
1.3 – Internet Control Message Protocol

❑ ICMP (Internet Control Message Protocol)


▪ Exemples
– Destination unreachable (inaccessible): enviat
per un router si no troba cap camí cap a la destinació
– Source Quench: informa l’origen d’una velocitat de
paquets excessiva
– Redirect: suggereix un router alternatiu per una
destinació concreta
– Time Exceeded : un paquet a travessat massa
enllaços i es descartarà
– Echo Request / Echo Reply: un node determinat
vol una resposta d’un altre node (eina de ping)

23
2 – The IP packet

1. El paquet IPv4
2. El paquet IPv6

Loading: 34%

24
2 – El paquet IP

❑ Format d’un paquet IP (o datagrama)

Capçalera IP Dades IP
▪ Les capçaleres definides per el Internet Protocol
– paràmetres per permetre el funcionament del
protocol IP
– ex.: adreces d’origen/destinació, etc.
– Processat pels routers i el host receptor
– Mida variable (normalment, 20 bytes)

▪ Dades:
– Unitat de dades d’un protocol de nivell superior
– Mida variable (depèn de les capes superiors)

25
2.1 – El paquet IP

❑ Format d’un paquet IPv4 (o datagrama)

bits 0 4 8 16 19 24 31
VERS HLEN TYPE OF SERV TOTAL LENGTH
IDENTIFICATION FLAGS FRAGMENT OFFSET
Header

TIME TO LIVE PROTOCOL HEADER CHECKSUM


SOURCE IP ADDRESS
DESTINATION IP ADDRESS
IP OPTIONS (IF ANY) PADDING
DATA
. . .

26
2.1 – El paquet IP

❑ Format d’un paquet IPv4 (o datagrama)


▪ VERS
– Versió del protocol IP utilitzada per crear el paquet
– L'emissor, el receptor i els routers han d'utilitzar la
mateixa versió del protocol
– Actualment, és IPv4 o IPv6

bits 0 4 8 16 19 24 31
VERS HLEN TYPE OF SERV TOTAL LENGTH
IDENTIFICATION FLAGS FRAGMENT OFFSET
TIME TO LIVE PROTOCOL HEADER CHECKSUM
. . .

27
2.1 – El paquet IP

❑ Format d’un paquet IPv4 (o datagrama)


▪ HLEN
– Longitud de la capçalera (en unitats de 32 bits)
– Cas més comú: 20 bytes (HLEN = 5)
– Sense opcions ni farciment (padding)
– Mida màxima de la capçalera: 60 bytes (HLEN = 15)

bits 0 4 8 16 19 24 31
VERS HLEN TYPE OF SERV TOTAL LENGTH
IDENTIFICATION FLAGS FRAGMENT OFFSET
TIME TO LIVE PROTOCOL HEADER CHECKSUM
. . .

28
2.1 – El paquet IP

❑ Format d’un paquet IPv4 (o datagrama)


▪ TYPE OF SERVICE (TOS)
– Especifica com els routers han de gestionar el paquet
– Qualitat de servei (QoS)
– Generalment s'ignora
– recordeu: Best Effort

bits 0 4 8 16 19 24 31
VERS HLEN TYPE OF SERV TOTAL LENGTH
IDENTIFICATION FLAGS FRAGMENT OFFSET
TIME TO LIVE PROTOCOL HEADER CHECKSUM
. . .

29
2.1 – El paquet IP

❑ Format d’un paquet IPv4 (o datagrama)


▪ TOTAL LENGTH
– Longitud del datagrama en bytes (capçalera + dades)
– Codificat en 16 bits de la capçalera:
– Mida màxima d'un datagrama IP: 216 - 1 bytes
(≈ 64 kbytes)

bits 0 4 8 16 19 24 31
VERS HLEN TYPE OF SERV TOTAL LENGTH
IDENTIFICATION FLAGS FRAGMENT OFFSET
TIME TO LIVE PROTOCOL HEADER CHECKSUM
. . .

30
2.1 – El paquet IP
❑ Format d’un paquet IPv4 (o datagrama)

 Mecanisme de fragmentació:
– La majoria de tecnologies de capa d'enllaç no
admeten la transmissió de paquets de 64 Kbytes
– Fragmentació és necessària per complir la unitat
de transferència màxima (MTU)
– Aquests camps s'utilitzen per si es necessita
fragmentació en algun enllaç i es tornen a muntar a la
destinació
bits 0 4 8 16 19 24 31
VERS HLEN TYPE OF SERV TOTAL LENGTH
IDENTIFICATION FLAGS FRAGMENT OFFSET
TIME TO LIVE PROTOCOL HEADER CHECKSUM
. . .

31
2.1 – El paquet IP

❑ Format d’un paquet IPv4 (o datagrama)


▪ TIME TO LIVE (TTL)
– Els routes i els hosts redueixen el seu valor en una
unitat
– Si el TTL del paquet arriba a zero, es descarta
– Garanteix que un paquet no "viurà" per sempre a
Internet

bits 0 4 8 16 19 24 31
VERS HLEN TYPE OF SERV TOTAL LENGTH
IDENTIFICATION FLAGS FRAGMENT OFFSET
TIME TO LIVE PROTOCOL HEADER CHECKSUM
. . .

32
2.1 – El paquet IP

❑ Format d’un paquet IPv4 (o datagrama)


▪ PROTOCOL
– Especifica el protocol utilitzat per la capa superior
– Les dades del camp de dades pertanyen a aquest
protocol
– Exemples:
» TCP: 6
» UDP: 17
bits 0 4 8 16 19 24 31
VERS HLEN TYPE OF SERV TOTAL LENGTH
IDENTIFICATION FLAGS FRAGMENT OFFSET
TIME TO LIVE PROTOCOL HEADER CHECKSUM
. . .

33
2.1 – El paquet IP
❑ Format d’un paquet IPv4 (o datagrama)
▪ HEADER CHECKSUM
– Redundància que protegeix la capçalera (detecció d'errors
de bits)
– Suma de comprovació de totes les paraules de 16 bits
de la capçalera
– Només s'aplica a la capçalera
– Càlculs més ràpids en routers i hosts
– La integritat de la càrrega útil (dades) és
responsabilitat dels protocols superiors
bits 0 4 8 16 19 24 31
VERS HLEN TYPE OF SERV TOTAL LENGTH
IDENTIFICATION FLAGS FRAGMENT OFFSET
TIME TO LIVE PROTOCOL HEADER CHECKSUM
. . .

34
2.1 – El paquet IP

❑ Format d’un paquet IPv4 (o datagrama)


▪ SOURCE IP ADDRESS
– Adreça IP de la interfície que genera el paquet

▪ DESTINATION IP ADDRESS
– Adreça IP del destinatari previst del paquet
bits 0 4 8 16 19 24 31
VERS HLEN TYPE OF SERV TOTAL LENGTH
IDENTIFICATION FLAGS FRAGMENT OFFSET
TIME TO LIVE PROTOCOL HEADER CHECKSUM
SOURCE IP ADDRESS
DESTINATION IP ADDRESS
. . .

35
2.1 – El paquet IP

❑ Format d’un paquet IPv4 (o datagrama)


▪ OPTIONS
– Informació addicional opcional i de longitud variable
– Funcions:
– Diagnòstics i proves de xarxa
– Encaminament (p. e., source routing)
– Seguretat (IPSec)
– etc. . . .
DESTINATION IP ADDRESS
IP OPTIONS (IF ANY) PADDING
. . .

36
2.1 – El paquet IP

❑ Format d’un paquet IPv4 (o datagrama)


▪ PADDING
– Camp de farciment opcional i de longitud variable
– Assegura que la mida de la capçalera sigui múltiple de 32 bits
– Recordeu que la longitud de la capçalera s'ha d'expressar
en unitats de 32 bits al camp HLEN
– Si no hi ha opcions, no serà necessari el camp de PADDING
– Valor: (si existeix) tots a zeros ‘00...0’

. . .

DESTINATION IP ADDRESS
IP OPTIONS (IF ANY) PADDING
. . .

37
Fragmentació IP

❑ Format d’un paquet IPv4 (o datagrama)


▪ Mecanisme de fragmentació:
– La majoria de tecnologies de la capa d’enllaç no
admeten la transmissió de paquets de 64 Kbytes

– La fragmentació és necessària per complir la


unitat de transferència (Maximum Transmission
Unit, MTU)

bits 0 4 8 16 19 24 31
VERS HLEN TYPE OF SERV TOTAL LENGTH
IDENTIFICATION FLAGS FRAGMENT OFFSET
TIME TO LIVE PROTOCOL HEADER CHECKSUM
. . .

38
Fragmentació IP

❑ Format d’un paquet IPv4 (o datagrama)


▪ Fragment: IDENTIFICATION (ID)
– Identificador únic per a cada paquet IP, generat per
mateix node, adreçat a la mateixa destinació I amb
el mateix protocol de transport
– En cas de fragmentació, identifica a quin paquet
correspon cada fragment

bits 0 4 8 16 19 24 31
VERS HLEN TYPE OF SERV TOTAL LENGTH
IDENTIFICATION FLAGS FRAGMENT OFFSET
TIME TO LIVE PROTOCOL HEADER CHECKSUM
. . .

39
Fragmentació IP

❑ Format d’un paquet IPv4 (o datagrama)


▪ Fragment: FLAGS
– 3 bits (només dos d’ells en ús)
– DO NOT FRAGMENT (DF)
» Actiu (és a dir, establert en ‘1’): aquest paquet no s’ha de fragmentar
– MORE FRAGMENTS (MF)
» Actiu: Aquest paquet no és l’últim fragment
- DF MF
bits 0 4 8 16 19 24 31
VERS HLEN TYPE OF SERV TOTAL LENGTH
IDENTIFICATION FLAGS FRAGMENT OFFSET
TIME TO LIVE PROTOCOL HEADER CHECKSUM
. . .

40
Fragmentació IP

❑ Format d’un paquet IPv4 (o datagrama)


▪ Fragment: FRAGMENT OFFSET
– Quantitat de bytes de dades anteriors a les dades
contingudes en aquest fragment
– Expressat en unitats de 8 bytes
– La longitud de càrrega útil dels fragments
anteriors ha de ser múltiple de 8 bytes

bits 0 4 8 16 19 24 31
VERS HLEN TYPE OF SERV TOTAL LENGTH
IDENTIFICATION FLAGS FRAGMENT OFFSET
TIME TO LIVE PROTOCOL HEADER CHECKSUM
. . .

41
Fragmentació IP
entrada: un datagrama gran
❑ Fragmentació i acoblament sortida: 3 datagrames menors

– Els enllaços de xarxa tenen el MTU més


gran possible:
– Diferents tipus d’enllaços, impliquem
diferents MTU’s
– El datagrama gran es divideix
(fragmenta) a la xarxa:
– Un sol datagrama es converteix en diversos
– Només es fa l’acoblament a la destinació
final
– Els bits de capçalera de IP es fan servir per
identificar, ordenar fragments relacionats

42
Fragmentació IP
❑ Fragmentació i acoblament Indicadors de
longitud fragmentació Desplaçament

Exemple 3980 x MF = 0 0
 Datagrama de Identificador
4000 bytes Un sol datagrama es converteix en
 MTU = 1500 diversos
bytes
1480 x MF = 1 0

1480 x MF = 1 185

1020 x MF = 0 370

http://fixmycode.github.io/IPFCalc/

43
Fragmentació IP
 Exercicis
1. Considereu l’enviament d’un datagrama de 3.000 bytes sobre un enllaç amb un MTU de
500 bytes. Suposeu que el datagrama original esta marcat amb el número d'identificació
422.
a) Quants fragments es generaran?
b) Mostreu les característiques de cadascun dels fragments ?

2. Un paquet IP de longitud màxima es fragmenta a l’encaminar-se per una xarxa Ethernet


amb el màxim MTU possible.
a) Quin és el número de paquets IP generats després de la fragmentació? generats
b) Per que podem codificar el camp Offset (desplaçament) en el paquet IP amb 13 bits i
no amb 16 bits?
c) Per els dos últims paquets generats en el procés de fragmentació, quin son els valors
per:
Penúltim paquet generat Últim paquet generat
Longitud del camp de dades
Identificador
Desplaçament
Bit M

d) Quin és el primer byte del camp de dades de l’últim paquet generat?

44
Càlcul de la Suma de comprovació (CHECKSUM)

❑ Objectiu: detectar “errors” (p.e. bits alterats) en el


datagrama transmès
Emissor: Receptor:
– Tracta els continguts del – Calcula la suma de comprovació
datagrama com una del datagrama rebut
seqüència de bits sencers
– Comprova si la suma de
– Suma de comprovació: comprovació calculada és igual
adició (suma de complement al valor rebut en el camp de
a u) dels continguts del suma de comprovació:
datagrama – NO - error detectat
– SI - no se detecta l’error.
– L’emissor posa el resultat de Malgrat tot hi pot haver errors?
la suma de comprovació en
el camp CHECKSUM.

45
Exemple: Càlcul de la Suma de comprovació

Exemple: suma de dos números de 16-bits

1 1 1 1 0 0 1 1 0 0 1 1 0 0 1 1 0
1 1 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1

desbordament 1 1 0 1 1 1 0 1 1 1 0 1 1 1 0 1 1

suma 1 1 0 1 1 1 0 1 1 1 0 1 1 1 1 0 0
Checksum 1 0 1 0 0 0 1 0 0 0 1 0 0 0 0 1 1
Complement a 1

Observació: quan sumem números, si es produeix


desbordament, aquest es suma sobre el bit de menys pes

46
Exemple: Càlcul de la Suma de comprovació

Exemple: suma de tres números de 16-bits

0110011001100000
0101010101010101
1000111100001100

47
Exemple: Càlcul de la Suma de comprovació

Exemple: suma de tres números de 16-bits

0110011001100000
0101010101010101
1000111100001100

La suma de las dos primeres és:


1011101110110101

48
Exemple: Càlcul de la Suma de comprovació

Exemple: suma de tres números de 16-bits

0110011001100000
0101010101010101
1000111100001100

La suma de las dos primeres és:


1 0 1 1 1 0 1 1 1 0 1 1 0 1 0 1, més la tercera
1000111100001100
1 0100101011000001

49
Exemple: Càlcul de la Suma de comprovació

Exemple: suma de tres números de 16-bits


0110011001100000
0101010101010101
1000111100001100
La suma de las dos primeres és:
1 0 1 1 1 0 1 1 1 0 1 1 0 1 0 1, més la tercera
1000111100001100
1 0100101011000001
0100101011000010

50
Exemple: Càlcul de la Suma de comprovació

Exemple: suma de tres números de 16-bits


0110011001100000
0101010101010101
1000111100001100
La suma de las dos primeres és:
1 0 1 1 1 0 1 1 1 0 1 1 0 1 0 1, més la tercera
1000111100001100
1 0100101011000001
0100101011000010
El complement a 1 de la suma és:
1011010100111101
http://gaia.cs.umass.edu/kurose_ross/interactive/internet_checksum.php

51
2 – El paquet IP

1. El paquet IPv4
2. El paquet IPv6

Loading: 44%

52
2.2 – El paquet IPv6

❑ Format d’un paquet IPv6 (o datagrama)


▪ Capçalera més gran (més sobrecàrrega)
– Camps d'adreça x4!

▪ Menys camps (més fàcil de processar)


bits 0 4 8 11 12 16 24 31
VERS CLASS FLOW LABEL
PAYLOAD LENGTH NEXT HEADER HOP LIMIT
40 bytes de
capçalera

SOURCE IP ADDRESS
(128 bits)
DESTINATION IP ADDRESS
128 bits
DATA

53
3 – Adreçament
1. ARP: Address Resolution Protocol

2. Classes

3. Ús eficient de l’espai d’adreces

4. Subnetting

5. Adreçament IPv6

Loading: 60%

54
3.1 - Address Resolution Protocol (ARP)

IP=148.83.113.4 IP=148.83.113.57
A MAC=AF:43:13:A4:15:65 MAC=AF:43:13:11:E6:43 B

 Normalment, el node (A) coneix l'adreça IP del node amb el qual


es vol comunicar (B), però no l'adreça MAC
 Per comunicar-se en una LAN cal conèixer l'adreça MAC del
receptor
 Solució: el protocol ARP (RFC 826)

 Resol adreces físiques des de l'adreça de capa 3 (generalment IP)

 Funciona en mode broadcast

55
3.1 - Address Resolution Protocol (ARP)

IP=148.83.113.4 IP=148.83.113.57
A MAC=AF:43:13:A4:15:65 MAC=AF:43:13:11:E6:43 B

.. AF:43:13A FF:FF:FF .. 148.83 148.83


ARP Request ...
. 4:15:65 FF:FF:FF
. 113.4 113.57

.. AF:43:131 AF:43:13A .. 148.83 148.83


ARP Response ...
. 1:E6:43 4:15:65
. 113.57 113.4

 A partir d'aquest moment, la comunicació entre A i B ja no es farà


en mode broadcast (es coneixen les adreces MAC i IP unicast)

56
3.1 - Address Resolution Protocol (ARP)

❑ L'abast d’una sol·licitud ARP Request és un domini de difusió


al nivell 2 (és a dir, no surt de la xarxa local)
▪ Un switch (commutador) o hub (concentrador) permetrà missatges ARP
▪ Un router (encaminador) NO reenviarà missatges ARP
❑ El trànsit d'emissió de trames amb sol·licituds ARP, per ser en
mode broadcast, és "molest (annoying)" i s'ha de minimitzar
▪ Força a tots els nodes a processar trames de sol·licitud
❑ Cache ARP
▪ Taula amb les relacions IP  MAC apreses
– Si està a la taula, no s’envia la sol·licitud ARP Request  reduint el
trànsit de difusió
▪ Després d'un temps determinat, aquestes entrades ARP caduquen
– Evita les incoherències derivades dels canvis d'adreça IP o MAC

57
3 – Adreçament
1. ARP: Address Resolution Protocol

2. Classes

3. Ús eficient de l’espai d’adreces

4. Subnetting

5. Adreçament IPv6

58
3.2 - Classes

❑ Casos especials
▪ Adreçament privat: 10.X.X.X / 172.16.X.X - 172.31.X.X / 192.168.X.X
▪ Adreça de loopback: 127.X.X.X
▪ Adreces amb bits de host establerts a ‘0’ reservats com adreça de xarxa
▪ Adreces amb bits de host establerts a ‘1’ reservats com adreça de difusió
de xarxa
59
3.2 - Classes

❑ Estructura d'adreces de xarxa / host basada en classes

▪ Ineficient, inflexible, http://www.potaroo.net/tools/ipv4/index.html

no escalable, …
▪ Les adreces IPv4 ja
s'han esgotat!

▪ Solucions
– IPv6
– Adreçament dinàmic
– Subnetting!!

AFRINIC: Africa
ARIN: Américas N.
APNIC: Asia + Oceanía
LACNIC: Américas S.
RIPE: Europa + Oriente Pr.

60
3 – Adreçament
1. ARP: Address Resolution Protocol

2. Classes

3. Ús eficient de l’espai d’adreces

4. Subnetting

5. Adreçament IPv6

61
3.3 - Ús eficient de l’espai d’adreces
❑ IPv6
▪ A finals dels anys 90 (segle XX) la comunitat d'Internet és
conscient de l'esgotament imminent de les adreces de 32 bits
– Implementació de "parches" i solucions temporals mentre es
treballa en una nova versió: IPv6
– Subnetting / CIDR, adreçament dinàmic, NAT ...

▪ Característiques principals de IPv6


– Major nombre d’adreces disponibles (128 bits!) i descobriment
d’adreces/ mecanismes d’autoconfiguració/router integrat
– Simplificació de la capçalera: mida de capçalera més gran (40
bytes fixa), però menys camps i més fàcil de processar
– Les opcions es poden afegir com a "extensions"
– Extensions per proporcionar seguretat de manera nativa
▪ Ús actual d'IPv6 a tot el món
– https://www.google.com/intl/en/ipv6/statistics.html

62
3.3 - Ús eficient de l’espai d’adreces

❑ Assignació dinàmica d’adreces IP


 Un node sol·licita la configuració IP d’un servidor per
connectar-se a la xarxa
 Al final de la sessió, s’allibera l’adreça IP perquè pugui
ser utilitzada per altres nodes
 Assignació d’adreça
– Permanent (durant tota la sessió)
– Temporal, renovació periòdica
 Mecanismes: RARP, DHCP, PPP, ...

 Exemples d’aplicació: 4.000 clients mòbils amb accés a


Internet, només es connecten fins a 2.800 simultàniament
– IP no dinàmica: 16 x classe C
– Con IP dinàmica: 12 x classe C

63
3.3 - Ús eficient de l’espai d’adreces

❑ NAT: Network Address Translation


▪ Les adreces IP només son per a ús intern i no s’encaminen fora de la
xarxa privada
▪ Funcionament transparent per a l’usuari
▪ NAT bàsic
– Mapeig entre un grup d’adreces IP públiques i un grup d’adreces IP privades
per a ús intern

▪ NAPT (Network Address and Port Translation)


– Comparteix una adreça pública entre diversos nodes privats
– Ús de ports TCP/UDP per distingir els fluxos IP cap a/des de diferents nodes
interns
– Beneficis:
– Reducció del nombre d’adreces IP públiques utilitzades
– Possibilitat de reutilitzar intervals d’adreces

64
3.3 - Ús eficient de l’espai d’adreces
❑ NAT: Network Address Translation
▪ Les adreces IP només són per a ús intern i no s'encaminen fora de la
xarxa privada.
▪ Exemples: https://gaia.cs.umass.edu/kurose_ross/interactive/nat.php

Només una IP
(pública) per
a tota la
xarxa!!

65
3 – Adreçament
1. ARP: Address Resolution Protocol

2. Classes

3. Ús eficient de l’espai d’adreces

4. Subnetting

5. Adreçament IPv6

66
3.4 – Subnetting IPv4

❑ Subnetting: dividir una xarxa en xarxes més petites

▪ Per motius de seguretat, control de trànsit, diferents


tecnologies de nivell 2, etc. pot ser interessant agrupar
computadors en diferents subxarxes
– Una xarxa amb 60 estacions de treball i una altra amb 4
servidors -> Realment necessito assignar dos rangs de classe C?

Màscara Classe B
▪ Subnetting permet una gestió
d’adreces més eficient NET ID HOST ID
▪ Alguns bits de l’identificador de host
s’utilitzen per identificar la subxarxa
NET ID SubN.#1 HOST
– El nombre de bits s’especifica a la
NET ID SubN.#2 HOST
màscara
NET ID SubN.#n HOST

https://datatracker.ietf.org/doc/html/rfc1918 Subnetting amb màscares

67
3.4 - IPv4 Subnetting

❑ Subnetting: dividir una xarxa en xarxes més petites

▪ Definició de la màscara
– Els bits corresponents a les posicions de l’identificador de xarxa i
de la subxarxa dins de l’adreça IP s’estableixen a 1
– Els bits restants (identificador de host) s’estableixen a 0

▪ Exemple: IP = 200.10.10.70 - mask = 255.255.255.192


11111111.11111111.11111111.11000000
Màscara original Classe C
Identificador de host (6
Identificador de subxarxa: 2 bits -> 4 subxarxes bits) -> 64 adreces per
subxarxa

– Originalment, una classe C es defineix per un ID de xarxa de 24 bits i un ID de host de 8


bits -> la mascara conté 24 ‘1’s i 8‘ 0’s
– Hem “robat” dos bits de ID de host per diferenciar quatre subxarxes --> ara la màscara
conté 26 ‘1’s i 6 ‘ 0’s

68
3.4 - IPv4 Subnetting

❑ Subnetting: dividir una xarxa en xarxes més


petites (http://www.vlsmcalc.com/ )
▪ Exemple: IP = 200.10.10.0/24 assignada a la nostra organització
– Necessitem 4 subxarxes (p.e., laboratoris/secretaria/estudiants/professors)
# SubNet Address range Net ID Mask
0 200.10.10.0 – 200.10.10.63 200.10.10.0 255.255.255.192
1 200.10.10.64 – 200.10.10.127 200.10.10.64
ó
2 200.10.10.128 – 200.10.10.191 200.10.10.128
3 200.10.10.192 – 200.10.10.255 200.10.10.192 /26

– No totes les adreces estan disponibles per als dispositius


– El ID de host amb tots els bits a ‘1’: adreça de difusió (broadcast) de subxarxa
– El ID de host amb tots els bits a ‘0’: adreça de la subxarxa
– Recordeu que el router també necessitarà una IP a cada subxarxa

69
3.4 - IPv4 Subnetting
▪ Exemple: IP = 200.10.10.0/24 assignada a la nostra organització
– Necessitem 4 subxarxes (p.e., laboratoris/secretaria/estudiants/professors)

Subxarxes Identificador Màscara Primera IP útil – Última IP útil IP Router IP Broadcast


SubXarxa Subxarxa
Subxarxa 0 200.10.10.0 /26 200.10.10.1 – 200.10.10.62 200.10.10.1 200.10.10.63

70
3.4 - IPv4 Subnetting
▪ Exemple: IP = 200.10.10.0/24 assignada a la nostra organització
– Necessitem 4 subxarxes (p.e., laboratoris/secretaria/estudiants/professors)

Subxarxes Identificador Màscara Primera IP útil – Última IP útil IP Router IP Broadcast


SubXarxa Subxarxa
Subxarxa 0 200.10.10.0 /26 200.10.10.1 – 200.10.10.62 200.10.10.1 200.10.10.63
Subxarxa 1 200.10.10.64 /26 200.10.10.65 – 200.10.10.126 200.10.10.65 200.10.10.127

71
3.4 - IPv4 Subnetting
▪ Exemple: IP = 200.10.10.0/24 assignada a la nostra organització
– Necessitem 4 subxarxes (p.e., laboratoris/secretaria/estudiants/professors)

Subxarxes Identificador Màscara Primera IP útil – Última IP útil IP Router IP Broadcast


SubXarxa Subxarxa
Subxarxa 0 200.10.10.0 /26 200.10.10.1 – 200.10.10.62 200.10.10.1 200.10.10.63
Subxarxa 1 200.10.10.64 /26 200.10.10.65 – 200.10.10.126 200.10.10.65 200.10.10.127
Subxarxa 2 200.10.10.128 /26 200.10.10.129 – 200.10.10.190 200.10.10.129 200.10.10.191

72
3.4 - IPv4 Subnetting
▪ Exemple: IP = 200.10.10.0/24 assignada a la nostra organització
– Necessitem 4 subxarxes (p.e., laboratoris/secretaria/estudiants/professors)

Subxarxes Identificador Màscara Primera IP útil – Última IP útil IP Router IP Broadcast


SubXarxa Subxarxa
Subxarxa 0 200.10.10.0 /26 200.10.10.1 – 200.10.10.62 200.10.10.1 200.10.10.63
Subxarxa 1 200.10.10.64 /26 200.10.10.65 – 200.10.10.126 200.10.10.65 200.10.10.127
Subxarxa 2 200.10.10.128 /26 200.10.10.129 – 200.10.10.190 200.10.10.129 200.10.10.191
Subxarxa 3 200.10.10.192 /26 200.10.10.193 – 200.10.10.254 200.10.10.193 200.10.10.255

73
3.4 - IPv4 Subnetting
 Exemple
Una empresa disposa de 80 màquines a les quals cal assignar adreces IP.
L’administrador de l’empresa disposa del rang 195.89.98.0. Es planteja una
distribució que permeti disposar de quatre subxarxes, amb 20 màquines per
subxarxa, tal com mostra la figura.

a) A quina mena d'adreces IP pertanyen les adreces de màquina de l'empresa?


b) Quina és la direcció de broadcast de la xarxa?
c) Plantegeu una assignació d'adreces IP que permeti la divisió a les subxarxes
indicades. Per cada subxarxa heu d'indicar:
• rang d'adreces de cada subxarxa
• adreça de subxarxa i adreça de broadcast de la subxarxa
• adreces i màscares de subxarxa que assigneu a les màquines i al router
d) Quantes adreces del rang 195.89.98.0 no es podran utilitzar a causa de la
divisió en subxarxes?

74
3.4 - IPv4 Subnetting

❑ Encaminament Directe/Indirecte (amb subnetting):

1. A comprova si la IP de B pertany a la mateixa (sub)xarxa


– A aplica la seva pròpia mascara a l’adreça IP de B

2. Si l’adreça IP de destinació pertany a la mateixa


(sub)xarxa que l’adreça IP d’origen:
– El host origen envia el paquet directament a la destinació
– Si es desconeix la MAC de destinació: ARP Request
a la IP de destinació

3. En un altre cas:
– El host d’origen enviarà el paquet (indirectament) a
través del seu router
– Si es desconeix la MAC del router: ARP Request a la
IP del router

75
3.4 - IPv4 Subnetting
A B
❑ Exemple
d’encaminament
200.10.10.70 / 26 200.10.10.130 / 26
▪ Si A coneix la ARP Request
MAC del seu
ARP Reply
router, A no
utilitzarà ARP
info ARP Request

▪ Si el router ja sap ARP Reply


l’adreça de B, el
router no info
utilitzarà ARP
info
info

76
Encaminament Directe/Indirecte
 Indirecte
IP packet IP packet
L2 frame L2 Frame

Src. @MAC: @MACA Src. @IP: @IPA Src. @IP: @IPA Src. @MAC: @MACY
Dest. @MAC: @MACX Dest. @IP: @IPB Dest. @IP:@IPB Dest. @MAC: @MACB

Router
Link 1 Node B
Node A @IPX Link 2
@MACX @IPY @IPB
@IPA @MACY @MACB
@MACA

77
Encaminament Indirecte/Directe
 Directe
IP packet IP packet
L2 frame L2 Frame

Src. @MAC: @MACA Src. @IP: @IPA Src. @IP: @IPA Src. @MAC: @MACA
Dest. @MAC: @MACB Dest. @IP: @IPB Dest. @IP: @IPB Dest. @MAC: @MACB

Switch
Link 1 Node B
Node A @IP? Link 2
@MACX @IP? @IPB
@IPA @MACY @MACB
@MACA

78
3 – Adreçament
1. ARP: Address Resolution Protocol

2. Classes

3. Ús eficient de l’espai d’adreces

4. Subnetting

5. Adreçament IPv6

79
3.5 – Adreçament IPv6

❑ Adreçament: IPv6

▪ 128 bits dividits en 8 grups de 16 bits (4 digits hex)


separats per ‘:’
– p.e.: 1080:0000:0000:0000:0008:0800:200c:417a
❑ Mecanismes per simplificar (comprimir) adreces IPv6
▪ Zeros consecutius dins d’un grup: 1080:0:0:0:8:800:200c:417a
▪ Ampliació a diversos grups: 1080::8:800:200c:417a
– Per evitar ambigüitats, només es pot comprimir un grup de zeros
consecutius
– 1080:0000:0000:3245:0000:0000:200C:417a es pot comprimir a:
– 1080:0:0:3245::200c:417a  OK
– 1080::3245:0:0:200c:417a  OK
– 1080::3245::200c:417a  no hi ha manera de saber quants
grups de zeros s'han reduït amb el primer o el segon ‘::’

80
3.5 - Adreçament IPv6

❑ Adreçament: IPv6 destinació

origen
▪ Adreces Unicast
– Sense especificar: 00… 0 (::/128  comprimit)
– Ús de l’adreça 0 quan el node IPv6 no té cap adreça assignada
– Loopback: 00… 1 (::1/128  comprimit)
– Equivalent a l’adreça IPv4 127.0.0.1
– Enllaç-local: comença amb 1111111010 (fe80::/10) seguit de 54
zeros i un identificador de interfície (generalment la MAC del
dispositiu)
– Només són vàlids a l’enllaç local (no encaminats)
– S’utilitza durant la configuració automàtica o en absència d’un router
– Global: identificació única de la interfície de xarxa
– 64 bits per la identificació de xarxa
» 48 bits (o més) per al prefix de la xarxa
» 16 bits (o menys) per a l’identificador de la subxarxa
– 64 bits per l’identificador de host: automàtic (des de la MAC) o manual

81
3.5 - IPv6 addressing
❑ Adreçament: IPv6
▪ Adreces Anycast: mateix format destination

que unicast source


– Lliurament de paquets al node més
proper que comparteix aquest
identificador

▪ Adreces Multicast: començant per 11111111


– Identificar un conjunt d’interfícies
– Exemples:
– ff02:0:0:0:0:0:0:1 (or ff02::1)  tots els nodes
– ff02:0:0:0:0:0:0:2 (or ff02::2)  tots els routers
destination

source

82
4 – Nivell de Transport

1. Control d’error a nivell de paquet


2. TCP: l’enfocament fiable
3. UDP: “fire and forget”

Loading: 87%

83
4 – Nivell de Transport
❑ Nivell de Transport
 Proporciona connectivitat d’aplicació a
aplicació
– Multiplexació de ports (~identificador d’una
aplicació dins d’un SO)
 Equivalent al nivell 4 OSI
 Controlat pel Sistema Operatiu
 Dues versions bàsiques:
– UDP: transmissió poc fiable de datagrames
entre aplicacions
– TCP: transmissió fiable
 Característiques:
– Connectionless
– Error Control
– Flow control
– Congestion Control

84
4 – Nivell de Transport

❑ Funció de la capa de Transport a la pila de protocols TCP/IP


 Proporciona connectivitat d’aplicació a aplicació
– Multiplexació de ports (identificador d’una aplicació en xarxa dins d’un
Sistema Operatiu)
– És a dir: web (TCP port 80), DNS (UDP port 53)
 Es basa en els serveis que ofereix la capa de Xarxa i serveix a la
capa d’Aplicació
– La capa de xarxa permet arribar a un computador llunyà, la capa de
transport permet comunicar amb una aplicació específica en aquest
computador
 S’executa en els host finals (normalment transparent per als
routers)
End host: receiver
End host: sender Wi-Fi – Ethernet bridge router switch
Link layer Link layer Link layer Link layer

IP layer IP layer
Transport layer

85
4 – Nivell de Transport

❑ Servei de missatgeria de datagrames (UDP)


▪ Extensió sense “luxes” del Best Effort IP
❑ Fiable, entrega en ordenada (TCP)
▪ Configuració de la connexió
▪ Descartar paquets corruptes
▪ Retransmissió de paquets perduts
▪ Control de flux
▪ Control de Congestió
❑ Altres serveis no disponibles
▪ Garanties de retard
▪ Garanties d’ample de banda

86
4 – Nivell de Transport

❑ Relació entre els protocols de l'arquitectura TCP/IP

Configuració de la Mapeig de Aplicacions


Eines de Sistema interfície de xarxa noms - IP Eines de mesura fiables
ping, HTTP, FTP,
traceroute, etc.
DHCP DNS iPerf SMTP, etc. Aplicació

UDP TCP Transport

ICMPv4/v6 Control IP – MAC


resolución d’adreces
IPv4 / IPv6 ARP Xarxa
(Internet)

Nivell d’Enllaç
Wi-Fi Performance Testing - Dec.2021 Ethernet, Wi-Fi, etc.

87
4 – Nivell de Transport

1. Control d’error a nivell de paquet


2. TCP: l’enfocament fiable
3. UDP: “fire and forget”

Loading: 87%

88
4.1 – Control d’error a nivell de paquet

 Control d’errors de paquets d’extrem a extrem a la Capa


de Transport

 Mecanisme bàsic 1: Automatic Repeat reQuest (ARQ)


 Ús de temporitzadors de retransmissió (RTO) i
reconeixements (ACK)
– Si el temporitzador expira i l’emissor no ha rebut ACK  retransmet
– Ocasionalment, ús de ACK negatiu (NACK)

Exemples:
Tx Rx Tx Rx Tx Rx
data data data
RTO RTO
RTO
ACK ACK
data data

ACK ACK

89
4.1 – Control d’error a nivell de paquet

 Mecanisme bàsic 1: Automatic Repeat reQuest (ARQ)


 Ús de temporitzadors de retransmissió (RTO) i
reconeixements (ACK)
– ACK acumulat (reconeix l’últim paquet rebut i tots els
paquets precedents)  un sol ACK pot reconèixer més d’un
paquet
– ACK normalment informa del següent paquet que s’ha de
rebre

Tx Rx Tx Rx
1
2 1
3 ACK-2 menys
El transmissor 2 eficient?
assumeix la recepció ACK-4 ACK-3
correcta dels paquets 3
1a3 ACK-4

90
4.1 – Control d’error a nivell de paquet

 Tipus d’errors de paquets: Pèrdua


 En xarxes amb baixa taxa d’error de bits (BER) ≈ 0
– pèrdues causades per sobrecàrrega (overload) o congestió
Desbordament de buffers en els switches/routers

 En xarxes amb un BER més alt


– pèrdues causades per la presència d’errors de bits
(irrecuperables)
 Tipus d’errors de paquets: Inserció
 Rebre paquets pertanyents a altres connexions
– Corrupció no detectada (errors de bits) a la capçalera
 Paquets retardats a la xarxa
– Els paquets d’anteriors connexions amb un retard excessiu
es barregen al nou flux de paquets

91
4.1 – Control d’error a nivell de paquet

 Tipus d’errors de paquets: Duplicació


 Retransmissió d’un paquet ja rebut
– ACK perdut (o retardant)
– Paquet retardat (RTT > RTO)
RTT: Round Trip Time
RTO: Retransmission TimeOut

Tx Rx Tx Rx
data data
RTO RTO ACK
ACK
data RTO data
ACK
ACK

92
4.1 – Control d’error a nivell de paquet

 Tipus d’errors de paquets: Duplicació


 Retransmissió d’un paquet ja rebut
– ACK perdut (o retardant)
– Paquet retardat (RTT > RTO)
RTT: Round Trip Time
RTO: Retransmission TimeOut

Tx Rx Tx Rx
data data
RTO RTT RTO ACK
ACK
data RTO data
RTT
RTT ACK
ACK

93
4.1 – Control d’error a nivell de paquet

 Tipus d’errors de paquets: Reordenació


 Rebre paquets en ordre incorrecte
– Conseqüència de pèrdues i retransmissions de paquets

Tx Rx
1
RTO 2
1

ACK-3
1 2
 Diferent paquets poden Tx 2 1 2
viatjar per diferents camins
Rx
(tenint diferent RTT)
– Recordatori: commutació de 1
paquets mode datagrama

94
Activitat 2: Càlcul del RTO del protocol TCP

 RTT: Round Trip Time, temps d’anada i tornada

 RTO: Retransmission TimeOut, temps d’espera de


retransmissió

 Com establir el valor del temps d’espera TCP?


 Més llarg que el RTT
– Encara que el RTT es variable

 Massa curt: temps límit d’espera prematur


– Retransmissions innecessàries

 Massa llarg: reacció lenta davant la pèrdua d’un


segment
95
Activitat 2: Càlcul del RTO del protocol TCP

 Com realitzar una estimació del RTT?

 Mostra_RTT: el temps mesurat de la transmissió del


segment fins que es rep l’ACK
 Ignora retransmissions
 Mostra_RTT es variable, pot presentar fluctuacions, per tan
cal que el RTT estimat sigui un promig
 Mitjana de diverses mesures recents, no només la Mostra_RTT
en curs

 Estimat_RTT = (1- α) * Estimat_RTT + α * Mostra_RTT

 Mitjana ponderada de desplaçament exponencial


 Influència dels descensos exponencialment ràpids de mostres
anteriors
 Valor típic: α = 0.125

96
Activitat 2: Càlcul del RTO del protocol TCP

 Exemple d’estimació de RTT

97
Activitat 2: Càlcul del RTO del protocol TCP

 Determinant el temps límit d’espera

 Estimat_RTT proporciona més marge de seguretat


 Gran variació en Estimat_RTT  implica major marge de seguretat

 Primera aproximació de quan es desvia Mostra_RTT de


Estimat_RTT

 Dev_RTT=(1-β)*Dev_RTT + β *|Mostra_RTT - Estimat_RTT|


 (típicamente, β = 0.25)

98
Activitat 2: Càlcul del RTO del protocol TCP

 Determinant el temps límit d’espera

Llavors l’expressió que determina el temps d’espera RTO del


protocol TCP és:
 IntervaloEspera = EstimadoRTT + 4*DevRTT

99
Activitat 2: Càlcul del RTO del protocol TCP

 Exercici

Suposeu que els valors actuals per Estimat_RTT i per


Desviació_RTT son 260 mseg i 31 mseg respectivament, i que
les dues mesures següents tenen els valors de RTT iguals a
390 mseg i 370 mseg respectivament. Calculeu el valor del
Interval de Temps d'Espera (Time_out) per l’últim RTT.
 Solució

El valor del Interval de Temps d’Espera és 525’05 mseg.

 Exemples
https://gaia.cs.umass.edu/kurose_ross/interactive/TCP_RTT.php

100
Activitat 2: Càlcul del RTO del protocol TCP

 Tasques a realitzar

1. Amb la seqüència de mostres RTT disponibles al fitxer EXCEL


Mostres_RTT.xlsx representeu mitjançant un gràfic de línies
(EXCEL) les equacions que proporcionen els valors dels següents
apartats:
a) Mostra_RTT

b) Estimat_RTT

c) Desviació_RTT

d) Interval de Tems d’Espera (RTO)

e) A la funció Interval de Tems d’Espera (RTO), substituïu el coeficient 4


per els diferents valors 3, 2 i 1, representeu les gràfiques
corresponents.

101
Activitat 2: Càlcul del RTO del protocol TCP

 Tasques a realitzar
f) Seria coherent utilitzar l'Interval de Temps d'Espera (RTO) amb un
coeficient igual a 3? Raona la teva resposta
g) Seria coherent utilitzar l'Interval de Temps d'Espera (RTO) amb un
coeficient igual a 2? Raona la teva resposta
h) Seria coherent utilitzar l'Interval de Temps d'Espera (RTO) amb un
coeficient igual a 1? Raona la teva resposta

2. Realitzeu els apartats a), b), c) i d) del punt 1, generant tu


mateix la seqüència de Mostres RTT
Consulteu les pàgines 198 a 200 a:

http://www.ingebook.com.recursos.biblioteca.upc.edu/ib/NPcd/IB_Escritorio_Visualizar?cod_primaria=1000193&li
bro=6752

i els exercicis interactius a https://gaia.cs.umass.edu/kurose_ross/interactive/TCP_RTT.php

102
4.1 – Control d’error a nivell de paquet

 Mecanisme bàsic 2: números de seqüència per indicar la


posició d’un paquet dins d’un flux de paquets

 Cada paquet s’identifica amb un número de seqüència


consecutiu
 Permet la detecció de:

 Pèrdues
– p.ex: rebent paquets 0,1,2,4,5…
 Reordenació i duplicació
– p.ex: rebent paquets 0,1,3,2,4…
– p.ex: rebent paquets 0,1,2,3,1…
 Inserció
– p.ex: rebent paquets 0,1,2,766,3…

103
4.1 – Control d’error a nivell de paquet
 Protocol Stop & Wait bit alternant

Emisor Receptor
Paquete 0

ACK 0

Paquete 1
timeout
ACK 1

Paquete 1
Detecta
ACK 1 duplicado

Paquete 0
ACK 0

a) ACK perdido

104
4.1 – Control d’error a nivell de paquet
 Exemple: Protocol Stop & Wait bit alternant
Suposeu que el canal que connecta l’emissor i el receptor pot corrompre, però no
perdre o reordenar paquets. Llavors considereu la següent figura, on es mostren
quatre paquets de dades i els tres corresponents ACK’s intercanviats entre un
emissor i un receptor segons el protocol Stop & Wait. Els paquets corruptes o
exitosos en la transmissió/recepció dels paquets estan indicats per les etiquetes
corrupt i OK respectivament.

105
Ompliu la següent taula indicant:

• l’estat de l’emissor i del receptor just després de la transmissió d’un nou


paquet de resposta al paquet rebut en el temps t
• el nombre de seqüència associat al paquet de dades o al ACK enviat en el
temps t
t Estat emissor Estat receptor Tipus de paquet enviat Número de Seqüència

• Quantes vegades es lliuren les dades del paquet rebut al nivell superior?
• En quins instants de temps es passen les dades al nivell superior?
Ompliu la següent taula indicant:

• l’estat de l’emissor i del receptor just després de la transmissió d’un nou


paquet de resposta al paquet rebut en el temps t
• el nombre de seqüència associat al paquet de dades o al ACK enviat en el
temps t
t Estat emissor Estat receptor Tipus de paquet enviat Número de Seqüència

0 Espera ACK0 Espera 0 data 0

1 Espera ACK0 Espera 0 ACK 1

2 Espera ACK0 Espera 0 data 0

3 Espera ACK0 Espera 0 ACK 1

4 Espera ACK0 Espera 0 data 0

5 Espera ACK0 Espera 0 ACK 1

6 Espera ACK0 Espera 0 data 0

• Quantes vegades es lliuren les dades del paquet rebut al nivell superior?
Cap
• En quins instants de temps es passen les dades al nivell superior?
En cap instant de temps
4.1 – Control d’error a nivell de paquet

 Mecanisme bàsic 3: finestra lliscant (sliding window)


per decidir quins paquets retransmetre

 Finestra de transmissió

 Part de l’espai del número de seqüència que identifica aquells


paquets en transit (transmesos però encara no reconeguts)

Últim paquet Últim paquet enviat


reconegut
1, 2, 3, 4, 5, 6, 7, 8, 9, 10
Finestra de
Paquets reconeguts transmissió

Paquets transmesos

108
4.1 – Control d’error a nivell de paquet

 Mecanisme bàsic3: finestra lliscant (sliding window) per


decidir quins paquets retransmetre

 Finestra de transmissió: funcionament

 L’emissor envia paquets mentre la mida de la finestra < mida


màxima de la finestra
– Una mida de finestra limitada obliga l’emissor a aturar-se quan la
finestra arriba al seu màxim
 Quan l’emissor envia un nou paquet, la finestra augmenta
 Cada nou ACK redueix la finestra en un valor determinat
– Depenent del nombre de paquets que reconeix l’ACK (acumulatiu)

 L’enviament d’un paquet i la recepció d’un ACK avança la


finestra a l’espai de números de seqüència

109
4.1 – Control d’error a nivell de paquet

 Finestra de transmissió: exemple Tx ... ... ... Rx


 Wmàx = 5
1, 2, 3, 4, 5, 6, 7, 8, 9, 10
ACK - 4
If W < Wmàx l’emissor
pot enviar nous 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 Reconeix el paquet 3
paquets

1, 2, 3, 4, 5, 6, 7, 8, 9, 10 8
If W = Wmàx l’emissor
espera rebre nous
ACK’s
1, 2, 3, 4, 5, 6, 7, 8, 9, 10 ACK - 6

1, 2, 3, 4, 5, 6, 7, 8, 9, 10 9

10

110
4.1 – Control d’error a nivell de paquet
 Finestra de transmissió, polítiques de retransmissió: Go-Back-N
Tx Rx
 Es retransmet tota la
finestra 1
– Quan expira el RTO 2
– Quan es rep NACK 1, 2, 3, 4 3
 Simple
1, 2, 3, 4
– El receptor no necessita
memòria intermèdia per 1, 2, 3, 4 3i4
reordenar els paquets 4 descartats

– Els paquets rebuts fora


d’ordre es descarten Retransmissió
de tota la
2
– Poc eficient
finestra 3
– Retransmissions
innecessàries 4
– Bon rendiment només en
cas d’errors en ràfegues
https://wps.pearsoned.com/ecs_kurose_compnetw_6/216/55463/14198700.cw/

111
4.1 – Control d’error a nivell de paquet
 Finestra de transmissió, polítiques Tx Rx
de retransmissió: Selective Reject
 Identificar quins paquets s’han W 1
perdut 1, 2, 3 2
3
– ACK identifica els paquets rebuts
correctament
2, 3, 4
– Retransmet només els paquets
perduts 2, 4, 5 4
 Sistema més complex 5
 Es necessita més espai de
capçalera
– Identificació pels ACKs
– L’emissor pot sol·licitar
periòdicament un paquet STATE 24
amb la informació desitjada 6
2, 4, 6
 Més eficient que GBN

https://wps.pearsoned.com/ecs_kurose_compnetw_6/216/55463/14198700.cw/
112
4 – Nivell de Transport
1. Control d’error a nivell de paquet
2. TCP: l’enfocament fiable
3. UDP: “fire and forget”

Loading: 89%

113
4.2 – TCP

 Orientat a la connexió
 Establiment i alliberament explicita de la sessió TCP
 Lliurament fiable i en ordre
 Checksums per detector dades corruptes
 Reconeixements i retransmissions per a un
lliurament fiable
 Números de seqüència per detector pèrdues i
reordenar les dades
 Control de flux
 Preveu el desbordament del buffer del receptor
 Control de congestió
 S’adapta a la congestió de la xarxa

114
4.2 – TCP
 Capçalera TCP: 20 Bytes (o més, si esta present el camp d’Opcions)

16 bits 16 bits

20 Bytes
115
4.2 – TCP
 Capçalera TCP: 20 Bytes (o més, si esta present el camp d’Opcions)

16 bits 16 bits

Port Origen

20 Bytes
116
4.2 – TCP
 Capçalera TCP: 20 Bytes (o més, si esta present el camp d’Opcions)

16 bits 16 bits

Port Destinació

20 Bytes
117
4.2 – TCP
 Capçalera TCP: 20 Bytes (o més, si esta present el camp d’Opcions)

16 bits 16 bits

Número de Seqüència

20 Bytes
118
4.2 – TCP
 Capçalera TCP: 20 Bytes (o més, si esta present el camp d’Opcions)

16 bits 16 bits

20 Bytes
Número de Reconeixement (ACK)

119
4.2 – TCP
 Capçalera TCP: 20 Bytes (o més, si esta present el camp d’Opcions)

16 bits 16 bits

Longitud de
capçalera

20 Bytes
120
4.2 – TCP
 Capçalera TCP: 20 Bytes (o més, si esta present el camp d’Opcions)

16 bits 16 bits

Reserva de
bits, sense ús

20 Bytes
121
4.2 – TCP
 Capçalera TCP: 20 Bytes (o més, si esta present el camp d’Opcions)

16 bits 16 bits

Flags

20 Bytes
122
4.2 – TCP
 Flags (bits de codi)

 FIN: Final de seqüència. No envia més dades, però


encara n’accepta.
 SYN: Sincronisme dels números de seqüència en
l’establiment.
 RTS: Restableix (reset) la connexió. Totes les dades
en trànsit es perden.
 PSH: Sol·licitud de push. Enviament de totes les
dades pendents.
 ACK: Camp de confirmació vàlid
 URG: Camp de punter urgent vàlid

123
4.2 – TCP
 Capçalera TCP: 20 Bytes (o més, si esta present el camp d’Opcions)

16 bits 16 bits

20 Bytes
Finestra de recepció

124
4.2 – TCP
 Capçalera TCP: 20 Bytes (o més, si esta present el camp d’Opcions)

16 bits 16 bits

20 Bytes
Checksum

125
4.2 – TCP
 Finestra de Recepció
 Número de bytes que el receptor accepta rebre
 Mida màxima 216 bytes

 Checksum
 S’utilitza per detectar dades corruptes al receptor, s’aplica a tot el segment

 Números de seqüència
 S’utilitza per detectar dades que falten i per posar-les de nou en ordre

 Reconeixements
 El receptor envia comentaris a l’emissor per informar sobre els segments
perduts i la capacitat per rebre més segments per part del receptor (control de
flux)

 Retransmissió
 L’emissor retransmet les dades perdudes o corruptes
 Temps d’espera (RTO) basats en estimacions de temps d’anada i tornada (RTT)
https://gaia.cs.umass.edu/kurose_ross/interactive/TCP_RTT.php

 Algorisme de retransmissió ràpida per a una retransmissió més eficient que el


temps d’espera

126
4.2 – TCP

 Orientat a la connexió
 Establiment i alliberament explicita de la sessió TCP
– Establiment mitjançant l’acord en tres fases (three-way handshake):
cal assegurar-se que el receptor estigui preparat per rebre el primer
paquet
– Tancament de la connexió: cal assegurar-se que fins i tot s’ha rebut l’últim
paquet i alliberar recursos (memòria)

127
4.2 – TCP
 Reconeixements acumulatius i positius (ACK)

 ACK informa del proper byte esperat


– Acumulatiu: un ACK pot reconèixer diversos segments
– Positiu: informa de les dades rebudes

A B
 Exemple: A envia dades, B només ACKs
– A envia 1er segment conté 256 bytes
– B respon amb ACK 257
– 2on i 3er segments estan retardats!
– A envia 4rt segment (seq. 769)
– B l’emmagatzema però encara espera
el byte 257
– 2on i 3er segments arriben finalment
– B envia ACK acumulat per reconeixent
els segments 2 a 4 (ACK 1025)

128
4.2 – TCP
 Control de flux
SYN,0
 Ús del mecanisme de 1-
1025
-
2049
-
3073
-
4097
-
5121
-
6145
-
SYN 0, ACK 1 MSS=1024 bytes
Window = 4096 bytes
finestra lliscant 1024
2048 3072 4096 5120 6144 7168
ACK 1
(sliding window) [1,1024]
– El receptor incrementa 1-
1025
-
2049
-
3073
-
4097
-
5121
-
6145
-
[1025,2048]
1024 [2049,3072]
la finestra per 2048 3072 4096 5120 6144 7168

augmentar la velocitat
ACK 2049 Window=4096
de l’emissor 1-
1025 2049 3073 4097 5121 6145
- - - - - -
1024
– El receptor redueix la 2048 3072 4096 5120 6144 7168

finestra per reduir la


velocitat de transmissió 1-
1025 2049 3073 4097 5121 6145 ACK 3073 Window=3072
- - - - - -
1024
Finestra: bytes que el 2048 3072 4096 5120 6144 7168

transmissor pot enviar


[3073,4096]
Bytes que el transmissor pot 1-
1025 2049 3073 4097 5121 6145
- - - - - -
enviar però encara no ha enviat 1024
2048 3072 4096 5120 6144 7168

Bytes ja enviats però encara ACK 4097 Window=4096


no reconeguts 1-
1025 2049 3073 4097 5121 6145 7169
- - - - - - -
1024
2048 3072 4096 5120 6144 7168 8192
Bytes enviats i ja reconeguts

129
4.2 – TCP

 Retransmissió ràpida
 El RTO acostuma ser relativament llarg
– Llarg retard abans del reenviament del paquet perdut
 Detecta segments perduts mitjançant els ACK’s
duplicats
– L’emissor acostuma a enviar molts segments consecutius, per tant
si es perd un d’ells, rebrà molt ACK’s duplicats
– Si l’emissor rep 3 ACK’s per las mateixes dades, suposa que el
segment es va perdre

 Retransmissió ràpida: reenviar el segment abans que el


RTO expiri

130
4.2 – TCP
 Control de Congestió
 Informalment:
– “massa fonts enviant massa dades massa de pressa per
la xarxa per poder manejar-ho

 Diferent al Control de flux !!

 Manifestacions:
– Pèrdua de paquets (els buffers dels router se saturen)
– Llargs retards (per les cues als buffers del router)

 Un dels 10 problemes fonamentals !!

131
4.2 – TCP
Dos grans enfocaments del control de congestió:
Control de la congestió entre extrems:
 Sense realimentació explícita de la xarxa

 La congestió es dedueix de la pèrdua observable i del


retard entre extrems

 Aproximació feta per TCP

Control de la congestió assistit per la xarxa:


 Els routers proporcionen retroalimentació als extrems

 Un únic bit indica la congestió (SNA, DECnet, TCP/IP nova


proposta, ATM)

 La taxa de l’emissor deuria enviar-se explícitament


132
4.2 – TCP

Dos grans enfocaments del control de congestió

133
4.2 – TCP

 Control entre extrems, sense assistència de la xarxa


 L’emissor limita la transmissió:
 Finestra_Congestió ≥ Ùltim_byte_llegit – Últim_byte_rebut

 A grans trets

Finestra_Congestió
taxa = bytes/seg
RTT

 La Finestra_Congestió és dinàmica, funciona a base de


percebre la congestió de la xarxa

134
4.2 – TCP

Com percep l'emissor la congestió?


 Esdeveniment de pèrdua: temps límit d’espera (RTO) ó 3
ACK’s duplicats
 L'emissor TCP redueix la taxa (Finestra_Congestió)
després de l'esdeveniment de pèrdua

L'algorisme de Control de Congestió TCP té 3


components:
 Increment additiu, decrement multiplicatiu (AIMD)
 Arrencada lent
 Reacció després dels esdeveniments del temps límit
d’espera i ACK’s duplicats

135
4.2 – TCP
Additive increase/multiplicative decrease (AIMD)

Increment additiu: Augmenta la Finestra_Congestió a 1 MSS


cada RTT en absència d’esdeveniments de pèrdua: sondeig

Decrement multiplicatiu: Divideix la Finestra_Congestió a la


mitat després de l’esdeveniment de pèrdua
Finestra de
Congestió

24 Kbytes

16 Kbytes

8 Kbytes

Connexió TCP de llarga vida


temps

136
4.2 – TCP

Arrancada lenta
 Quan la connexió comença: Finestra_Congestió= 1 MSS
 Exemple: MSS = 500 bytes i RTT = 200 mseg

Finestra_Congestió
taxa = bytes/seg = 500 bytes = 20 kbps
RTT 200 mseg
Taxa inicial = 20 kbps

 L’ampla de banda disponible pot ser R >>>> MSS/RTT:


 És desitjable un augment ràpid fins una taxa raonable
 Quan la connexió comença, la taxa augmenta
exponencialment ràpid fins que passa el primer
esdeveniment de pèrdua

137
4.2 – TCP

Arrancada lenta
Host A Host B
 Quan la connexió comença, la
taxa augmenta

RTT
exponencialment ràpid fins que
passa el primer esdeveniment
de pèrdua:
 La Finestra_Congestió es dobla
a cada RTT
 La Finestra_Congestió
augmenta amb cada ACK rebut

 Resum: la taxa inicial és


temps
lenta, però creix
exponencialment ràpid
138
4.2 – TCP
Reacció després dels esdeveniments del temps límit
d’espera i ACK’s duplicats
Metodologia
 Després de 3 ACKs duplicats:
 La Finestra_Congestió es • 3 ACK’s duplicats
divideix a la meitat
 La Finestra_Congestió creix
indiquen que la
linealment xarxa és capaç
d’entregar alguns
 Però després de l’esdeveniment segments
de temps limit d’espera (RTO):
 La Finestra_Congestió es • El temps límit
fixa, en canvi, a 1 MSS
d’espera anterior a
 La Finestra_Congestió llavors
creix exponencialment 3 ACK’s duplicats és
 A l’arribar al llindar, llavors “més alarmant”
creix linealment

139
4.2 – TCP
Pregunta: Quan deuria 14

variar el creixement 12

Finestra de congestió
exponencial a lineal?

(en segments)
10

8
Resposta: Quan la
Finestra_Congestió 6
es fixa a la meitat del 4
llindar
seu valor abans de 2
l’esdeveniment de
0
pèrdua
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
RTT
Implementació: Llindar variable Series1 Series2
En cas d’esdeveniment de pèrdua,
el Llindar es fixa a la meitat de la
Finestra_Congestió, just abans
de l’esdeveniment de pèrdua

140
4.2 – TCP
Resum: Control de Congestió TCP

 Quan la Finestra_Congestió esta per sota del llindar,


l’emissor esta a la fase d’arrancada lenta i la finestra creix
exponencialment

 Quan la Finestra_Congestió esta per damunt del llindar,


l’emissor esta a la fase d’evitació de la congestió, la finestra
creix linealment

 Davant d’un esdeveniment triple ACK duplicat, el llindar es


fixa a la meitat de la Finestra_Congestió i la
Finestra_Congestió es posa al valor del llindar

 Davant d’un esdeveniment de temps límit d’espera (RTO),


el llindar es fixa a la meitat de la Finestra_Congestió i la
Finestra_Congestió es posa a 1 MSS
141
4.2 – TCP
Imparcialitat TCP
Objectiu de la imparcialitat: Si K sessions TCP
comparteixen el mateix enllaç, “coll d’ampolla”
d’ampla de banda R, cada una d’elles ha de tenir
una taxa mitjana de R/K.

Conexió TCP 1

Router
coll d’ampolla
Conexió TC 2 capacidad R

142
4.2 – TCP
Per que TCP és imparcial?
Dues sessions conflictives:

 l’increment additiu dona una pendent de 1, a mesura que la


producció augmenta
 el decrement multiplicatiu disminueix la producció proporcionalment

R Línia d’utilització complerta


de l’ampla de banda
Productivitat connexió 2

evitar la congestió: increment additiu

Productivitat connexió 1 R
143
4.2 – TCP
Per que TCP és imparcial?
Dues sessions conflictives:

 l’increment additiu dona una pendent de 1, a mesura que la


producció augmenta
 el decrement multiplicatiu disminueix la producció proporcionalment

R Línia d’utilització complerta


de l’ampla de banda
Productivitat connexió 2

pèrdua: finestra disminueix en un factor 2


evitar la congestió: increment additiu

Productivitat connexió 1 R
144
4.2 – TCP
Per que TCP és imparcial?
Dues sessions conflictives:

 l’increment additiu dona una pendent de 1, a mesura que la


producció augmenta
 el decrement multiplicatiu disminueix la producció proporcionalment

R Línia d’utilització complerta


de l’ampla de banda
Productivitat connexió 2

evitar la congestió: increment additiu


pèrdua: finestra disminueix en un factor 2
evitar la congestió: increment additiu

Productivitat connexió 1 R
145
4.2 – TCP
Per que TCP és imparcial?
Dues sessions conflictives:

 l’increment additiu dona una pendent de 1, a mesura que la


producció augmenta
 el decrement multiplicatiu disminueix la producció proporcionalment

R Línia d’utilització complerta


de l’ampla de banda
Productivitat connexió 2

pèrdua: finestra disminueix en un factor 2


evitar la congestió: increment additiu
pèrdua: finestra disminueix en un factor 2
evitar la congestió: increment additiu

Productivitat connexió 1 R
146
4.2 – TCP
Per que TCP és imparcial?
Dues sessions conflictives:

 l’increment additiu dona una pendent de 1, a mesura que la


producció augmenta
 el decrement multiplicatiu disminueix la producció proporcionalment

R Línia d’utilització complerta


de l’ampla de banda
Productivitat connexió 2

pèrdua: finestra disminueix en un factor 2


evitar la congestió: increment additiu
pèrdua: finestra disminueix en un factor 2
evitar la congestió: increment additiu

Productivitat connexió 1 R
147
4.2 – TCP
Imparcialitat TCP
Imparcialitat i UDP:
 Les aplicacions multimèdia no acostumen a utilitzar TCP:
 No els convé que la taxa s'estranguli per Control de Congestió
 En el seu lloc, utilitzen UDP:
 Bombejant àudio/vídeo a una taxa constant, toleren pèrdues de paquets
 Àrea de recerca: TCP compatible

Imparcialitat i connexions TCP paral·leles:


 Res impedeix que l’aplicació obri connexions paral·lel las entre dos
host
 Els cercadors web ho fan
 Exemple: un enllaç a una taxa R del que depenen 9 connexions
 Una nova aplicació demana una connexió TCP, i obté una taxa de R/10
 Una nova aplicació demana l'onzè TCP i obté taxa de R/2!

148
Exemple
 Considereu quatre servidors d'Internet, cadascun amb una sessió TCP. Aquestes
quatre sessions TCP comparteixen un enllaç coll d'ampolla comú - la pèrdua de
paquets en els camins d'extrem a extrem per aquestes quatre sessions es produeix
només en aquest enllaç. L'enllaç coll d'ampolla té una velocitat de transmissió de R.
El temps d'anada i tornada, RTT, pels quatre host a les seves destinacions són
aproximadament els mateixos. Cap altra sessions estan utilitzant actualment
aquest enllaç. Les quatre sessions han estat funcionant durant molt de temps.

a) Quin és el taxa de transmissió (throughput) de cadascuna d'aquestes quatre


sessions TCP? Expliqueu breument la vostra resposta.

b) Quin és la mida aproximat de la finestra TCP a cadascuna d'aquestes màquines?


Expliqueu breument com heu arribat a aquesta resposta.

c) Suposeu que una de les sessions acaba. Quin és el nova taxa de transmissió assolida
per cadascuna de les tres sessions restants? Descriviu breument com s'assoleix la
nova taxa de transmissió.

d) Ara suposem que un dels tres hosts inicia una segona sessió que també creua
aquest enllaç coll d'ampolla. Quin és la taxa assolida (en total) pel host amb dues
sessions, i quina és per cada un dels dos hosts amb una sessió cada un?
Exemple
 Considereu quatre servidors d'Internet, cadascun amb una sessió TCP. Aquestes
quatre sessions TCP comparteixen un enllaç coll d'ampolla comú - la pèrdua de
paquets en els camins d'extrem a extrem per aquestes quatre sessions es produeix
només en aquest enllaç. L'enllaç coll d'ampolla té una velocitat de transmissió de R.
El temps d'anada i tornada, RTT, pels quatre host a les seves destinacions són
aproximadament els mateixos. Cap altra sessions estan utilitzant actualment
aquest enllaç. Les quatre sessions han estat funcionant durant molt de temps.

a) Quin és el taxa de transmissió (throughput) de cadascuna d'aquestes quatre


sessions TCP? Expliqueu breument la vostra resposta.

Resposta: R / 4 des TCP comparteix l'ample de banda de manera justa.


Exemple
 Considereu quatre servidors d'Internet, cadascun amb una sessió TCP. Aquestes
quatre sessions TCP comparteixen un enllaç coll d'ampolla comú - la pèrdua de
paquets en els camins d'extrem a extrem per aquestes quatre sessions es produeix
només en aquest enllaç. L'enllaç coll d'ampolla té una velocitat de transmissió de R.
El temps d'anada i tornada, RTT, pels quatre host a les seves destinacions són
aproximadament els mateixos. Cap altra sessions estan utilitzant actualment
aquest enllaç. Les quatre sessions han estat funcionant durant molt de temps.

a) Quin és el taxa de transmissió (throughput) de cadascuna d'aquestes quatre


sessions TCP? Expliqueu breument la vostra resposta.
Resposta: R / 4 des TCP comparteix l'ample de banda de manera justa.
b) Quin és la mida aproximat de la finestra TCP a cadascuna d'aquestes màquines?
Expliqueu breument com heu arribat a aquesta resposta.
Exemple
 Considereu quatre servidors d'Internet, cadascun amb una sessió TCP. Aquestes
quatre sessions TCP comparteixen un enllaç coll d'ampolla comú - la pèrdua de
paquets en els camins d'extrem a extrem per aquestes quatre sessions es produeix
només en aquest enllaç. L'enllaç coll d'ampolla té una velocitat de transmissió de R.
El temps d'anada i tornada, RTT, pels quatre host a les seves destinacions són
aproximadament els mateixos. Cap altra sessions estan utilitzant actualment
aquest enllaç. Les quatre sessions han estat funcionant durant molt de temps.

a) Quin és el taxa de transmissió (throughput) de cadascuna d'aquestes quatre


sessions TCP? Expliqueu breument la vostra resposta.
Resposta: R / 4 des TCP comparteix l'ample de banda de manera justa.
b) Quin és la mida aproximat de la finestra TCP a cadascuna d'aquestes màquines?
Expliqueu breument com heu arribat a aquesta resposta.
Resposta. Recordem que més o menys:
taxa = W / RTT o W = taxa * RTT = R * RTT / 4.
Exemple
 Considereu quatre servidors d'Internet, cadascun amb una sessió TCP. Aquestes
quatre sessions TCP comparteixen un enllaç coll d'ampolla comú - la pèrdua de
paquets en els camins d'extrem a extrem per aquestes quatre sessions es produeix
només en aquest enllaç. L'enllaç coll d'ampolla té una velocitat de transmissió de R.
El temps d'anada i tornada, RTT, pels quatre host a les seves destinacions són
aproximadament els mateixos. Cap altra sessions estan utilitzant actualment
aquest enllaç. Les quatre sessions han estat funcionant durant molt de temps.
a) Quin és el taxa de transmissió (throughput) de cadascuna d'aquestes quatre
sessions TCP? Expliqueu breument la vostra resposta.
Resposta: R / 4 des TCP comparteix l'ample de banda de manera justa.
b) Quin és la mida aproximat de la finestra TCP a cadascuna d'aquestes màquines?
Expliqueu breument com heu arribat a aquesta resposta.
Resposta: Recordem :
taxa = W / RTT ; W = taxa * RTT = R/4 * RTT
c) Suposeu que una de les sessions acaba. Quin és el nova taxa de transmissió assolida
per cadascuna de les tres sessions restants? Descriviu breument com s'assoleix la
nova taxa de transmissió.
Exemple
 Considereu quatre servidors d'Internet, cadascun amb una sessió TCP. Aquestes
quatre sessions TCP comparteixen un enllaç coll d'ampolla comú - la pèrdua de
paquets en els camins d'extrem a extrem per aquestes quatre sessions es produeix
només en aquest enllaç. L'enllaç coll d'ampolla té una velocitat de transmissió de R.
El temps d'anada i tornada, RTT, pels quatre host a les seves destinacions són
aproximadament els mateixos. Cap altra sessions estan utilitzant actualment
aquest enllaç. Les quatre sessions han estat funcionant durant molt de temps.
a) Quin és el taxa de transmissió (throughput) de cadascuna d'aquestes quatre
sessions TCP? Expliqueu breument la vostra resposta.
Resposta: R / 4 des TCP comparteix l'ample de banda de manera justa.
b) Quin és la mida aproximat de la finestra TCP a cadascuna d'aquestes màquines?
Expliqueu breument com heu arribat a aquesta resposta.
Resposta: Recordem :
taxa = W / RTT ; W = taxa * RTT = R/4 * RTT
c) Suposeu que una de les sessions acaba. Quin és el nova taxa de transmissió assolida
per cadascuna de les tres sessions restants? Descriviu breument com s'assoleix la
nova taxa de transmissió.
Resposta: R / 3.
Exemple
a) Quin és el taxa de transmissió (throughput) de cadascuna d'aquestes quatre
sessions TCP? Expliqueu breument la vostra resposta.
Resposta: R / 4 des TCP comparteix l'ample de banda de manera justa.

b) Quin és la mida aproximat de la finestra TCP a cadascuna d'aquestes màquines?


Expliqueu breument com heu arribat a aquesta resposta.
Resposta: Recordem :
taxa = W / RTT ; W = taxa * RTT = R/4 * RTT

c) Suposeu que una de les sessions acaba. Quin és el nova taxa de transmissió assolida
per cadascuna de les tres sessions restants? Descriviu breument com s'assoleix la
nova taxa de transmissió.
Resposta: R / 3.

d) Ara suposem que un dels tres hosts inicia una segona sessió que també creua
aquest enllaç coll d'ampolla. Quin és la taxa assolida (en total) pel host amb dues
sessions, i quina és per cada un dels dos hosts amb una sessió cadascun?
Exemple
a) Quin és el taxa de transmissió (throughput) de cadascuna d'aquestes quatre
sessions TCP? Expliqueu breument la vostra resposta.
Resposta: R / 4 des TCP comparteix l'ample de banda de manera justa.

b) Quin és la mida aproximat de la finestra TCP a cadascuna d'aquestes màquines?


Expliqueu breument com heu arribat a aquesta resposta.
Resposta: Recordem :
taxa = W / RTT ; W = taxa * RTT = R/4 * RTT

c) Suposeu que una de les sessions acaba. Quin és el nova taxa de transmissió assolida
per cadascuna de les tres sessions restants? Descriviu breument com s'assoleix la
nova taxa de transmissió.
Resposta: R / 3.

d) Ara suposem que un dels tres hosts inicia una segona sessió que també creua
aquest enllaç coll d'ampolla. Quin és la taxa assolida (en total) pel host amb dues
sessions, i quina és per cada un dels dos hosts amb una sessió cadascun?
Resposta: cada sessió serà de nou aconseguir R / 4, de manera que el host amb dues
sessions obtindrà R / 2 agregats i els altres hosts tindran R / 4.
4 – Nivell de Transport

1. Control d’error a nivell de paquet


2. TCP: l’enfocament fiable
3. UDP: “fire and forget”

Loading: 97%

157
4.3 – UDP

 Comunicació lleugera entre processos


 Evita les sobrecàrregues (overhead) i els retards d’un
lliurament fiable

 User Datagram Protocol (UDP)


 IP més números de port per suportar la
(de)multiplexació
 Comprovació d’errors s’aplica al contingut del paquet
Port Origen Port Destinació
8 Bytes
Checksum Longitud

DADES

158
4.3 – UDP

 Control més fi sobre quines dades s’envien i quan


 Sense retransmissions, sense retard a causa de la
congestió/control de flux
 No hi ha retard per l’establiment de la connexió
 No cal establir connexió amb l’altre extrem
 Sense estat de connexió
 Sense assignació de buffers, paràmetres, números
de seqüència, etc. Estalvia memòria/potència de
processament
 Capçalera de paquet petita, poca sobrecàrrega
 La capçalera és només de 8 bytes de longitud

159

You might also like