Como um roteador rotear conexões?

1

Como um roteador rastreia conexões? Quando você envia uma solicitação http, ela vai para o roteador, que é então enviado para outro roteador, etc, pela Internet; mas então como ele sabe ir para o servidor, ele é encaminhado para um balanceador de carga? Finalmente quando o pacote volta como os inimigos sabem voltar ao pc porque o pacote foi enviado de volta ao roteador e não ao pc? É possível estabelecer uma conexão com um PC controlado por um roteador, de fora desse roteador, ou seja, você pode direcionar um pacote para um pc não diretamente conectado à internet?

    
por Will03uk 28.07.2011 / 04:17

6 respostas

3

Os roteadores conectam redes por meio de gateways ou interfaces, de forma simplificada:

Do I know where this packet should go?
  yes - is it one of mine?
    yes - send to appropriate interface.
    no  - send on to next gateway
  no  - return a packet saying unreachable

Seu roteador doméstico executará o software de rastreamento de conexão - ele manterá uma lista de conexões com as quais as máquinas da sua rede estiveram conversando na Internet. Assim, ele saberá os endereços e portas para retornar as respostas.

Os pacotes TCP possuem um campo especial que pode conter o endereço da máquina original. O roteador usa algo chamado masquerading para inserir seu endereço de retorno, e a máquina de destino também o inclui. Isso pode economizar um pouco de trabalho no rastreador de conexão, mas também revelar endereços IP internos para o servidor remoto.

O retorno de pacotes UDP, por outro lado, depende do módulo rastreador de conexão do roteador para retornar as respostas para a máquina original. Foi um problema difícil de resolver até alguns anos atrás.

Novas conexões de entrada não terão nenhuma entrada no rastreador de conexão, portanto, o roteador não saberá para onde enviá-lo, a menos que receba instruções específicas de encaminhamento para esse tipo de pacote, e você encontrará em todos os roteadores uma maneira de sendo capaz de especificar qual máquina em sua rede receberá novas solicitações para a porta 80, por exemplo.

O TCP é um protocolo complexo e surpreendente, os pacotes não precisam seguir as mesmas rotas, podem ser divididos em partes menores, chegar fora de ordem, com correção de erro solicitando que pacotes individuais sejam reenviados e O datastream pode ser reagrupado com os aplicativos em qualquer uma das extremidades sem estarem cientes de quaisquer dificuldades, a menos que sejam grandes demais para afetar o desempenho. Muitos PhDs foram ganhos através dele!

    
por 28.07.2011 / 06:01
2

Para entender o roteamento, primeiro você deve ter uma compreensão do modelo OSI e também deve ter uma compreensão de < href="http://en.wikipedia.org/wiki/CIDR"> CIDR .

Isso será bem básico:

Quando um pacote deixa um computador em uma rede doméstica padrão, o computador sabe que é uma rede privada e entende que o destino final está fora da rede devido ao CIDR e, portanto, envia o pacote ao gateway padrão. O gateway padrão examina o IP e o envia pela cadeia de roteadores até atingir a rede de destino (com base nas informações de IP no cabeçalho do pacote), que o gateway o encaminha para o IP correto na rede (às vezes isso é baseado na porta nos detalhes do pacote, às vezes apenas o IP, dependendo do servidor / rede do extremo remoto). Quando a informação solicitada é enviada de volta, seu roteador sabe para qual computador vai, por causa de uma porta que foi escolhida para marcar a sessão e sabe a qual IP privado pertence essa sessão. Há muito mais para isso, mas esta é uma explicação de alto nível para obter o conceito de roteamento. Tenho certeza que os outros vão me corrigir ou acrescentar isso.

O que se resume à resposta para sua pergunta, sim, é possível, você só precisa conhecer o IP público no ponto final e a porta na qual a conexão precisa ser feita. O roteador será responsável por saber em qual computador encaminhar a porta para acessar o servidor na rede privada (com base nas regras NAT).

    
por 28.07.2011 / 04:56
2

Aqui está uma visão geral básica do roteamento.

Basicamente, a primeira coisa a perceber é que existem vários níveis de roteadores e roteamento.

O primeiro bit do roteamento é realmente feito pelo seu PC e sua tabela de roteamento. Parte da tabela de roteamento inclui um destino de 0.0.0.0, que é uma captura de tudo que não sabe como se rotear especificamente, portanto, envia esse tráfego para o gateway padrão. A tabela de roteamento controla as redes locais às quais está conectada e, para qualquer coisa que não conhece, usa esse gateway padrão.

Em seguida, o seu roteador doméstico e o modem a cabo. Ambos são semelhantes na natureza em que são MUITO básicos. Eles realmente só sabem sobre as redes que estão em ambos os lados deles. Eles também usam tabelas de roteamento, que são bastante simples, e também têm uma captura similar em todas as rotas para qualquer coisa que não conhecem, para que possam passar o tráfego.

Uma vez que o tráfego chega ao seu ISP e além, você entra em roteadores muito complexos, que têm muitas interfaces para permitir várias rotas e têm tabelas de roteamento MUITO complexas. Esses roteadores podem custar US $ 500.000 ou mais. Eles usam principalmente o BGP (Border Gateway Protocol) para manter suas tabelas de roteamento atualizadas dinamicamente, para que possam encontrar a rota mais curta e, se um determinado roteador ao longo dessa rota cair, podem redirecionar o tráfego. Eles conversam com outros roteadores regularmente para descobrir quais caminhos estão abertos e atualizam suas tabelas de roteamento com base nisso.

