Hosts que suportam IP deve também apoiar a ICMP

O Internet Control Message Protocol (ICMP)

Hosts que suportam IP também deve apoiar a Internet Control Message Protocol (ICMP) definido pela RFC 792: Internet Control Message Protocol. ICMP é um protocolo básico para enviar mensagens. Alguns usos comuns para ICMP são para enviar uma mensagem de ping para saber se um host está disponível na rede e obter os endereços IP dos roteadores locais. ICMP viajar mensagens em datagramas IP. O campo protocolo do cabeçalho IP é 1 para indicar ICMP. O primeiro byte na parte de dados do datagrama ICMP é um tipo de código que determina o formato dos dados que se segue. RFC 792, RFC 950 e RFC 1256 define os códigos listados na Tabela 4-5 e ter mais detalhes sobre o formatos de mensagens.

Trocar mensagens usando UDP e TCP

  

Esta seção explica como UDP e TCP ajudar a obter dados para o seu destino. Quer saber mais sobre como funcionam os protocolos podem ajudar na escolha qual protocolo para usar e utilizando o protocolo de forma eficaz. Também está incluída uma revisão das opções para a obtenção de código para suportar UDP, TCP e IP em sistemas embarcados. O padrão Ethernet especifica uma forma de transferir informações entre computadores em uma rede local. Mas Ethernet sozinho não prevê algumas coisas que muitas transferências de dados requerem. Estes incluem nomes do porto, ou processo, que está enviando os dados, nomeando a porta que vai utilizar os dados no destino, handshaking para informar a fonte se o destino recebeu os dados, controle de fluxo de dados para ajudar a chegar ao seu destino com rapidez e fiável, seqüência e numeração para assegurar que o destino sabe a ordem correta para mensagens que chegam em vários segmentos. O protocolo de controle de transmissão (TCP) pode fornecer todos estes. O protocolo de datagrama de utilizador (UDP) é uma alternativa mais simples para as transferências de dados que requerem apenas precisando de portos ou de verificação de erro. Tabela 5-1 compara UDP e TCP. Artigo Network 5-2 mostra a localização da UDP e TCP em uma pilha de protocolo de rede. UDP e TCP comunicar com a camada IP ea camada de aplicação. Algumas aplicações não requerem UDP ou TCP, e podem se comunicar diretamente com a camada IP ou o controlador Ethernet.

Sobre Sockets e Portos

Todo o UDP eo TCP é a comunicação entre dois pontos, ou soquetes. Cada socket tem um número de porta e um endereço IP. Em um frame Ethernet, o endereço de origem e os campos Endereço de Destino identificar o envio e recebimento de interfaces Ethernet. A comunicação UDP ou TCP especifica o destino mais precisamente através da nomeação de um porto no destino. Cada comunicação TCP também nomes de uma porta de origem que identifica o prestador dos dados enviados. Cada comunicação UDP tem uma porta de origem, mas datagramas UDP não são obrigados a incluir a fonte número de porta no cabeçalho. Porta A tomada de hardware da porta não é como as portas que acessa uma CPU utilizando INP e as instruções. Em vez disso, o número da porta identifica o processo, ou tarefa, que está fornecendo os dados enviados ou usar os dados sejam recebidos. Você pode pensar em uma tomada como uma final de uma ligação lógica entre os computadores. Ao contrário de uma ligação física, onde os fios dedicados e componentes electrónicos constituem um elo, uma ligação lógica existe somente em software.

