Title: Tcnicas para mejorar TCP sobre Enlaces Inalmbricos
1Técnicas para mejorar TCP sobre Enlaces
Inalámbricos
Aplicaciones Distribuidas Avanzadas
2Índice de contenido
- Introducción
- Soluciones End-to-End
- Conclusiones y recomendaciones
- Referencias
3Índice de contenido
- Introducción
- Soluciones End-to-End
- Conclusiones y recomendaciones
- Referencias
4Introducción (I)
- Transmision Control Protocol (TCP) es el
protocolo de capa de transporte más conmumente
usado para las aplicaciones de Internet actuales.
- TCP ha sido utilizado para ofrecer fiabilidad en
redes fijas tradicionales y estacionarias donde
las perdidas son mayormente causadas por
congestión de la red.
5Introducción (II)
- Con la propagación del interes en las
aplicaciones de datos inalámbricos ( tales como
portatiles móviles, Pdas y telefonos móviles con
capacidad de manejo de datos) llega una gran
necesidad de adaptar TCP a las redes con enlaces
inalámbricos.
- Describiremos los mecanismos y los diferentes
esquemas que han sido propuestos para mejorar el
funcionamiento de TCP en redes con enlaces
inalámbricos.
6Introducción (III)
- Descripción de la respuesta TCP a los paquetes
perdidos.
- TCP asume que la proporción de paquetes perdidos
porque estan dañados es muy pequeña (mucho menos
del 1).
- Para TCP un paquete perdido generalmente
significa la presencia de congestión entre el
emisor y el receptor.
7Introducción (IV)
- Para evitar futuros paquetes perdidos y mejorar
la eficiencia de transmisión, TCP responde a la
perdida de paquetes reduciendo la velocidad de
transmisión.
- Esto es implementado a traves de la reducción de
la ventana de congestión (cwnd).
- El número de paquetes sin Ack que un emisor
puede enviar hacia la red es el mínimo de la
actual cwnd y de la ventana ya conocida del
receptor. -
8Introducción (V)
- El valor más pequeño que puedo tener cwnd, es el
menor número de paquetes que un emisor puede
enviar durante un período de tiempo. -
- Implementaciones TCP
- TCP-Reno
- Respuesta de TCP-Reno a la perdida de Paquetes.
- Detección de perdidas de paquetes dos formas
- Un Time-out ocurre cuando el emisor no recibe
ningún ACK del receptor respecto de una cierto
valor de tiempo preestablecido ( este valor se
basa deacuerdo a un tiempo de ida-vuelta estimado)
9Introducción (VI)
- Cuando un Time-out ocurre, TCP interpreta esto
como una congestión severa en la red ya que se
asigna el Slow start threshold (ssthresh) a la
mitad del mínimo de la actual cwnd y de la
ventana ya conocida del receptor.
- Entonces esto decrece la cwnd en un segmento y se
desarrolla un arranque lento (Slow Star)
- Durante el arranque lento, el emisor TCP
incrementa cwnd en un segmento cada vez que un
buen ACK es recibido. Se deriva un incremento
exponencial de cwnd durante el arranque lento
- Cuando el cwnd alcanza el ssthresh sale del
estado de arranque lento y se pasa al estado de
evitar la congestion ( congestion avoidance),
donde cada nuevo ACK incrementa cwnd en 1/cwnd.
10Introducción (VII)
- ACKs duplicados, ocurren cuando el receptor
recibe paquetes fuera de orden pero han fallado
para recibir el siguiente segmento esperado.
- TCP interpreta esto como una congestión severa de
menor magnitud en compararión que cuando ocurre
un time-out.
- Cuando el tercer duplicado ACK es recibido, TCP
utiliza los algoritmos retransmisión rapida (
fast restransmit ) y recuperación rapida ( fast
recovery ).
- El ssthresh se le asigna la mitad del minimo de
la cwnd y de la ventana ya conocida del receptor.
- El emisor TCP retransmite ( fast retransmit ) los
paquetes perdidos inmediatamente sin esperar por
el time-out de retransmisión.
11Introducción (VIII)
- Durante la fase de retransmisión rapida, este
considera cada duplicado ACKs como un ACK de un
segmento fuera de orden por lo que se incrementa
el cwnd correspondientemente y se continua con el
envio de paquetes.
- Cuando el ACK del paquete retransmitido es
finalmente recibido, este va a la fase de fast
recovery , el cwnd se le asigna el valor de
ssthresh ( el cual es la mitad antes de la fase
de retransmisión rapida ) y TCP procede a
realizar el proceso de evitar la congestión (
cogestion avoidance ).
12Introducción (IX)
- Funcionamiento de TCP en enlaces inalámbricos.
- Caracteristicas de los canales inalámbricos.
- Elevados bit-error rate (BER) con pérdidas
aleatorias causadas por los efectos de shadowing
and fading. - Pueden causar rafagas de errores cuando el canal
esta en una caída severa de una considerable
cantidad de tiempo.
- Cuando el canal causa errores aleatorios en
redes inalámbricas, TCP no interpreta los
paquetes perdidos como relativos a la congestión.
13Introducción (X)
- Un simple error aleatorio causado por el canal
originara ACKs duplicados y TCP invocará los
usuales mecanismos de control de congestión.
- Los esquemas de retransmisión rapida (fast
retransmission) y recuperación rapida (fast
recovery) finalmente decreceran la velocidad de
transmisión en un factor de 2 aunque la
congestión no esta presente en la red.
- La baja velocidad de transmisión no es optima
para las redes que no tienen congestión.
14Introducción (XI)
- En redes inalámbricas, los algoritmos de
recuperación de errores de TCP, inherentemente
degradan el funcionamiento del sistema.
- Estrategias que han sido propuestas para mejorar
el funcionamiento de TCP en enlaces inalambricos. - End-to-End
- Split-connection
- Link-Layer
15Introducción (XII)
- Los esquemas End-to-End hacen que el emisor TCP
maneje todos los tipos de perdidas. Solo se
requiere revisión de los algoritmos TCP para
manejar perdidas inalámbricas aleatorias más
efectivamente.
- Los esquemas Split-connection permiten que el
enlace inalámbrico sea ocultado por completo
desde el emisor, terminando la conexión TCP en la
estación base. Un protocolo aparte (TCP o una
variante de esta) es usado desde la estación base
hasta el nodo final inalámbrico.
16Introducción (XIII)
- Los esquemas Link-Layer tienen mecanismos que
apuestan a ocultar enlaces con perdidas desde el
emisor TCP a traves de retransmisiones locales y
posiblemente, corrección de errores en avance.
- Nos centraremos solo en los detalles de las
soluciones End-to-End.
- Simulaciones han mostrado que a pesar del gran
overhead requerido por los esquemas
Split-connetion debido al procesamiento de
protocolos duales en la estación base, el caudal
(throughput) de los esquemas Split-connection es
mucho menor que de una buena propuesta Link-Layer.
17Índice de contenido
- Introducción
- Soluciones End-to-End
- Conclusiones y recomendaciones
- Referencias
18Soluciones End-to-End (I)
- Estas propuestas hacen que el emisor TCP maneje
las perdidas de paquetes causadas tanto por
congestión como errores inalámbricos aleatorios.
- Mantiene la Semantica TCP End-to-End, requieren
revisión en los algoritmos TCP en el emisor y un
minimo o no procesamiento en las estaciones
bases.
19Soluciones End-to-End (II)
- Categorizar los paquetes perdidos.
- Debido a que la degradación del funcionamiento de
TCP en enlaces inalámbricos es causada
principalmente por la no interpretación de TCP a
los errores inalámbricos aleatorios como
congestión, la más obvia estrategia para resolver
esto es incorporar mecanismos tales que TCP
responda de forma diferente a una fallo
inalámbrico.
20Soluciones End-to-End (III)
- Si se determina que el paquete perdido es causado
por un error inalámbrico aleatorio y no hay
congestión presente, significa que la red puede
manejar la actual velocidad de transmisión.
- En estos casos TCP no podria optar por un simple
decrecimiento de cwnd porque podria ser mas
beneficioso para el sistema el mantener la actual
velocidad de transmisión.
21Soluciones End-to-End (IV)
- Se llama el proceso de determinar el tipo de
perdida de paquetes como categorización de
errores, dentro de lo cuales podemos tener tres
metodos.
22Soluciones End-to-End (V)
- Implicit Calculation
- Un cálculo por el emisor que implicitamente
determina el tipo de paquete perdido es el metodo
el cual requiere la menos cantidad de cambios en
la red. - Si la categorización de errores es dejado solo al
emisor TCP entonces no hay necesidad de
actualizar el codigo de las estaciones bases y
nodos intermedios. - La desventaja de este metodo es que puede ser el
menos preciso de categorización ya que los
calculos son basados en suposiciones y medidas (
medidas las cuales pueden estar basadas en otras
suposiciones).
23Soluciones End-to-End (VI)
- Explicit Wireless Loss Notification
- Otro metodo es teniendo a la red ( la estación
base o el receptor ) informando a el emisor TCP
que el error fue causado por un caída
inalámbrica. - Al emisor se le envia un Explixt wireless loss
notification (EWLN) para esto asi conoce que un
error inalámbrico ocurrió. - Un EWLN puede ser fácilmente incorporado en la
seccion de opciones de la cabezera TCP. Tambien
se propone que pueda ser enviado como un mensaje
ICMP. - Otro importante informe en los metodos EWLN es
cual parte de la red enviará la notificación. La
exacta implementación no se conoce pero se asume
que el mensaje viene del receptor.
24Soluciones End-to-End (VII)
- Explicit Congestion Notification
- Un complemento de EWLN es el esquema Explicit
congestión Notification (ECN). - En lugar de recibir un mensaje denotando una
perdida de paquetes a causa de un error
inalámbrico, el emisor TCP esta a la espera de
recibir una ECN el cual señaliza congestión en
cualquier punto de la red. - Se propone el manejo de colas activa en la
infraestructura de internet. Basado en este
esquema los routers detectan congestión antes de
que la colas se revasen. - Cuando la congestión esta por ocurrir, el router
puede setear el bit Congestion Experienced (CE)
en la cabezera IP de los paquetes.
25Soluciones End-to-End (VIII)
26Soluciones End-to-End (IX)
- Mantener la ventana de congestión (Maintain cwnd)
- Dado que el emisor TCP sabe ( hasta cierto grado
de precisión) el tipo de paquete perdido, ahora
veremos como TCP puede efectivamente responder a
una perdida de paquetes inálambrica.
- Cuando la perdida es catalagoda como asociada a
congestión, TCP invoca a los estandares
algoritmos de recuperación de errores.
- Por otra parte, cuando una caida inalámbrica es
detectada, el emisor TCP todavia va hacia la
retransmisión rápida de los paquetes perdidos
pero esto no decrece la cwnd.
27Soluciones End-to-End (X)
- Existe una implatación de una respuesta TCP
manteniendo cwnd con un esquema de
categorización de errores EWLN (llamada E2E-ELN).
Sus resultados muestran que el esquema propuesta
mejora el caudal por más de un factor de 2
comparado con la implementación de TCP-Reno para
un BER de 1.9 x 10 exp 6.
- El problema con esta simulaciones es que ellos
asumen que el receptor tiene suficiente
conocimiento para enviar perfectamente un preciso
EWLN. Las simulaciones corren en un escenario de
no congestión.
28Soluciones End-to-End (XI)
- Selective Acknowledgments.
- Estudios suguieren que usando Selective
Acknowledgments (SACKs) con los esquemas de
categorización de errores y el de mantener cwnd
mejorará mucho más el caudal ofrecido de una red
con enlaces inalámbricos.
- El original TCP no tiene ACKs selectivos o
negativos.
- Hay un interes renovado en SACKs especialmente
en la propuesta SACK RFC que propone que cada ACK
contenga información de más de tres bloques no
contiguos de datos que han sido recibidos
exitosamente por el receptor.
29Soluciones End-to-End (XII)
- La implementación de Selective Acknowledgements
se requiere de igual forma en el receptor TCP.
30Soluciones End-to-End (XIII)
- Respuesta a una degradacion severa de larga
duración.
- Como el esquema de categorización de errores, una
larga degradación puede ser determinada por
calculos implicitos del emisor ( posiblemente a
traves de multiple time-out los cuales puede
significar una larga degradación o congestión
severa) o por notificaciones de degradación
severa por la estación base o el receptor.
31Soluciones End-to-End (XIV)
- Observando solo la cantidad de time-out en el
emisor TCP seria fácil de implementar.
- Cuando la información de que el sistema esta en
un degradación severa ha alcanzado el emisor TCP,
este puede decrecer el cwnd en un segmento e ir a
un arraque lento (Slow Start) o cerrar la
conexión completamente.
32Índice de contenido
- Introducción
- Soluciones End-to-End
- Conclusiones y recomendaciones
- Referencias
33Conclusiones y Recomendaciones (I)
- Los algoritmos de recuperación de errores TCP
estándar inherentemente decrecen el caudal
ofrecido por la red en enlaces inalámbricos
porque TCP asume que todas las perdidas son por
congestión.
- En canales inalámbricos, los errores aleatorios
causados por fading y Shadowing son predominantes.
- El óptimo metodo de categorización de errores
depende del tipo de red a manejar. Para nodos
inalámbricos conectados a una gran red fija, es
más pratico usar un esquema EWLN con el EWLN
enviado desde la estación base a los emisores
TCP. En estos tipos de redes , aplicar ECN es
impractico. El metodo ECN puede ser usado para
pequeñas LANs donde los routers puede ser
fácilmente configurados.
34Conclusiones y Recomendaciones (II)
- El emisor TCP, una vez informado del tipo de
perdida podria responder a una perdida de paquete
causada por errores inalámbricos usando
retransmisión rápida y manteniendo el cwnd. El
emisor TCP podria restransmitir los paquetes
perdidos tan pronto como este recibe un EWLN ( o
tan pronto como este calcula por si mismo que es
una caida inalámbrica) y no esperar por mas ACKs
duplicados. Finalmente , una caida inalámbrica
aleatoria podria no automaticamente causar que el
emisor TCP reduzca su velocidad de transmisión.
35Conclusiones y Recomendaciones (III)
- Es de importancia incorporar selective ACKs en
los esquemas End-to-End. Selective ACKs permiten
que el emisor TCP recupere más eficientemente de
multiples caidas inalámbricas de un ventana dada.
Multiples perdidas de paquetes en una ventana es
causada por rafagas de errores los cuales son
altamente probables en enlaces inalámbricos con
mucho tráfico.
- El esquema End-to-End debe tambien incluir un
mecanismo para que el emisor TCP determine si el
nodo inalámbrico esta en una degradación severa
por un largo periodo de tiempo. Cuando el nodo
inalámbrico esta en esa situación, el emisor TCP
podria responder tratandola como una congestión
severa ( disminuyendo el cwnd a lo más bajo valor
posible) o cerrar la conexión por completo.
36Índice de contenido
- Introducción
- Soluciones End-to-End
- Conclusiones y recomendaciones
- Referencias
37Referencias (I)
- W.R. Stevens, TCP/IP Illustrated, Vol. 1.
Reading, MA Addison-Wesley, Nov. 1994. - N.K.G. Samaraweera, Non-congestion packet loss
detection for TCP error - recovery using wireless links, in IEE
Proceedings - Communications, Vol. 146, No. 4,
Aug. 1999. - H. Balakrishnan, V.N. Padmanabhan, S. Seshan, and
R.H. Katz, A comparisonof mechanisms for
improving TCP performance over wireless links,
in IEEE/ACM Transactions on Networking, Vol. 5,
No. 6 , Dec. 1997. - D. Bansal, A. Chandra, and R. Shorey, An
extension of the TCP flow control algorithm for
wireless networks, in Proc. of 1999 IEEE
International Conference on Personal Wireless
Communication, 1999. - S. Goel, and D. Sanghi, Improving TCP
performance over wireless links, In Proc. Of
TENCON '98, 1998 IEEE Region 10 International
Conference on Global Connectivity in Energy,
Computer, Communication and Control, Vol.2, Dec.
1998.
38Referencias (II)
- Fei P., Shiduan C., and Jian M., An effective
way to improve TCP performance in wireless/mobile
networks, in Proc. of IEEE/AFCEA EUROCOMM 2000,
Information Systems for Enhanced Public Safety
and Security, 2000. - K.K. Ramakrishnan, S. Floyd, and D. Black, The
Addition of Explicit Congestión Notification
(ECN) to IP, Internet draft draft-ietf-tsvwg-ecn-
00.txt, work in progress, November 2000. - M. Mathis, J. Mahdavi, S. Floyd, and A. Romanow,
Selective acknowledgementoptions, RFC-2018,
1996. - A. DeSimone, M.C. Chuah, and O.C. Yue,
Throughput performance oftransport-layer
protocols over wireless LANs, in Proc.IEEE
Globecom 93, Nov. 1993.