Está en la página 1de 9

AN EXTENSION TO THE SELECTIVE ACKNOWLEDGEMENT (SACK) OPTION FOR TCP

Definido en el RFC-2018 y, posteriormente, extendido en el RFC-2883. Se recomienda la opcin SACK cuando hay mltiples prdidas de segmentos TCP Por congestiones en los routers IP Por errores fsicos en el nivel de enlace, especialmente, en entornos inalmbricos (CRC de la trama) Un mecanismo de reconocimiento selectivo (SACK), combinada con una poltica de retransmisin repeticin selectiva, tiene propuesto para superar las limitaciones con la acknowledgmentscheme acumulada en TCP. Con SACK, el receptor informa al emisor acerca de los bloques no contiguos de los datos que se han recibido y en cola. Sin embargo, para cada uno de dichos bloques no contiguos, SACK requiere 8 bytes para transmitir la informacin a la remitente. Como campo de opciones TCP tiene una longitud fija, un paquete de confirmacin, en el mximo, puede llevar informacin sobre slo 4 bloques no contiguos. En algunos condiciones de error, esta limitacin puede hacer que el emisor TCP para retransmitir paquetes que ya han sido recibidos con xito por el receptor. En este trabajo, se propone un esquema de reconocimiento selectivo mejorado (ISACK) para superar las limitaciones del sistema actual reconocimiento selectivo. A travs de ejemplos, nos demuestran cmo el funciona el esquema propuesto. Ms Proponemos una adaptacin estrategia de reconocimiento selectivo (Asack) que cambia dinmicamente entre SACO y ISACK para dar una ptima rendimiento.

Para poder hacer uso de la opcin Tipo 5 SACK en fase de transferencia de datos hay que indicarlo previamente en fase de establecimiento de la conexin TCP -Permitted en la fase de establecimiento de la conexin TCP en un segmento SYN = 1 -Permitted se informa al emisor de bloques no contiguos de octetos de datos que han sido recibidos correctamente y, por tanto, en dnde puede haber agujeros en los datos. Esta opcin provoca la cancelacin en el emisor de los temporizadores de los segmentos que sabe que han llegado correctamente al receptor y la eliminacin de la copia de los correspondientes octetos de datos en el buffer de transmisin

-Permitted en el establecimiento de la conexin, no debe usar la opcin Tipo 5 TCP Sack-Permitted en la fase de transferencia de datos

Un Ejemplo de un Paquete SACK

El problema Varias prdidas de paquetes desde una ventana de datos pueden tener un efecto catastrfico sobre TCP rendimiento. TCP utiliza un esquema de reconocimiento acumulativo en el cual recibi segmentos que no estn en el borde izquierdo de la ventana de recepcin no son reconocidas. Esto obliga al emisor a esperar ni un momento de ida y vuelta para obtener informacin sobre cada paquete que se pierde o se retransmita innecesariamente y segmentos que se han recibido correctamente. Con el esquema de reconocimiento acumulado, mltiples segmentos cados causan generalmente TCP pierda a su reloj ACK-basado, lo que reduce el rendimiento global. La solucin Confirmacin Selectiva ( SACK ) es una estrategia que corrige este comportamiento en la cara de mltiples segmentos que se redujo. Con reconocimientos selectivos, el receptor de datos puede informar al emisor sobre todos los segmentos que han llegado con xito, por lo que el emisor necesita retransmitir slo los segmentos que se han ido perdiendo . La extensin reconocimiento selectivo utiliza dos opciones TCP . La primera es una opcin que permite, " SACK permitida ", que puede ser enviada en un SYN segmento para indicar que la opcin SACK se puede utilizar una vez que se establece la conexin. El otro es el SACO opcin propia, que puede ser enviado a travs de una conexin establecida una vez que se ha dado permiso por SACK permitida . El SACK opcin es para ser incluido en un segmento enviado desde un TCP que est recibiendo los datos a la TCP que est enviando los datos, nos referiremos a estos PCT como el receptor de datos y el remitente de los datos , respectivamente. Vamos a considerar un flujo de datos simple en particular, cualquier dato que fluyen en la direccin inversa sobre la misma conexin pueden ser tratadas de forma independiente.

2 Tipos de Paquetes SACK Con 1 bloque de informacin de control en el campo DATOS PCIN Para segmentos de informacin NO CONTIGUOS YCONSECUTIVOS, es decir, SIN PRDIDAS entre ellos

Con n bloques de informacin de control en el campo DATOS PCIN Para segmentos de informacin NO CONTIGUOS Y N

