WirelessBR |
WirelessBr é um site brasileiro, independente, sem vínculos com empresas ou organizações, sem finalidade comercial, feito por voluntários, para divulgação de tecnologia em telecomunicações |
Estudo do IP móvel e sua aplicação em sistemas de comunicações móveis para tráfego de dados (5) |
Autor: Aurélio Corbioli Neto |
2.2.1 Camada Física e de Enlace de Dados
Como o TCP/IP suporta diferentes meios de comunicação na camada física, a camada de Enlace de Dados tem a função de controlar e adequar o acesso de protocolos na camada de rede aos diferentes Device Drivers disponíveis, de acordo com as interfaces configuradas no sistema.
As tecnologias mais comuns utilizadas atualmente como mídia para a camada física são a Ethernet, Token Ring, Fast Ethernet, FDDI “Fiber Distributed Data Interface”, linhas seriais tipo RS-232, entre outras.
São atribuições da camada de enlace de dados para o protocolo TCP/IP:
- Disponibilizar uma interface clara entre as camadas de rede e física, independentemente do meio de comunicação utilizado;
- Métodos para enfileiramento de pacotes na entrada e saída;
- Resolução de endereços através dos protocolos ARP e RARP;
- Permitir a operação de múltiplas interfaces no sistema.
Não é função específica desta camada a entrega confiável de pacotes, e sim, apenas um serviço baseado no Melhor Esforço
[1].
Por ser a tecnologia predominante para redes locais atualmente, alguns aspectos adicionais para a tecnologia Ethernet são apresentados aqui.
O termo Ethernet se refere ao padrão publicado em 1982 por um consórcio das empresas Digital Equipment Corporation, Intel Corporation e Xerox Corporation.
Posteriormente o IEEE "Institute of Electrical and Eletronics Engineers” publicaram um outro conjunto de padrões para tipos de redes baseadas nas tecnologias CSMA/CD - padrão 802.3, Token Bus - padrão 802.4 e Token Ring - padrão 802.5.
Foi definido ainda o padrão 802.2 que é o que define o Controle de Enlace Lógico LLC, comum a estas três tecnologias.
O que ocorre é que da combinação dos padrões 802 e 802.3 resulta um formato de frame diferente do formato da Ethernet original.
Desta maneira são encontradas duas formas diferentes para encapsulamento de dados para os protocolos TCP/IP, definidas nas RFC894 para Ethernet e RFC1042 para a IEEE 802.
2.2.2 Camada de Rede
Na camada de rede temos os protocolos IP “Internet Protocol”, ICMP “Internet Control Message Protocol” e o IGMP “Internet Group Management Protocol”.
Tanto o ICMP quanto o IGMP utilizam-se do IP para envio de seus pacotes.
O IP é o protocolo de rede responsável pela entrega de pacotes de todos os protocolos a partir da camada de rede, pertencentes ao conjunto TCP/IP. Ele define a unidade básica de transferência para o TCP/IP, o datagrama, que consiste do cabeçalho IP e dos dados definidos pelos protocolos que o utilizam.
O fato de ser normalmente utilizado pela camada de transporte não impede que o IP seja utilizado diretamente pela camada de aplicação, porém este tipo de aplicação acaba por perder muitas das funcionalidades providas por outros protocolos, discutidas adiante.
O módulo IP será abordado com mais profundidade, bem como a sua função básica, que consiste em prover um serviço de entrega de datagramas sem conexão, não confiável e de melhor esforço, além de executar o roteamento de pacotes na rede.
O protocolo ICMP também contido na camada de rede do TCP/IP é utilizado para o envio de mensagens de erro e de requisições e respostas, e é apresentado detalhadamente neste capítulo.
O protocolo IGMP tem sua função básica no gerenciamento de grupos para difusão parcial na rede conhecida por MultCast , aplicada a Hosts que permitam este tipo de difusão em função de sua camada física. Ele também utiliza-se do IP para envio de suas mensagens, sendo considerado um protocolo da camada de rede.
2.2.2.1 IP Internet Protocol
Diz-se que o IP provê um serviço não confiável por não existir garantia na entrega dos pacotes enviados pelo IP ao seu destino. Desta forma o pacote pode ser perdido, duplicado, sofrer atraso e ser entregue fora de ordem, sem que tais situações sejam notadas, ou seja, nem o originador, nem o destinatário da mensagem são notificados.
Por não ser um protocolo orientado a conexão, o IP não mantém qualquer informação dos sucessivos datagramas por ele enviados, e cada pacote é tratado independentemente dos outros.
A única garantia que o IP oferece aos protocolos que o utilizam é que um serviço de melhor esforço é aplicado para a entrega do pacote.
Características como serviço orientado a conexão e a garantia de entrega devem ser supridas pelas camadas superiores por outros protocolos que compõem o TCP/IP (TCP ou UDP).
O protocolo IP utiliza-se de um cabeçalho que antecede a porção de dados do datagrama.
O tamanho deste cabeçalho pode variar entre um mínimo de 20 a um máximo de 60 bytes, dependendo das opções utilizadas.
Este cabeçalho está ilustrado na figura 2.3 e a aplicação de cada um destes campos é detalhada em seguida.
- Versão:
Versão atual do IP. A versão utilizada neste trabalho é a 4, conhecida por IPv4, sendo que já existem propostas para uma nova versão, a IPv6 ou IPng "IP Next Generation". Toda implementação IP deve verificar a versão para se certificar da compatibilidade.
- Comprimento do Cabeçalho:
É o número de palavras de 32 bits no cabeçalho. Sendo este campo de 4 bits.
Figura 2.3 - Cabeçalho IP
- Tipo de Serviço:
É composto por um campo de precedência de 3 bits, campo ignorado atualmente.
Outro campo de 4 bits para designar o Tipo de Serviço, como por exemplo: Minimizar atraso, Maximizar throughput, Maximizar Confiabilidade e Minimizar Custo Monetário.
Na [RFC 1340] tem-se uma descrição de como os bits do Tipo de Serviço devem ser utilizados para cada tipo de aplicação, embora a maior parte dos Hosts e Gateways não empreguem esta característica. Caso nenhum destes bits seja utilizado é assumido pelo IP um serviço normal. O último bit não é utilizado.
Figura 2.4 - Campos para Controle do Tipo de Serviço IP
- Comprimento Total:
Indica o tamanho total do datagrama IP em octetos. Utilizando-se o Comprimento do Cabeçalho é possível calcular onde se inicia e qual o tamanho da porção de dados do datagrama. Sendo um campo de 16 bits pode-se concluir que o tamanho máximo de um datagrama IP é de 65535 bytes, embora este tamanho deva ser fragmentado para a “Unidade de Transferência Máxima” MTU admitida pela camada física, normalmente menor que os 65535 do
IP. - Identificação: Este campo identifica cada datagrama enviado, e é um valor incrementado a cada novo datagrama enviado por um Host. Quando existe a necessidade de fragmentação este valor é copiado em todos os fragmentos.
- Deslocamento do Fragmento:
Indica o deslocamento para remontagem de um fragmento pertencente a um datagrama maior.
- Tempo de Vida:
Define o limite máximo de roteadores pelos quais o datagrama pode passar, limitando assim o tempo de vida do datagrama. Cada um dos roteadores deve decrementar o valor iniciado pelo Host origem e, quando este valor chega a zero, o datagrama é descartado pelo roteador e uma mensagem ICMP é gerada como notificação ao Host origem.
- Protocolo:
Identifica de qual protocolo pertence a porção de dados do datagrama. Desta forma é possível fazer a demultiplexagem dos datagramas recebidos.
- Checksum do cabeçalho:
Utilizado para efetuar o cálculo de checksum do cabeçalho do datagrama pois o cálculo de checksum para a área de dados já é coberto pelos demais protolocos (ICMP,IGMP,UDP e TCP) que se utilizam do serviço de transporte do IP. O cálculo do checksum é feito da seguinte forma: primeiro é atribuído o valor zero ao campo do checksum, então é calculada a soma do complemento de 1 dos campos de 16 em 16 bits, finalmente este novo valor é atribuído ao campo de cabeçalho.
- Endereço IP fonte:
Indica o endereço IP do Host fonte, que originou o datagrama na rede.
- Endereço IP destino:
Indica o endereço IP do Host destino, que deve receber o datagrama na rede.
- Opções:
Este campo tem um tamanho variável que deve respeitar o tamanho máximo de cabeçalho permitido pelo IP (tamanho não adequado para a aplicação de algumas opções). O campo de opções pode ou não ser utilizado e o mesmo indica opções nem sempre suportadas por todos os Hosts, e que são raramente utilizadas.
Algumas destas opções são:
- Segurança e Manipulação (Descrita na RFC 1108, usada para aplicações militares);
- Gravação de Rota (Cada roteador deve gravar seu endereço no datagrama);
- Roteamento fonte não restrito (Indica os endereços IP pelos quais o datagrama deve passar no seu trajeto, não estando restrito somente a eles);
- Roteamento fonte restrito (Indica os endereços IP pelos quais o datagrama deve passar no seu trajeto, estando restrito somente a estes endereços).
[1] O termo ‘Melhor Esforço’ se refere a
protocolos que embora não garantam a entrega dos dados, só