¿Cuál es el protocolo de transferencia / intercambio de archivos más rápido?

La velocidad de un protocolo de transferencia de archivos (en la capa de aplicación) depende de qué tan rápido puede comenzar a utilizar la velocidad de datos disponible en la capa física. La capacidad de utilizar la velocidad de datos de la capa física depende de qué protocolo particular se esté utilizando en la capa de transporte (por ejemplo, UDP o TCP), y qué tan rápido la aplicación puede entregar datos o tomar datos de esa capa.

TCP escala de diferentes maneras dependiendo de qué opciones de TCP se hayan negociado entre los pares (por ejemplo, escala de ventana, reconocimiento selectivo, inicio rápido). TCP siempre debe asegurarse de que no causa congestión en la red mediante el uso del mecanismo de control de congestión requerido. Esto significa que aunque esté utilizando FTP / HTTP / lo que sea en la capa de aplicación, el uso de diferentes opciones de TCP dará como resultado diferentes velocidades de transmisión de datos. En mi opinión, BIC-TCP escala bien en redes de larga distancia y gran ancho de banda. Un ajuste adicional de un TCP particular también puede dar como resultado diferentes velocidades de transmisión de datos.

Se han realizado muchos esfuerzos para escribir protocolos de transferencia de datos que usan UDP en la capa de red subyacente (principalmente para superar la incapacidad de TCP para escalar rápidamente en redes de gran ancho de banda y larga distancia). En este caso, la cantidad de datos que inyecta en la red se controla desde la capa de aplicación. También debe proporcionar su propio mecanismo para la entrega de datos garantizada y en orden. Si inyecta datos (es decir, paquetes UDP) a una velocidad muy alta sin ningún mecanismo de control de congestión, la red puede sobrecargarse fácilmente (lo que no es bueno si está transmitiendo datos en Internet).

También hay esfuerzos en los que la aplicación usa múltiples flujos TCP (ver GridFTP) para obtener altas tasas de transferencia de datos.

Entonces, para responder la pregunta original, depende de cómo esté transfiriendo los archivos. Si está sirviendo archivos a través de Internet desde algún servidor http, configure BIC-TCP como el protocolo de capa de transporte subyacente. Para UDP, puede usar uno de los muchos protocolos / aplicaciones basados ​​en UDP disponibles (use Google o solicítelos en una pregunta por separado).

Espero que haya ayudado. Haga cualquier pregunta aclaratoria en los comentarios 🙂

Supongo que no estamos hablando de compartir archivos P2P. Si bien la velocidad puede verse afectada por diferentes protocolos de transferencia, es probable que la diferencia sea muy pequeña. El factor principal es el porcentaje de sobrecarga del protocolo.

Si transfiere archivos grandes, la sobrecarga suele ser muy pequeña .

La velocidad tiene mucho que ver con otros factores, como:

  • Ancho de banda disponible
  • Fiabilidad de la red. (Si no es confiable, entonces afectará dramáticamente la velocidad)
  • Latencia de conexion
  • Compresión de datos
  • Tamaño del búfer
  • Transferencia multiproceso. (use múltiples conexiones concurrentes para transferir un archivo)

DriveHQ es un proveedor líder de servicios de servidor de archivos en la nube empresarial (intercambio de archivos). Pasamos más de una década optimizando el rendimiento de DriveHQ FileManager. Según nuestra experiencia, no se puede resolver simplemente mediante un protocolo de transferencia. La implementación del software es mucho más importante . Además, no existe una solución única para todos. Para lograr la velocidad de transferencia más rápida, el software debe poder adaptarse al entorno de red específico, por ejemplo, si la conexión de red es confiable pero con una alta latencia, entonces es mejor usar un búfer grande y múltiples conexiones concurrentes; Si la red no es confiable, entonces es mejor usar un búfer pequeño.

He estado leyendo sobre este tema durante la última semana. Pocas de las soluciones de código abierto que probé fueron BBCP, BBFTP, UFTP, UDT. BCCP es una de las herramientas más simples que funciona con credenciales SSH y puede personalizar el número de flujos paralelos y el tamaño de la ventana del búfer TCP. Otras cosas que uno puede mirar incluyen GridFTP y Tsunami UDP. Soluciones comerciales de empresas como File Catalyst y Aspera.

More Interesting

¿Cuál es la diferencia entre el protocolo basado en mensajes y el protocolo basado en secuencias?

¿Para qué se utilizan los protocolos de enrutamiento QoS?

¿Qué es el servicio de agente de estacionamiento cuyo número de puerto 5431 es TCP (Protocolo de control de transmisión)?

¿Por qué necesitamos ACK en TCP mientras ya tenemos ACK en Link Layer (ex CSMA / CA)?

¿Qué tipo de protocolo proporciona las conexiones a las computadoras a través de la red TCP / IP?

¿Cómo podemos evitar los ataques DDoS en los protocolos TCP / IP? ¿Alguna medida de mejora para este conjunto de protocolos?

¿Puede un administrador de red monitorear su contenido incluso si usa el protocolo SSH para transferir archivos?

¿Cuáles son los estándares y protocolos técnicos clave para Internet de las cosas (IoT)?

¿El protocolo DASH7 está disponible a nivel comercial, y si no, por qué no?

¿Cuál es la diferencia entre el equilibrio de carga de capa 3 y capa 4? ¿Por qué se usa layer-7 LB a pesar de sus inconvenientes de ser un cuello de botella?

¿Por qué Apple enfatiza el desarrollo orientado al protocolo en Swift? Java ha soportado la interfaz durante mucho tiempo, ¿qué tiene de especial el protocolo de uso?

¿Qué es I2C en términos simples? ¿Dónde usamos este protocolo? ¿Por qué la mayoría de los SOC tienen el protocolo I2C?

¿Qué se entiende por protocolo basado en token?

¿Cuál es la mejor manera de conseguir un trabajo de ingeniero de redes / ingeniero de sistemas en Bay Area, especialmente en Start-ups?

¿Cuáles son los protocolos en la persecución policial?