Tag Archives: ip

Redes – Protocolos e suas Camadas – Parte 01

Neste artigo, eu descreveu sobre os protocolos ligados as camadas do modelo TCP/IP. Primeiramente para se descrever sobre os protocolos de rede, devemos saber o que é um protocolo de rede.

O protocolo de rede define regras e convenções para a comunicação entre dispositivos de redes. Os protocolos para as redes de computadores geralmente usam técnicas de comutação de pacotes para enviar e receber mensagens em forma de pacotes.

Os protocolos de redes incluem mecanismos para identificar dispositivos e criar conexões uns com os outros, o que pode ser muito util em um ambiente de negócios ou mesmo para organizar um escritório como em http://www.casino.com/pt/, assim a intercomunicação entre redes pode ter muitas formas de uso.

 

Protocolos da Camada Host-Rede

A única especificação desta camada é que o host deve ser conectar com a rede utilizando um protocolo, para que seja possível enviar pacotes Ip. Este protocolo não é definido e varia de host para host e de rede para rede.

 

Protocolos Camada Inter-rede

  • Protocolo IP
  • Protocolo ARP
  • Protocolo ICMP

 

Protocolo IP

O protocolo Ip é o protocolo mais importante desta camada. Ele é responsável pelo endereçamento e roteamento de pacotes entre hosts e redes. O serviço deste pacote é não orientado a conexão, portanto não confiável. O pacote pode chegar desordenado, duplicado ou nem mesmo chegar, portanto se é necessário ter confiabilidade na transmissão, o mesmo deve ser repassado a camada de transporte. Esse protocolo tem a capacidade de tomar decisões de roteamento.

 

Endereçamento IP

O endereçamento Ip as seguintes características:

  • no datagrama deve-se identificar o host de origem e o de destino ;
  • identificação feita pelo endereço IP ;
  • identificador único que identifica não uma máquina, mas uma conexão à rede ;

O formato do endereçamento Ip é de 32 bits, separados em identificação de Host e identificação de Redes. Sua representação é definida em números decimais e separados por pontos (Ex. 192.168.1.2). Junto a esse formato de endereçamento, os ips foram separados em classes de IP.

A classe de endereçamento define quantos bits serão utilizados para definir o Host (hostid) e quantos bits serão usados para identificar a Rede(netid). Defini também o número de hosts e redes por rede.

 

Classes do IP

A classe A defini uma rede com um vasto número de hosts. O bit de maior grau numa classe A é sempre 0, os próximos 7 bits (preenchendo o primeiro octeto) completam a identificação de rede e os 24 bits restantes (os últimos 3 octetos) representam a identificação do host . Um endereço classe A permite 126 redes e 16.777.214 hosts por rede .

A classe B defini uma rede com um número médio de hosts. Os 2 bits de maior grau em uma classe B são sempre os valores binários (10), os próximos 14 bits (preenchendo o primeiro e o segundo octeto) completam a identificação de rede e os 16 bits restantes (os últimos 2 octetos) representam a

identificação do host . Um endereço classe B permite 16.384 redes e 65.534 hosts por rede .

A classe C defini pequenas redes . Os 3 bits de maior grau em uma classe C são sempre os valores binários (110) , os próximos 21 bits (preenchendo os 3 primeiros octetos) completam a identificação de rede e os oito bits restantes (o último octeto) representam a identificação do host. Um endereço classe C permite 2.097.152 redes e 254 hosts por rede .

Os endereços da classe D são reservados para endereçamento IP de Multicast , os quatro bits de maior grau em uma classe D são sempre os valores binários (1110) e os bits restantes são utilizados para endereçamento dos hosts reconhecidos como interessados.

Os endereços de classe E é um endereçamento experimental que está reservado para uso futuro os quatro bits de maior grau em uma classe E são sempre (11110 ) .

Temos também alguns endereços especiais. O endereço 0.0.0.0 para roteamento default, e o 127.0.0.1 que é o endereço de loopback. Ainda possuímos endereços reservados. Endereços com bits do host 0 (em binário) identificam a rede . 16.0.0.0 para classe A, 145.235.0.0 para classe B, 200.19.73.0 para classe C. Endereços com bits do host 1(1 em binário, 255 em decimal) identificam broadcast . 16.255.255.255 para broadcast classe A, 145.235.255.255 para broadcast classe B, 200.19.73.255 para classe C.

Temos também alguns endereços reservados para serem usadas em redes privadas. São eles: Classe A 10.0.0.0 , Classes B 172.16.0.0 a 172.32.0.0 e Classes C 192.168.0.0. a 192.168.255.0 .

 

Classes de IP

Classes de IP

 

Protocolo Arp

O endereço IP é utilizado para roteamento, ou seja, a escolha do caminho ideal em determinada circunstância e o instante para a conexão entre dois nós. Para solucionar o problema de mapear o endereço de nível superior, no caso IP, para endereço físico, no caso Ethernet foi criado o Address Resolution Protocol ou protocolo ARP. O ARP permite que um host encontre o endereço físico de um host destino, tendo apenas o seu endereço IP. Apesar de ter sido criado especificamente para uso com IP sobre Ethernet, devido à forma que foi implementado, seu uso não está restrito a este ambiente.

Dividido em duas partes, sendo que a primeira determina endereços físicos quando manda um pacote, e a segunda responde os pedidos de outros hosts. Antes de enviar, o host consulta seu cache ARP procurando o endereço físico. Caso encontre o endereço, o anexa no frame e envia acrescentando os dados. Caso o host não encontre o endereço, é feito um broadcast de pedido ARP. A segunda parte do código do ARP manuseia os pacotes recebidos da rede. Quando chega um pacote, o programa extrai e examina o endereço físico e IP para verificar se já existe a entrada no cache e atualiza novamente sobrescrevendo os endereços. Após isso o receptor processa o resto do pacote sendo que isso ocorre em dois tipos de entradas.

No primeiro tipo de entrada, é feito um pedido ARP de um outro host, o receptor envia o endereço físico ao emissor e armazena o endereço do emissor no cache. Se o endereço IP do pacote recebido não for igual do receptor, o pacote ARP é ignorado. No segundo tipo de entrada, é a resposta de um pedido ARP, que após verificar a entrada no cache ARP, o receptor verifica primeiro a resposta com o pedido ARP enviado anteriormente. Enquanto o receptor espera pela resposta, as aplicações podem gerar outros pacotes que geralmente esperam na fila. Após verificar o endereço IP, o receptor atualiza os pacotes com o mesmo. O ARP retira os pacotes da fila depois de fornecer os endereços.

O funcionamento do protocolo ARP consiste no envio de um frame em broadcasting com endereço IP do destino, o qual responde com um datagrama contendo o seu endereço IP e o endereço físico. A máquina que gerou o broadcasting passa a usar o endereço físico do destino para enviar seus datagramas.

O Protocolo Arp tem um cache que é uma lista de endereços o qual é mantido para reduzir o número de requisições broadcast para amenizar o uso da rede e prevenir as interrupções da rede.

Os dados nos pacotes do ARP não possuem um cabeçalho de formato fixo, ao contrário de outros protocolos. A mensagem é montada para ser utilizada em diferentes redes. Por isso, o primeiro campo no cabeçalho indica os comprimentos dos campos seguintes. O ARP pode ser usado com endereços físicos e protocolos arbitrários. Ao contrário da maioria dos protocolos, o pacote ARP não alinha no tamanho de 32-bits.

 

Protocolo Arp

Formato ARP

 

Protocolo ICMP

O Protocolo Icmp é utilizado para a transmissão de mensagens de erro ou outras mensagens destinadas ao TCP/IP. Este protocolo não se destina a aplicações de utilizadores sendo usado somente para controlo de erro. Um exemplo deste protocolo surge quando num sistema Unix fazemos telnet à máquina A e recebemos a mensagem de erro – host unreachable, esta é uma mensagem ICMP a dizer que que a máquina A não está disponível

O ICMP implementa a função Echo, através da qual um pacote é enviado a um host com fins de teste (echo request) . O host que recebe uma requisição então responde a quem a originou (echo reply) . Essa função é utilizada pelo PING para determinar a possibilidade de comunicação com determinado host e o tempo de resposta desse host .

As mensagens do pacote ICMP estão listadas na figura abaixo:

 

 

Mensagens Protocolo ICMP

 

O Formato da Mensagem é apresentado na figura abaixo:

 

Formato Mensagem ICMP

 

 

Bibliografia

Redes – Modelo TCP IP

O Modelo TCP/IP tem o mesmo objetivo do Modelo OSI, que é a de definir um modelo padrão de camadas para a implementação de camadas na arquitetura da rede. A principal diferença entre o Modelo TCP/IP e o zodelo OSI é o número de camadas, sendo que o primeiro possui 4 camadas e o segundo 7. O nome do Modelo se dá pelos 2 principais protocolos utilizados. Um dos seus principais objetivos era habilidade de conectar várias sub-redes de maneira uniforme, queriam ainda que as conexões permanecessem intactas enquanto origem e destinos estivessem funcionando mesmo que hosts intermediários parassem.

 

Modelo de Camadas TCP/IP

Modelo TCP/IP


Camada 1: Camada Host / Rede

Esta camada não é bem definida pelo modelo, e nenhum livro comenta ao certo o que acontece nesta fase. Porém o que se sabe é que essa camada é responsável por estabelecer uma conexão por qualquer protocolo que possa enviar pacotes IP. E mais um porém é que este protocolo não é definido, isto é, varia de rede para rede e de host para host.

 

Camada 2 : Camada Internet

Esta camada é responsável por permitir que hosts enviem pacotes à qualquer rede e garantam que os mesmo trafeguem até o seu destino. Ela é equivalente a camada de rede do Modelo OSI.

Por existir a necessidade de interligar várias redes diferentes, esta camada diz que toda a informação a ser transmitida deve ser divididas em pacotes antes de ser enviadas ao seu destino, tendo um padrão definido pelas próprias especificações do modelo. Ela tem como protocolo principal o protocolo IP (Internet Protocol). Ela também tem a tarefa de fazer o roteamento dos pacotes, isto é, analisar a rota e indicar o melhor caminho, sem congestionamentos, para que o pacote chegue ao seu destino. Os pacotes enviados podem chegar todos fora de ordem deixando a tarefa de organiza-los para as camadas superiores.

 

Modelo de Camadas OSI & TCP/IP

Comparação: OSI vs TCP/IP


Camada 3: Camada Transporte

Esta camada é equivalente a camada de Transporte do Modelo OSI. Sua função é permitir a conversação entre dois hosts, um origem e outro destino. Como forma de garantir que os dois hosts se comuniquem, foram definidos 2 protocolos nesta camada. O UDP e o TCP.O protocolo UDP é usado em uma entrega de pacotes de forma não confiável, pois ele não garante que os pacotes cheguem ou cheguem sem erros, definindo que o protocolo UDP é um protocolo não orientado a conexão, por essas características citadas acima. Uma analogia pode ser feita as transmissões de rádio, pois as mesmas enviam sinais ao seu rádio porém não garantem a clareza dos sons. Ao mesmo tempo que a transmissão está limpa e clara, em um breve ou longo momento pode existir chiados. Programas de transmissão de vídeos e áudio utilizam esse protocolo.

O protocolo TCP é usado na entrega de pacotes de forma confiável. Como seu próprio nome diz (TCP – Transmission Control Protocol – Protocolo de Controle de Transmissão) é usado no controle de transmissão garantindo que o pacote chegue ao seu destino, e garantido que o mesmo esteja livre de erros. Essas características definem o protocolo como um protocolo orientado a conexão. Caso um pacote não chegue ao seu destino ou chegue danificado, o mesmo é retransmitido. Uma analogia pode ser feita aos Ars dos correios, pois se os mesmos não chegam ao seu destino, você escreve um novo e manda novamente.

 

Camada 4: Camada de Aplicação

Esta camada é a camada que convivemos diariamente quando lidamos com redes. E através dela que fazemos nossas requisições para executarmos determinadas tarefas em nossa rede. Lidamos com ela através de softwares que utilizam protocolos da Camada de Aplicação para executar as tarefas que solicitamos. Alguns exemplos de protocolos são: Telnet, FTP e SMTP.

Uma vez que o dado de uma aplicação foi codificados dentro de um padrão de um protocolo da camada de aplicação ele será passado para a próxima camada da pilha IP. Na camada de transporte, aplicações irão em sua maioria fazer uso de TCP ou UDP, e aplicações servidoras são freqüentemente associadas com um número de porta.

 

Bibliografia