Suponha que você tenha uma velocidade de 10mbps. Então, por que quando você baixa algo da Internet, sua velocidade não será fixada em 10 mbps, mas varia de 2 a 9 mbps enquanto você está baixando? Por que as velocidades da internet funcionam assim? Por exemplo, componentes de hardware como GPU e CPU são executados em números fixos em velocidades máximas, então por que as velocidades de rede não funcionam da mesma maneira?
relate perguntas
-
Três computadores, como configurar a rede sem roteador/switch?
-
A conexão do usuário ao servidor SFTP usando o FileZilla se recusa a conectar
-
Como funciona um NAT atrás de um NAT (NAT do roteador e NAT do ISP)?
-
Win10 1803: Como tornar o ponto de acesso móvel uma rede privada?
-
Como o nc identifica nomes de serviço
A conexão entre você e seu ISP local geralmente funciona em uma velocidade de conexão fixa. O principal problema é que você está competindo com outras pessoas na internet pelo acesso aos recursos.
Sua conexão ethernet em uma rede local será fixa em 100Mbps ou 1gbps, as transferências de ou para outra máquina em sua rede local serão nessa velocidade. Se a velocidade cair, provavelmente será devido a uma ou ambas as máquinas tentando fazer outra coisa naquele momento, procurando outra coisa na unidade ou a CPU está ocupada em outro lugar. Em uma máquina quase ociosa, você obterá velocidade quase total para transferências em massa. Pequenos arquivos sendo transferidos atingem os limites de latência, você pode transferir pequenos pedaços de dados mais rapidamente do que eles podem ser processados (procurar, ler, gravar, etc.) em ambos os lados.
A internet tem problemas semelhantes, mas você também está competindo com outros usuários. Todos eles têm demandas de servidores, todos usam os mesmos pipes por diferentes períodos de tempo para transferir diferentes quantidades de dados.
Seu ISP pode ter um caminho diferente para um servidor do que seu vizinho usando um ISP diferente, seu caminho pela Internet pode ser mais rápido ou mais eficiente. Seu caminho para outro lugar pode ser melhor que o deles. Os caminhos podem estar mudando constantemente. A internet é mais uma rede de mudança ao vivo que detecta gargalos, contorna buracos e desistências, procura a melhor rota atual e apenas garante que os dados chegarão ao seu ponto final, não como chegarão lá.
A velocidade varia conforme a demanda, as rotas e o ambiente variam. Você não tem controle dos dados depois que eles saem do seu roteador ou modem.
O Wifi está sujeito a muito ruído ambiental, como babás eletrônicas, fones de ouvido, outras redes Wi-Fi e assim por diante, sua velocidade pode ser alta, mas pode ser um pouco imprevisível de um momento para o outro.
Sua conexão local tem uma velocidade máxima de 10 Mb/s.
Mas e a fonte dos dados do outro lado da conexão? Isso pode ser mais rápido ou mais LENTO do que sua conexão.
Se for mais lento, não há como entregar os dados a 10 Mb/s para você.
(Lembre-se de que muitos tipos de conexão à Internet em todo o mundo são assimétricos. O download é muito mais rápido que o upload para a maioria dos usuários.)
Além disso, também existem gargalos na Internet em geral, fora do seu controle (ou de seus ISPs).
Portanto, seu ISP pode oferecer uma velocidade máxima, mas sua velocidade real depende de muito mais fatores do que isso e, em geral, será menor que seu máximo teórico.
Acontece que eu tenho uma conexão de cabo Docsis relativamente rápida com 500 Mb/s down e 40 Mb/s uplink. Você já pode dizer que, embora eu possa, em teoria, baixar a 500 Mb/s, só posso fazer upload a 40 Mb/s. Então, se eu enviar algo para o meu vizinho (também em tal conexão com o mesmo ISP, portanto, interferência mínima de qualquer outra coisa) ele só receberá a 40 Mb/s porque não consigo entregar mais rápido que isso.
Na verdade: embora eu possa, em teoria, baixar a 500 Mb/s, raramente consigo obter mais de 300 Mb/s. Eu tenho que trabalhar duro para isso usando vários computadores em paralelo, todos baixando várias coisas ao mesmo tempo. Isso ocorre principalmente porque os vários serviços na Internet que fornecem os downloads têm seus próprios limites de velocidade de upload.
Alguns desses limites são dependentes de hardware/ISP em sua extremidade. Outros são controlados por software em sua extremidade porque não querem um único cliente com um download rápido monopolizando toda a largura de banda de upload disponível em sua extremidade, não deixando nada para outros clientes. Portanto, eles limitam o upload disponível para um cliente a um máximo razoável.
Depende de vários fatores. Em alguns casos, você verá velocidades bastante estáticas, por exemplo, eu tive um download muito estável (se miserável) de 8 Mbps por ADSL em casa e, quando copio arquivos no trabalho, normalmente vejo gráficos quase planos em ~ 980 Mbps.
Alguns tipos de conexão têm uma taxa fixa, por exemplo, uma conexão Ethernet negocia 1 Gbps uma vez e a mantém. No entanto, outros tipos de conexão - como aquelas que funcionam por rádio, linhas de energia ou outras mídias "menos confiáveis" - ajustam automaticamente sua taxa de link dependendo do ambiente, por exemplo, a intensidade do sinal, a perda de pacotes e/ou o número de pacotes corrompidos.
Portanto, se você estiver usando Wi-Fi, a taxa de link pode cair rapidamente à medida que as pessoas andam e absorvem seu sinal; e mesmo em condições estáveis, ele ainda não permanecerá estático, pois seu dispositivo ocasionalmente sonda taxas mais altas, decide que não são boas e retorna. (Veja o algoritmo "Minstrel" para um exemplo amplamente utilizado.) O mesmo se aplica a LTE e outras conexões "Wireless ISP".
Muitas conexões estão sobrecarregadas. Por exemplo, em um escritório, mesmo se você tiver uma porta Ethernet de 1 Gbps pessoalmente, ela pode entrar em um switch que compartilha apenas um uplink de 1 Gbps para todo o escritório. Portanto, se o seu vizinho também iniciar um download grande, isso fará com que sua taxa de download caia pela metade de repente, pois vocês dois terão que compartilhar o único link de gigabit. Da mesma forma, no FTTH, pode ser que você tenha 50 vizinhos baixando jogos ou assistindo Netflix 4K em um uplink com excesso de assinaturas - cada um deles recebendo uma proporção da velocidade total disponível. À medida que o uso muda (por exemplo, o fluxo de vídeo é interrompido), a proporção disponível para todos os outros também muda.
O mesmo pode ocorrer a qualquer momento – pode ser que o servidor esteja tentando espremer 200 downloads por meio de seu uplink, e pode ser que a conexão entre dois ISPs esteja ficando congestionada durante essa hora do dia. Portanto, se centenas de clientes estiverem baixando a mesma coisa pela mesma conexão de 10 Gbps, todos verão velocidades variadas à medida que as conexões vêm e vão e a proporção do link que cada usuário obtém continua mudando.
Downloads sobre TCP usam um algoritmo de controle de congestionamento para garantir que o remetente não apenas inunde a rede com dados, mas os envie a uma taxa que o receptor possa aceitar. A maioria dos algoritmos comumente usados reduzirá a taxa de transmissão ao ver a perda de pacotes e, em seguida, aumentará lentamente novamente. Alguns servidores podem estar usando um algoritmo desatualizado ou desajustado que reage exageradamente e reduz a velocidade de transmissão muito mais do que o necessário.
(Às vezes acontece o contrário e o algoritmo de controle de congestionamento não reage corretamente, por exemplo " BBR[v1] não recua se a perda de pacote for detectada. Mas neste caso a perda de pacote é causada por congestionamento. não há meios para distinguir a perda relacionada ao congestionamento da perda não relacionada ao congestionamento, o ponto (B) é realmente cruzado, o que pode levar a grandes quantidades de perda de pacotes" )
Como disse o falecido senador Stevens, a internet é uma série de tubos.
"Dez filmes sendo transmitidos por aquela, aquela Internet, e o que acontece com sua própria Internet pessoal? Eu recebi outro dia... uma Internet foi enviada pela minha equipe às 10 horas da manhã de sexta-feira. Recebi ontem. [terça-feira] Por quê? Porque se confundiu com todas essas coisas acontecendo comercialmente na Internet. [...] Eles querem entregar grandes quantidades de informações pela Internet. E, novamente, a Internet não é algo que você simplesmente despeja não é um caminhão grande, é uma série de tubos. atrasado por qualquer um que coloca nesse tubo enormes quantidades de material, enormes quantidades de material." https://en.wikipedia.org/wiki/Series_of_tubes
Embora esse discurso tenha sido ridicularizado incansavelmente na época, não é uma metáfora ruim.
Se considerarmos o velho mito de que o esgoto municipal fica sobrecarregado nos shows do intervalo do Super Bowl, isso até ajuda.
Você está competindo por um recurso escasso. E se todos os outros estiverem competindo ao mesmo tempo, as latências se acumulam. Se mais dados estão sendo transferidos do que o tubo pode suportar, ele precisa fazer backup.
Em um exemplo muito simples, temos um roteador e um cabo. Se você for a única pessoa acessando essa rede, o roteador encaminhará seus pacotes o mais rápido possível - utilizando toda a largura de banda do cabo. Mas quando seu colega de quarto se conecta para fazer sua "pesquisa" Agora você está compartilhando esse cabo, e o roteador só lhe dará o cabo por 50% do tempo, alocando o resto do tempo para seu colega de quarto. E sua velocidade aparente é cortada pela metade.
Os links que compõem a internet geralmente rodam com taxas de dados fixas. Mas todos os links no caminho entre você e qualquer máquina à qual você esteja se conectando (exceto possivelmente o primeiro e o último) são compartilhados entre centenas, milhares ou milhões de outros usuários, todos com suas próprias coisas que desejam fazer a Internet. O comportamento segundo a segundo de todos esses outros usuários é imprevisível e, às vezes, os pacotes chegam mais rápido do que um determinado link pode manipular e precisam ser enfileirados ou descartados, o que afeta a velocidade da conexão de ponta a ponta.
É como o trânsito - a largura da estrada não muda e a velocidade máxima do seu carro não muda, mas o tempo que leva para ir a algum lugar ainda varia dependendo de quantas outras pessoas estão tentando usar as estradas ao longo do seu caminho.
Um problema é que a latência e a confiabilidade interagem com a transferência em massa.
Enquanto as analogias com o tráfego de carros fazem um certo grau de sentido intuitivo, o tráfego de carros é diferente porque carros e não pacotes viajam perto da velocidade da luz entre roteadores, que precisam ser reconhecidos por carros indo na direção oposta para que mais carros possam ser implantado.
As estradas também não deixam cair carros simplesmente quando ficam congestionados. Por exemplo, se você não pode entrar em uma determinada rodovia, você não é retirado da estrada e enviado para o ferro-velho.
Por que uma velocidade de transferência pode cair é, por exemplo, que alguns pacotes foram perdidos, exigindo retransmissão. Existe um protocolo de janela deslizante que pode suavizar alguns desses efeitos. Se um pacote raramente é perdido e a janela deslizante avança enquanto uma retransmissão o preenche, pode não ser perceptível, mas se houver uma interrupção mais frequente, as retransmissões podem interromper visivelmente o progresso.
O protocolo TCP não foi projetado para uma velocidade de transferência ideal. O design é protegido para torná-lo "agradável" para a rede e reduzir o congestionamento. Os algoritmos no TCP sacrificam o desempenho em benefício da rede.
Se houver congestionamento, fazendo com que os pacotes sejam perdidos e atrasados, simplesmente tentar mais e enviar mais deles para o ar pode melhorar as coisas para uma única conexão, mas se todas as conexões começarem a fazer isso, o congestionamento ficará fora de controle.
Um mecanismo de controle de congestionamento é o dimensionamento de janelas. O TCP inicia com uma pequena janela (o que é ruim para obter taxa de transferência em rede rápida com alta latência). Isso é chamado de "início lento". Sob a condição correta, a janela TCP aumenta: cresce, para que o remetente possa enviar mais pacotes e mais bytes sem receber uma confirmação de material enviado anteriormente; a transferência de dados fica mais rápida. As condições da rede podem reduzir o dimensionamento da janela; basicamente, o protocolo TCP precisa ter um desempenho sólido: o que está enviando está sendo recebido e reconhecido. Se houver soluços na rede, a janela pode ser reduzida novamente e a taxa de transferência cairá e permanecerá mais lenta por algum tempo até que as condições melhorem.
Usar a Internet é como jogar um jogo no seu PC.
Quando o jogo, ou a cena gráfica estiver relativamente calma, você obterá um FPS alto. Quando o jogo começa a ficar ocupado com atividades, ou gráficos complicados e efeitos de iluminação, seu FPS diminui. Dependendo de quão intensas as coisas ficam e quão barato é o seu equipamento, seu FPS pode cair tão significativamente que você obtém atrasos muito ruins ou, pior, pode sair do jogo completamente.
É uma situação muito semelhante com todos os dados que estão sendo processados e repassados pela Internet. Nada sobre isso é realmente fixo, apenas com taxa limitada para o seu nível de serviço. É tudo variável, dependendo do que está acontecendo nas redes a qualquer momento.