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).
- ¿Cuál es la intuición detrás de los protocolos de red?
- ¿Cómo se implementa el Protocolo de Control de Transmisión en el hardware?
- ¿Será absurdo el conocimiento de redes de protocolos en la era SDN?
- Tenemos protocolos HTTP, FTP, POP 3, SMTP, etc. ¿Cuáles son estos protocolos exactamente? ¿Son estos protocolos partes de un programa de computadora o tipos de controladores que están almacenados en nuestra máquina o bien palabras abstractas?
- ¿Cómo se relaciona el protocolo RSVP con los servicios integrados?
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 🙂