Performance Metrics

Download Report

Transcript Performance Metrics

Performance
Teoría de las Comunicaciones – Redes
1 Cuatrimestre 2011
Calidad de Servicio en Internet
“El Santo Grial de las redes de computadores es
diseñar una red que tenga la flexibilidad y el bajo
costo de la Internet, pero que ofrezca las
garantías de calidad de servicio extremo a extremo
de la red telefónica.”
S. Keshav: 'An Engineering Approach to Computer
Networking‘, 1997
Performance
Performance Metrics
 Bandwidth (throughput)



data transmitted per time unit
link versus end-to-end
notation
• KB = 210 bytes ( Peterson !!!!)
• Mbps = 106 bits per second
 Latency (delay)



time to send message from point A to point B
one-way versus round-trip time (RTT)
components
Latency = Propagation + Transmit + Queue
Propagation = Distance / c
Transmit = Size / Bandwidth
Bandwidth versus Latency
 Relative importance
 1-byte: 1ms vs 100ms dominates 1Mbps vs 100Mbps
 25MB: 1Mbps vs 100Mbps dominates 1ms vs 100ms
 Infinite bandwidth

RTT dominates
• Throughput = TransferSize / TransferTime
• TransferTime = RTT + 1/Bandwidth x TransferSize

1-MB file to 1-Gbps link as 1-KB packet to 1-Mbps
link
Delay x Bandwidth Product
 Amount of data “in flight” or “in the pipe”
 Example: 100ms x 45Mbps = 560KB
Delay
Bandwidth
Algunas de los slides
siguientes estan basadas
en :
Nota sobre el uso de estas diapositivas ppt:
Proporcionamos estas diapositivas de forma gratuita para todos (profesores,
estudiantes, lectores). Se encuentran en formato PowerPoint, por lo que
puede añadir, modificar y borrar diapositivas (incluida la presente) y su
contenido según sus necesidades. Evidentemente, significan un gran trabajo
por nuestra parte. A cambio, sólo pedimos para su uso:
 Que mencione la fuente si usa estas diapositivas (por ejemplo, en clase),
sin alterar su contenido de forma considerable (¡nos gustaría que la gente
usara nuestro libro!).
 Que indique que dichas diapositivas son una adaptación o copia de las
nuestras y que muestre el copyright de nuestro material si cuelga las
mismas en un sitio web, sin alterar su contenido de forma considerable.
¡Gracias y disfrute! JFK/KWR
Copyright 1996-2002.
J.F Kurose y K.W. Ross.
Todos los derechos reservados.
Redes de
computadores: un
enfoque descendente
basado en Internet,
2ª edición.
Jim Kurose, Keith Ross
¿Cómo se producen el retardo y
la pérdida?
Paquetes encolados en los búferes de router:
 La tasa de llegada de paquetes al enlace excede la
capacidad de salida del enlace.
 Cola de paquetes esperando turno.
Paquetes en transmisión (retardo)
A
B
Paquetes encolados (retardo)
Búferes libres (disponibles): paquetes de
llegada abandonados (pérdida) si no hay
búferes libres
Cuatro fuentes de retardo de
paquetes
 1. Procesamiento nodal:
 Comprueba errores de
bit.
 Determina la salida del
enlace.
 2. Encolado:
 Tiempo de espera para
un enlace de salida para
la transmisión.
 Depende del nivel de
congestión del router.
Transmisión
A
Propagación
B
Procesamiento
Encolado
nodal
Tipos de Retardo
 Componentes del retardo extremo a extremo:
Retardo de Procesamiento
Retardo de Colas
Retardo de Transmisión
Retardo de Propagación
Retardo de Procesamiento
 Tiempo requerido en analizar el encabezado y
decidir a dónde enviar el paquete (ej. decisión
de enrutamiento)

En un enrutador, dependerá del número de entradas
en la tabla de rutas, la implementación (estructuras
de datos), el hardware, etc.
 Puede incluir la verificación de errores
Retardo de Colas
 Tiempo en que el paquete espera en un
búfer hasta ser transmitido
 El número de paquetes esperando en cola
dependerá de la intensidad y la naturaleza
del tráfico
 Los algoritmos de colas en los enrutadores
intentan adaptar estos retardos a ciertas
preferencias, o imponer un uso equitativo
Retardo de Transmisión
 El tiempo requerido para
empujar todos los
bits de un paquete a través del medio de
transmisión
 Para R=Tasa de bits, L=Longitud del paquete, d
= delay o retardo:
d = L/R
 Por ejemplo, para transmitir 1024 bits
