En su forma básica, TCP puede tener un tamaño de ventana de
1, lo que significa que para cada segmento transmitido por
el emisor, el receptor envía un acuse de recibo para ese segmento individual.
Sin embargo, esto ralentiza dramáticamente
el rendimiento porque el emisor no puede transmitir
más datos hasta que recibe el acuse de recibo de ese único segmento transmitido.
El rendimiento sería muy bajo dependiendo del temporizador
de ida y vuelta
entre el envío de datos y la recepción del acuse de recibo.
Sin embargo, el TCP permite mayores tamaños de ventana para permitir la transmisión de más
segmentos antes de recibir un
acuse de recibo. 12 La ventana
es la cantidad de segmentos
de datos que el emisor puede enviar sin obtener un acuse de recibo del receptor.
En este caso, lo
hemos establecido en 1, lo que significa que cuando el servidor A
desea enviar tráfico al servidor B puede enviar 1 segmento porque el tamaño de la ventana
está configurado en 1 servidor B, una vez que recibe ese segmento, envía un acuse de recibo.
En este ejemplo, supongamos que el host A envía el segmento con el número de secuencia
de 1 host que confirmaría el segmento 2.
El anfitrión A enviará luego el segmento
2 y el anfitrión B, una vez que reciba con éxito ese segmento reconocerá
o ACK para el segmento 3.
El anfitrión A enviará el segmento 3 al host B.
Este proceso continuará por la duración de la sesión, esto
es obviamente muy confiable, sin embargo, el rendimiento es muy bajo.
A necesitaría almacenar en búfer los segmentos salientes hasta que
reciba un acuse de recibo para el segmento transmitido.
ahora por argumento sake supongamos que el
tráfico tarda 1 segundo en comenzar con
el tamaño de ventana pequeño y luego
aumenta exponencialmente el tamaño de la ventana para medir la cantidad
de datos que el receptor puede recibir y lo que la red puede manejar.
Probablemente lo hayas notado, cuando descargas un archivo desde Internet,
inicialmente la velocidad de descarga
es lenta pero luego aumenta con el tiempo.
Esto se debe a que inicialmente el tamaño de la ventana
es pequeño, pero luego aumenta exponencialmente hasta que se descarta un
paquete o el host receptor no puede manejar la cantidad de datos que está recibiendo.
Por lo que notará inicialmente, que la velocidad de descarga
es muy lenta aumenta muy rápidamente y luego llega a un punto y luego se
mantiene alrededor de esa velocidad.
Entonces, una vez más, supongamos
que los hosts en este ejemplo tienen un tamaño de ventana fijo de 3.
Eso significa que A puede enviar 3 segmentos antes de recibir un acuse de recibo.
Entonces, en este caso, el host A envía los acuses
de recibo B del segmento 1, 2 y 3 para el segmento 4,
lo que permite a A saber que recibió con éxito los hosts del
segmento 1, 2 y 3, luego envía los segmentos 4, 5 y 6 porque tiene un tamaño
de ventana fijo. de 3 y el anfitrión B reconoce
el segmento 7, lo que le permite a A saber que recibió los segmentos 4,5 y 6.
Recuerde con agradecimientos, confirme el próximo segmento que desea recibir, no el
segmento que ya recibió. 80 Entonces, el host B no reconoce el segmento
6, pero reconoce el segmento 7.
Como mencioné, una ventana deslizante permite a los hosts medir la cantidad de datos
que el receptor puede recibir y lo que la red puede manejar.
Por lo tanto, en este ejemplo supongamos que el host está utilizando
una ventana deslizante de la manera en que determinan lo que la
red puede manejar, es cuando un paquete se deja caer por la red, el host se ralentizará.
Esta información se trata con más
detalle en los cursos que contienen la calidad del servicio.
Con este curso asuma que
cuando un paquete se cae,
reducen su tamaño de ventana dramáticamente en resumen, el tamaño de ventana es la ventana otorgada al remitente por el receptor
o una ventana calculada llamada ventana de congestión o CWND, la ventana de
congestión o CWND es inicialmente establecido a un valor muy bajo en el establecimiento de la
conexión y luego aumenta a una velocidad exponencial.
Para cada segmento perdido, la ventana de congestión es la
mitad después de que el segmento perdido ha sido retransmitido
con éxito; la ventana de congestión vuelve a crecer hasta
que alcanza un valor de la mitad de la ventana
de congestión original; luego ralentiza su crecimiento, utilizando un algoritmo llamado evitación de la congestión.
Crece exponencialmente hasta la mitad del tamaño original de la ventana de congestión
y luego aumenta lentamente a la velocidad lineal.
En la calidad del servicio Weighted Random Early Detection o WRED se puede utilizar
para mejorar la eficiencia de las transmisiones TCP a través del enlace ya que
los paquetes se eliminan aleatoriamente de varios flujos o varias sesiones que pasan por
una interfaz individual
en lugar de paquetes de múltiples remitentes al mismo tiempo.
esto evita un problema llamado sincronización global en el que los paquetes de varias
sesiones TCP caen al mismo tiempo y, por lo tanto, el host múltiple reduce el tamaño de la ventana
y la ralentización al mismo tiempo. 110 y luego aumente
gradualmente su tamaño de ventana y, por lo tanto, su rendimiento al mismo tiempo.
Así que tienes muchos hosts desacelerando y acelerando al mismo tiempo
con WRED. Algunos hosts
se ralentizarán y otros hosts aumentarán su rendimiento debido a caídas al azar.
Consulte la documentación de calidad de servicio para obtener más detalles sobre WRED. En
este ejemplo, supongamos que comenzamos con el tamaño de ventana inicial de 3.
Por lo tanto, A transmite 3 segmentos a B, sin embargo, solo el segmento 1 y 2 llegan al servidor B
El segmento 3 se pierde.
El servidor B puede reducir su tamaño de ventana en este ejemplo a 2 y confirmar el segmento 3.
Recuerde que el acuse de recibo es para el próximo paquete que los hosts esperan recibir y dado que
el host B no recibió el
segmento 3, está acusando recibo exitoso del segmento 1 y 2.
El host A volverá a transmitir el segmento 3 y, en este ejemplo, enviará el segmento 4, pero también solicitará un tamaño de
ventana de 3.
Ambos segmentos son recibidos con éxito por el servidor B, por lo que el
servidor B confirmará el segmento 5, pero
en este ejemplo, todavía quiere un tamaño de ventana de 2.
El host A solo enviará 2 segmentos porque el tamaño de la ventana negociada es
2, pero A aún puede solicitar que el tamaño de la ventana aumente a 3.
Con la ventana deslizante, hay una negociación dinámica de un tamaño de ventana y el
tamaño de la ventana puede cambiar drásticamente durante una sesión, dependiendo de
lo que el receptor pueda procesar y lo que la red pueda manejar.