Esta questão deve ser específica para uma rede doméstica.
Todos os computadores Windows, Linux e MacOS têm um nome de host. Além disso, os computadores MacOS possuem um nome de computador e um nome de host local. E quando um dispositivo é conectado a uma rede doméstica, uma entrada DHCP é criada possivelmente com um nome diferente.
Todos esses nomes podem ser diferentes e não encontrei muita utilidade para a maioria deles. No MacOS, além da consulta na linha de comando, parece haver pouca ou nenhuma utilidade para o nome do computador. O nome do host local aparentemente é usado pelo Bonjour para identificar o computador. Por padrão, o nome do host não está definido. Se definido, o comando hostname retornará esse nome, mas se não for definido, o nome do host local será retornado.
No Linux, o nome do host parece ter pouca utilidade além de identificar o computador executando o comando hostname. No Windows, existe um valor retornado por hostname mas não encontrei nenhum outro uso para ele. Talvez algo em um servidor Wins?
Não tenho certeza de onde o DHCP obtém os nomes que usa. Para meu computador MacOS, ele não usa nenhum nome de computador, nome de host local ou nome de host. Para meu computador Linux, o nome do DHCP é igual ao nome do host do computador; isso é por acaso ou o Linux fornece esse nome? Alterei o nome do host no computador Linux e reiniciei-o, mas o nome do DHCP não mudou.
Só posso mapear um computador ou nome de host para um endereço IP estático adicionando uma entrada no arquivo /etc/hosts, portanto, em geral, todos esses nomes parecem ser de pouca utilidade.
Então, para que todos esses nomes são realmente usados?
Costumava ir para WINS, sim - e da mesma forma, descoberta de nomes locais NetBIOS em locais que não tinham um servidor WINS, para que você pudesse
ping Jimputer
acessar seu computador pela rede doméstica. É exatamente como o Bonjour no macOS.Na verdade, tanto o Windows quanto o Linux também usam o nome de host para o mesmo Bonjour do macOS – sob o nome de Avahi no Linux, ou o mDNS genérico de forma mais ampla. Hoje em dia, WINS e NetBIOS NBNS não são mais uma coisa – se você tentar acessar um nome de host local no Windows, o problema será resolvido primeiro pelo Bonjour.
Mas observe que o Bonjour/mDNS é duas coisas: ele pesquisa o nome do host, mas também faz a descoberta de serviços . O primeiro é o que usa o 'nome do host' curto, mas o último - destinado a mostrar o seu computador na lista "Rede" - usa o 'nome do computador' longo, que pode incluir quaisquer caracteres especiais porque não deve ser digitado. em qualquer lugar.
Esta parte de "descoberta de serviço" do Bonjour destina-se explicitamente a imitar como a rede funcionava no AppleTalk (Mac OS Classic), onde nomes de host como tais não existiam (nem SSH, Ping ou terminais). Impressão em rede, acesso ao servidor de arquivos, tudo funcionava por meio de nomes de serviço de formato livre selecionados em uma lista e, portanto, “nome do computador” era a identidade principal de um Mac em uma rede AppleTalk. Os nomes de host só chegaram aos Macs com TCP/IP e com o OSX baseado em Unix.
Normalmente é fornecido pelo nome do host do sistema, sim. O Windows sempre faz isso; no Linux depende de qual dos 100 clientes DHCP diferentes você usa, mas geralmente o nome do host do sistema é usado por padrão.
Embora em LANs pequenas o nome do host geralmente alcance o DNS local via DHCP, esse não é o único método – em redes maiores com Active Directory, o Windows também envia uma 'ATUALIZAÇÃO' de DNS para o nome do host do sistema diretamente para o servidor AD DNS.
Observe também que o macOS, por padrão, também usará o nome do host do DHCP, se a concessão fornecer um. (Você costuma ver pessoas aqui confusas sobre por que eles têm
[email protected]
um prompt de shell.) Então agora você também tem dois parâmetros: um é o nome do host permanente configurado manualmente (em /etc/hostname no Linux), o outro é o temporário, nome do host atualmente ativo (nohostname
comando no Linux).E é assim que você tem três no total:
Por fim, o mesmo nome de host do sistema também é normalmente usado por vários recursos de terceiros devido à facilidade com que é acessível aos programas (tradicionalmente, há uma chamada de API muito simples para recuperá-lo). Por exemplo, ele atua como um rótulo de dispositivo padrão no Dropbox, no Syncthing, no Steam ou no Spotify; mesmo que o sistema operacional não o utilize necessariamente muito, outros softwares encontram muitos usos.
A resposta curta é: é uma confusão de bagagem herdada de um longo histórico de resolução de nomes incompatíveis e protocolos de descoberta de serviços com regras diferentes, como conjuntos de caracteres permitidos e limites de comprimento.
Portanto, o nome de um host pode ser diferente dependendo do protocolo usado para fazer a pergunta.
Nunca convergiu para um único sistema amplamente compatível e provavelmente nunca o fará. Cada sistema operacional tem uma estratégia diferente para controlar essa bagunça – como tentar gerar um nome baseado em outro ou permitir que você personalize cada um separadamente – o que só aumenta a complexidade ao trabalhar em várias plataformas.