Professional Documents
Culture Documents
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
Aplicació
Presentació Aplicació
Aplicació
Sesió
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 !!
6
1 – Introducció a la capa de xarxa
Xarxa 1 Xarxa 3
Estacio A
Xarxa 2
7
1 – Introducció a la capa de xarxa
▪ 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
9
1 – Introducció a la capa de xarxa
Xarxa IP.
▪ Best effort 2 1 1 2
10
1.1 – Adreçament IP
❑ Adreçament: Identificació única d’un dispositiu connectat
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
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’
15
1.2 – Encaminament
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
17
1.2 – Encaminament
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
21
1.3 – Internet Control Message Protocol
22
1.3 – Internet Control Message Protocol
23
2 – The IP packet
1. El paquet IPv4
2. El paquet IPv6
Loading: 34%
24
2 – El paquet IP
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
bits 0 4 8 16 19 24 31
VERS HLEN TYPE OF SERV TOTAL LENGTH
IDENTIFICATION FLAGS FRAGMENT OFFSET
Header
26
2.1 – El paquet IP
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
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
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
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
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
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
▪ 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
36
2.1 – El paquet IP
. . .
DESTINATION IP ADDRESS
IP OPTIONS (IF ANY) PADDING
. . .
37
Fragmentació IP
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
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
40
Fragmentació IP
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
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 ?
44
Càlcul de la Suma de comprovació (CHECKSUM)
45
Exemple: Càlcul de la Suma de comprovació
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
46
Exemple: Càlcul de la Suma de comprovació
0110011001100000
0101010101010101
1000111100001100
47
Exemple: Càlcul de la Suma de comprovació
0110011001100000
0101010101010101
1000111100001100
48
Exemple: Càlcul de la Suma de comprovació
0110011001100000
0101010101010101
1000111100001100
49
Exemple: Càlcul de la Suma de comprovació
50
Exemple: Càlcul de la Suma de comprovació
51
2 – El paquet IP
1. El paquet IPv4
2. El paquet IPv6
Loading: 44%
52
2.2 – El paquet IPv6
SOURCE IP ADDRESS
(128 bits)
DESTINATION IP ADDRESS
128 bits
DATA
53
3 – Adreçament
1. ARP: Address Resolution Protocol
2. Classes
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
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
56
3.1 - Address Resolution Protocol (ARP)
57
3 – Adreçament
1. ARP: Address Resolution Protocol
2. Classes
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
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
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 ...
62
3.3 - Ús eficient de l’espai d’adreces
63
3.3 - Ús eficient de l’espai 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
4. Subnetting
5. Adreçament IPv6
66
3.4 – Subnetting IPv4
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
67
3.4 - IPv4 Subnetting
▪ 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
68
3.4 - IPv4 Subnetting
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)
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)
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)
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)
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.
74
3.4 - IPv4 Subnetting
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
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
4. Subnetting
5. Adreçament IPv6
79
3.5 – Adreçament IPv6
❑ Adreçament: IPv6
80
3.5 - Adreçament IPv6
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
source
82
4 – Nivell de Transport
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
IP layer IP layer
Transport layer
85
4 – Nivell de Transport
86
4 – Nivell de Transport
Nivell d’Enllaç
Wi-Fi Performance Testing - Dec.2021 Ethernet, Wi-Fi, etc.
87
4 – Nivell de Transport
Loading: 87%
88
4.1 – Control d’error a nivell de paquet
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
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
91
4.1 – Control d’error a nivell de paquet
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
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
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
96
Activitat 2: Càlcul del RTO del protocol TCP
97
Activitat 2: Càlcul del RTO del protocol TCP
98
Activitat 2: Càlcul del RTO del protocol TCP
99
Activitat 2: Càlcul del RTO del protocol TCP
Exercici
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
b) Estimat_RTT
c) Desviació_RTT
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
http://www.ingebook.com.recursos.biblioteca.upc.edu/ib/NPcd/IB_Escritorio_Visualizar?cod_primaria=1000193&li
bro=6752
102
4.1 – Control d’error a nivell de paquet
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:
• 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:
• 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
Finestra de transmissió
Paquets transmesos
108
4.1 – Control d’error a nivell de paquet
109
4.1 – Control d’error a nivell de paquet
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
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)
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
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)
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
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
130
4.2 – TCP
Control de Congestió
Informalment:
– “massa fonts enviant massa dades massa de pressa per
la xarxa per poder manejar-ho
Manifestacions:
– Pèrdua de paquets (els buffers dels router se saturen)
– Llargs retards (per les cues als buffers del router)
131
4.2 – TCP
Dos grans enfocaments del control de congestió:
Control de la congestió entre extrems:
Sense realimentació explícita de la xarxa
133
4.2 – TCP
A grans trets
Finestra_Congestió
taxa = bytes/seg
RTT
134
4.2 – TCP
135
4.2 – TCP
Additive increase/multiplicative decrease (AIMD)
24 Kbytes
16 Kbytes
8 Kbytes
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
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
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
Conexió TCP 1
Router
coll d’ampolla
Conexió TC 2 capacidad R
142
4.2 – TCP
Per que TCP és imparcial?
Dues sessions conflictives:
Productivitat connexió 1 R
143
4.2 – TCP
Per que TCP és imparcial?
Dues sessions conflictives:
Productivitat connexió 1 R
144
4.2 – TCP
Per que TCP és imparcial?
Dues sessions conflictives:
Productivitat connexió 1 R
145
4.2 – TCP
Per que TCP és imparcial?
Dues sessions conflictives:
Productivitat connexió 1 R
146
4.2 – TCP
Per que TCP és imparcial?
Dues sessions conflictives:
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
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.
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.
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.
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
Loading: 97%
157
4.3 – UDP
DADES
158
4.3 – UDP
159