Como o Ubuntu sabe que está conectado à Internet?

0

Como o Ubuntu sabe se estou conectado à Internet ou não? Parece saber por causa das notificações que ele mostra quando eu conecto ou desconecto (ou o gerenciador de rede não é o SO?)

Como os serviços de sincronização em segundo plano sabem quando estou conectado e quando sincronizar dados?

O sistema operacional tem um indicador (algo do tipo: estamos on-line, vamos sincronizar ou fazer o que você quiser) ou depende de programas individuais para testar cada período de tempo para verificar a conectividade?

Existe algo semelhante ao Indicador de status de conectividade do Windows em que A Microsoft detecta a conectividade com a Internet (não apenas com qualquer conectividade de rede) ?

Estou perguntando porque às vezes eu me conecto à Internet através do script sakis3g usando o modem USB, e o status do gerenciador de rede fica off-line quando faça isso. Então, eu estava me perguntando se os serviços de segundo plano sabem se estou conectado ou não (ou eu tenho que dizer a eles mesmos) ...

    
por amyassin 15.01.2013 / 12:25

2 respostas

3
% bl0ck_qu0te%

Não tem conhecimento disso. Ele só sabe sobre configuração de interface local e tabelas de roteamento IP nesse sentido. Se eles funcionam ou não, não é algo para o sistema operacional acompanhar. As aplicações descobrirão isso sozinhas. Por exemplo. Um navegador da Web que atingirá o tempo limite de solicitações.

Por que essa não é a tarefa do sistema operacional? A conexão pode ser limitada intencionalmente por razões de segurança, por exemplo, usando um proxy.

% bl0ck_qu0te%

Não, essa é apenas a conexão local da sua interface que está informando o status de. Quando a configuração IP estiver concluída (estática ou DHCP), ela será conectada. A conexão com a internet é de responsabilidade do seu gateway na sua rede.

% bl0ck_qu0te%

Eles terão que descobrir isso sozinhos.

% bl0ck_qu0te%

Não. O Ubuntu não faz chamadas para o mundo externo para verificar se há conectividade real com a Internet.

    
por gertvdijk 15.01.2013 / 15:36
0

Bem, você não pode se conectar à Internet. Você só pode se conectar a computadores específicos na Internet. Portanto, uma questão mais sensata é: Algum processo está monitorando se máquinas específicas na Internet estão acessíveis ou não?

O sistema operacional e vários utilitários de configuração do lado do cliente mantêm informações sobre a configuração da rede de área local e local, possivelmente incluindo o endereço de um gateway. E vários processos do lado do cliente tentam periodicamente acessar máquinas específicas na Internet.

Se você quiser saber se pode ou não acessar uma máquina arbitrária na Internet, pode fazer algo como ping 8.8.8.8 .

    
por jdthood 15.01.2013 / 13:58