Segmento TCP, acuse de recibo y tamaño de la ventana TCP

TCP Segment Acknowledgement and windows Size

A los que estudiamos o estamos preparando un CCNA se nos explica que el tamaño de la ventana de TCP, varía ajustandose a la congestión del circuito. Se envían varios paquetes segmentados por el tamaño de la MTU y se recibe un acuse de recibo cuando se completa el tamaño de la ventana, el caso sería el siguiente:
Windows Size = 3000
Sequence number 3001 ———–(1500 bytes)———> Receive 3001-4500
Sequence number 4501————(1500 bytes)———> Receive 4501-6000

Receive Acknowledge <——————— Acknowledgement number 6001

El número de confirmación es el número del próximo byte esperado y así se van enviando todos los paquetes que conforman los datos a enviar.

Congestión y control de flujo en TCP:
A)Windows Size = 3000
Sequence number 3001 ———–(1500 bytes)–xxxxxx Receive 3001-4500 Receive 4501-6000

B)Receive Acknowledge Receive 3001-4500
Sequence number 4501————(1500 bytes)-xxxxxx Receive 4501-6000 <–debido a la congestión perdemos este paquete
Sequence number 6001————(1500 bytes)-xxxxxx Receive 6001-7500 Receive 7501-9000

¿Se vuelve a enviar este paquete perdido al ser el primero de dos dentro de la ventana?

Los hosts pueden emplear también una característica optativa llamada “acuses de recibo selectivos” (SACK). Si ambos hosts admiten los SACK, es posible que el destino acuse recibo de los bytes de segmentos discontinuos, y el host solo necesitará volver a transmitir los datos perdidos.

C)Receive Acknowledge Receive 3001-4500
Sequence number 4501————(1500 bytes)-xxxxxx Receive 4501-6000 Receive 6001-7500
Sequence number 7501————(1500 bytes)-xxxxxx Receive 7501-9000 <–Segment is lost because of congestion at the receive
Receive Acknowledge <——————— Acknowledgement number 4501 and Windows size = 1500
Receive Acknowledge <——————— Acknowledgement number 7501 and Windows size = 1500

Al perder datos varía la ventana.

SLOW-STAR un protocolo dentro de tcp.
Es un protocolo o mejor dicho algoritmo usado como control de congestión en TCP y no lo enseñan en el CCNA.

Slow-start es un algoritmo de control de congestión del protocolo TCP, pero mejor leemos en Wikipedia lo que hace:
http://es.wikipedia.org/wiki/Slow-start
Si ya lo hemos leido nos daremos cuenta que el caso B no se puede hacer sin el uso de SACK, ya que reinicia al mms debido al algoritmo de evitación de congestión SLOW-start, es decir TCP tiene memoria ya que cuando se nota la congestión se reduce el tamaño de la ventana a la mitad nunca siendo inferior a dos sementos, dando a TCP el punto o proporcionando a TCP de una memoria de el punto donde comienza la congestión de la red,pudiendo anticiparse al futuro. Es decir el ultimo caso después de recibir la ventana a 1.500, no se enviaran de 1500 en 1500 si no que se tomara otra medida de tamaño del paquete, por ejemplo de 750 en 750 bytes, volviendo a enviar dos como hasta ahora.

He editado este post a fecha de 2015 siendo un post del 2012, ya que entiendo no se veía clarificatorio para personas que hacen sus pinitos en redes, por las preguntas que me llegaban por privado.

Publicado el febrero 2, 2012 en Redes y etiquetado en , . Guarda el enlace permanente. Deja un comentario.

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s

A %d blogueros les gusta esto: