Página 1 de 1

Conversor Ethernet-Serial - via Socket

MensagemEnviado: 04 Jan 2008 08:28
por mourao
Olá estou desenvolvendo uma aplicação onde o PC envia uma mensagem ethernet, chega em um rádio modem que passa a mensagem serial, como o receptor é ethernet precisei passar esta mensagem por um conversor serial-ethernet.

Verifiquei uma forma de fazer isto e vi que pela configuração de socket do conversor era possível, pois as mensagens são em UDP/IP.

Talvez minha dúvida seja mais conceitual sobre socket:

Pelo que sei socket é um intermediário da aplicação com a porta de comunicação ethernet, possibilitando que mais de uma aplicação possa utilizar a mesma porta, por exemplo o browser, é possível abrir várias janelas mas todas são pela mesma porta do PC, 80.

No conversor pelo canal serial você configura até quatro intervalos de endereços IP que são "roteadas" por portas, por exemplo:
IP 172.10.10.1 até 172.10.10.10 vai para porta 1000
IP 172.10.10.11 até 172.10.10.20 vai para porta 2000.

Mas não consigo entender como o conversor entende que a mensagem serial (que é somente dado) entende em qual intervalo de IP pertence.

Será que a mensagem serial deve ser no mesmo formato do frame ethernet ?

Não achei em nenhum lugar explicando direito o que é socket ou em vários sites de conversores de como funciona, somente que encapsula as mensagens (dado) no frame ethernet.

MensagemEnviado: 08 Jan 2008 08:56
por zielpunkt
Olá, mourao.

Dentro da minha ignorancia no assunto, vou tentar passar algumas poucas informações sobre a sua dúvida. TCP/IP (ou UDP/IP) é um assunto sinistro, pra maioria dos mortais. Quando preciso entender algo um pouco mais profundo, me arrepia. Prefiro ver como uma caixa preta que leva os dados onde eu preciso. E ponto.

Voltando ao assunto, um Socket é um termo abstrato de software utilizado quando se mapeia (pelas camadas do protocolo IP) uma determinada Porta (TCP ou UDP) em conjunto com um endereço de rede. É a partir desse mapeamento que se consegue identificar a origem dos dados numa rede. Ou seja, os teus dados são sempre associados à camada do protocolo IP e é o Socket o elemento de software responsável em armazenar e tratar essas associações. O seu conversor serial/ethernet também possui um socket pra essa finalidade.

Desculpe se falei muita bobagem ai.
Abço.

MensagemEnviado: 08 Jan 2008 13:55
por mourao
zielpunkt escreveu:Olá, mourao.

Dentro da minha ignorancia no assunto, vou tentar passar algumas poucas informações sobre a sua dúvida. TCP/IP (ou UDP/IP) é um assunto sinistro, pra maioria dos mortais. Quando preciso entender algo um pouco mais profundo, me arrepia. Prefiro ver como uma caixa preta que leva os dados onde eu preciso. E ponto.

Voltando ao assunto, um Socket é um termo abstrato de software utilizado quando se mapeia (pelas camadas do protocolo IP) uma determinada Porta (TCP ou UDP) em conjunto com um endereço de rede. É a partir desse mapeamento que se consegue identificar a origem dos dados numa rede. Ou seja, os teus dados são sempre associados à camada do protocolo IP e é o Socket o elemento de software responsável em armazenar e tratar essas associações. O seu conversor serial/ethernet também possui um socket pra essa finalidade.

Desculpe se falei muita bobagem ai.
Abço.


Olá zielpunkt,

Não falou bobagem não, na verdade o que você descreveu era o que eu mesmo imaginava, conforme escrito acima na minha pergunta (+/-), mais detalhado, mas serviu para fortalecer meu conceito.

Desta maneira me leva a crer que se eu mandar uma mensagem puramente dado da minha aplicação, o conversor não irá identificar o intervalo de endereço IP a enviar.
Desta maneira então, tenho que transmitir junto ao meu dado um cabeçalho UDP (no mínimo) para que o conversor entenda:
--------------- --------
|UDP header| DADO |
-------------- ---------

