Pplware

Como é que o meu MSN comunica com o teu?

Porque é que quando escrevo no meu MSN, a conversa vai parar à tua janela do MSN e não a outra?

Certamente já se questionaram como comunicam duas aplicações, como comunicam dois computadores e como comunicam duas aplicações entre dois computadores. Durante este fim de semana colocaram-me essa questão e deixo aqui um artigo para partilhar com vocês a resposta. A explicação não entrará em detalhes por forma a que todos entendam.

Vou dar como exemplo o MSN

Considerando que existem 2 (ou mais) computadores e que têm instalado o MSN. Num computador está o António (IP: 192.168.10.1) e no outro o João (IP: 192.168.10.2) e estão em conversação.

A questão que se coloca é:

Nisto da comunicação de computadores há 2 coisas que devemos saber: endereço IP (que identifica univocamente uma máquina) e o porto ou porta (que identifica a aplicação). A combinação do número do porto e do endereço IP identifica univocamente um processo a correr numa determinada máquina. Esta combinação tem o nome de socket.

Assim, o CHAT entre o António e o João pode ser estabelecido porque existe um IP para cada máquina e um porto para cada aplicação/janela. Algo do tipo:

192.168.10.1: 49201 <—–> 192.168.10.2: 49746

Onde:

192.168.10.1 – Computador do António 192.168.10.2 – Computador do João
49201 – Janela de MSN do António 49746 – Janela de MSN do João

Assim sendo, por cada aplicação/janela aberta na nossa máquina é atribuído dinamicamente um porto, e assim podemos comunicar com essa aplicação/janela um vez que o IP irá identificar a máquina e o porto essa janela . No caso de termos 5 janelas do msn abertas, por cada janela existe um porto associado, no entanto o IP da máquina é sempre o mesmo.

Que portos existem?

A IANA (Internet Assigned Numbers Authority) é um órgão responsável pela designação de vários padrões de endereçamento, incluindo os portos.

Existem diferentes tipos tipos de número de portos:

Como ver os portos no meu computador?

Normalmente costumo usar o comando netstat –ano, para verificar quais os processos de comunicação existentes.

No entanto, já aqui falamos no pplware no currports que tem um aspecto gráfico mais interessante, sendo assim mais fácil identificar as aplicações:

Considerando o nosso exemplo e a imagem anterior:

192.168.192.2 – Computador do António 207.46.125.77 – Computador do João
6015 – Janela de MSN do António 1863 – Janela de MSN do João

Nota: Este é apenas um exemplo de como comunicam as aplicações. No caso do MSN sabemos que existem servidores intermédios para gestão das sessões.

No próximo artigo vamos explicar o funcionamento de socket em servidores HTTP.  Estejam atentos

Exit mobile version