Qual é o protocolo de partilha/transferência de ficheiros mais rápido?
Velocidade de um protocolo de transferência de arquivo (na camada de aplicação) depende de quão rápido ele pode começar a utilizar a taxa de dados disponíveis na camada física. A capacidade de utilizar a taxa de dados da camada física depende de qual protocolo específico está sendo usado na camada de transporte (por exemplo, UDP ou TCP), e quão rápido a aplicação pode entregar dados para, ou tirar dados dessa camada.
TCP escalas de diferentes maneiras, dependendo de quais opções TCP foram negociadas entre os pares (por exemplo, escala de janela, selective-ack, quick-start). O TCP sempre tem que ter certeza de que ele não't cause congestionamento na rede, usando seu mecanismo de controle de congestionamento necessário. Isto significa que mesmo que você esteja usando FTP/HTTP/alguma coisa na camada de aplicação, o uso de diferentes opções de TCP irá resultar em diferentes taxas de transmissão de dados. No meu entendimento, o BIC-TCP é bem dimensionado em redes de longa distância e alta largura de banda. O ajuste adicional de um determinado TCP também pode resultar em diferentes taxas de transmissão de dados.
Têm havido muitos esforços na escrita de protocolos de transferência de dados que utilizam UDP na camada de rede subjacente (principalmente para superar a incapacidade do TCP de escalar rapidamente em redes de grande largura de banda e de longa distância). Neste caso, a quantidade de dados que você injecta na rede é controlada a partir da camada de aplicação. Você também tem que fornecer seu próprio mecanismo para garantia e entrega de dados dentro do pedido. Se você injetar dados (ou seja, pacotes UDP) a uma taxa muito alta sem qualquer mecanismo de controle de congestionamento, a rede pode facilmente ficar sobrecarregada (o que não é bom se você estiver transmitindo dados na Internet).
Existem também esforços nos quais a aplicação usa múltiplos fluxos TCP (veja GridFTP) para obter altas taxas de transferência de dados.
Então, para responder a pergunta original, depende de como você está transferindo arquivos. Se você estiver servindo arquivos pela Internet a partir de algum servidor http, defina o BIC-TCP como o protocolo da camada de transporte subjacente. Para UDP, você pode usar um dos muitos protocolos/aplicações baseados em UDP disponíveis (use o Google ou pergunte por eles em uma pergunta separada).
Hope que ajudou. Faça qualquer pergunta esclarecedora nos comentários :)
Artigos semelhantes
- Qual é a diferença entre o protocolo SMB e o protocolo FTP?
- A transferência de ficheiros seria mais rápida através de USB 2.0 ou WiFi?
- Qual é a taxa normal de transferência de ficheiros do USB 3.0 para um disco rígido externo?
- Quando é que as portas USB 4.0 estarão disponíveis nas placas-mãe dos PCs? Quanto mais rápido será a taxa de transferência de dados?