Se alguém tentasse baixar um arquivo a uma velocidade de 800 Mb / s (100 MB / s) em um disco rígido com uma velocidade de gravação de 500 Mb / s (62,5 MB / s), o que aconteceria? O sistema limitaria a velocidade do download?
Se alguém tentasse baixar um arquivo a uma velocidade de 800 Mb / s (100 MB / s) em um disco rígido com uma velocidade de gravação de 500 Mb / s (62,5 MB / s), o que aconteceria? O sistema limitaria a velocidade do download?
Respostas:
Muitos protocolos, incluindo o TCP, o protocolo mais amplamente usado na Internet, usam algo chamado controle de fluxo. O controle de fluxo significa simplesmente que o TCP garantirá que um remetente não sobrecarregue um receptor enviando pacotes mais rapidamente do que ele pode esvaziar seu buffer. A ideia é que um nó que recebe dados envie algum tipo de feedback ao nó que envia os dados para que ele saiba sobre sua condição atual. Portanto, o feedback bidirecional permite que ambas as máquinas usem seus recursos da melhor maneira possível e evitem quaisquer problemas devido à incompatibilidade em seu hardware.
o que aconteceria?
Sua responsabilidade [TCP] inclui a transferência de mensagens de ponta a ponta, independentemente da rede subjacente, juntamente com controle de erros, segmentação, controle de fluxo, controle de congestionamento e ...
O sistema limitaria a velocidade do download?
Não literalmente. Algumas dezenas de anos atrás, os computadores realmente se comunicavam com velocidades síncronas (ou seja, modems com configurações de velocidade fixa). Isso é, em algum nível relativamente baixo, também acontecendo hoje; ou seja, seu DSL ou modem a cabo provavelmente terá uma velocidade definida na qual ele se comunica com seu componente de ligação física direta. Mas em 2017, tudo isso é suficientemente complicado para que quase todos os componentes sejam bastante dinâmicos. Nos bons velhos tempos, os modems costumavam fisicamente apenas falar uma certa velocidade, e isso ainda precisava ser estabelecido antes da discagem. Existem (havia) alguns protocolos de rede, como o ATM, que tentavam obter uma rede de área ampla síncrona, mas eles não saíram tão bem, em comparação com o TCP / IP.
Hoje, a velocidade efetiva geralmente é sempre atingida implicitamente por buffer, controle de fluxo e outros.
Observe também que no seu exemplo pode haver ainda mais participantes. A interface de rede pode ter mais trabalho a fazer (outras conexões com o seu PC). Alguma parte da rede ao longo do caminho pode estar ocupada (um membro da família navegando ou assistindo a vídeos). O HDD pode estar executando três gravações de arquivos grandes ao mesmo tempo. Portanto, não faria sentido definir especificamente uma "velocidade" que pudesse ser limitada.
Os downloads de arquivos (geralmente) acontecem através de um protocolo chamado TCP. No TCP, o remetente não envia nenhum dado até que o destinatário esteja pronto para recebê-lo.
O que acontecerá é que seu computador reservará uma certa quantidade de RAM para reter os dados recebidos temporariamente antes de gravá-los no disco rígido (isso é chamado de buffer). Em seguida, ele solicitará ao remetente apenas dados suficientes para preencher o buffer. À medida que recebe dados, ele começa a gravar dados do buffer no disco rígido - no entanto, não solicita mais dados enquanto o buffer estiver quase cheio.
O efeito geral é que o remetente simplesmente espera o receptor recuperar o atraso antes de continuar enviando.