Como a Internet é capaz de transmitir dados tão rápido?

20

Não tenho certeza se estou no lugar certo ou não, mas achei que alguém aqui talvez pudesse fornecer uma boa resposta. Eu quero saber como a eletricidade é capaz de fluir tão rápido. Por exemplo, videogames hoje em dia, você pode atirar em alguém do mundo todo e eles morrem quase instantaneamente. Como a eletricidade é capaz de fazer isso? Eu estava tentando pesquisar no google essa pergunta, mas encontrei resultados ruins, é por isso que estou aqui.

Cam Jones
fonte
9
A circunferência da terra é de cerca de 40.000 km. As ondas eletromagnéticas viajam na velocidade da luz, que é de m / s. Isso significa que é necessário um sinal eletrônico de cerca de 13 ms para circular a Terra. Você pode adicionar um fator de 1,5 ou mais porque os sinais na fibra óptica viajam mais lentamente que os sinais no ar e outro aumento porque os sinais não são roteados em linhas retas. Mas, no final, você pode ver que a principal limitação não é a rapidez com que os sinais trafegam, mas quanto processamento deve ser feito para colocar esses sinais nos fios e desligá-los novamente. 3109
The Photon
12
Seu cálculo está desativado por um fator de dez, é ~ 130 ms para um círculo completo.
Turbo J
6
Essa não é uma resposta direta à sua pergunta, pois trata-se mais de monitores, mas John Carmack está deixando de lado o porquê de um ping transatlântico ser mais rápido do que enviar um pixel para a tela. superuser.com/q/419070/2940
Drain
11
Além disso, observe que os programas pesados ​​na rede ( principalmente videogames) implementam recursos que reduzem a percepção de latência. Um exemplo trivial de jogo é extrapolar a posição de uma entidade com base em onde ela está se movendo.
mikołak
11
@ Bart, você está certo, eu devo ter comentado antes do café naquele dia. Mas o Turbo J já apontou isso há 3 anos.
O Photon

Respostas:

22

Isso não é algo que possa ser respondido em uma única postagem, por uma única pessoa. No entanto, espero que esta resposta forneça informações e links suficientes para ser útil.

É importante entender como os sinais são transmitidos pela Internet. Observe, no entanto, que devido ao ruído e ao imenso número de usuários, o mesmo sinal precisa ser codificado, decodificado, retransmitido, etc. Também ter em mente em um milissegundo é uma quantidade muito grande de tempo para um computador; uma placa de vídeo GeForce Quadro K6000 pode executar mais de 5.000.000.000 operações de ponto flutuante nesse período (5196 GFlops vezes 1ms).

Cabos condutores:

Os elétrons em si não se movem tão rápido porque saltam dentro dos cabos condutores. No entanto, a eletricidade não viaja com base nos elétrons saltando um sobre o outro, e sim repelindo o outro através da interação eletromagnética:

Digamos que você tenha 3 elétrons na linha (assuma um espaço dimensional). Mova o primeiro um pouco. A distância do primeiro ao segundo fica um pouco menor. A força eletrostática sobre eles fica um pouco maior. De acordo com a Lei de Coulomb , é: onde:Fé a magnitude da força,keé a constante de Coulomb,q1eQ2representa a carga de cada uma das duas partículas e finalmenter2é a distância entre eles.

F=keq1q2r2
Fkeq1q2r2

À medida que a primeira partícula se move em direção à segunda, a força eletrostática aumenta quase instantaneamente. Isso faz com que a segunda partícula se mova um pouco em direção à terceira, etc.

"Quase instantaneamente" na verdade significa "na velocidade da luz " ( ).c=299,792,458m/s

Existe um número extremo de elétrons dentro de um fio condutor e a física é um pouco mais complicada, mas a essência é um sinal que atravessa um condutor "quase instantaneamente", mas mais lento que .c

Fibra óptica:

Os cabos de fibra óptica transmitem sinais por fótons em vez de elétrons. Mesmo neste caso, no entanto, os fótons não viajam em linha reta. No entanto, o tempo necessário para o fóton percorrer a linha ainda é muito pequeno comparado ao tempo de processamento para codificar e decodificar os sinais, bem como às retransmissões de pacotes.

