Como um computador sabe quando está on-line e quando não está?

3

Eu estava trabalhando no firmware do meu roteador hoje e precisei reiniciá-lo para concluir a atualização. Então notei que minha internet foi desconectada por um minuto e o computador voltou a ficar on-line quando a inicialização foi concluída. Como ficou sabendo que está online tão preciso?
 Ele executa testes de ping contínuos em seus gateways e depois na Internet em algum lugar? Em caso afirmativo, isso pode causar um ping-of-death em algum servidor no mundo?

    
por Rudolph 20.12.2013 / 20:26

3 respostas

4

Você pode ser "desconectado" de várias maneiras diferentes, então como ele detecta que você está desconectado pode variar:

  • Cabo fisicamente desconectado

    Se a sua conexão com fio ficar fisicamente desconectada, obviamente, a NIC saberá que o circuito foi cortado. Isso é como uma luz desligada porque fica desconectada.

  • Cabo desconectado logicamente

    Se a sua conexão com fio se desconectar logicamente (o cabo ainda está conectado, mas o modem ou roteador estiver desligado), a NIC ainda sabe, porque o circuito ainda foi tecnicamente cortado. É como se a luz ainda estivesse sendo ligada, mas a energia se apaga. Você também notará que o LED de status do link na NIC (figura 1) e no roteador (figura 2) é desativado.

  • Sem fio desconectado logicamente

    É um pouco mais complexo com uma conexão sem fio. Se o modem ou roteador sem fio se apagar, o adaptador sem fio pode detectar a conexão perdida porque, mesmo que não haja conexão física, as ondas de rádio ainda comporta-se como uma conexão física direta e o circuito no módulo de rádio NICs é projetado para detectar um sinal sem fio, ou a falta dele. (É claro que os detalhes vão além do escopo deste site e são mais adequados para Engenharia Elétrica .)

  • Desconectado da Internet

    Outra maneira de experimentar a desconexão é da Internet como um todo. Isso é semelhante à desconexão lógica porque o adaptador de rede ainda está conectado. O que é diferente é que, nesse caso, até mesmo o modem ou o roteador ainda está ativo e ativo, e você pode até acessar a rede local, se houver. Isso é de fato determinado pelo ping, mas não pelo gateway, mas sim por um servidor fora da rede; isto é, algo na Internet.

    No Windows, a partir do Vista, se você está conectado à Internet ou não, é feito ping regularmente em um servidor da Microsoft. Isso é feito pelo NCSI, não deve ser confundido com o programa de televisão com um acrônimo similar. O indicador de status de conectividade de rede é uma função do Windows que busca um arquivo fictício de uma das duas URLs da Microsoft (dependendo de você estar usando IPv4 ou IPv6). Se conseguir o arquivo, ele não faz nada, mas se falhar, indica falta de conexão com a Internet (figura 3).

    É apenas suposto fazer isso de vez em quando, não continuamente (veja a seção Triggers da página NCSI), mas algumas pessoas descobriram que isso acontece mais de uma vez em quando (embora isso provavelmente se deva a uma conexão escamosa que fica ativa para que o Windows continue verificando novamente). No entanto, você pode alterá-lo para seu próprio servidor ou desativá-lo imediatamente.

Figura 1 : LED de link em uma porta Ethernet

Figura2:LEDsdeconexãoemumroteador

Figura 3 : serviço NCSI da Microsoft relatando falta de conexão com a Internet

    
por 20.12.2013 / 23:19
6

Does it run continuous ping tests to your gateways and then to the internet somewhere?

Não.

Não é como se você precisasse de uma conexão com a Internet para que o computador possa detectar se está ou não conectado a uma rede em si. Tente desconectar o cabo entre o seu roteador (ou modem de banda larga) e o mundo maior; você notará que o computador não percebe qualquer desconexão, porque, no que lhe diz respeito, você ainda está conectado a uma rede. Que a rede não permite que você acesse uma rede em particular (a Internet) é uma questão muito diferente. (Você pode usar exatamente as mesmas tecnologias e exatamente o mesmo equipamento usado na Internet para construir uma rede completamente separada. Não seria a Internet, mas sim um computador, a menos que você sondasse um host conhecido específico com propriedades conhecidas, seria completamente indistinguível da Internet.)

Ou use um switch de rede alimentado aleatoriamente e conecte um cabo de rede entre ele e o computador, mas nada mais; há um link, de acordo com o computador, mas você não vai conseguir absolutamente nada.

