Tema 6. Nivell de Transport (Comunicació extrem a extrem)bbellalt/XS-Tema6-Transport.pdf · Tema...
Transcript of Tema 6. Nivell de Transport (Comunicació extrem a extrem)bbellalt/XS-Tema6-Transport.pdf · Tema...
Xarxes i Serveis
Part of the material used for these slides has been obtained from:Computer Networking: A Top Down Approach , 4th edition. Jim Kurose, Keith Ross. Addison-Wesley, July 2007.
Xarxes i Serveis
Tema 6. Nivell de Transport(Comunicació extrem a extrem)
Xarxes i Serveis
Internet Protocol Stack
application: supporting network applicationsFTP, SMTP, HTTP
transport: processprocess data transferTCP, UDP
network: routing of datagrams from source to destination IP, routing protocols
link: data transfer between neighboring network elements Ethernet, WLANs
physical: bits “on the wire/wireless”
Xarxes i Serveis
Estructura “bàsica” d'un host, router i switch
Enllaç(LLC)
Enllaç(MAC)
Xarxa
Físic
Transport
Aplicació
CANAL
Tx Rx
Enllaç(LLC)
Enllaç(MAC)
Físic
CANAL
Tx Rx
Xarxa
Enllaç(LLC)
Enllaç(MAC)
Físic
CANAL
Tx Rx
Cua detransmissió
PaquetsEsperantPer ser tx
Xarxes i Serveis
Packet Terminology: UDP
Application Message
UDP dataUDP hdr
MSSUDP Segment
IP dataIP hdr
IP Packet
Ethernet dataEthernet
8 bytes
20 bytes
14 bytes 4 bytesMTU 1500 bytes
Xarxes i Serveis
Packet Terminology: TCP
Application Message
TCP dataTCP hdr
MSSTCP Segment
IP dataIP hdr
IP Packet
Ethernet dataEthernet
20 bytes
20 bytes
14 bytes 4 bytesMTU 1500 bytes
Xarxes i Serveis
Exemple
Enllaç(LLC)
Enllaç(MAC)
Xarxa
Físic
Transport
AplicacióOrigen
Tx
Enllaç(LLC)
Enllaç(MAC)
Xarxa
Físic
Transport
AplicacióDestí
CANALRx
Comunicació Extrem a Extrem, entre “hosts”
Enllaç(LLC)
Enllaç(MAC)
Xarxa
Físic
CANAL
Xarxes i Serveis
Logical endtoend transport
“logical”: li és indiferentper on passen els paquetsen realitat, només li preocupa que hi hagi comunicació entre l'origeni el destí.
Xarxes i Serveis
Exemple
Transport
AplicacióOrigen
Transport
AplicacióDestíComunicació Extrem a Extrem, entre “hosts”
CANAL / ENLLAÇ VIRTUAL (LÒGIC) A NIVELL DE TRANSPORT
(Amaga tot el que hi ha per sota del nivell de transport. És caracteritzaper una certa velocitat de transmissió “de nivell de transport” i
un retard extrem a extrem que depèn dels nivells inferiors de la pila de protocols)
Xarxes i Serveis
Contingut
● Funcions del nivell de transport.
● Multiplexar / Demultiplexar (1 node té varies aplicacions o processos)
● Orientat a connexió / no orientat a connexió.
● Multiplexació d'aplicacions sobre una única adreça IP.
● Estructura d'un Segment de Transport
● Control de congestió
Xarxes i Serveis
Transport protocols
● provide logical communication between application processes running on different hosts.● transport protocols run in end systems (sistemes finals)
● send side: breaks app messages into segments, passes to network layer
● rcv side: reassembles segments into messages, passes to app layer
● Two transport protocol available to apps: TCP and UDP
●Segment = packet of transport level.
●Message = packet of application level.
11
Xarxes i Serveis
Principles of Congestion Control
● Congestion: informally: “too many sources sending too much data too fast for network to handle”
● manifestations:– lost packets (buffer overflow at routers)– long delays (queueing in router buffers)
12
Xarxes i Serveis
Causes/costs of congestion: scenario 1
● two senders, two receivers● one router, infinite buffer ● no retransmission
●Retards elevats quan hi ha congestió●L'enllaç de sortida del router, limita el throughput.
unlimited shared output link buffers
Host Aλin : original data
Host B
λout
13
Xarxes i Serveis
Causes/costs of congestion: scenario 2
● two senders, two receivers● one router, finite buffers Es perden paquets!!! →
finite shared output link buffers
Host A λin : original data
Host B
λout
λ'in : original data, plus retransmitted data
Xarxes i Serveis
Internet Transport services
1) reliable (fiable), inorder delivery (TCP)congestion control (control de congestió)flow control (control de fluxe)
Ho fa establint una connexió
2) unreliable (nofiable), unordered delivery: UDP
nofrills extension of “besteffort” IP (és a dir, no fa res)
nofrills = sense afegirhi res de consideració
Serveis de transport que NO garanteix Internet
● delay guarantees (assegurar un cert retard)
● bandwidth guarantees (assegurar una certa amplada de banda)
Xarxes i Serveis
Multiplexing
● Multiplexar: com “barrejar” les dades de diferents “origens” (en aquest cas aplicacions) per a que es transmetin per un únic enllaç.
● Demultiplexar: el procés contrari, com separar les dades que arriben des d'un únic camí i s'envien cap a cada aplicació.
Identificador (Port): permet identificar cada aplicació o procés.
Xarxes i Serveis
Socket
● Interfície de comunicació proporcionada per el sistema operatiu
● És pot veure com la unió entre el nivell d'aplicació i el nivell de transport.
● Dos tipus:
● Orientat a connexió (per a enviar dades sobre TCP)● No orientat a connexió (per enviar dades sobre UDP)
Xarxes i Serveis
Application / Process
● Application: group or processes (almenys 1 procés)
● Process: part of an application which handles with some specific functions.
● Example:● Application: Remote Weather Monitoring
● Two process:
– measure the weather (e.g. temperature)
– send the information to the its destination through a network.● Some times: 1 application = 1 process
Xarxes i Serveis
Mux / Demux
Mux: gathering data from multiple sockets, enveloping data with header (later used for demultiplexing)
Demux: delivering received segments to correct socket
Xarxes i Serveis
Transport layer
● transport layer: data communication between processes (endtoend) Comunicació entre dos “aplicacions/processos.”→
Host 1
IP address
Proc. 1 Proc. M
port/socket
Host 2
IP address
Proc. 1 Proc. M
? ?
Multiplexing
port/socket
20
Xarxes i Serveis
Connection / Connectionless
(Orientat a connexió / No Orientat a Connexió)
● Orientat a connexió: tant l'emissor com el receptor mantenen informació concreta de l'estat de la transferència de dades entre l'emissor i el receptor.
● El protocol TCP és orientat a connexió.
● Permet fer les funcions de control de congestió, de fluxe i retransmissions extrem a extrem.
● No orientat a connexió: (el contrari) no es manté informació concreta de l'estat de la transferència de dades.
● El protocol UDP és no orientat a connexió.
● Només és dona el servei de “empaquetar” les dades del nivell d'aplicació.
21
Xarxes i Serveis
Basic TCP/UDP segment
host receives / sends IP datagrams● each datagram has source IP
address, destination IP address
● each datagram carries 1 transportlayer segment
● each segment has source, destination port number
host uses IP addresses & port numbers to direct segment to appropriate socket
Longitud TCP capçalera = 20 Bytes Longitud UDP capçalera = 8 Bytes
source port # dest port #
32 bits
applicationdata
(message)
other header fields
TCP/UDP segment format
segment = name of a transport layer packet
22
Xarxes i Serveis
Exemple (del Tema 7, el nivell d'aplicació)
http://www.upf.edu:80
http://www.upf.edu:8080
Enviem la petició HTTP al port 80(considerat el port per defecte de les peticions “web”).
Enviem la petició HTTP al port 8080 i observem que no funciona.Per què? En el port 8080 de l'ordinador on hi ha el servidor web de la UPFno hi ha cap “aplicació/procés” escoltant les nostres peticions.> Sovint el port 8080 es deixa per accedir al servidor per temes de “manteniment”
Network Error (tcp_error)
A communication error occurred: "Connection refused"
The Web Server may be down, too busy, or experiencing other problems
preventing it from responding to requests. You may wish to try again at a later time.
23
Xarxes i Serveis
Example: Web Server
ClientIP:B
P1
client IP: A
P1P1
serverIP: C
SP: 9157
DP: 80
SP: 9157
DP: 80
P1 P2
D-IP:C
S-IP: A
D-IP:C
S-IP: B
SP: 5775
DP: 80
D-IP:C
S-IP: B
SP: Source Port, DP: Destination Port
Socket: port 9157(generat aleatòriament)
Socket: port 80
Socket: port 9157(generat aleatòriament)
24
Xarxes i Serveis
Qüestió (DNS)
● Per arribar al servidor web de la “upf” haig d'arribar a l'ordinador que té l'aplicació que fa de servidor.
● No conec la seva “adreça” (IP), només el seu “nom”: www.upf.edu
● Coneixent el “nom” com puc trobar “l'adreça”?
● Doncs, si parléssim d'una persona, puc trobar el seu telèfon consultant el “llistat telefònic”, no?
● Les xarxes tenen el “DNS” (Domain Name Service) que precisament és un llistat on hi ha la relació: “nom” <> “IP”
26
Xarxes i Serveis
Nivell de transport: Endtoend functionalities (desitjables)
Les funcions que realitzen els protocols de transport són:
Detecció d'errors extrem a extrem (cal detectar si hi ha errors en el destí, serveix per si el nivell d'enllaç ha considerat que un trama era correcta quan no ho era)
Retransmissions extrem a extrem (per si ens arriba quelcom erroni (o no arriba) ho poguem tornar a demanar)
Control de fluxe (per no saturar el destí enviantli més paquets dels que pot “processar”).
Control de congestió (per evitar saturar la xarxa).
27
Xarxes i Serveis
UDP(no fa cap de les funcionalitats anteriors... només permet multiplexar i demultiplexar)
28
Xarxes i Serveis
UDP: User Datagram Protocol [RFC 768]
“best effort” service, UDP segments may be:a) lost (perduts, com la sèrie)b) delivered out of order to app (entregats fora d'ordre a l'aplicació) no orientat a connexióa) no handshaking between UDP sender, receiver (no hi ha negociació entre l'emissor i receptor)b) each UDP segment handled independently of others (cada segment UDP es gestiona de manera independent als altres)
Why is there a UDP? no fa establiment de connexió (que pot afegir un cert retard) senzill: no és necessita guardar informació “d'estat” ni a l'emissor ni al receptor la capçalera a afegir és petita no fa control de congestió: UDP pot transmetre segments tant ràpid com es desitgi (que després la xarxa es saturi... és un altre problema)
29
Xarxes i Serveis
UDP: more
* s'utilitza sovint en aplicacions multimèdia amb “streaming” que: són tolerants a pèrdues requreixen vtx constants
source port # dest port #
32 bits
Applicationdata
(message)
UDP segment format
length checksum
Length, inbytes of UDP
segment,including
header
El checksum és equivalent als bits de “paritat”. Permet detectar si el segmentté errors.
30
Xarxes i Serveis
Exemple: Transferència de Dades UDPA R1 R2 R3 B
Final
Inici
X
#1
#2
#3
#4
#5
El fitxer a transmetre és divideix en 5 paquets UDP. No es retransmet el paquet UDP perdut. Si el fitxer és una imatge, quan és vulguireproduïr a l'ordinador B, contindrà errors.
Tempsentre dos
paquets
32
Xarxes i Serveis
TCP: Basic concepts (with some simplifications)
Estableix connexions “lògiques” fullduplex: s'envien dades “en els dos sentits” sobre la mateixa connexió. MSS: maximum segment size
Orientat a connexió: negociació (intercanvi de missatges de control) per inicialitzar el receptor i l'emissor abans de començar la transferència de dades.
Control de fluxe: l'emissor no “ofegarà” al receptor (no li enviarà més dades de les que pugui processar)
Control de congestió l'emissor serà capaç de detectar si hi ha congestió a la xarxa.
33
Xarxes i Serveis
TCP segment structure
source port # dest port #
32 bits
applicationdata
(variable length)
sequence number
acknowledgement number
Receive window
Urg data pnterchecksum
FSRPAUheadlen
notused
Options (variable length)
URG: urgent data (generally not used)
ACK: ACK #valid
PSH: push data now(generally not used)
RST, SYN, FIN:connection estab(setup, teardown
commands)
# bytes rcvr willingto accept
countingby bytes of data(not segments!)
Internetchecksum
(as in UDP)
34
Xarxes i Serveis
Round Trip Time (RTT)
RTT
RTT=Tempsd'anar i tornar
RTT=Rtx+Rprop+Rproc+Rtxack+Rprop+Rprocack
dades
ack
A B
Xarxes i Serveis
Transferència de dades amb TCP
EstablimentDe la Connexió
TransmissióDe Dades
TancamentDe la
Connexió
Es fixen els paràmetresde treball
37
Xarxes i Serveis
XiSTCP Connection Management
● El protocol TCP estableix una connexió entre l'emisor i el receptor abans d'iniciar la transferència de les dades.
● Durant l'establiment de la connexió tant l'emissor com el receptor inicialitzen diferents variables com:
– Num seq. (números de sequencia que s'utilitzaran)
– CongWin (mínim (Wmin) i màxim (Wmax))
– Threshold (llindar entre augmentar la finestra de manera multiplicativa a additiva).
38
Xarxes i Serveis
XiSTCP: Establiment de la connexió
t t
client serverPas 1: el client envia un segment que es diu SYN al servidor.
li diu que si vol connectar
inclou els paràmetres amb que el client vol fer la transferència de dades.
Pas 2: el servidor que rep el SYN, contesta amb un segment SYNACK
li diu que si a connectarse
inclou els paràmetres amb que el servidor vol fer la transferència de dades.
Establiment
SYN
SYNACK
Quins paràmetres s'escullen?
Els del client o els del servidor?
S'escullen els paràmetres més restrictius.
39
Xarxes i Serveis
XiSTCP: Tancament de la connexió
Step 1: el client envia un segment FIN per dir que vol finalitzar la connexió.
Step 2: el server respon amb un segment FINACK confirmantli el tancament de la connexió.
t t
client server
Tancament
FIN
FINACK
40
Xarxes i Serveis
Què passa si...
● És perd el segment SYN?● Al cap d'un cert temps (timeout), el client el torna a enviar el segment SYN.
● És perd el segment SYNACK?● El client torna a enviar el segment SYN al cap d'un cert temps (timeout).
● És perd el segment FIN?● Al cap d'un cert temps (timeout), el client el torna a enviar el segment FIN.
● És perd el segment FINACK?● El client torna a enviar el segment FIN al cap d'un cert temps (timeout).
Què és un TimeOut?
41
Xarxes i Serveis
TimeOut
● Temps que triguem a reenviar un segment del que no hem rebut resposta.
● Ha de ser més gran que el RTT.
t t
client server
Segment
ACK
t t
client server
Segment X
X
Segment Segment
TimeOut TimeOut
43
Xarxes i Serveis
TCP reliable data transfer
● TCP crea un servei de transport “fiable” sobre IP● Selective Repeat (Mecanisme de retransmissions).
● Basat en “finestres” (màxim número de paquets que podem transmetre sense haver rebut cap ACK)
● ACKs acumulatius (un ACK confirma tot lo anterior).
● Hi haurà un únic temporitzador “timeout” actiu per a cada finestra.
● Una retransmissió està causada per:– Salta un “timeout”
– Arriben 2 ACKs demanant el mateix paquet● vol dir que el receptor ha rebut un paquet de l'emissor que
no li tocava i ens torna a demanar el paquet que no li ha arribat.
Xarxes i Serveis
Transmissió de Dades XiSTCP
Envio segmentCap a nivell
de xarxa
N < W(i) EsperoArribada ACK
NO
SI N++
N: número d'ACKs que estic esperantW(i): mida actual de la finestraW(i+1): mida de la propera finestra
Rx ACK TCPSalta
TimeOut
Inicio el TimeOut
Es l'ACKesperat?
DetectoPèrdua de SegmentW(i+1)=1
Threshold= ceil(W(i)/2)N=0
Cancel TimeOut
NO
SI
N
Primer ACKFinestra actual
NO
SI
W(i+1)=min(2*W(i),Threshold) si W(i)<ThresholdW(i+1)=W(i)+1 si W(i)>=ThresholdW(i+1)=Wmax si W(i)+1>=Wmax
Cancel TimeOut
1
1
Inici Tx finestra
Xarxes i Serveis
Què és això de la finestra?
● La finestra de transmissió ens diu quants paquets podem haver enviat al nivell de xarxa sense haver rebut cap ACK per a ells.
● La lletra W és la mida de la finestra. Quan més gran sigui, més dades podrem enviar en menys temps.
t t
client server
ACK
client server
DadesW=1 Dades
ACK
W=4
Xarxes i Serveis
Què és això de la finestra?
t
client server
Dades
ACK
W=2
W=4El retard dels ACKsCanvia sobtadament(per exemple, per què viatgen per una altra ruta)
W=8
Per què si la finestraés 4 nomésn'enviem 3de seguits?Doncs per què si W=4, podem tenir fins a 4 segments enviats sense haverrebut el ACK per a ells. Per tant, com en tenim un encara pendent de rebre l'ACK,doncs només en podem enviar 3.
47
Xarxes i Serveis
Evolució temporal del XiSTCP
Slow Start
Additive Increase
Reset CongWin after a lost
CongWin/2
Packet loss
W
48
Xarxes i Serveis
Example of XiSTCP initial values
● Depèn de la versió concreta de TCP.
● Nosaltres considerarem diferents valors segons cada situació. Per exemple, podríem tenir:
● Timeout = 6 seconds (adaptatiu, > RTT)● Threshold CongWin = 8 (adaptatiu)● Cong Win min (Wmin) = 1● Cong Win max (Wmax) = 12 (màxim valor que
pot prendre la CongWin)
Xarxes i Serveis
Què és això de la finestra?
● En aquest cas:
● Wmin=1, ● Wmax=4, ● Threshold=2
W=1
W=2
W=3
W=4
W=4
x2
+1
+1
=
50
Xarxes i Serveis
Control de Congestió de XiSTCP
Es realitza extrem a extrem● La xarxa no informa als extrems de la presència o no de congestió.● Els hosts han de deduïr si hi ha congestió o no en funció de si perceben que hi ha pèrdua de paquets i de si el retard creix molt.
Es control de congestió precisament es fa mitjançant el mecanisme d'adaptació del tamany de la “finestra” de transmissió!
Raonament: si la xarxa perd paquets, assumeixo que està congestionada i redueixo el número de paquets que hi envio. Amb sort, al cap de poc, la congestió desapareixerà I podré tornar a enviarmés paquets alhora.
51
Xarxes i Serveis
XiSTCP: retransmission scenarios
Host A
Seq=2, 20 bytes data
ACK=1
timepremature timeout
Host B
Seq=1, 8 bytes data
ACK=2
Seq=1, 8 bytes data
Seq
=1
ti m
eou
t
ACK=2
Host A
Seq=1, 8 bytes data
ACK=1
loss
tim
eout
lost ACK scenario
Host B
X
Seq=1, 8 bytes data
ACK=1
timeSeq
=1
ti m
eout
TCP assumes a full duplexchannel!!!!
Pateixun retardmés grande l'esperat
W=1W=2
Cong.Window
W=1
52
Xarxes i Serveis
XiSTCP retransmission scenarios (more)
Host A
Seq=1, 8 bytes data
ACK=1
loss
tim
eout
Cumulative ACK scenario
Host B
X
Seq=2, 20 bytes data
ACK=2
time
● El receptor sempre contesta amb un ACKde l'últim paquet que s'ha rebut bé.● És a dir, l'emissor sap que tots els paquets anteriors han sigut rebuts correctament encara que no hagi rebut (l'emissor) un ACK per cada paquet enviat.
Si no s'hagués rebut (a B) el paquet 1,a l'ACK es demanaria el paquet “1”.
53
Xarxes i Serveis
XiSTCP: pèrdua d'ACKs
t
client server
Dades
ACK
W=2
W=4 X
TO W=8 Per què passa això?Gràcies als ACKs acumulatius,la pèrdua del ACK 2, es resolt.
1
2
3
6
Continuaré enviantels altres segmentsfins que en tingui 8 enviatssense hagi rebut cap ACK pera ells
Es cancel∙la
54
Xarxes i Serveis
XiSTCP: pèrdua de segmentsclient server
12
131415
12
12
12
16
12
W=4
W=8
ACKs acumulatius
Semprel'ACKfa referènciaa l'últim segmentrebut correcte ien l'ordre esperat
Aquí detectem la pèrdua d'un segment.Faig un RESET de Manera que la properafinestra serà W=1 iRetx. El segment perdut. 12
17
W=1 13
55
Xarxes i Serveis
XiSTCP: pèrdua de segmentsclient server
16
12
W=8
12
17
W=1
13
17
1212
12
M'espero a rebreel 1er ACKde la finestraanterior o a que el TimeOut expiri.
ACKs acumulatius!!
RESET
56
Xarxes i Serveis
XiSTCP Round Trip Time and Timeout
Q: Quin ha de ser el valor del TimeOut?
més gran que un RTT
Però el RTT varia segment a segment... per tant:
si és massa curt: sovint saltarà el timeout i retransmetrem segments quan potser no seria necessari si és massa llarg: reaccionarem massa poc a poc quan es perdi de veritat un segment
Q: Què és el RTT?És el temps des de que s'envia un paquet de dades fins que es rep el seu corresponent ACK.
Q: I...???
XiSTCP calcula el RTT de cada paquet que envia i els va promitjant.
Ajusta el valor del TimeOut a aquest valor promig.
57
Xarxes i Serveis
Example càlcul RTT:RTT: gaia.cs.umass.edu to fantasia.eurecom.fr
100
150
200
250
300
350
1 8 15 22 29 36 43 50 57 64 71 78 85 92 99 106
time (seconnds)
RTT
(mill
isec
onds
)
SampleRTT Estimated RTT
58
Xarxes i Serveis
Throughput de XiSTCP
A l'engròs,
L és la longitud de les dades.
Si Wmig és el tamany de finestra promig utilitzat durant la transferència de dades:
vtx = L·Wmax
RTT Bits/secThroughput max=
vtx = L·Wmig
RTT Bits/secThroughput mig=
vtx = L·Wmin
RTT Bits/secThroughput min=
Xarxes i Serveis
Escenari
● Considerant la següent xarxa:
ABR1 R2
R3R4
E1E2
E3E4
E7
E6
E5
E8
Servidor Web
Xarxes i Serveis
Escenari
● Enllaç 1, 7: Parell trenat 100 Mbps, halfduplex
● C= 100 Mbps,
● Stop & Wait
● Tprop = negligible (aprox 0)
● Enllaç 2, 3, 4, 5, 6: Fibra òptica, fullduplex
● C= 10 Gbps
● Cap protocol de retransmissions a nivell d'enllaç.
● Tprop = 0.02 msegons
● Enllaç 8: Parell Trenat a 1 Gbps, halfduplex
● C=1 Gbps
● Stop & Wait
● Tprop = negligible (aprox 0)
Xarxes i Serveis
Escenari
● Ordinador A i B
● Temps de procés (negligible).
● Adreces (per els dos ordinadors, A I B):
– @MAC (d'enllaç): A: MACA; B: MACB
– @IP (de xarxa): A: IPA; B: IPB
– Port (de transport): A: PA, B: PB● Routers (tots)
● Temps de procés (negligible)
● Adreces (per a cada interfície de xarxa – enllaç)
– @MAC: MACRyEx on x és a que ens referim i y el rotuer.
– @IP: IPRyEx on x és l'enllaç a que ens referim i y el router.
Xarxes i Serveis
Situació
● A i B són àmics i han decidit programarse la seva pròpia aplicació per intercanviarse “fitxers”, que anomenen X;
● L'aplicació X utiltiza el protocol TCP per a fer la transferència de dades, tant de A cap a B com de B cap a A.
● En aquest cas concret, l'usuari A vol baixarse un fitxer que B té al seu ordinador. El fitxer en concret ocupa 2 Mbits.
● A i B han pactat que l'aplicació a l'ordinador A utiltizarà el port 4087 I a l'ordinador B utilitzarà el port 7563. En els dos casos, s'utilitza el mateix port per enviar o per rebre dades.
Xarxes i Serveis
Dades Protocol XiSTCP, IP i enllaç
● El protocol TCP considerat en aquesta situació presenta els següents paràmetres:
● Wmin = 1, Wmax = 8, Threshold = 4
● Timeout >= RTT
● Capçalera TCP: 20 Bytes
● MSS: 1200 bits
● La petició del fitxer només inclou el seu “nom”, de longitud 64 bits.
● El protocol IP afegeix una capçalera de 20 bytes.
● El protocol d'enllaç afegeix una capçalera de 16 bytes.
Xarxes i Serveis
Esquema
ABR1 R2
R3R4
E1E2
E3E4
E7
E6
E5
E8
Servidor Web
Enllaç lògic bidireccional fullduplex
Camí físic(4 salts)
S'assumeix que no hi ha errors de transmissió ni pèrduade paquets (si no es diu el contrari)
Xarxes i Serveis
Què és demana?
● Quants paquets de dades del fitxer s'han d'enviar? Quina és la longitud del paquet de dades del fitxer a nivell de transport, a nivell de xarxa i a nivell d'enllaç? Fer el mateix per el paquet de “petició” de fitxer.
● Indicar per a tota la ruta física, quines adreces i ports contenen els paquets que viatgen entre A I B.
● Dibuixar el cronograma “des del punt de vista del nivell d'enllaç” del procediment d'obertura, petició de fitxer, transferència dels 12 primers paquets i tancament de la connexió.
● Si durant tota la transferència, la finestra de congestió mitja és de E[W]=4 segments, calcular:
● Aproximadament, el retard total de transferència del fitxer.
● Aproximadament, quin és el throughput aconseguit?
Xarxes i Serveis
Paquets i adreces
● Número de paquets de dades de fitxer que s'han d'enviar:
● N = 2E6 bits / 1200 bits = 1666.7 → 1667 paquets
– Sempre s'arrodoneix a l'enter superior.● Longitud dels paquets de dades:
● Dades: 1200 bits de dades d'aplicació
● TCP: Afegeix 20 bytes ∙ 8 bits / byte= 160 bits
● IP: Afegeix 20 bytes ∙ 8 bits / byte = 160 bits
● Enllaç: Afegeix 16 bytes ∙ 8 bits / byte = 128 bits
● Total = 128+160+160+1200 = 1648 bits
1200TCPIPLink
448 bits de capçaleres!!!! Overhead = 448 / 1648 = 0.27 27 %1→
Xarxes i Serveis
Paquets i adreces
● Longitud dels paquet de petició del fitxer:
● Dades: 8 bytes = 64 bits de dades d'aplicació
● TCP: Afegeix 20 bytes ∙ 8 bits / byte= 160 bits
● IP: Afegeix 20 bytes ∙ 8 bits / byte = 160 bits
● Enllaç: Afegeix 16 bytes ∙ 8 bits / byte = 128 bits
● Total = 128+160+160+64 = 512 bits
64TCPIPLink
448 bits de capçaleres!!!! Overhead = 448 / 512 = 0.875 87 %→
Xarxes i Serveis
Paquets i adreces
● Els paquets de A a B:
● Ruta física: E1, E3, E4, E7
Dades7563.4087IPB,IPAMACR1E1,MACA
Dades7563.4087IPB,IPAMACR3E3,MACR1E3
Dades7563.4087IPB,IPAMACR2E4,MACR3E4
Dades7563.4087IPB,IPAMACB,MACR2E7
origen
destí
Des de A fins a B les úniques adreces que canvien són les de cada salt!!!
E1
E2
E3
E4
Xarxes i Serveis
Paquets i adreces
● I de B cap a A? Fixeuvos que el camí físic és el mateix.
● Ho deixem proposat com a exercici per a vosaltres.
Xarxes i Serveis
Cronograma (diagrama temporal)
● Ens demanen dibuixar l'intercanvi de paquets entre A i B, incloent tots els paquets que s'envien (com ACKs) des de la perspectiva del nivell d'enllaç.
● Recordem:
● A obre una connexió TCP amb B.
● A demana un fitxer a B (a través de TCP).
● B li envia el fitxer a A (a través de TCP).
● A tanca la connexió TCP.
Xarxes i Serveis
Obertura de la connexió TCP
t t t t t
A R1 R3 R4 BE1 E3 E4 E7
SYN
SYNACK
Connexió TCP oberta
ACKs a nivell d'enllaç!!!!
(1)
Xarxes i Serveis
Tancament de la connexió TCP
t t t t t
A R1 R3 R4 BE1 E3 E4 E7
FIN
FINACKACKs a nivell d'enllaç!!!!
(1)
Xarxes i Serveis
Petició del fitxer + 1er segment dades
t t t t t
A R1 R3 R4 BE1 E3 E4 E7(1)Petició
ACK de TCPPer la Petició
W=1
Primer paquetamb dades delfitxer
ACK de TCPPer el 1er Paquet del fitxer
W=1
W=2
Xarxes i Serveis
Transferència del fitxer(òbviant els ACKs de nivell d'enllaç)
t
A R1 R3 R4 BE1 E3 E4 E7
t t t t
W=1
W=2
W=4
W=5
W=6
Xarxes i Serveis
Que passaria si... és per el paquet 4?
A R1 R3 R4 BE1 E3 E4 E7
t t t t
W=1
W=2
W=4X
W=1I el segment 4?
Torno a enviar el segment 4 que s'ha perdut!
W=2
Si els segments 5 i 6 han arribat bé,segueixo transmetent el 8 i 9...
Xarxes i Serveis
Throughput i retard de transferència
● Si assumim que en mitja, E[W]=4, aproximadament el throughput mig que s'obté és:
● Throughput mig = Ldades ∙ E[W] / RTT
● Quan val el RTT? Cal calcularho!!! :)
● El retard de transferència, a ull serà:
● Si cada RTT enviem E[W] segments, el número de RTT que trigarem a enviar 1668 segments serà “x”.
● El valor de “x” és el retard de transferència.