sendo que no UDP header há: IP orgem;
Porta origem;
IP destino;
Porta destino.

MensagemEnviado: 12 Jan 2008 16:54
por jeanfernandes
Bom

Eu nunca vi um conversor desses. Por favor coloca ae a marca e modelo.
Eu uso o tibbo (EM-202) que abre apenas uma conexao, dai fica facil de entender. Fiquei curioso.

T+.

MensagemEnviado: 13 Jan 2008 15:07
por osmarcf
o cabeçalho UDP e o ethernet também...

Se quiser ver o que está trafegando na rede, recomendo o uso do wireshark (http://www.wireshark.org) (antigo ethereal), para ouvir o que o seu PC envia.

Creio que os dados devem ir junto com o cabeçalho UDP, IP e o Ethernet (a cada camada que se desce no modelo OSI, acrescenta-se um cabeçalho).
Uma busca por "osi model" retornou esta figura: http://www.cs.indiana.edu/classes/a338/images/osi_headers.gif
Busca por "udp header": http://www.networksorcery.com/enp/protocol/udp.htm

O conversor deve ouvir a rede e quando o endereço e porta estiver na faixa que ele aceita, o pacote é tratado e transferido para a serial.

Na empresa em que trabalho, usamos o CS8900 e o sistema opera assim: fica ouvindo a rede e quando IP:porta coincidirem com o armazenado na memória de um uC, o pacote é tratado e utilizado. Para enviar, ele tem que transmitir o cabeçalho Ethernet, IP, UDP e então os dados.

Espero ter ajudado de alguma forma...

MensagemEnviado: 14 Jan 2008 07:31
por mourao
jeanfernandes escreveu:Bom

Eu nunca vi um conversor desses. Por favor coloca ae a marca e modelo.
Eu uso o tibbo (EM-202) que abre apenas uma conexao, dai fica facil de entender. Fiquei curioso.

T+.


Os conversores mais comuns realmente fazem o link de um-para-um, este eu também não conhecia é um Moxa NPort 6450. Pelos manuais e pela configuração dele verifiquei que era possível.

MensagemEnviado: 14 Jan 2008 07:33
por mourao
osmarcf escreveu:o cabeçalho UDP e o ethernet também...

Se quiser ver o que está trafegando na rede, recomendo o uso do wireshark (http://www.wireshark.org) (antigo ethereal), para ouvir o que o seu PC envia.

Creio que os dados devem ir junto com o cabeçalho UDP, IP e o Ethernet (a cada camada que se desce no modelo OSI, acrescenta-se um cabeçalho).
Uma busca por "osi model" retornou esta figura: http://www.cs.indiana.edu/classes/a338/images/osi_headers.gif
Busca por "udp header": http://www.networksorcery.com/enp/protocol/udp.htm

O conversor deve ouvir a rede e quando o endereço e porta estiver na faixa que ele aceita, o pacote é tratado e transferido para a serial.

Na empresa em que trabalho, usamos o CS8900 e o sistema opera assim: fica ouvindo a rede e quando IP:porta coincidirem com o armazenado na memória de um uC, o pacote é tratado e utilizado. Para enviar, ele tem que transmitir o cabeçalho Ethernet, IP, UDP e então os dados.

Espero ter ajudado de alguma forma...



Coneço o Wireshark e inclusive o utilizo aqui na empresa. A forma como um conversor fica funcionando é desta maneira mesmo, este modelo que passei a pouco funciona da mesma forma, você configura estes parâmetros.
Ele possui um endereço IP e uma porta de escuta, assim como configura uma porta de envio.

MensagemEnviado: 28 Fev 2008 00:44
por anderson bertolo
jeanfernandes escreveu:Bom

Eu nunca vi um conversor desses. Por favor coloca ae a marca e modelo.
Eu uso o tibbo (EM-202) que abre apenas uma conexao, dai fica facil de entender. Fiquei curioso.

T+.


Olá Jean Fernandes.

Vc tem como dar uma força de como configurar o modulo EM202 eu estou com muitas dificuldades.

Se vc tiver um "hello world" já seria de grande ajuda.

Estou usando um at89c51ed2.

abraço