Sem fio:

Finalmente, os satélites de comunicação , bem como vários tipos de links sem fio, são usados ​​para transmitir sinais, bem, sem fio, usando um grande número de protocolos, modulações e frequências de transmissão . Nesse caso, os sinais são transmitidos usando radiação eletromagnética . Este é um assunto muito complexo e não posso cobrir tudo.

Maneiras inteligentes de codificar informações em sinais elétricos:

Não é suficiente que um pulso de voltagem alcance a outra extremidade de um fio; essa tensão existe para transmitir algumas informações. O ato de codificar informações modificando um sinal de portadora com base nas informações a serem transmitidas (transportadas, daí o nome de portadora), é chamado de modulação .

Maneiras inteligentes de compartilhar os mesmos canais:

Todos esses canais de comunicação precisam estar conectados e as informações precisam percorrer essa vasta rede de maneira confiável. Inicialmente, para que dois nós se comuniquem, eles reservariam vários cabos formando um caminho do nó A ao nó B. Nenhum outro nó seria capaz de usar esse mesmo caminho. Isso é chamado de comutação de circuitos . A inovação que tornou possível uma rede tão vasta como a Internet foi a capacidade de vários nós compartilharem um canal de comunicação específico. Esse compartilhamento foi ativado pela comutação de pacotes. Em vez de reservar um circuito apenas para dois nós, cada nó apenas verifica se o barramento está livre, depois transmite um pacote contendo dados e informações de destino (e outras coisas) e depois libera o canal. Os pacotes precisam encontrar seu destino e isso é chamado de roteamento de pacotes , que é outro assunto importante. O roteamento e a necessidade de modulação é a principal razão pela qual um pacote leva "tanto tempo" para chegar ao seu destino, em comparação com a velocidade com que as ondas eletromagnéticas viajam. O roteamento também é necessário para todos esses usuários coexistirem na mesma rede.

A Internet:

Tudo isso, junto com inúmeras outras tecnologias, são usados ​​juntos para formar a Internet .

Compensação de atraso:

Em muitos aplicativos, incluindo videogames competitivos, alguns milissegundos de atraso seriam inaceitáveis, especialmente quando um servidor precisa registrar um "acerto". É aí que a compensação de atraso entra em ação. Um dos métodos usados ​​envolve o servidor manter um breve histórico de cada posição da entidade e estado da animação. Em seguida, realize vários testes e simulações de física para verificar se um "acerto" ocorreria quando um jogador "disparasse" suas armas, com base no estado de atraso, velocidade e animação de cada entidade, mais a geometria do mundo.

Evan
fonte
4
Então eu acho que a eletricidade que flui através de cabos condutores pode ser comparada ao berço de Newton? Porque a energia é transferida através de todas as bolas muito rapidamente para o outro lado. Ah, e muito obrigado pelo esclarecimento detalhado.
Cam Jones
2
@ Skateguy, isso não é uma analogia ruim no sentido em que a energia eletromagnética se propaga ao longo do condutor muito mais rapidamente do que os elétrons individuais.
Alfred Centauri
4
A melhor analogia que eu já vi, se você mora em uma cidade grande, é que a eletricidade viaja como intervalos entre carros em um engarrafamento, enquanto o elétron viaja como carros em um congestionamento. Na próxima vez em que você estiver preso em um engarrafamento, observe como o espaço percorre a linha em uma ondulação, na direção oposta à do carro, muito mais rápido do que o carro se move.
slebetman
Boa analogia. Uma coisinha embora. c = 3e8m / s not c = 3e8km / s
magu_
11
Registrei-me para curtir essa resposta. Bom trabalho, gostei de ler.
Gintas_
32

Talvez isso seja melhor como comentário, mas é muito longo. Eu queria abordar o fato de que suas declarações indicam que você percebe que os dados são transmitidos quase instantaneamente, mas nenhuma das observações que você apresenta realmente prova que eles são transmitidos rapidamente.

