Existem várias maneiras pelas quais um processo em execução em um host pode identificar outro host, e as informações específicas usadas depende do protocolo de comunicação e do objetivo da interação. Aqui estão alguns métodos comuns:
Nível de rede: *
Endereços IP: A maneira mais fundamental de identificar um host é através de seu endereço IP. Este é um rótulo numérico atribuído a cada dispositivo em uma rede. Os processos podem enviar dados diretamente para outro host usando seu endereço IP.
*
nomes de domínio: Embora não sejam usados diretamente pelos processos, os nomes de domínio são resolvidos em endereços IP usando o Sistema de Nome de Domínio (DNS). Isso permite que os processos se referam aos hosts de nomes legíveis por humanos em vez de endereços numéricos.
*
Endereços Mac: Endereços físicos exclusivos das interfaces de rede. Embora não sejam usados diretamente para a identificação do host na maioria dos protocolos, os endereços MAC são usados para encaminhamento de dados na camada de rede.
Camada de transporte: *
números de porta: Usado para identificar serviços específicos em execução em um host. Os processos podem se conectar a um serviço específico em um host remoto especificando seu número de porta.
*
Endereços de soquete: Combine endereços IP e números de porta para identificar exclusivamente uma instância de serviço específica em um host.
Camada de aplicação: * nomes de usuário e senhas: Usado para autenticar usuários conectados a serviços remotos, que identificam indiretamente o host.
*
Identificadores dentro dos protocolos: Protocolos específicos podem ter seus próprios mecanismos para identificar hosts. Por exemplo, um servidor HTTP pode usar um cabeçalho de host em uma solicitação HTTP para identificar o servidor pretendido.
Outros: *
nomes de host: Embora não sejam usados diretamente para comunicação de rede, os nomes de host são frequentemente usados para facilitar a identificação de máquinas específicas, especialmente em ambientes internos.
Exemplo: Imagine um processo no seu computador deseja acessar um servidor da web. Pode usar as seguintes informações:
1.
dns: O processo resolve primeiro o nome de domínio "www.example.com" em seu endereço IP (por exemplo, 192.168.1.100).
2.
Endereço IP: O processo usa esse endereço IP para estabelecer uma conexão.
3.
Número da porta: O processo pode especificar a porta 80 (a porta padrão para HTTP), indicando que deseja se conectar ao serviço HTTP do servidor da Web.
4.
Cabeçalho do host: O processo pode enviar uma solicitação HTTP com um cabeçalho "host:www.example.com" para especificar ainda mais o servidor pretendido dentro da rede maior.
Por fim, as informações específicas usadas para identificar outro host depende do protocolo de comunicação específico e dos requisitos do aplicativo.