Como a internet realmente funciona? [fechadas]

9

Há muita informação que eu já vi sobre protocolos / camadas TCP / IP, DNS, LANs, VPNs, esquemas NAT, SSL / TLS / etc. E similares, que são, eu diria, mais "voltados para o usuário" aspectos da maneira como a internet funciona. Mas, por mais que eu tente, é difícil aprender como a Internet realmente funciona (suas partes "internas" etc.).

Alguns exemplos de perguntas, para mostrar o que quero dizer com isso ...

  • Quando envio uma mensagem para um computador pela Internet, por onde (que tipos de lugares / organizações e fisicamente onde) a mensagem passa até que chegue ao seu destino?
  • Por que preciso obter internet de um ISP? Por que não posso simplesmente me conectar diretamente à Internet?
  • O que compõe o "backbone", o principal núcleo da internet, e como isso funciona? Isso é um segredo, talvez?

Assim...

1) Como a Internet realmente funciona; o que o faz "girar"?

2) É possível encontrar mais informações boas sobre essas coisas na web e, se sim, quais são alguns bons recursos para isso?

Abbafei
fonte
1
Você basicamente tem vários backbones em todo o mundo. Esses backbones se conectam e permitem a conexão de vários nós menores. Esses backbones retransmitirão o tráfego entre backbones, permitindo conectividade global.
kobaltz
16
Depois disso, você perguntará como as mulheres funcionam, certo?
Camilo Martin
3
Na verdade, todo mundo sabe que é uma série de "tubos" que fazem funcionar. ; ->
Moab

Respostas:

15

A internet é uma rede de redes.

Digamos que você tenha uma rede de 10 sistemas, cada um com um endereço IP, e Tom tenha uma rede e Alice tenha uma rede. Você precisaria de uma conexão separada com Tom e Alice para conversar, e o custo associado.

Agora, digamos que Tom esteja conectado a Alice, e você está conectado a Tom, e Tom permite que você se conecte a Alice através dele - isso é espião.

Imagine precisar se conectar a uma centena de pessoas diferentes separadamente. Você não pode ter redes ponto a ponto intercontinentais; portanto, você tem uma série de conexões de capacidade muito alta, que são muito caras de manter. Em teoria, você poderia se conectar ao backbone principal ou executar o seu próprio, mas é mais barato comprá-lo de um revendedor, ou seja, um ISP. O ISP também possui acordos de pares (para que você não precise fazer acordos separadamente com Tom, Alice, Ali, Ivan, Ravi, Vanda ...).

A internet funciona, pois une essas redes variadas e totalmente desconectadas de maneira coerente. Praticamente cada 'rede' é um AS que é uma coleção de redes.

Agora que obtivemos uma visão geral, é possível rastrear a rota que você seguiria para um servidor com tracert no windows e traceroute no linux. Cada rota teria saltos dentro do ISP, para um ISP maior e para sua localização final

geek@tamandua:~/pystatgrab-0.5/glances-1.1.3$ traceroute www.superuser.com
traceroute to www.superuser.com (64.34.119.12), 30 hops max, 60 byte packets
 1  menu (192.168.1.254)  7.264 ms  7.224 ms  7.192 ms
 2  bb219-74-xxx-x.singnet.com.sg (219.74.xxx.x)  17.088 ms  18.808 ms  20.773 ms
 3  202.166.xxx.xx (202.166.xxx.xxx)  22.701 ms  24.651 ms  26.585 ms
 4  xe-0-0-0-3000.qt-ar04.singnet.com.sg (202.166.121.129)  28.496 ms  30.633 ms  32.386 ms
 5  xe-8-3-0-0.qt-cr02.singnet.com.sg (202.166.126.209)  34.427 ms  36.272 ms  38.153 ms
 6  ae6-0.singha.singnet.com.sg (202.166.120.186)  40.136 ms  13.885 ms  13.848 ms
 7  ae5-0.beck.singnet.com.sg (202.166.126.41)  15.732 ms  12.018 ms  13.772 ms
 8  203.208.190.57 (203.208.190.57)  17.938 ms  17.923 ms  19.544 ms
 9  ge-1-0-0-0.sngc3-dr1.ix.singtel.com (203.208.173.134)  21.731 ms 203.208.171.213 (203.208.171.213)  23.515 ms 203.208.171.217 (203.208.171.217)  27.320 ms