O que o computador faz detecta é a perda do elo elétrico na porta de rede. Tecnicamente, ele detecta a perda do < um href="https://en.wikipedia.org/wiki/OSI_model#Layer_1:_physical_layer"> físico ou possivelmente o link de dados link da camada. Esse fato é (explicação simplificada aqui) relatada pelo hardware para o sistema operacional, que pode, então, relatá-lo ao usuário da maneira que julgar adequada, inclusive de maneira alguma.

Por exemplo, o Linux simples emite algo muito parecido com kernel: networkdriver 0000:02:00.0: eth0: link down (onde 0000:02:00.0 é um identificador de hardware do sistema para a placa de rede e eth0 é um identificador lógico) no sistema registro. Aplicativos do espaço do usuário, como por exemplo o NetworkManager, podem obter as mesmas informações e reportá-las de uma forma mais amigável. O Windows, se um usuário estiver logado, obterá basicamente as mesmas informações, mas as exibirá em uma mensagem pop-up que diga algo como "desconexão de rede detectada".

    
por 20.12.2013 / 20:50
1

Nenhum ping constante é necessário

Seu computador detectou pela primeira vez a perda de conectividade da camada Ethernet - o que significa que a corrente elétrica não estava mais presente em sua porta ethernet (soquete físico onde o cabo está conectado). Você também notará a luz verde pela porta ethernet desligada - isso acontece quando o cabo ethernet é retirado de uma das duas extremidades. Mais tarde, quando seu roteador voltou a ficar on-line, a eletricidade foi detectada primeiro e a luz ficou verde. Muito em breve após , também o ícone na bandeja do sistema do PC mostrou que a conexão de rede está funcionando. Nesse ponto, a camada IP pode ser considerada operacional e o computador sabe que pode enviar e receber pacotes IP, pois sabe que pode se conectar ao roteador.

Dê uma olhada no modelo de camada de rede OSI. link

A resposta é que o programa ping opera em nível de camada de rede , mas seu computador (como um sistema usando suas diferentes partes integradas pelo software) está "ciente" de todas as camadas. Portanto, se a camada mais básica for interrompida ao desconectar o fio - isso acontece no nível da camada física (no fio - geralmente na Ethernet). O adaptador de rede está constantemente recebendo sinais de envio na camada física. Você pode compará-lo com a operadora na rede telefônica analógica. Se você pegar um receptor de telefone fixo, poderá ouvir o tom da operadora. Se você não ouvir, você sabe que a linha telefônica não está funcionando. Da mesma forma, o computador "sabe" que o fio Ethernet está desconectado em ambas as extremidades, porque não há "portador" (se usarmos este símile). Portanto, não há necessidade de usar constantemente o ping para o computador saber que ele está conectado a uma rede física.

Lembre-se também que quando falamos de ping estamos falando apenas de pilha de protocolos TCP / IP (particularmente seu protocolo ICMP). Para ilustrar como as conexões da Internet funcionam para navegadores da Web, considere isso. Normalmente, quando o seu navegador Firefox deseja buscar uma página de um URL (por exemplo, link ), ele primeiro pergunta ao computador qual é o endereço IP do tinyurl.com. O sistema usando sua biblioteca de resolvedor consulta um servidor DNS que fornece a resposta como 195.66.135.249. O Firefox, então, pede ao seu computador para obter a página padrão do site tinyurl.com. Seu computador estabelece uma conexão TCP com o computador com o IP 195.666.135.249 e envia a mensagem do protocolo http solicitando a página da Web padrão. O tinyurl.com então envia de volta a página padrão através do protocolo http que viaja pelo "pipeline" virtual criado pelo protocolo TCP. Isso talvez lhe dê uma idéia de como partes diferentes dos protocolos TCP / IP interagem e ilustra que há várias maneiras de como um computador pode "saber" se está conectado à rede física, à rede local e à Internet.

Para um melhor conceito de camadas, talvez você deva examinar alguns diagramas e mais teorias em link . A idéia principal seria que os protocolos em cada nível podem "fingir" falar com o mesmo nível de protocolo no computador remoto e realmente não precisam saber muito sobre outros protocolos, apenas como receber / passar mensagens para o nível superior / inferior protocolos. Tenho certeza que você vai encontrar analogia com as letras recheadas, muito útil.

Você verá no modelo OSI - o conjunto TCP / IP não é o único protocolo de rede disponível. Alguns anos atrás, os protocolos IPX / SPX do Netware estavam melhor estabelecidos em configurações de rede de escritório e o TCP / IP era um tipo de novato. O cabo, em seguida, muitas vezes foi coaxial não par trançado ethernet.

    
por 20.12.2013 / 20:43