utilizando Fast Ethernet (100 Mbps):
d = 1024/1x10e8 = 10.24 micro
segundos
Retardo de Propagación
 Una vez que el bit es 'empujado' en el medio, el tiempo
transcurrido en su propagación hasta el final del
trayecto físico
 La velocidad de propagación del enlace depende más que
nada de la distancia medio físico
 Cercano a la velocidad de la luz en la mayoría de los
casos
 Para d = distancia, s = velocidad de propagación
Dp = d/s
Transmisión vs. Propagación
 Puede ser confuso al principio
 Considerar un ejemplo:

Dos enlaces de 100 Mbps.
Fibra óptica de 1 Km
Via Satélite, con una distancia de 30Km entre base y
satélite

Para dos paquetes del mismo tamaño, cuál tiene
mayor retardo de transmisión? Y propagación?
Retardo en redes de conmutación
de paquetes
3. Retardo de transmisión:
 R=ancho de banda del
enlace (bps).
 L=longitud del paquete
(bits).
 Tiempo de envío de bits
hacia el enlace = L/R.
4. Retardo de propagación:
 d = longitud del enlace físico
 s = media de velocidad de
propagación (~2x108 m/sec)
 Retardo de propagación=d/s
Transmisión
A
Nota: ¡s y R son
cantidades muy
distintas!
Propagación
B
Procesamiento
Encolado
nodal
Analogía de la caravana
100 km
Caravana de Peaje
10 coches
 Los coches se “propagan”
a 100 km/h.
 El peaje tarda 12 seg en
servir a un coche (tiempo
de transmisión).
 Coche~bit; caravana ~
paquete.
 P: ¿Cuánto tiempo
transcurre hasta que la
caravana se alinee ante el
segundo peaje?
100 km
Peaje
 Tiempo para “soltar” toda
la caravana pasando los
peajes a la autopista =
12*10 = 120 seg.
 Tiempo hasta que el
último coche se propaga
del primer al segundo
peaje:
100km/(100km/h)= 1 h.
 R: 62 minutos
Analogía de la caravana
100 km
100 km
Caravana de Peaje
10 coches
 Ahora los coches se
“propagan” a 1000 km/h.
 El peaje tarda 1 min en
servir un coche.
 P: ¿Llegarán los coches al
segundo peaje antes de
que se sirva a todos en el
primero?
Peaje
 ¡Sí! Tras 7 min., el primer
coche se encuentra en el
segundo peaje y aún quedan
tres coches en el primero.
 ¡El primer bit de paquete
puede llegar al segundo
router antes de que se haya
transmitido el paquete por
completo al primer router!

Véase applet Ethernet en el
sitio Web de AWL.
Retardo nodal
dnodal  dproc  dcola  dtrans  dprop
 dproc = retardo de proceso
 Normalmente unos pocos microsegundos o menos.
 dcola = retardo de cola
 Depende de la congestión.
 dtrans = retardo de transmisión
 = L/R, significativo para enlaces de baja velocidad.
 dprop = retardo de propagación
 Desde unos pocos microsegundos hasta a cientos de
milisegundos.
Retardo de cola (repaso)
 R = ancho de banda del
Media de
retardo de cola
enlace (bps).
 L = longitud del paquete
(bits).
 a = media de tasa de
llegada del paquete.
Intensidad de tráfico = La/R
 La/R ~ 0: media de retardo de cola pequeño.
 La/R -> 1: aumentan los retardos.
 La/R > 1: ¡Llega más “trabajo” del que puede
servirse, media de retardo infinita!
Network Measurement
Bandwidth Analysis
Why measure bandwidth?
 Network congestion has increased tremendously.
 Bottlenecks are not always obvious.
 Measuring bandwidth may become more essential for service
providers as congestion increases.
 Measuring bandwidth enables us to improve current systems as well
as diagnosis network problems.
 Measuring bandwidth may be the key to observing what is wrong
with current protocol standards. In effect, measurement is a tool
for research in general.
How we measure bandwidth
 It’s really more complicated than a connection speed.
 We might want to look at capacity or we might be looking at
throughput or bandwidth congestion.
 We can observe packet loss, propagation delay, link capacity, but
some of this results in educated “guess work.”
 There are many theories and applications intended to measure
bandwidth and network statistics.
 For our purposes we will look at the three most common utilities
used: traceroute, ping, and pathchar.
 It really depends on what you are after!
traceroute
 Written by Van Jacobsen in 1988 to solve persistent network
problems.
 Traceroute counts hops : roughly tracing the path of an IP packet
from the client to the destination.
 Traceroute does this by sending UDP packets with an extremely
short TTL.
 If all routing nodes in the path are working properly, an ICMP