Você menciona videogames. Os desenvolvedores de jogos estão bem cientes do fato de que existe uma latência significativa entre os jogadores, então eles fazem vários truques. Uma delas é que o cliente adivinha algumas informações que ainda não foram recebidas do servidor / de outros jogadores. Por exemplo, seu cliente conhece a posição e a velocidade do seu oponente de, digamos, 50ms atrás. Por isso, extrapola e diz: "se o movimento dele é assim, ele provavelmente está aqui agora", e você vê esta posição prevista. Na maioria das vezes, é bastante preciso (provavelmente por causa do esforço que os programadores enviam para isso) e, na verdade, parece que não há latência. Outras vezes, é impreciso e, para você, parece que o jogador foi baleado, quando na verdade ele estava em uma posição diferente da que o seu console previu.

Em uma nota relacionada, a maioria dos monitores funciona em torno de 60Hz e alguns fazem algo chamado buffer duplo. Não vou entrar em detalhes aqui, mas isso introduz até 33ms de latência entre quando o processador renderiza um quadro e quando ele é realmente exibido. A maioria das pessoas não percebe isso, então acho razoável sugerir que, mesmo que a latência da rede seja equivalente a 33ms, você pode perceber que é instantâneo, mesmo sem truques de programação.

Em resumo, a internet não é necessariamente "rápida". Mas pessoas inteligentes fazem coisas inteligentes para fazer parecer que é mais rápido do que realmente é. Se você quiser mais informações, considere perguntar às pessoas em gamedev.stackexchange.com .

Ponkadoodle
fonte
2
Definitivamente, isso me ajuda a pensar nisso de uma maneira diferente agora, obrigado, acho que estava fazendo duas perguntas em uma.
Cam Jones
11
Este é o ponto real. Não é que as informações sejam "instantaneamente", apenas que, desde que o cenário ocorra de forma consistente em todos os computadores conectados, você as perceberá como instantâneas. Um ótimo exemplo disso são os jogos RTS - embora a entrada do usuário simplesmente não possa ser mais rápida que a latência da conexão (na verdade, é ainda mais lenta que isso), os jogadores não podem perceber, porque as entradas são aplicadas ao mesmo tempo relativo para todos eles. Portanto, se uma entrada resultar na morte de uma unidade no meu computador, também será exibida da mesma maneira no computador do meu amigo.
Luaan 18/07/2014
11
+1, como alguns que trabalharam em vários projetos de desenvolvimento de jogos para vários jogadores, lidar com problemas de latência (para que a conexão com seus oponentes pareça instantânea) é provavelmente pelo menos 70% do trabalho no código de conexão. Coisas semelhantes ocorrem em jogos de ritmo para combater a latência com seu controle. Em resumo: os desenvolvedores de jogos trapaceiam para oferecer a você (geralmente) uma melhor experiência.
Brian S
Se eu pudesse escolher 2 respostas, sim, mas como essa resposta não menciona a parte elétrica, devo escolher a outra.
Cam Jones
11
Alguns jogos também mostram deliberadamente as posições de outros jogadores de ~ 200ms atrás. Seu cliente pode conhecer sua posição há apenas 50ms, mas se houver uma interrupção inferior a 150ms, eles ainda parecerão se mover sem problemas. (Os jogos do Source Engine fazem isso, embora eu não saiba o atraso exato) #
user253751
5

Estou surpreso que as pessoas mencionem apenas a modulação (o processo que modifica uma "portadora" de energia mais alta que pode ser irradiada facilmente por longas distâncias em função do sinal) como um fator adicional, e não um elemento-chave no aumento do datarate dos links de comunicação. Lembra daqueles modems de 54kbps no começo da internet? Quando os modems ADSL entraram em ação, houve um aumento imediato de mais de vinte vezes no datarate, principalmente devido à modulação usada: com o QAM, a taxa de bits se tornou mais alta que a taxa de símbolo (relógio) (usando várias amplitudes e fases), como ajustar mais coisas no mesmo balde viajando na mesma velocidade, apenas descobrindo uma maneira mais inteligente de organizá-los. E ainda não terminamos, muitos outros já existem ou estão sendo investigados ...

