Qué es el Síndrome de la Ventana Tonta - Explicación y Prevención
Los datos(Data) se transfieren a través de la red e Internet mediante el TCP/IP Protocol . El TCP/IP no es perfecto pero es más fácil de implementar en comparación con otros protocolos teorizados para la comunicación de datos… como el modelo ISO OSI(ISO OSI) . Al igual que con cualquier cosa técnica, TCP/IP también tiene algunos defectos y el Síndrome de la ventana tonta(Silly Window Syndrome) es una creación de uno de esos defectos. Para comprender qué es el síndrome de la ventana tonta(Silly Window Syndrome) o SWS , primero deberá comprender el mecanismo subyacente de la comunicación de datos en TCP/IP .
Síndrome de la ventana tonta
Entendiendo la ventana y su tamaño
Cuando dos puntos se comunican bajo TCP/IP , implica un mecanismo de reconocimiento. Este mecanismo de reconocimiento es lo que causa el síndrome de la ventana tonta(Silly Window Syndrome) como se explica más adelante. Los puntos pueden referirse a dos computadoras, cliente y servidor, etc.
SWS is caused by the receiver advancing the right window edge whenever it has any new buffer space available to receive data and by the sender using any incremental window, no matter how small, to send more data. The result can be a stable pattern of sending tiny data segments, even though both sender and receiver have a large total buffer space for the connection, says MSDN.
Cuando una computadora, digamos A, envía un paquete de datos a otra computadora B, esta última debe reconocer y responder que recibió el paquete de datos. Junto con el acuse de recibo, también debe enviar el tamaño del búfer establecido para ese hilo de comunicación. Este es generalmente el número de bytes liberados para la comunicación.
Entonces, cuando B dice que 100B está disponible para el siguiente mensaje, el 100B es la ventana en el síndrome de la ventana tonta(Silly Window Syndrome) . Es decir, es el tamaño del búfer. Con su propio defecto, el mecanismo TCP/IP puede reducir el tamaño del búfer para cada comunicación/datos provenientes de A. Es decir, cada vez que A envía un mensaje, B asume que el tamaño del búfer se reduce y envía un número menor. Por lo tanto, el tamaño de la ventana sigue reduciéndose y, en un punto, la comunicación simplemente se detiene cuando B envía 0B como el tamaño de la ventana.
¿Cómo funciona el síndrome de la ventana tonta?
De acuerdo con el ejemplo anterior de A y B, si B envía 1000B como tamaño de ventana, A lo dividirá en dos 500B y enviará dos paquetes de 500B. Al recibir el primer paquete, B enviará un acuse de recibo diciendo que 500B está disponible para la ventana ya que aún no se ha recibido el segundo paquete. A asume que 500B es el tamaño de la ventana y envía dos paquetes de 250B en consecuencia. Mientras que en B, se usa 500B y se acaba de recibir 500, enviará 0B como disponible. En este punto, A supondrá que no hay ninguna ventana disponible, aunque podría suceder que el búfer esté vacío ya que el procesador agotó los datos allí. A seguirá enviando un paquete más pequeño para ver si hay alguna ventana disponible. Si el contenido del búfer en B aún no se elimina, aún recibirá 0 como respuesta/acuse de recibo.
Por lo tanto, el tamaño de la ventana continúa reduciéndose a medida que B envía un reconocimiento cada vez que recibe un paquete de A. Este tamaño suele ser más pequeño que el reconocimiento anterior, ya que B recibe paquetes de datos en partes. No habría ningún problema si A pudiera enviar un paquete lo suficientemente grande como para cubrir el tamaño del búfer en B a la vez. Pero eso requeriría mecanismos adicionales y por lo tanto el Síndrome de la Ventana Tonta(Silly Window Syndrome) . La comunicación se detiene después de que A recibe 0 dos o tres veces.
Cómo prevenir el síndrome de la ventana tonta(Silly Window Syndrome) ( SWS )
Hay un algoritmo simple que se implementará para deshacerse de SWS . Al recibir el paquete inicial, B envía la mitad del espacio realmente disponible como ventana. Eso hará que A envíe paquetes más pequeños. En consecuencia, cuando los paquetes se vuelven demasiado pequeños, B envía el tamaño total del búfer para que A pueda comenzar a enviar bytes de datos más grandes nuevamente.
En otras palabras, si 1000B está disponible, B envía 500B como reconocimiento. En consecuencia, A envía 250B x 2 paquetes. Por esto, A recibe 100B como reconocimiento. Cuando recibe un paquete de 50B, B envía 1000B – 50B a A. Eso hace que toda la conversación vuelva a estar operativa. Esto podría provocar un pequeño retraso en el procesamiento, pero evitará que se produzca el síndrome de la ventana tonta(Silly Window Syndrome) y se detenga toda la conversación.
En resumen, SWS se basa en el tamaño del búfer disponible para el destinatario y el tamaño supuesto calculado por el remitente. Para evitar SWS , se introduce un retraso y se reciproca un tamaño de ventana más pequeño deliberadamente hasta que el tamaño del paquete se vuelve demasiado pequeño. Luego, el destinatario revela el tamaño de ventana realmente disponible. Todo el proceso sigue repitiéndose hasta que se completa la comunicación.
Aunque es posible que haya usado las palabras ventana y búfer indistintamente. No me refiero a ninguna diferencia entre ellos. En los estudios de SWS , el búfer es la ventana.(SWS)
Related posts
Cómo instalar Drupal usando WAMP en Windows
Best Software & Hardware Bitcoin Wallets para Windows, IOS, Android
Setup Internet Radio Station GRATIS EN Windows PC
Fix Partner no se conectó al error del enrutador en TeamViewer en Windows 10
NASA's Eyes te ayuda a explorar el Universe como Astronauts
Video Etiqueta de conferencia, consejos y reglas que necesita para seguir
Microsoft Identity Manager: Características, Download
Cómo proteger la contraseña y proteger los documentos PDf con LibreOffice
Cómo usar un Template para crear un documento con LibreOffice
La aplicación de mensajería de sesión ofrece una fuerte seguridad; No phone Número requerido!
Las aplicaciones OpenGL no se ejecutan en la pantalla Miracast wireless en Windows 10
¿Qué son las tarjetas 'chip and PIN' o EMV Credit
¿Qué significa NFT y cómo crear NFT Digital Art?
Automate.io es una alternativa automation tool and IFTTT gratuita
Best Laptop Tables para comprar en línea
Best Laptop Backpacks para Men and Women
¿Qué es la Big Data - una explicación simple con Example?
Cómo crear auto-firmado SSL Certificates en Windows 10
Disqus comment Caja que no se carga ni se muestra para un sitio web
Convert Magnet enlaces para dirigir Download enlaces usando Seedr