Postado Sex 5 Ago 2011 - 2:04
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.
Criado por Pedro Pinto em 2 de Novembro de 2009 | 52 comentários
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 é:
Como é que as conversas entre eles vão parar às janelas correctas em cada máquina?
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:
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:
Portos conhecidos: 0 a 1023
Portos registado: 1024 a 49151
Portos atribuídos dinamicamente ou privados: 49152 a 65535
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:
Fonte: pplware
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.
Criado por Pedro Pinto em 2 de Novembro de 2009 | 52 comentários
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 é:
Como é que as conversas entre eles vão parar às janelas correctas em cada máquina?
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:
Portos conhecidos: 0 a 1023
Portos registado: 1024 a 49151
Portos atribuídos dinamicamente ou privados: 49152 a 65535
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 |
Fonte: pplware