Si se intenta descargar un archivo a una velocidad de 800 Mb / s (100 MB / s) en un disco duro con una velocidad de escritura de 500 Mb / s (62.5 MB / s), ¿qué sucedería? ¿El sistema limitaría la velocidad de descarga?
computer-networks
ymulki
fuente
fuente
Respuestas:
Muchos protocolos, incluido TCP, que es el protocolo más utilizado en Internet, usan algo llamado control de flujo. El control de flujo simplemente significa que TCP garantizará que un remitente no esté abrumando a un receptor enviando paquetes más rápido de lo que puede vaciar su búfer. La idea es que un nodo que recibe datos envíe algún tipo de retroalimentación al nodo que envía los datos para informarle sobre su condición actual. Por lo tanto, la retroalimentación bidireccional permite que ambas máquinas utilicen de manera óptima sus recursos y eviten cualquier problema debido a la falta de coincidencia en su hardware.
https://en.wikipedia.org/wiki/Flow_control_(data)
fuente
No literalmente. Hace algunas docenas de años, las computadoras se comunicaban con velocidades sincrónicas (es decir, módems con configuraciones de velocidad fija). Esto está ocurriendo, en un nivel relativamente bajo, hoy también; es decir, su módem DSL o por cable probablemente tendrá una velocidad establecida a la que se comunica con su componente de enlace ascendente físico directo. Pero en 2017, todo esto es lo suficientemente complicado como para que casi todos los componentes sean bastante dinámicos. En los viejos tiempos, los módems a menudo solo podían hablar físicamente a una cierta velocidad, y eso incluso tenía que establecerse antes de marcar. Hay (había) algunos protocolos de red como ATM que intentaron obtener una red síncrona de área amplia, pero no resultaron tan bien, en comparación con TCP / IP.
Hoy en día, la velocidad efectiva generalmente se alcanza implícitamente mediante el almacenamiento en búfer, el control de flujo y demás.
También tenga en cuenta que en su ejemplo puede haber incluso más participantes. La interfaz de red podría tener más trabajo por hacer (otras conexiones a su PC). Alguna parte de la red en el camino podría estar ocupada (un miembro de la familia navegando o viendo videos). El HDD podría estar haciendo 3 escrituras de archivos grandes al mismo tiempo. Por lo tanto, no tendría sentido establecer específicamente una "velocidad" que podría limitarse.
fuente
Las descargas de archivos (generalmente) se realizan a través de un protocolo llamado TCP. En TCP, el remitente no envía ningún dato hasta que el receptor esté listo para recibirlo.
Lo que sucederá es que su computadora reservará cierta cantidad de RAM para almacenar los datos recibidos temporalmente antes de escribirlos en su disco duro (esto se llama un búfer). Luego le pedirá al remitente los datos suficientes para llenar el búfer. A medida que recibe datos, comenzará a escribir datos desde el búfer en el disco duro; sin embargo, no solicitará más datos mientras el búfer esté casi lleno.
El efecto general es que el emisor simplemente espera a que el receptor se ponga al día antes de continuar enviando.
fuente