(Internet Connection Message Protocol) Time Exceeded message is
sent (RFC 792).
traceroute
 Traceroute utilizes the
information encapsulated in
the ICMP message to
determine the source (the
router that sent the packet).
 We continue sending packets
until we get an ICMP “host
unreachable message” (this
implies that we have reached
the destination) or until the
max number of hops has been
reached.
traceroute disadvantages
Traceroute is a simple tool that is based on a few key ideas:
1. All packets will be sent on the same paths (going).
2. Consistent Routing (all packets will be routed back the same
way).
3. TCP/IP implementations supporting ICMP.
In reality, poor TCP/IP implmentation means that Traceroute is not
dependable.
Using three different Traceroute implementations, to the same IP
address, resulted in three different routes.
ping
One of the most widely
distributed analysis tools. First
released in 1980.
 The UNIX version of ping is
slightly more robust, allowing us
to specify the testing data and
modify the patterns.
 ping, works by sending a single
packet and waiting for the ICMP
Echo response.

ping
 ping puts its own Round Trip Time value on each packet so we are
not left at the mercies of the router (as in traceroute).
 ping also provides us with a diagnostic of ICMP messages, usually
buried by the system.
 ping is clearly a much different tool from traceroute, but it’s
simplicity makes it more reliable.
 ping is only useful for estimating bandwidth under certain
conditions.
Pathchar
 Also written by Van Jacobson, in 1997.
 pathchar attempts to improve upon traceroute by adding
mathematical analysis to the problems that occur in propagation.
 Working in the same basic manner as traceroute, pathchar sends
out packets and waits for the response. Only instead of one set of
packets, it sends out several.
 The difference being the analysis of the returned data.
 pathchar attempts to account for:
- loss rate
- link capacity
- propagation and queing delay
(Grossglauser, pg40)
pathchar
Taking into account the rtt from two nodes, say n and n – 1 we generate the
following formula using Van Jacobson’s specifications:
But he assumes three things:



The error message is small enough to ignore (toss error_size/bandwidth out)
The forward time is not big enough to worry about.
If enough transmission groups are sent at least one will not have any queuing delays.
And so, we get:
pathchar

In practice pathchar is not the easiest tool to use. It can be difficult to
implement and its output is often chaotic.


A better implementation of pathchar was made by Bruce Mah, called pchar
Here is an example of a particular node in a trace.
What we learn from pathchar
 Pathchar’s focus is on the statistics of data loss and the analysis of





delay.
Instead of capacity, we can look at data loss and latency.
Using pathchar and traceroute, one is more likely to track down the
source of delay than to estimate bandwidth in the sense of
capacity.
In a commercial sense, we can utilize this information to see where
end users are running into difficulty.
In private application weak network components can be sorted out.
For our purposes, bandwidth congestion allows us to think
intelligibly about improving network protocols and gives us some
real world metric to diagnosis real world problems.
Conclusion
 There are two things we can conclude from this:
 ICMP may need to be rewritten to facilitate better tools.
 Bandwidth Analysis is at it’s heart a simple idea.
Sources
Downey, Alan B. “Using pathchar to estimate Internet length
characteristics.”
http://www.acm.org/sigcomm/sigcomm99/papers/session7-1.pdf.
1999
Jacobson, Van. “pathchar – A Tool to Infer Characteristics of
Internet Paths.” ftp://ftp.ee.lbl.gov/pathchar/msri-talk.pdf. April
21, 1997.
Postel, J. “RFC 792 Internet Control Message Protocol.”
http://www.freesoft.org/CIE/RFC/792/index.htm. September,
1981.
Retardo y rutas “reales” en Internet
 ¿Cómo son los retardos y las rutas “reales” en
Internet?
 Programa Traceroute: mide el retardo desde la
fuente al router por el recorrido de Internet
terminal a terminal hacia el destino. Para todo ello:



Envía tres paquetes que alcanzarán el router i de camino
a su destino.
El router i le devolverá los paquetes al remitente.
Intervalo de tiempos de envío entre la transmisión y la
respuesta.
3 sondas
3 sondas
3 sondas
Retardo y rutas “reales” en Internet
Traceroute: gaia.cs.umass.edu a www.eurecom.fr
Tres medidas de retardo desde
gaia.cs.umass.edu hasta csgw.cs.umass.edu
1 cs-gw (128.119.240.254) 1 ms 1 ms 2 ms
2 border1-rt-fa5-1-0.gw.umass.edu (128.119.3.145) 1 ms 1 ms 2 ms
3 cht-vbns.gw.umass.edu (128.119.3.130) 6 ms 5 ms 5 ms
4 jn1-at1-0-0-19.wor.vbns.net (204.147.132.129) 16 ms 11 ms 13 ms
5 jn1-so7-0-0-0.wae.vbns.net (204.147.136.136) 21 ms 18 ms 18 ms
6 abilene-vbns.abilene.ucaid.edu (198.32.11.9) 22 ms 18 ms 22 ms
7 nycm-wash.abilene.ucaid.edu (198.32.8.46) 22 ms 22 ms 22 ms Enlace
8 62.40.103.253 (62.40.103.253) 104 ms 109 ms 106 ms
trasatlántico
9 de2-1.de1.de.geant.net (62.40.96.129) 109 ms 102 ms 104 ms
10 de.fr1.fr.geant.net (62.40.96.50) 113 ms 121 ms 114 ms
11 renater-gw.fr1.fr.geant.net (62.40.103.54) 112 ms 114 ms 112 ms
12 nio-n2.cssi.renater.fr (193.51.206.13) 111 ms 114 ms 116 ms
13 nice.cssi.renater.fr (195.220.98.102) 123 ms 125 ms 124 ms
14 r3t2-nice.cssi.renater.fr (195.220.98.110) 126 ms 126 ms 124 ms
15 eurecom-valbonne.r3t2.ft.net (193.48.50.54) 135 ms 128 ms 133 ms
16 194.214.211.25 (194.214.211.25) 126 ms 128 ms 126 ms
* Quiere decir que no existe respuesta (probe lost,
17 * * *
18 * * *
router not replying)
19 fantasia.eurecom.fr (193.55.113.142) 132 ms 128 ms 136 ms
Pérdida de paquetes
 La cola (también conocida como búfer) que
precede a un enlace en el búfer tiene una
capacidad limitada.
 Cuando un paquete llega a una cola llena,
éste es abandonado (es decir, se pierde).
 El paquete perdido puede o no ser
retransmitido por un nodo anterior, por una
fuente del sistema terminal.
Adicionales ( Importantes!)
Voz sobre IP
Protocolos de señalización ( H.323, MGCP, SGCP, SIP etc)
Payload Voz
Transporte
Red
G.711, G.729, G.723(.1)
RTP/UDP
IP
Enlace
MLPPP/FR/ATM AAL1
Físico
–––
Requerimientos de ancho de banda de los
Codecs
Encoding/Compression
Resulting Bit Rate
G.711 PCM A-Law/u-Law
64kbps (DS0)
G.726 ADPCM
16, 24, 32, 40 kbps
G.727 E-ADPCM
16, 24, 32, 40 kbps
G.729 CS-ACELP
8kbps
G.728 LD-CELP
16kbps
G.723.1 CELP
6.3/5.3 kbps
Fluctuación del retardo—“Jitter”
Emisor
Receptor
Red
B
A
C
Emisor Transmite
t
A
50 ms
B
50 ms
Red vacía
C
90 ms
Receptor Recibe
t
Congestión
Retardo: 70 ms  20 ms (retardo: 70 ms, jitter: 40 ms)
Reducción del Jitter
 La principal causa de jitter es la congestión
 Se puede reducir el jitter añadiendo un retardo
adicional en el lado del receptor. Por ejemplo con
un retardo de 70  20 ms se puede asegurar jitter
0 si se añade un retardo de 40 ms (90  0 ms).
 Para el retardo adicional el receptor ha de tener
un buffer suficientemente grande.
 En algunas aplicaciones no es posible añadir mucho
retardo pues esto reduce la interactividad. Ej.:
videoconferencia, telefonía por Internet
“voz paquetizada”

one-way delay aceptable : 0-150 ms (ITU-T G.114)

Latencia=transmisión + propagación + queuing delay
PSTN
PSTN
Wireless access network
• Queuing delay: variable, se necesita acotar
=> Assume 10* hops, per hop queuing delay < 5 ms
(*Vern Paxson’s results: 8-12 hops typical across U.S.)
Perfomance del Protocolo de
Ventana deslizante
 Sea un Host A, que usa protocolo de
ventana deslizante, si debe transmitir un
archivo de unos 10 GB con un Host B
 Window size = 64KB
 RTT de la red es de 1 segundo
 Cual es la velocidad esperada con que el
emisor envia datos?
 64KB/s
Sliding Window
Round-trip time
Round-trip time
Window Size
Host A
Host B
???
Window Size
ACK
(1) RTT > Window size
Window Size
ACK
ACK
(2) RTT = Window size
Utilización vs RTT normalizado
Fuente : Stallings W . Comunicaciones y Redes de Computadores- 7 Edición