Paquete SACK con 1 Bloque para Segmentos No Contiguos y Consecutivos (Sin Prdidas)

x1 (32 bits) = borde izquierdo del bloque 1 = primer nmero de secuencia del bloque 1 = primer octeto de datos recibido del primer segmento de informacin no contiguo que ha hecho enviar el primer paquete sack x1 es el mismo valor para todos los paquetes sack siempre que los siguientes segmentos de informacin no contiguos recibidos sean consecutivos

y1 (32 bits) = borde derecho del bloque 1 = nmero de secuencia siguiente al ltimo nmero de secuencia del bloque 1 = primer octeto de datos que se espera recibir del siguiente segmento de informacin no contiguo y consecutivo. Si los octetos de datos recibidos, de los siguientes segmentos de informacin no contiguos, son consecutivos, entonces, se agrupan stos en el mismo bloque x1-y1

Extensin con N Bloques del Paquete SACK para Segmentos No Contiguos y No Consecutivos (Con Prdidas)

Se pueden enviar hasta 4 bloques NO CONSECUTIVOS SACK (34 octetos) si se emplea casi todo el espacio del campo de opciones TCP (mximo de 40 octetos) para la opcin SACK Se recuerda que si los nuevos octetos de datos son consecutivos con los anteriores ya recibidos, entonces, se agrupan en un mismo primer bloque X1-Y1

El bloque 1 (X1 Y1) debe informar del segmento recibido ms recientemente. Asegura que el ACK con la opcin SACK refleje el cambio ms reciente en el buffer de recepcin. As el emisor tiene informacin actualizada del estado de la red y del estado de la cola de recepcin Si llega nuevos segmentos (p. ej., datos = 7000-7500 y 6000-6500) y se pueden agrupar sus octetos con otro u otros bloques ya recibidos, entonces, se agrupan todos los octetos que se puedan en el correspondiente bloque. P. ej.: (6500-7000) (8000-8500) (7000-7500) (6000-6500) = (6000-7500) (8000-8500)

Despus del primer bloque SACK, los siguientes pueden estar listados en orden arbitrario x1 (32 bits) = borde izquierdo del bloque 1 = primer nmero de secuencia del bloque 1 = primer octeto de datos recibido del segmento de informacin no contiguo que ha hecho enviar el paquete sack y1 (32 bits) = borde derecho del bloque 1 = nmero de secuencia siguie nte al ltimo nmero de secuencia del bloque 1 = primer octeto de datos que se espera recibir del siguiente segmento de informacin no contiguo y consecutivo El bloque 1 (x1-y1) debe informar del segmento recibido ms recientemente. Despus del primer bloque sack, los siguientes pueden estar listados en orden arbitrario

xn (32 bits) = borde izquierdo del bloque n no consecutivo = primer nmero de secuencia del bloque n = recordatorio del primer octeto de datos ya recibido de un segmento de informacin no contiguo y no consecutivo yn (32 bits) = borde derecho del bloque n no consecutivo = nmero de secuencia siguiente al ltimo nmero de secuencia del bloque n = recordatorio del primer octeto de datos que se espera recibir del siguiente segmento de informacin no contiguo y no consecutivo

TCP SACK ha sido desarrollado para cuidar de la ineficiencia de TCP en el manejo de mltiples prdidas en una ventana de datos. Como se indica en el RFC 2018 un receptor SACK es capaz de indicar exactamente el remitente utilizando Reconocimientos selectivos que los paquetes en una secuencia de los datos se han recibido correctamente y que no han sido. Esto se hace usando un tipo especial de Confirmacin Selectiva segmento llamado bloque SACK. Un bloque SACK proporciona al remitente toda la informacin necesaria para retransmitir los paquetes exactos que faltan. Es capaz por lo tanto de manera eficiente hacer frente a las prdidas de paquetes en el canal inalmbrico y retransmisin todos los paquetes que faltan en un RTT, por lo tanto, la reduccin de TCP tiempos de espera. Cada bloque SACK presenta los segmentos recibidos ms recientemente y el siguiente acuse de recibo esperado en una serie de datos.

Bibliografa:

http://www.networksorcery.com/enp/rfc/rfc2018.txt http://www.mcs.anl.gov/papers/P1168.pdf http://www.tcpipguide.com/free/t_TCPNonContiguousAcknowledgmentHandling andSelective-4.htm file:///H:/TCP%20Selective%20Acknowledgment%20Options%20(SACK).htm
download.pdf

Clase7-CUARTOTCP-23noviembre2011.pdf

También podría gustarte