O ISP armazena em cache todos os dados?

3

Para mostrar claramente a minha pergunta, vou usar números muito altos. Um servidor de arquivos está conectado à internet por meio de uma linha de 1 gbps. O servidor está enviando um arquivo de 100 GB para o cliente. O arquivo é fragmentado em pacotes e enviado com uma velocidade de 1 gbps para o ISP do cliente. O cliente, no entanto, está conectado ao ISP com uma linha de 1 mbps. Isso significaria que o ISP teria que salvar / armazenar em cache todos os dados que estão sendo enviados para ele do servidor de arquivos até que tudo seja recebido pelo cliente.

É assim que é feito, ou o servidor de alguma forma envia os pacotes com a mesma taxa que a linha mais lenta entre o servidor e o cliente?

    
por Friend of Kim 06.02.2014 / 20:51

2 respostas

11

A Internet não usa apenas um protocolo. Ele nem usa apenas um protocolo a tempo: na verdade, usa vários de uma vez, que se empilham uns sobre os outros para fazer todo tipo de coisas diferentes. Se simplificarmos um pouco as coisas, poderíamos dizer que ele usa quatro.

  • Link Layer : Um protocolo que permite enviar um sinal por um fio (ou ondas de rádio, ou flashes de luz, ou qualquer outro) para outra máquina na outra extremidade. Exemplos incluem PPP, WiFi e Ethernet.
  • Network Layer : Um protocolo que permite enviar um sinal por meio de uma cadeia de máquinas, para que você possa obter dados entre máquinas que não estão conectadas diretamente. É aqui que o IP e o IPv6 vivem.
  • Camada de Transporte : Um protocolo que permite que você faça algum sentido básico desse sinal. Alguns, como o TCP, estabelecem "conexões virtuais" entre duas máquinas, como se houvesse um fio direto entre elas. Outros, como o UDP, apenas explodem bits de dados de uma máquina para outra. Diferentes protocolos têm diferentes pontos strongs e fracos, o que faz parte do porquê de tantos.
  • Camada de Aplicação : são o que normalmente pensamos como "protocolos". Eles são especializados para determinados tipos de dados, destinados a finalidades específicas. Alguns exemplos incluem FTP, HTTP e BitTorrent, que transferem todos os arquivos.

Esses protocolos de transferência de arquivos que mencionei são normalmente empilhados sobre o TCP (que é, por sua vez, empilhado sobre o IP), que é onde chegamos à sua pergunta em particular. O TCP tenta, da melhor forma possível, trabalhar como um fio direto entre as máquinas: quando o servidor envia um pacote, ele pode ter certeza de que o cliente o obteve, e pode ter certeza de que o cliente obteve seus pacotes na mesma ordem que o servidor os enviou. Parte do jeito que isso acontece é que todo pacote que o servidor envia tem que ser reconhecido pelo cliente: ele envia um pequeno sinal de volta dizendo "OK, eu recebi aquele pacote que você mandou; estou pronto para o próximo ". Se o servidor não receber esse reconhecimento, ele continuará enviando pacotes até o momento (ou decidirá que isso nunca funcionará e desistirá).

Essa é a chave para responder sua pergunta. O servidor não pode enviar o Pacote 2 até saber que o Pacote 1 passou, o que não pode acontecer até que o Pacote 1 seja reconhecido, e isso não pode acontecer até que o Pacote 1 esteja realmente terminado. Os servidores no meio da cadeia não precisam armazenar em cache nenhum dado (não mais do que um pacote por vez), porque quando uma máquina vê o Pacote 2, ele sabe que não precisa mais do Pacote 1. .

Um último ponto: tecnicamente, isso significa apenas que a Internet não precisa armazenar em cache os dados do jeito que você está falando. Se alguém realmente quisesse armazenar em cache todos esses dados, eles poderiam; Não há nada nos protocolos para realmente impedir que isso aconteça. Mas a Internet não precisa desses caches para funcionar.

    
por 06.02.2014 / 21:39
2

A maioria dos servidores (Web, FTP, o que você usa) usa aceleração da largura de banda para evitar que um computador monitore tudo a largura de banda disponível. Cada conexão pode estar limitada a uma determinada velocidade, para que vários clientes possam se conectar e não serem afetados por lentidão. Pelo menos muito. Lembre-se de que sua conexão é limitada pelo link mais lento da sua cadeia.

    
por 06.02.2014 / 20:59