transporte principios metodos flujo control congestión congestion capa networking tcp congestion-control

networking - principios - metodos de control de congestion



¿Cuál es la diferencia entre Control de flujo y Control de congestión en TCP? (9)

¿Cuál es la diferencia entre control de flujo y control de congestión en TCP?

Esta pregunta se puede dividir en dos partes:

  1. ¿Cuál es el propósito general del control de flujo y congestión?
  2. ¿Cómo se realiza la tarea?

Según Wikipedia , el control de flujo TCP se basa en el tamaño de ventana informado en un mensaje ACK. El control de congestión también se basa en mensajes de acuse de recibo. Me gustaría saber cuál es la diferencia entre los dos objetivos y cómo funcionan.


Control de flujo: el remitente enviará suficientes datos que se pueden acomodar en el extremo del receptor.

Control de congestión: el remitente reducirá la cantidad de paquetes enviados para evitar el desbordamiento del búfer del enrutador (cola).


Control de flujo: indica la cantidad de red que puede absorber, ventana de congestión; Control de congestión: indica cuánto puede absorber el receptor, ventana anunciada; Max_window = min del remitente (ventana anunciada, ventana de congestión);


El control de flujo se realiza en el lado del receptor. Si el emisor envía paquetes mayores que el tamaño del búfer del receptor, el desbordamiento se produce en el búfer del receptor. Para evitar este desbordamiento en el lado del receptor, hay una técnica de ventana utilizada en el lado del emisor. El control de la congestión se realiza en el lado del emisor. Este es un fenómeno global. Esto sucede en el enrutador. El búfer del enrutador se desborda cuando muchos remitentes intentan enviar más paquetes a través del mismo enlace.


El control de la congestión es un problema global: involucra a cada enrutador y host dentro de la subred

El control de flujo, que tiene un alcance de un punto a otro, solo involucra al emisor y al receptor.


En cuanto a la parte 1, descripción general general:

El control de flujo es controlado por el lado de recepción. Asegura que el remitente solo envíe lo que el receptor puede manejar. Piense en una situación en la que alguien con una conexión de fibra rápida pueda estar enviando a alguien por acceso telefónico o algo similar. El remitente tendría la capacidad de enviar paquetes muy rápidamente, pero eso sería inútil para el receptor en acceso telefónico, por lo que necesitarían una forma de estrangular lo que el lado que envía puede enviar. El control de flujo se ocupa de los mecanismos disponibles para garantizar que esta comunicación funcione sin problemas.

El control de congestión es un método para garantizar que todos a través de una red tengan una cantidad "justa" de acceso a los recursos de la red, en cualquier momento dado. En un entorno de red mixta, todos deben ser capaces de asumir el mismo nivel general de rendimiento. Un escenario común para ayudar a entender esto es una LAN de oficina. Tiene una cantidad de segmentos de LAN en una oficina que hacen lo suyo dentro de la LAN, pero luego es posible que todos tengan que salir a través de un enlace WAN que es más lento que los segmentos de la LAN constituyente. Imagen con conexiones de 100 MB dentro de la LAN que finalmente sale a través de un enlace de 5mb WAN. Debería haber algún tipo de control de congestión allí para garantizar que no haya problemas en toda la red.

En cuanto a la parte 2:

Si esta es una pregunta de preparación para la entrevista, como dijiste anteriormente, consideraría tomarme un tiempo para leer TCP / IP en general. No uses Wikipedia. RTFM! Esto es MUY vale la pena su tiempo. Se podría argumentar que este es el protocolo más importante que contiene la mayor parte de la Internet moderna.

Información sobre Flow Control: detenerse y esperar, deslizar la ventana, PAUSE frames.

Información sobre control de congestión: QoS (Quality-of-Service), políticas de retransmisión, políticas de ventanas.

Más allá de eso, puede buscar implementaciones de proveedores particulares (Cisco, etc.)


Control de congestión : además de evitar que el búfer del enrutador se desborde, también se ocupan de otros dos factores importantes

  • Imparcialidad : no debe producirse el impago de ningún host conectado a la red. Aunque la terminología es mucho más compleja.
  • Eficiencia : los enlaces deben utilizarse a su máxima capacidad para que no cause congestión.

Control de flujo:

  1. Cuando el búfer del remitente está lleno, evitamos que la fuente envíe datos para que no se eliminen los datos.
  2. El buffer del receptor está lleno en este caso.
  3. Se puede lograr fácilmente deslizando el protocolo de ventana.

Control de la congestión

  1. Cuando comenzamos a transmitir los datos desde la fuente, llega al destino con la ayuda de la red. El control de la congestión previene la fuente, por lo que el enrutador de la red no debe descartar los datos.

  2. Este problema está relacionado con la cola del enrutador

  3. Es más complicado de lograr porque el enrutador obtiene diferentes paquetes de las diferentes fuentes conectadas a su red.


Control de flujo:

  • Se asegura de que el emisor no sobrecargue el receptor.
  • Es un fenómeno local, a diferencia del control de la congestión.
  • Generalmente es iniciado por el remitente.

Control de la congestión

  • Se asegura de que la red pueda manejar la carga de paquetes.
  • Es un fenómeno global y afecta a todos los hosts conectados con esa red.
  • Es iniciado por el enrutador.

El control de flujo se realiza principalmente en el lado del receptor , para ajustar la cantidad de datos que el emisor está inyectando en la red; el control de la congestión se realiza principalmente en el lado del emisor , tratando de detectar la congestión en la red por el tiempo de los paquetes ACK, para ajustar el volumen de datos enviados a la situación correspondiente.