10  ge-1-1-3-0.sngtp-dr2.ix.singtel.com (203.208.152.21)  29.300 ms  29.313 ms 203.208.171.197 (203.208.171.197)  31.083 ms
11  so-3-0-0-0.laxow-cr1.ix.singtel.com (203.208.151.222)  212.783 ms so-2-0-0-0.laxow-cr1.ix.singtel.com (203.208.151.86)  226.137 ms  202.607 ms
12  203.208.153.142 (203.208.153.142)  204.518 ms  208.651 ms ge-7-0-0-0.laxow-dr2.ix.singtel.com (203.208.183.158)  209.639 ms
13  peer1.com.any2ix.coresite.com (206.223.143.79)  197.931 ms  199.860 ms  213.576 ms
14  10ge.ten1-1.la-600w-cor-2.peer1.net (216.187.88.146)  203.925 ms  219.400 ms  221.328 ms
15  10ge-ten1-2.dal-eqx-cor-1.peer1.net (216.187.124.122)  266.703 ms  266.687 ms  268.531 ms
16  10ge-ten1-1.dal-eqx-cor-2.peer1.net (216.187.124.134)  282.273 ms  247.504 ms  249.410 ms
17  10ge-ten2-1.atl-telx-cor-1.peer1.net (216.187.124.118)  251.279 ms  253.250 ms  255.212 ms
18  10ge-ten1-1.atl-101mar-cor-1.peer1.net (216.187.120.226)  246.224 ms  262.020 ms  252.336 ms
19  10ge.xe-1-0-0.wdc-eqx-dis-1.peer1.net (216.187.115.37)  281.690 ms  269.931 ms  285.666 ms
20  10ge.ten1-2.wdc-sp2-cor-1.peer1.net (216.187.115.234)  287.404 ms  289.290 ms  291.204 ms
21  216.187.120.254 (216.187.120.254)  293.154 ms  295.091 ms  263.393 ms
22  10ge.xe-2-0-0.nyc-telx-dis-1.peer1.net (216.187.115.221)  265.291 ms  267.265 ms  282.774 ms
23  10ge.xe-0-0-0.nyc-telx-dis-2.peer1.net (216.187.115.182)  278.996 ms  267.974 ms  271.307 ms
24  oc48-po3-0.nyc-75bre-dis-1.peer1.net (216.187.115.134)  273.482 ms  275.482 ms  277.317 ms
25  gwny01.stackoverflow.com (64.34.41.58)  292.767 ms  294.730 ms  296.702 ms

Nesse caso, eu sou quatro saltos da central de troca da singtel (XE), nove saltos para os roteadores da singtel com o nome de cerveja, 11 saltos para a troca de LA (laxow), transferidos pelo ponto 1 em LA até o ponto 1 em Nova York. Finalmente, o ISP no salto 25 pode passar nosso tráfego para os servidores do Stack Overflow. Nosso tráfego com o Stack Overflow, nesse caso, percorre 25 redes conectadas até chegar aos servidores do Stack Overflow.

Singtel é um AS para nossos propósitos, assim como o par 1.

Essas rotas são decididas pelo BGP entre redes (para que eu me conecte do singtel ao ponto 1 LA) e ao IRP dentro de um AS .

Hipoteticamente, você PODE executar seu próprio AS, fazer seus próprios acordos de pares e assim por diante, mas seria muito caro

Journeyman Geek
fonte
6
Eu acho que você acabou de derreter o cérebro dele.
Moab
Na verdade, isso é muito mais digerível do que a maneira que eu tenho ensinado; p
Journeyman Geek
2

Aqui está uma visão de alto nível.

A Internet é basicamente um grupo mundial de computadores em rede, para facilitar a enorme quantidade de tráfego transportado por essas redes, governos e empresas privadas colocam enormes cabos entre países, esses principais cabos são a espinha dorsal da Internet. Ocasionalmente, um navio arrasta uma âncora sobre uma delas e a danifica ou até mesmo a quebra, se isso acontecer, pode causar uma grande interrupção em um país em particular.