Dados que trafegam entre soquetes que têm uma conexão lógica, não tem que tomar o mesmo caminho físico de cada vez. A Internet Assigned Numbers Authority (IANA) (www.iana.org

UDP: Just the Basics

UDP é um protocolo básico que acrescenta apenas a porta de endereçamento e detecção de erro opcional para a mensagem a ser enviada. Não existe um protocolo de handshaking para confirmar os dados recebidos ou a troca do fluxo de outras informações de controle. UDP é um protocolo sem conexão, o que significa que um computador pode enviar uma mensagem usando UDP sem primeiro estabelecer que o computador remoto está na rede ou que o especificado porta de destino está disponível para se comunicar. Por estas razões, o UDP também é chamado de um protocolo não confiável, o que significa que usando UDP sozinho, o remetente não sabe quando ou se o destino recebeu uma mensagem. O documento que define a RFC0768 UDP: User Datagram Protocolo. É também aprovado STD0006 padrão. Um computador que deseja enviar uma mensagem usando UDP coloca a mensagem em um datagrama UDP, que consiste em um cabeçalho UDP seguido pela carga de dados que contém a mensagem. No Capítulo 1 explicou, o computador de envio coloca o datagrama UDP na área de dados de um datagrama IP. Em uma rede Ethernet, o datagrama IP viaja no campo de dados de um quadro Ethernet.

Ao receber o quadro Ethernet, de rede do computador de destino pilha passa a porção de dados do datagrama UDP para o porto, ou processo, especificado no cabeçalho do datagrama. Na maioria dos casos, o UDP é menos capaz do que o TCP, o UDP é tão simples de implementar e portanto, mais adequado para determinadas aplicações. Se necessário, uma comunicação pode definir seu próprio protocolo de handshaking para o uso com UDP. Por exemplo, depois de receber uma mensagem, uma interface de recepção pode enviar uma resposta contendo um código de reconhecer ou outras informações solicitadas. Se o remetente não receber uma resposta em uma quantidade razoável de tempo, ele pode tentar novamente. Mas, se um aplicativo precisa de nada mais do que o aperto de mão ou mais básico de controle de fluxo, você deve considerar usar TCP em vez de reinventar-se para uso com o UDP. UDP tem uma capacidade não está disponível para o TCP, e que é a capacidade de enviar uma mensagem para vários destinos de uma só vez, incluindo a radiodifusão para todos os endereços IP em uma rede local e multicast para um grupo definido de endereços IP. Difusão e multicast não são práticos com TCP porque a fonte teria de aperto de mão com todos os destinos.

O cabeçalho UDP e dados

UDP Apoio em Sistemas Embarcados

Apoio UDP em um sistema incorporado requer a capacidade de adicionar um cabeçalho aos dados a transmitir e remover o cabeçalho de dados recebidos, além de suporte para IP.

Para enviar um datagrama usando UDP, um computador em uma rede Ethernet deve fazer o seguinte:

• Coloque o número da porta de destino e de comprimento de datagrama nos locais apropriados no cabeçalho UDP. O número da porta de origem e de verificação no cabeçalho são opcionais. Calculando a quantidade exige saber os endereços IP de origem e de destino.

• Acrescente os dados para enviar para o cabeçalho.

• Coloque o datagrama UDP na parte de dados de um datagrama IP. O datagrama IP requer endereços IP de origem e destino e um checksum computado no cabeçalho.

• Passe o datagrama IP para o driver do controlador Ethernet para o envio na rede. Para receber um datagrama usando UDP, um computador em uma rede Ethernet deve fazer o seguinte:

• Receber um datagrama IP do controlador do controlador Ethernet.

• Faixa de cabeçalho IP do datagrama. Calcular a quantidade de IP e comparar o resultado com o valor recebido.

• Se as somas de jogo, tira o cabeçalho do datagrama UDP. Se usar o checksum UDP, calcular o seu valor e compará-lo com a quantidade recebida.

• Utilize o número da porta de destino para decidir onde passar os dados recebidos.

Como os exemplos no início do tutorial mostrou em rede, se você estiver usando um módulo com suporte a UDP, os detalhes da criação dos datagramas, extrair dados de um datagrama recebido, e lidar com as somas de verificação é feita para você. O código do aplicativo só precisa fornecer os endereços IP, números de porta, e os dados para enviar e chamar uma função para enviar o datagrama, ou esperar para receber dados em um datagrama dirigida a uma porta específica.

um artigo submetido por Daniel R.


Isenção de responsabilidade:O nosso site não se responsabiliza pelo conteúdo deste artigo. Webarticles é uma fonte de informação livre.
Importante: Este artigo "hosts que suportam IP também deve apoiar o ICMP" foi traduzida por um software automático. Nós sentimos muito por quaisquer erros de ortografia que pode ter ocorrido. Obrigado pela sua compreensão.


Online: 390 users browsing the articles directory