enter image description here enter image description here

a) Mapa dos estados da modulação QAM , uma das modulações de RF b) Como a taxa de símbolos pode ser diferente da do datarate, por exemplo, com modulação de amplitude multinível (o ancestral da FM), um dos componentes da QAM (o outro é a fase, muito relacionados com FM).

Para o seu problema em particular, além de tentar prever o que os jogadores estão fazendo, os jogos normalmente são renderizados pela sua máquina; apenas uma pequena quantidade de informações vitais é transportada, como coordenadas, velocidades, etc. Uma única página da Web provavelmente tem muito mais informações do que isso, mas o problema real é a latência (especialmente para jogadores hardcore) e se acumula com o número de hubs que seus sinais estão ocorrendo devido a atrasos na propagação, entre muitas outras coisas (a distância também é um problema, pois o datarate confiável máximo cai com perdas - que aumentam com a distância).

Mister Mystère
fonte
Para ser sincero, eu o ignorei porque minha resposta dizia respeito apenas à velocidade (como na latência), não à largura de banda. Sei que hoje em dia os dois são usados ​​como intercambiáveis ​​(velocidade e largura de banda), embora tecnicamente sejam duas dimensões da transmissão de dados. Como a latência não é realmente algo que você possa fazer como usuário final e apenas de forma muito limitada como provedor de serviços, ela geralmente é ignorada por todos os jogadores, exceto os on-line, que precisam de feedback em tempo real sobre sua jogabilidade e instituições financeiras que precisam de tempos de resposta em milissegundos para negociação de derivativos.
RJR
Sim, trata-se do meu último parágrafo, mas o autor da pergunta fez primeiro uma pergunta geral antes de fornecer um exemplo, não vamos nos concentrar muito no exemplo.
Mister Mystère
3

A internet é uma rede de roteadores interconectados que encaminham o tráfego da Internet (pacotes) entre eles usando um protocolo de roteamento que, geralmente, tenta seguir a rota mais curta / mais rápida.
Atualmente, a maioria dos roteadores está conectada via fibra óptica - especialmente quando a distância entre os roteadores é superior a alguns 10 ou mais metros ou quando as velocidades entre os roteadores são altas (1, 10 ou até 40 Gb / s) - atualmente inclui quase todos os roteadores que fazem parte da internet. A exceção notável é provavelmente o seu roteador / modem doméstico etc.
De qualquer maneira, a velocidade de propagação dos sinais através da fibra ou do calbe elétrico é próxima da velocidade da luz. Assim, em teoria, você pode obter um pacote de Melbourne, na Austrália, para Angra de Heroismo, Açores (estes são quase antípodas) em cerca de 70ms. Agora vamos dar uma olhada em um exemplo do mundo real. Existe uma chamada de utilitário 'traceroute' que rastreia seus pacotes de roteador para roteador e produz convenientemente o atraso aproximado entre cada 'salto'. (Observe que o tempo em que a ms é 'ida e volta' - portanto, só de ida é metade disso em teoria):

  7   127 ms   143 ms   139 ms  i-0-1-0-0.sydp01.bi.telstraglobal.net [202.84.220.218]
  8   111 ms   113 ms    64 ms  i-0-5-0-2.sydp-core02.bi.telstraglobal.net [202.84.220.217]
  9   167 ms   201 ms   210 ms  i-0-3-0-6.paix-core01.bx.telstraglobal.net [202.84.140.194]
 10   156 ms   158 ms   188 ms  i-0-0-0-5.paix02.bi.telstraglobal.net [202.84.251.18]
 11   204 ms   206 ms   175 ms  80.157.128.205
 12   537 ms   512 ms   593 ms  mad-sa3-i.MAD.ES.NET.DTAG.DE [217.5.95.173]
 13   554 ms   552 ms   579 ms  80.157.129.10
 14   544 ms   569 ms   545 ms  10.255.26.254
 15   568 ms   568 ms   538 ms  catvaweb.cabotva.net [81.20.240.40]