Para se conectar a esse backbone, você precisa pagar taxas ao proprietário do cabo e precisa do hardware, esses são os principais custos, da ordem de centenas de milhares, senão milhões de dólares, se você tiver o dinheiro pessoalmente, pode conectar-se sem um ISP. Muitas pessoas acham mais econômico pagar uma pequena taxa mensal.

Sempre que você envia informações pela Internet, as informações têm um destino, um URL, por exemplo. O equipamento de rede acha muito difícil direcionar uma mensagem (dividida em 'pacotes') para um endereço de texto, para que o equipamento de rede chamado roteadores armazene listas internas de URLs correspondentes a endereços numerados, um endereço IP, por exemplo: 203.35.57.110. Isso é chamado DNS (Sistema de Nomes de Domínio); existem várias camadas de servidores DNS; se um servidor DNS não conseguir encontrar um IP em seu próprio DNS, ele solicitará seu 'pai'.

Esses endereços geralmente são divididos em intervalos entre países, ou seja, 203.xxx é a Austrália. Nem todas as redes conhecem todos os endereços IP, elas conhecem apenas uma lista muito pequena de endereços, o suficiente para direcionar qualquer pacote que aparecer.

Exemplo: você deseja abrir a página inicial do superusuário.

  1. Você digita superuser.com no seu navegador e pressiona enter.
  2. Seu computador examina o DNS interno do superuser.com e o converte em um IP; se não o encontrar no DNS, ele solicita o DNS do ISP e assim sucessivamente até obter um IP (64.34.119.12).
  3. Seu computador solicita que o roteador do ISP envie pacotes de solicitação para 64.34.119.12
  4. O roteador do seu ISP examina suas tabelas de roteamento para ver para onde deve enviar sua solicitação, vê que 64.xxx está fora da rede local e, portanto, não pode enviá-lo diretamente, por isso envia a solicitação para um roteador de nível superior.
  5. Isso continua até o pacote atingir um roteador que sabe que esse IP está em algum lugar nos EUA e, em seguida, envia o pacote para o roteador mais próximo dos EUA que conhece.
  6. O roteador dos EUA vê que o próximo número no IP é 34 e, se souber que ele está na costa leste em algum lugar, envia-o nessa direção.
  7. Em algum ponto da linha, um roteador vê que o IP está alocado para um ISP específico e, portanto, o envia para esse ISP.
  8. O roteador no ISP vê que o IP é um dos seus e sabe exatamente para qual máquina enviá-lo.
  9. A máquina receptora recebe a solicitação e vê que você solicitou a página inicial, para reunir os dados e enviá-los de volta para você.
  10. O processo começa tudo de novo.

Tudo isso acontece em questão de milissegundos.

Esta é apenas uma visão geral simplificada, os IPs podem ser alocados de maneiras diferentes, uma empresa ou organização militar muito grande pode possuir todos os 125.xxx.xxx.xxx, mas um país pequeno pode ter apenas 275.24.xxx.xxx.

Hydaral
fonte
2
Hoje em dia é um pouco mais complicado, com a notação CIDR e afastando-se de sub-redes estritas de classe. Com o espaço IPv4 preenchendo rapidamente, tivemos que obter um pouco mais de detalhes sobre as atribuições.
Shadur 12/12
Bem, eu disse que foi simplificado. :)
Hydaral
1
Simplificado e errôneo. Você cometeu o erro usual que, infelizmente, muitas pessoas cometem ao explicar como o DNS funciona. Não camadas como você descreve. O DNS não funciona dessa maneira.
JDBP #
@JdeBP, A primeira linha da Wikipedia declara: "O DNS (Sistema de Nomes de Domínio) é um sistema hierárquico de nomes distribuídos" e as RFCs que li, todas referem-se a ele como um sistema hierárquico.
Hydaral
1
Tente ler além dessa primeira frase. Não há camadas descritas, e o DNS não funciona da maneira que você declara.
JdeBP