link

No que diz respeito ao modo como o tráfego encontra o caminho de volta, quando você envia um pacote de dados, há um cabeçalho que rastreia de onde veio e para onde está indo.

Eu não tenho certeza do que você estava perguntando no final.

    
por 28.07.2011 / 05:20
2

Estou tentando responder a essa pergunta antiga na esperança de ajudar alguém que esteja procurando por algo assim. Além disso, por favor, deixe-me saber se cometi algum erro.

Para que as informações fluam do seu computador para um servidor da Web na Internet, há muitos componentes, dispositivos e algoritmos diferentes em reprodução, mas nos concentraremos nos algoritmos de rede que tornam isso possível.

Acredito que há principalmente duas tecnologias da Internet que desempenham o papel mais importante em tornar possível o fluxo de informações entre seu computador e um servidor da web da Internet. O protocolo de roteamento e NAT.

Vamos nos concentrar no pacote IP, pois é a unidade de dados em que o protocolo de roteamento e o NAT funcionam.

  1. Quando o pacote IP enviado do seu navegador para o servidor da Internet alcança o roteador doméstico, ele é inspecionado e tem seu IP de origem alterado do IP da LAN local do remetente original para o do IP público do roteador doméstico e roteado para o IP de destino. Esta tradução é registrada na tabela de conexões . Esse é o trabalho do NAT .
  2. Se o destino fizer parte da rede do IP público do roteador, ele será enviado para esse IP, caso contrário, ele será avaliado na tabela de roteamento para uma correspondência. Se o roteador não conseguir encontrar um, encaminha o pacote para seu próprio gateway padrão. Esse processo continua até que um roteador encontre uma correspondência. Isto onde o protocolo de roteamento entra em jogo .
  3. Se nenhuma rota foi encontrada, uma mensagem de destino inacessível do host ICMP de destino é enviada ao host de origem.
  4. Quando o host final é encontrado, ele aceita os pacotes IP que ele decompõe, processa a solicitação contida e envia uma resposta. A resposta terá em seu IP de destino o IP do roteador de origem.
  5. A resposta seguirá o mesmo processo seguido pela solicitação até alcançar o originador. Note que quando os pacotes tomam uma certa rota para o seu destino, eles NÃO precisam necessariamente ter a mesma rota de volta.
  6. Assim que alcançar o IP da Internet de destino, o roteador corresponderá ao tráfego de entrada em relação à tabela de conexão, executará a conversão reversa e, em seguida, encaminhará os pacotes para a máquina apropriada.

É assim que os pacotes IP fluem do navegador para o servidor web de destino.

  • Existem4ligaçõesporqueachoqueapáginaqueabriutilizou4pedidosdiferentesparacriarapágina.
  • Oclientequeiniciaaconexãopodeusarqualquerportadeorigemdisponível.Estaportaseráreservadatemporariamenteemusoatéqueambasasmáquinasconcordememfecharaconexão.AIANAsugereusarointervalo49152a65535paraessaschamadas"portas efêmeras". Os servidores da Web geralmente são executados na porta 80, a porta padrão para o tráfego HTTP, para que os clientes enviem suas solicitações para visualizar uma página da Web nessa porta.
  • No roteador doméstico, a raia é um instantâneo da tabela de conexões do roteador.
  • No servidor SuperUser, a raia é um instantâneo das conexões estabelecidas com o servidor.

A tabela de conexões garante a exclusividade, usando principalmente a combinação de IP de origem, porta de origem, IP de destino e porta de destino. Obviamente, o fator mais importante para determinar a exclusividade é a porta de origem, portanto, no caso de um host interno diferente tentar usar uma porta de origem existente, o roteador alterará essa porta e as notas alteradas na tabela de conexões

Isso deve responder a todas as suas perguntas, exceto esta, É possível estabelecer uma conexão com um computador controlado por um roteador, de fora desse roteador, ou seja, você pode direcionar um pacote para um computador não conectado diretamente à Internet?

Se você conhece a porta NAT usada no roteador para um IP específico da Internet e é capaz de falsificar os pacotes IP e enviá-los ao roteador enquanto o roteador tiver sua porta NAT aberta, então, teoricamente, isso deve ser possível, mas estou Certifique-se de que a maioria dos roteadores usa mais parâmetros para identificar a exclusividade e a autenticidade dos pacotes IP.

Eu usei as seguintes referências para construir minha resposta:

por 02.11.2015 / 08:30
0

Não tenho certeza se estou entendendo isso corretamente, mas darei meu melhor palpite. Você perguntou "É possível estabelecer uma conexão com um computador controlado por um roteador?" Eu estou supondo que você está se referindo ao acesso remoto. Você pode usar algo como vnc ou desktop remoto ou isso. Se você está falando de dois PCs conectados através da internet, confira VPN. Se você quer dizer que alguém atribui um ip de outro, então seria uma conexão servidor / cliente e por uma WAN teria que ser algo como uma VPN.

O pacote TCP contém as informações para o destino da LAN dentro do pacote.

    
por 28.07.2011 / 04:48
0

O que você está falando aqui não é realmente roteamento, mas a tradução de endereços de rede, como realizada por um "firewall" ou um roteador, combinada com o roteamento. O roteador / firewall está mantendo uma tabela de estados (mapeamento) dos endereços e portas de origem e destino das sessões que passam por ela. O roteamento normal não faz essa tradução e é sem estado.

    
por 28.07.2011 / 05:39