(Deixei de fora os saltos que passam pela intranet da minha empresa).
Você notará que os atrasos são muito maiores do que o que você esperaria apenas da "velocidade da luz". Esse é o atraso introduzido pelos roteadores que encaminham seus pacotes. Às vezes, são rápidos, outras, lentos, especialmente quando estão sob carga.

Como você pode ver, a maioria dos atrasos ocorre devido ao encaminhamento do roteador, não a atrasos de propagação. Se você brinca um pouco com a ferramenta traceroute (existem inúmeras ferramentas on-line que você pode encontrar on-line), você descobrirá que a rota nem sempre é a mesma e, mesmo onde está, os atrasos estão por toda parte.
As empresas de jogos online hospedam seus servidores em locais onde eles têm uma boa conexão com a Internet e podem fazer acordos com provedores de serviços para dar prioridade aos pacotes sobre os outros. Além disso, alguns provedores de serviços de Internet podem fazer o mesmo e dar prioridade aos jogadores (a um preço!). Isso é possível porque, como você pode ver, os principais atrasos estão nos roteadores, não na fibra. Para streaming de vídeo, isso não importa, para jogos é fundamental. Dessa forma, os provedores de serviços podem priorizar os pacotes da Internet com base em seu conteúdo - fornecer mais largura de banda ao vídeo, mas com um atraso maior, enquanto os jogos (que não precisam de muita largura de banda) podem ter prioridade na fila do roteador por atrasos mínimos.

RJR
fonte
O traceroute produz RTT (ida e volta), que é aproximadamente o dobro do atraso.
generalnetworkerror
@generalnetworkerror bom ponto, eu adicionei isso à resposta.
RJR 20/07
2

e eles morrem quase instantaneamente

De acordo com o que? A velocidade mais rápida com a qual uma influência pode se propagar éc186,000milhas por segundo. Os pacotes de dados trafegam mais devagar do que isso através da fibra e há atraso nos roteadores, switches, etc.

Para que um pacote de dados se propague pela infraestrutura da Internet para o outro lado da Terra, leva, provavelmente, vários 10s de milissegundos mais ou menos, mas, na verdade, essa é uma 'eternidade' em comparação à instantânea .

Por exemplo, algumas das partículas criadas no grande colisor de hádrons decaem em aproximadamente10-23s.

Em outras palavras, leva cerca de 100.000.000.000.000.000.000 de tempo a mais para 'matar' seu 'inimigo' em todo o mundo do que para algumas partículas decairem no LHC.

Quase instantaneamente? Comparado com as escalas de tempo de algumas interações fundamentais de partículas, é muito mais longo que a idade calculada do cosmos comparada a um ano na Terra.

Eu pensei que você poderia querer ponderar isso em algum momento.

Alfred Centauri
fonte
11
De acordo com meus olhos e de acordo com o feed de abate. e eu nunca disse instantaneamente, eu disse quase instantaneamente. Então, sim, eu já estava um pouco consciente do que você fala. E isso não é relativo e depende do assunto em questão? Eu aprecio muito que você tenha respondido. Desculpe, eu não sou mais educado sobre o assunto, mas você se importaria de explicar o que o C e o sinal de igual estranho representam. Eu aprendi na escola, mas há muito tempo esqueci que não tenho nenhum problema em procurá-los, apenas achei que não faria mal perguntar.
Cam Jones
11
Não entendo como essa discussão sobre semântica é uma resposta para a pergunta. Você acabou de confirmar que, sim, os pacotes que viajam "pela Internet" levam apenas 10 segundos de ms. O OP perguntou como é isso. Eu acho que isso merece uma explicação de como os pacotes de dados são convertidos de elétrico em óptico e vice-versa, e como os roteadores encaminham pacotes em alta velocidade.
RJR
8
Você deu uma resposta com um tom de elitismo oculto no que diz respeito à sua definição de "quase que instantaneamente". O cara veio aqui fazer uma pergunta simples, clara e honesta sobre eletricidade. Não há motivo para menosprezá-lo por sua percepção de que alguns milissegundos podem ser descritos como "quase instantaneamente". Fico sempre espantado com a forma como posso dissecar algum traço em um osciloscópio e depois percebo que a interação que eu estava observando ocorreu em um período impercebivelmente curto de tempo. Fico feliz que alguém possa se maravilhar com isso também.
kjgregory
2
É muito fácil interpretar condescendência aqui, na verdade - esteja lá ou não, intencional ou não. Eu tive que olhar de soslaio para não ver esse post como inútil falar sobre a escolha de palavras do OP. E até isso levou algumas tentativas.
cHao
2
@ Alfred: Principalmente para informar que o texto da sua postagem facilita a interpretação incorreta de suas intenções. Faça com essa informação o que quiser. Mas não finja se surpreender quando as pessoas entendem mal.
cHao
1

