CAMADA DE REDE: PROTOCOLO E ENDEREÇAMENTO IP
Prof. Alexandre Timm Vieira
Nesta unidade temática, você vai aprender
Funções da Camada de Rede;
Protocolo IP;
Endereçamento IP.
Introdução
Normalmente, LANs não operam de forma isolada. Elas são conectadas entre si ou à Internet. Para Interligar LANs, ou segmentos de LAN, usamos dispositivos de conexão que operam na camada de rede.
Este material abordará esse escopo das redes de computadores, a Camada de Rede e o seu principal protocolo, o IP (Internet Protocol), bem como o seu formato de endereçamento, o Endereço IP.
Camada de Rede - Protocolo e Endereçamento IP
Em particular, a camada de rede movimenta segmentos da camada de transporte de um hospedeiro para outro. No hospedeiro remetente, o segmento da camada de transporte é passado à camada de rede. Então, fica a cargo da camada de rede levar o segmento ao hospedeiro destinatário e passá-lo pilha de protocolos acima até a camada de transporte. É exatamente o modo como a camada de rede movimenta um segmento da camada de transporte de um hospedeiro de origem até a camada de transporte de um hospedeiro de destino o assunto deste material. Veremos que, diferentemente da camada de transporte, a camada de rede envolve todos os hospedeiros e roteadores presentes na rede. Por causa disso, os protocolos de camada de rede estão entre os mais desafiadores da pilha de protocolos.
A figura a seguir, mostra uma rede simples com dois hospedeiros (Host) um roteador (camada de inter-rede) no caminho. O papel da camada de rede no hospedeiro remetente é dar início à jornada do pacote até o hospedeiro receptor. Por exemplo, se H1 estiver enviando pacotes a H2, a camada de rede do hospedeiro H1 transferirá esses pacotes para seu roteador vizinho. No hospedeiro receptor, a camada de rede recebe o pacote de seu roteador vizinho e o entrega à camada de transporte em H2. O papel primordial dos roteadores é “comutar” pacotes de enlaces de entrada para enlaces de saída. Note que o roteador da figura é mostrado com a pilha de protocolos truncada, isto é, sem as camadas superiores acima da camada de rede, porque (exceto para finalidades de controle) os roteadores não rodam protocolos de camada de transporte e de aplicação.
Fique de olho!
O papel da camada de rede é aparentemente simples - transportar pacotes de um hospedeiro remetente a um hospedeiro destinatário. Para fazê-lo, três importantes funções da camada de rede podem ser identificadas:
Determinação do trajeto. A camada de rede deve determinar a rota ou o trajeto tomado pelos pacotes ao fluírem de um remetente a um destinatário. Os algoritmos que calculam esses trajetos são chamados de algoritmos de roteamento. Um algoritmo de roteamento determinaria, por exemplo, o trajeto ao longo do qual os pacotes fluíram de H1 para H2.
Comutação. Quando um pacote chega à entrada de um roteador, este deve conduzi-lo até o enlace de saída apropriado. Por exemplo, um pacote proveniente do hospedeiro H1 que chega ao roteador R1 deve ser repassado ao roteador seguinte no trajeto até H2.
Estabelecimento de conexão. Algumas arquiteturas da camada de rede (por exemplo, ATM) exigem que os roteadores ao longo do trajeto escolhido desde a fonte até o destino troquem mensagens entre si com a finalidade de estabelecer um estado antes que os dados realmente comecem a fluir. Na camada de rede, esse processo é chamado de estabelecimento de conexão. A camada de rede da arquitetura Internet não realiza nenhum estabelecimento de conexão desse tipo.
Os protocolos que não tenham camada de rede poderão ser usados apenas em pequenas redes internas. Esses protocolos normalmente usam apenas um nome (ou seja, endereço MAC) para identificar o computador em uma rede. O problema dessa abordagem é que, à medida que a rede cresce em tamanho, torna-se cada vez mais difícil organizar todos os nomes, como, por exemplo, certificar-se de que dois computadores não estão usando o mesmo nome.
Os protocolos que suportam a camada de rede usam uma técnica de identificação para os dispositivos que garante um identificador exclusivo. Sendo assim, como esse identificador se diferencia de um endereço MAC, que também é exclusivo?
Os endereços MAC usam um esquema de endereçamento contínuo que torna difícil localizar os dispositivos em outras redes. Os endereços da camada de rede usam um esquema de endereçamento hierárquico que permite que endereços exclusivos atravessem os limites das redes, tendo, juntamente com isso, um método para encontrar um caminho para os dados trafegarem entre as redes.
Os esquemas de endereçamento hierárquico permitem que as informações atravessem uma internetwork, juntamente com um método para encontrar o destino de modo eficiente. A rede de telefone é um exemplo do uso de endereçamento hierárquico. O sistema telefônico usa um código de área que designa uma área geográfica para a primeira parada das chamadas (salto). Os três dígitos seguintes representam a troca local (segundo salto). Os dígitos finais representam o telefone de destino individual (o salto final).
Os dispositivos de rede precisam de um esquema de endereçamento que permita que eles encaminhem pacotes de dados através de internetwork. Existem vários protocolos de camada de rede com esquemas de endereçamento diferentes que permitem que os dispositivos encaminhem os dados através de uma internetwork (IPX, IP, X.25 e etc).
O único jeito do host B alcançar o host A é usando um plano de endereçamento que permita ao host B alcançar o host A. Sem a ajuda da camada de rede, o host B não consegue determinar onde reside o host A.
Segmentação das Redes
Há dois motivos principais para a necessidade de se ter várias redes:
Crescimento do tamanho das redes;
Número de redes.
Quando uma LAN, MAN ou WAN se expandir, poderá tornar-se necessário ou conveniente para o controle do tráfego na rede dividi-la em pedaços menores chamados de segmentos de rede (ou apenas segmentos). O resultado é que a rede torna-se um grupo de redes, cada uma exigindo um endereço separado.
Já existe um grande número de redes: redes isoladas de computadores são comuns em escritórios, escolas, empresas, negócios e países.
Fique de olho!
Embora seja conveniente fazer com que redes isoladas (ou sistemas autônomos, se cada uma for gerenciada por uma única administração) se comuniquem entre si pela Internet, elas devem fazer isso com esquemas de endereçamento razoáveis e dispositivos de internetworking apropriados.
Caso contrário, o fluxo do tráfego na rede se tornaria seriamente prejudicado e nem as redes locais, nem a Internet, funcionariam.
Os roteadores tomam decisões lógicas relativas ao melhor caminho para a entrega dos dados em uma internetwork e depois direcionam os pacotes para a porta de saída e segmento apropriados. Os roteadores pegam os pacotes dos dispositivos da LAN (por exemplo, estações de trabalho) e, baseados nas informações da camada 3, os encaminham através da rede. Na verdade, o roteamento, algumas vezes, é chamado de switching da camada 3.
A determinação do caminho ocorre na camada 3 (camada de rede) e permite que um roteador avalie os caminhos disponíveis para um destino e estabeleça a forma preferível de lidar com um pacote. Os serviços de roteamento usarão as informações da topologia da rede quando estiverem avaliando os caminhos da rede. A determinação do caminho é o processo que o roteador usa para escolher o próximo salto no caminho para que o pacote trafegue em direção ao seu destino. Esse processo é também chamado de rotear o pacote.
A determinação do caminho para um pacote pode ser comparada a uma pessoa dirigindo um carro de um lado de uma cidade ao outro. O motorista tem um mapa que mostra as ruas por onde precisa seguir para chegar ao seu destino. O caminho de um cruzamento a outro é um salto. De forma semelhante, um roteador usa um mapa que mostra os caminhos disponíveis para um destino.
Os roteadores também podem tomar suas decisões baseados na densidade do tráfego e na velocidade do link (largura de banda), como um motorista pode optar por um caminho mais rápido (uma estrada) ou usar uma rua com menos movimento.
O endereço de rede ajuda o roteador a identificar um caminho dentro da nuvem da rede. O roteador usa o endereço de rede para identificar a rede de destino de um pacote dentro de uma internetwork.
Para alguns protocolos da camada de rede, um administrador de rede atribui endereços de rede de acordo com algum plano predeterminado de endereçamento da internetwork.
Para outros protocolos da camada de rede, a atribuição dos endereços é parcialmente, ou completamente, dinâmica/automática. Além do endereço de rede, os protocolos de rede usam algum tipo de endereço de host ou nó.
O endereçamento ocorre na camada de rede. As analogias anteriores de um endereço de rede incluem as primeiras partes (o código de área e os primeiros três dígitos) de um número de telefone. Os dígitos restantes (os quatro últimos) de um número telefônico, que dizem ao equipamento da companhia telefônica que telefone específico ligar, são como a parte do host de um endereço, que diz a um roteador para que dispositivo específico ele deve entregar o pacote.
Protocolo IP – Datagramas da Camada de Rede
O Internet Protocol (IP) é a implementação mais popular de um esquema de endereçamento de rede hierárquico. O IP é o protocolo de rede que a Internet usa.
À medida que as informações fluem pelas camadas do modelo OSI, os dados são encapsulados em cada camada. Na camada de rede, os dados são encapsulados dentro de pacotes (também conhecidos como datagramas). O IP determina a forma do cabeçalho IP do pacote (que inclui o endereçamento e outras informações de controle) mas, não se preocupa com os dados reais: aceita tudo que é passado pelas camadas superiores.
O pacote/datagrama da camada 3 torna-se os dados da camada 2, que são encapsulados em quadros. Analogamente, o pacote IP consiste em dados de camadas superiores mais um cabeçalho IP, que consiste em uma parte fixa de 20 bytes e uma parte opcional de tamanho variável, podendo chegar a 40 bytes, totalizando 60 bytes de cabeçalho.
O cabeçalho é ilustrado a seguir.
Legenda
Versão (4 bits): versão do protocolo IP (IPv4, por exemplo).
Tam Cab – Comprimento do Cabeçalho (4 bits): tamanho do cabeçalho em palavras de 32 bits.
Tipo de Serviço (8 bits): tipo do serviço e qualidade desejada.
Tamanho total (16 bits): tamanho em bytes do datagrama completo (dados + cabeçalho) 216 = 65535 bytes (inclui cabeçalho);
Identificação (16 bits): nro. de sequência que identifica um fragmento de um datagrama que tenha sido fragmentado;
Flags (3 bits): apenas dois são empregados, (a) bit More (mais fragmentos) e (b) bit Don’t fragment (não fragmente);
Intervalo de Fragmento (offset) (13 bits): informa a que ponto do datagrama atual o fragmento pertence;
Tempo de Vida (8 bits): limita o tempo máximo de vida de um datagrama na inter-rede, medindo o tempo em saltos (roteadores), permitindo uma vida útil máxima de 255 saltos;
Protocolo (8 bits): indicação do protocolo do nível superior (Camada de Transporte). Exemplo: 1=ICMP; 6=TCP; 17=UDP;
Checksum (Soma de Verificação) (16 bits): controle de erros apenas no cabeçalho do datagrama, verificado e recalculado a cada roteador;
Endereço de origem (32 bits): host da origem da transmissão (endereço IP abordado a seguir);
Endereço de destino (32 bits): host do destino da transmissão (endereço IP abordado a seguir);
Opções (variável): informações adicionais para roteamento, gerência e segurança;
Enchimento (Padding) (variável): bytes adicionais inseridos para deixar cabeçalho múltiplo de 32 bits;
Área de Dados (variável): múltiplo de 8 bits.
O endereço IP
O endereço IP contém as informações que são necessárias para rotear um pacote através da rede. Todos os campos de endereços de origem e destino contém um endereço de 32 bits. O campo do endereço de origem contém o endereço IP do dispositivo que envia o pacote. O campo de destino contém o endereço IP do dispositivo que recebe o pacote.
Estrutura do Endereço IP
Um endereço IP é representado por um número binário de 32 bits. Para uma breve revisão, lembre-se de que cada dígito binário pode ser apenas 0 ou 1. Em um número binário, o valor do bit mais à direita (também chamado de bit menos significativo) é 0 ou 1. O valor decimal correspondente a cada bit dobra conforme você se move para a esquerda no número binário. Portanto, o valor decimal do 2º bit da direita é 0 ou 2. O terceiro bit é 0 ou 4, o quarto bit é 0 ou 8 etc.
Os endereços IP são expressos como números decimais com pontos: divide-se os 32 bits do endereço em quatro octetos (um octeto é um grupo de 8 bits). O valor decimal máximo de cada octeto é 255 (o maior número binário de 8 bits é 11111111, e esses bits, da direita para esquerda, têm os valores decimais 1, 2, 4, 8, 16, 32, 64 e 128, totalizando 255).
Qual é o valor decimal do octeto realçado na figura anterior? Qual é o valor do bit da extremidade esquerda? E do próximo bit? Como esses são os 2 únicos bits ativados (ou definidos), o valor decimal é, então, 128+64 = 192.
O número de rede de um endereço IP identifica a rede à qual um dispositivo está conectado, enquanto a parte do host de um endereço IP identifica o dispositivo específico na rede. Como os endereços IP consistem em quatro octetos separados por pontos, um, dois ou três desses octetos podem ser usados para identificar o número de rede. De forma semelhante, até três desses octetos podem ser usados para identificar a parte do host de um endereço IP.
Referências
FOROUZAN, Behrouz A. Comunicação de Dados e Redes de Computadores. 3. ed. Bookman, 2006.
KUROSE, James F. Redes de Computadores e a Internet – Uma abordagem top-down. 6. ed. Pearson Education, 2013.
COMER, Douglas E.; STEVENS, David L. Interligação em Redes com TCP/IP. Vol. I. Princípios, protocolos e Arquitetura. 4. ed. Campus, 2006.
COMER, Douglas E. Redes de computadores e internet: abrange transmissão de dados, ligação inter-rede, WEB e aplicações. 6. ed. 2016.
HELD, Gilbert. Comunicação de dados. Tradução Vandenberg Dantas de Souza. Rio de Janeiro: Campus, 2002.
SOARES, Luiz Fernando Gomes; LEMOS, Guido; COLCHER, Sérgio. Redes de computadores: das LANS, MANS e WANS às redes ATM. 2. ed. Rio de Janeiro: Campus, 2000. 705 p.
SOUSA, Lindeberg Barros de. Redes de computadores: dados, voz e imagem. 6. ed. São Paulo: Érica, 2002.
TANENBAUM, Andrew S. Redes de Computadores. 5. ed. Campus, 2011.
Créditos
Coordenação e Revisão Pedagógica: Claudiane Ramos Furtado
Design Instruncional: Luiz Specht
Diagramação: Marcelo Ferreira
Ilustrações: Rogério Lopes
Revisão ortográfica: Igor Campos Dutra