A eletricidade viaja basicamente à velocidade da luz. na internet, as únicas coisas que retardam um pouco isso são o hardware de rede que roteia o tráfego da Internet entre sua casa e a casa de seu oponente em todo o mundo: esse hardware inclui coisas como roteadores, comutadores e coisas que convertem eletricidade em luz (fibra) e vice-versa. Essas coisas são baseadas em tecnologia que também é muito rápida (transistores, chips de silício e outros enfeites) e, portanto, os efeitos são mínimos. Então, o que você tem é um pequeno atraso nas informações que são traduzidas à velocidade da luz. a luz do sol leva 8 minutos para percorrer 93 milhões de milhas para chegar à Terra; portanto, quando você a coloca nessa perspectiva, faz sentido que as informações do seu console de jogos "quase que instantaneamente"

Michael Martinez
fonte
1

É principalmente relativo à velocidade da luz.

Limite teórico de Amsterdã Nova York = 40ms
Limite de Internet de Amsterdã Nova York = 82ms

Limite teórico de Amsterdã Adelaide = 130ms
Limite de Internet de Amsterdã Adelaide = 320ms

De Paris a Nova York, como um pássaro voa, a luz leva cerca de 20ms. portanto, um tempo de ping perfeito seria de 40 ms. No vidro de fibra óptica, a luz é mais lenta em 31%. Além disso, a luz em uma fibra óptica salta assim \ / \ / \ /, o que torna a rota mais longa. Acrescente a isso os tempos do equipamento de roteamento. atualmente, o ping mais rápido de Paris para Nova York é de cerca de 82ms.

Amsterdã para Adelaide é 320ms, em 100 anos, talvez esteja fechado ao limite teórico permitido pelas leis da física, ou seja, 130ms, por 1550km, já está próximo do limite teórico.

Aqui está uma lista de velocidades da Internet: https://wondernetwork.com/pings

Adicione a isso a noção de largura de banda.

A latência do equipamento no seu computador, tela, periféricos, som, teclado é normalmente de 10 ms. Portanto, o tempo de resposta mais rápido para um evento que ocorre no seu PC, para o roteador, é sempre inferior a 20ms pelo DirectX para qualquer transferência de dados.

compreensível
fonte
1

A principal razão pela qual os videogames on-line têm tempos de resposta tão rápidos é porque tudo é feito no seu computador . Quando você mata alguém, seu computador decide que você matou seu oponente e exibe instantaneamente a imagem correspondente. Ele também notifica o computador do seu oponente sobre esse evento, mas você não vê que isso acontece com um atraso. Normalmente, os cálculos também são realizados em um servidor central pela segunda vez, para evitar trapaças. Se o servidor decidir que você realmente não matou seu oponente, você os verá voltar à vida depois de meio segundo.

O tempo de entrega da rede pode chegar a mais de 300 ms entre locais remotos, e os jogos em ritmo acelerado não podem ser reproduzidos se ocorrerem atrasos em cada ação do jogador.

Dmitry Grigoryev
fonte
0

Enquanto leio as declarações, há duas perguntas (relacionadas), com a mesma resposta: 1) a Internet é capaz de transmitir dados "rapidamente" porque usa várias formas de transmissão de energia eletromagnética (EM), e o EM se propaga muito rapidamente ( aproximadamente 186.000 milhas / s), 2) a eletricidade é capaz de "fluir rapidamente", porque é energia eletromagnética, e o EM se propaga muito rapidamente.

Guill
fonte