Ver Feed RSS

root@blog:/# chmod o+r *

Curso de Redes: Camada de Rede - Parte 1

Avalie este Post de Blog

Leia as partes anteriores desse curso antes de prosseguir



Pessoal, estamos chegando um momento crucial do nosso curso!! Agora vamos explicar sobre o endereçamento de camada 3. Ainda é um pouco introdutório, vamos ver o básico primeiro! Vamos ver sobre máscaras, endereço de rede, endereço de broadcast, endereçamento classfull e ter um overview do conceito de hierarquia.

No final há uns exercícios para vocês fixarem mais isso! Quem quiser me enviar as respostas por e-mail, ou mensagem pessoal aqui no forum, eu irei analisar e responder!

Camada 3 - Rede (Parte 1)




Camada de Rede

Essa camada define a entrega fim a fim dos pacotes definindo um endereçamento lógico, de forma que qualquer extremidade possa ser identificada, e métodos de roteamento para que qualquer grupo existente na rede possa ser alcançado.

Diferentemente do endereço de camadas inferiores que possuem, geralmente, um significado local, este endereçamento possui um significado global isto é, será utilizado e compreendido por toda a rede. Com este endereçamento de significado global é possível definir a forma como serão encaminhados os pacotes para que cheguem ao seu destino e a forma como os roteadores (dispositivos ativos desta camada) aprendem as regras que serão utilizadas para o encaminhamento dos pacotes.

É também responsabilidade desta camada definir como fragmentar um pacote em tamanhos menores tendo em vista a MTU (Maximum Transmision Unit - Unidade de transferência máxima) da tecnologia utilizada.

MTU é o maior "pacote" que o protocolo de uma camada pode suportar.




Classificação dos protocolos de Rede

Dentre as funções da camada de rede, o endereçamento e o roteamento podem ser destacados como sendo as principais. Esses dois serviços criam uma classificação de protocolos desta camada, são eles: Protocolos Roteáveis, Protocolos de Roteamento e protocolo Não-Roteáveis.

  • Protocolos Roteáveis ou Roteados – São protocolos que especificam o endereçamento lógico referente à camada inter-rede. Os endereços especificados por estes protocolos são utilizados para a decisão de encaminhamento de um pacote. Alguns exemplos desses protocolos são o IP (Internet Protocol), o IPX (Internetwork Packet Exchange), o AppleTalk e o OSI;
  • Protocolos de Roteamento – São responsáveis pelo preenchimento da tabela de roteamento. Esses protocolos especificam como as rotas serão aprendidas e divulgadas a outros roteadores. Geralmente diz-se que entre dois roteadores é “falado” um protocolo de roteamento. Alguns exemplos desses protocolos são o RIP (Routing Information Protocol) e o OSPF (Open Shortest Path First);
  • Protocolos Não-Roteáveis - Um protocolo não-roteável é um protocolo que não pode ser encaminhado por roteadores. Geralmente isso se deve ao fato do protocolo não rodar sobre um procolo de camada 3. Alguns exemplos de protocolos não roteáveis são o DEC LAT e o NetBIOS ou NetBEUI.



O Endereçamento Hierárquico

Para que dois sistemas quaisquer se comuniquem, eles precisam ser capazes de se identificar e localizar um ao outro. Para isso cada computador em uma rede recebe um identificador exclusivo, ou endereço. Na camada de rede este endereço é composto por uma identificação de um grupo (rede) e de integrante do grupo (host). Um endereço combina esses dois identificadores em um único número.

Esta estrutura cria um endereçamento hierárquico capaz de agrupar os hosts e endereça-los como um todo (uma rede). Em um ambiente como este um host só é capaz de receber dados de um integrante do mesmo grupo que o seu. Para a intercomunicação entre redes diferentes utiliza-se um roteador que deve possuir uma interface devidamente endereçada para cada rede.


Protoclo IP

Definido no RFC-790, o IP é o protocolo roteável utilizado atualmente na Internet. Sua versão 4 (IPv4 definido na RFC-791) tornou-se o protocolo de rede mais conhecido e utilizado atualmente.
Primeiramente adotado, no final dos anos 70, pela ARPA (Advanced Research Projects Agency) do DoD (Department of Defense) dos Estados Unidos no seu projeto ARPANET, precursora da internet e primeira rede de computadores operacional baseada em comutação de pacotes. No início dos anos 80 o DoD (Department of Defense) dos Estados Unidos adotou o IPv4 como sendo o protocolo obrigatório em sua rede (No documento MIL-STD-1777).

Da mesma forma que a camada 2, a camada 3 “pega” os dados passados pela camada superior a adiciona a eles algumas informações de protocolo/controle que chamados de headers. Lembrando que esse processo de adicionar dados de protocolo é chamado de encapsulamento. O protocolo IP define um pacote composto por um cabeçalho e um campo de dados. O seu cabeçalho é composto por uma parte fixa de 20 bytes e uma parte de comprimento variável. A seguir um esquema do cabeçalho utilizado pelo protocolo IP para realizar o encapsulamento:



  • Versão - Este campo controla a versão do protocolo a que pertence o pacote;
  • HL (Header Length) – Este campo indica o comprimento do cabeçalho – uma vez que este possui comprimento variável – em palavras de 32 bits. Seu valor mínimo é igual a 5;
  • TOS (Type of Service – Tipo de Serviço) – Informa o tipo de serviço que o host deseja. Pode haver diversas combinações de confiabilidade e velocidade desejada. Esse campo é muito utilizado para prover alguns tipos de QoS;
  • Comprimento Total – Comprimento total do pacote – tanto quadro quanto cabeçalho. O comprimento máximo é de 65.536 Bytes (MTU);
  • Identificação – Permite ao host de destino determinar a que datagrama pertence um fragmento recém-chegado. Todos os fragmentos de um datagrama contêm o mesmo valor em Identificação;
  • DF (Don’t Fragment – Não Fragmente) – Este bit informa ao gateways para não fragmentar este pacote, devido ao destino ser incapaz de juntar novamente as partes;
  • MF (More Fragments – Mais Fragmentos) – Todos os fragmentos exceto o último possui esse bit ativado. Ele indica que este pacote não é o último de uma seqüência de fragmentos;
  • Offset – Informa a que posição no datagrama atual pertence o fragmento. Todos os fragmentos com exceção do último em um datagrama devem ser múltiplos de 8 bytes, a unidade elementar de fragmentos. Como é composto por 13 bits, há um máximo de 8192 fragmentos por datagrama, o que dá um comprimento máximo de 65.535 Bytes por datagrama, de acordo com o campo Comprimento Total;
  • TTL (Time to Live – Tempo de Vida) – Inicialmente configurado como 255. A cada salto este campo é decrementado. No momento que ele atingir o valor zero este pacote será descartado. Este campo foi criado para evitar que pacotes trafeguem indefinidamente na rede;
  • Protocolo – Este campo indica a qual, dentre os diversos processos da camada de transporte, pertence o datagrama. Este campo somente é analisado após a remontagem completa do quadro;
  • Checksum (Soma de Verificação) – Esta verificação diz respeito somente ao cabeçalho;
  • Endereço de Origem e Endereço de Destino – Indicam o numero de rede e de host da origem e do destino;
  • Opções – Utilizado para informações de segurança, roteamento na origem, relatório de erros, depuração, fixação da hora e outros. Também utilizado para implementação compatível de versões subseqüentes.


Antes de vermos como é um endereço IP vale a pena vermos um pouco sobre numeração binária e operações lógicas com numeros binários.




Estrutura de um endereçamento IP

Um endereço IP é uma seqüência de 32 bits (1s e 0s). Para facilitar a utilização do endereço IP ele é escrito no formato decimal pontuado. Neste formato, cada endereço é escrito em quatro partes separadas por pontos. Cada parte do endereço é denominada octeto, já que é formada de oito dígitos binários. Cada octeto varia entre 0 e 255. Esta notação evita a grande quantidade de erros de transposição ou omissão que ocorreriam se fosse usada a numeração binária.

Juntamente com o endereço IP é apresentada a máscara de rede, ou mascara de sub-rede. Esta mascara possui o mesmo comprimento que o endereço IP. A função da máscara de rede é identificar, dentro do endereço IP, a porção que identifica a rede e a porção que identifica o host. A máscara pode ser escrita de duas formas, em quatro octetos, que variam de 0 a 255, separados por pontos (da mesma forma que o endereço IP) ou por uma barra (“/”) seguida de um numero decimal que varia entre 1 e 32. O número que sucede a barra indica quantos dos 32 bits da máscara são 1s. Esta notação sempre sucede o endereço (endereço/máscara).

Para identificar a qual rede pertence, um host submete seu endereço IP e sua máscara à operação lógica AND. O resultado desta operação é o endereço de rede. O endereço de rede é usado para identificar uma rede. Nos endereços a porção que corresponde à identificação do host será sempre 0. Este endereço é utilizado pelos roteadores de uma rede para poder encaminhar um pacote para seu destino correto

Vamos tomar como exemplo o IP 192.168.1.32 e a máscara 255.255.255.0. Esse par, IP/máscara, pode ser reescrito da seguinte forma: 192.168.1.32/24. Porque /24? Vamos olhar a máscara com mais cuidado!

Primeiro converter 255 para binário: 1111 1111. Agora vamos reescrever a máscara:



Se contarmos as ocorrências do digito 1, teremos o número 24. Temos também 8 digitos 0, totalizando 32 dígitos (bits), que é o comprimento do endereço/máscara. Agora vamos ver como descobrir o endereço de Host e o endereço de rede:

Vamos converter o IP 192.168.1.32 para binário:



Vamos sobrepor a máscara e o IP e em seguida fazer um AND bit a bit:



Se convertermos o resultado da operação da AND para decimal teremos o IP 192.168.1.0, este é um endereço de rede. Se observarmos, a operação AND bit a bit, tem a função "inserir zeros", pois os zeros da mascara foi "inserido" no IP.

Agora se pegarmos a máscara, a invertermos (trocar uns por zeros) e realizar o mesmo procedimento teremos outro resultado:



O resultado será 0.0.0.32, ou somente 32. Esse é o "identificador" do host. Podemos dizer que 192.168.1.32/24 é o host 32 da rede 192.168.1.0.

Mais um exemplo: o IP 172.16.32.124 com a máscara 255.255.0.0. Se realizarmos os mesmos procedimentos, podemos reescrever como 172.16.32.124/16 e teremos a rede 172.16.0.0 e o host 32.124.

Último exemplo: o IP 10.1.16.63 com a máscara 255.0.0.0. Se realizarmos os mesmos procedimentos, podemos reescrever como 10.1.16.63/8 e teremos a rede 10.0.0.0 e o host 1.16.63.

Como visto, a máscara define quantos hosts podem existir em uma rede.

Por exemplo, na rede 192.168.1.0/24 podemos ter do host 192.168.1.1 até o host 192.168.1.254, ou seja 254 hosts. Quem está prestando antenção deve ter se perguntado, "por que não até 192.168.1.255?", que é limite do octeto. Isso é um detalhe que será abordado em seguida!

A rede 172.16.0.0/16 pode ter do host 172.16.0.1 até o host 172.16.255.254, 65.024 hosts.

Por último, a rede 10.0.0.0/8 pode ter do host 10.0.0.1 até o host 10.255.255.254, 16.646.144 hosts.



Endereços Reservados

Existem alguns endereços que não podem ser utilizados no endereçamento de hosts:

  • O endereço de rede possui a parte de host preenchida por zeros. Ele é reservado para identificação da rede e não deve ser atribuída a nenhum dispositivo. Acima, quando nos referenciávamos às rede sempre deixamosa porção do host como zero: 192.168.1.0/24
  • O endereço de Broadcast possui a porção de host é 255 (todos os bits 1s). Este endereço é utilizado para enviar um pacote para todos os hosts conectados na rede. Um exemplo de endereço de broadcast será apresentado a seguir.



Broadcast de Camada 3

Da mesma forma que vimos na camada dois, um broadcast é uma transmissão que é endereçada para todos os dispositivos. A diferença de broadcast de camada 2 e de camada 3 é a forma como ele é feito (utilizando endereço de camda 2 ou 3) e sua "cobertura".

O endereço de broadcast possui a porção de host do endereço IP preenchida por 1. Vamos tomar como exemplo a rede 192.168.1.0/24. Convertendo para binário teremos:



Por isso anteriormente falamos que os endereços de host dessa rede vão de 192.168.1.1 a 192.168.1.254 e não até 192.168.1.255, pois este é reservado para Broadcast. Este endereço de broadcast é "mais restrito" pois, ele é "endereçado" somente a rede 192.168.1.0. Existe um broadcast mais genérico que é o 255.255.255.255. Se fizermos uma comparação a grupos de pessoas, podemos dizer que o IP 192.168.1.255 seria a mesma coisa como alguém falando: "Ow! Pessoal do grupo 1..." já o 255.255.255.255 seria algo como: "Todo mundo!! Atenção ai...".

Dessa forma os Broadcasts podem ser divididos em dois tipos:

  • O broadcast local é aquele restrito somente a rede ao qual o host está conectado, 255.255.255.255.
  • O broadcast remoto é endereçado a uma rede remota isto é, a qual a origem não está diretamente conectada. Para isto deve existir o endereço de uma rede seguido da parte de host preenchida por 1s, exemplo: 192.168.1.255.




Hierarquia do endereçamento IP

Esse tipo de endereço é chamado de endereço hierárquico, porque contém diferentes níveis.

Ao se referir ao endereço do grupo diretamente acima de um grupo na hierarquia, todos os grupos que se ramificam desse endereço podem ser mencionados como uma única unidade





Endereçamento Classfull

Para acomodar redes de diferentes tamanhos e ajudar na classificação dessas redes, os endereços IP são divididos em grupos chamados classes. Isto é conhecido por endereçamento classfull. Essas classes definem redes pequenas, médias e grandes.

Cada endereço IP completo de 32 bits é dividido em uma parte da rede e uma parte do host. Um bit ou uma seqüência de bits no início de cada endereço determina a classe do endereço. Há cinco classes de endereços IP.

  • Classe A – Redes maiores;
  • Classe B – Redes de porte médio;
  • Classe C – Redes pequenas;
  • Classe D – Utilizado para multicast;
  • Classe E – Reservado para utilização futura.


Classe A

O endereço de classe A foi criado para suportar redes extremamente grandes, com mais de 16 milhões de endereços de host disponíveis. Os endereços IP de classe A usam somente o primeiro octeto para indicar o endereço de rede. Os três octetos restantes são responsáveis pelos endereços de host.

O primeiro bit de um endereço de classe A é sempre 0. Com esse primeiro bit fixo como 0 o menor número que pode ser representado é 00000000 e o maior é 01111111, em decimal 0 e 127, respectivamente. Porém os endereços 0 e 127 são reservados e não podem ser usados como endereços de rede.

Qualquer endereço que comece com um valor entre 1 e 126 no primeiro octeto é um endereço de classe A. Esta classe pode discriminar 16.646.144 hosts em cada uma das suas 126 redes. A máscara de rede Classe A é 255.0.0.0, 8 bits.


Classe B


O endereço classe B foi criado para dar conta das necessidades de redes de porte médio a grande. Um endereço IP de classe B usa os dois primeiros octetos para indicar o endereço da rede. Os outros dois octetos especificam os endereços dos hosts.

Os dois primeiros bits do primeiro octeto de um endereço classe B são sempre 10. Os seis bits restantes podem ser preenchidos com 1s ou 0s. Portanto, o menor número que pode ser representado é 10000000, equivalente a 128 em decimal, enquanto o maior número que pode ser representado é 10111111, equivalente a 191 em decimal.

Qualquer endereço que comece com um valor no intervalo de 128 a 191 no primeiro octeto é um endereço classe B. Esta classe pode discriminar 65.024 hosts em cada uma das suas 15.120 redes (desconsiderando as redes reservadas). A máscara de rede Classe B é 255.255.0.0, 16 bits.


Classe C

Das classes de endereços originais, o espaço de endereços de classe C é o mais usado. Esse espaço de endereços tinha como objetivo suportar redes pequenas com no máximo 254 hosts.

Um endereço classe C começa com o binário 110. Assim, o menor número que pode ser representado é 11000000, equivalente a 192 em decimal e o maior número que pode ser representado é 11011111, equivalente a 223 em decimal.

Se um endereço contém um número entre 192 e 223 no primeiro octeto é um endereço classe C. Esta classe pode discriminar 2.023.680 redes (desconsiderando as redes reservadas). A máscara de rede Classe C é 255.255.255.0, 24 bits.


Classe D

O endereço classe D foi criado para permitir multicasting em um endereço IP. Um endereço de multicast é um endereço de rede exclusivo que direciona os pacotes com esse endereço de destino para grupos predefinidos de endereços IP. Assim, uma única estação pode transmitir simultaneamente um único fluxo de dados para vários destinatários.

O espaço de endereços de classe D, de forma muito semelhante aos outros espaços de endereços, é limitado matematicamente. Os primeiros quatro bits de um endereço classe D devem ser 1110. Assim, o intervalo de valores no primeiro octeto dos endereços de classe D vai de 11100000 a 11101111, ou de 224 a 239 em decimal.

Um endereço IP que comece com um valor no intervalo de 224 a 239 no primeiro octeto é um endereço classe D. Os endereços de classe D não possuem uma máscara padrão. Na RFC 3171 são designadas algumas redes com máscaras distintas e suas funções, porém generaliza-se a classe D com uma máscara de rede 240.0.0.0 ou /4.


Classe E


Também foi definido um endereço classe E. Entretanto, a IETF (Internet Engineering Task Force) reserva esses endereços para utilizações futuras. Dessa forma, nenhum endereço classe E foi liberado para uso na Internet. Os primeiros quatro bits de um endereço classe E são sempre definidos como 1s. Assim, o intervalo de valores no primeiro octeto dos endereços de Classe E vai de 11110000 a 11111111, ou de 240 a 255 em decimal.


Exercícios

1 - Converter para binários os seguintes IPs:

  1. 172.31.128.12
  2. 199.37.52.23
  3. 230.220.2.1
  4. 192.165.8.8


2 - Classificar como classe A, B ou C e calcular o endereço de rede, broadcast e de host dos seguintes IPs:

  1. 172.16.32.54/16
  2. 192.168.32/24
  3. 192.168.1.255/24
  4. 10.12.1.21/8

3 - [Desafio] Calcular o endereço de rede, broadcast e de host do seguinte IP: 192.168.1.172/28


Referências

* Cisco CCNA - Guia de certificação do Exame, 3a Edição
Wendell Odom

* Redes de Computadores, 4a Edição
Andrew S. Tanenbaum,

* Conteúdo Cisco NetAcad, versão 3.1.1


Fechamento



Bem pessoal, fechamos mais uma parte importante. Isso aqui é realemente essencial! Então vamos nos dedicar!

Nos próximos posts veremos subredes (como o novo acordo ortográfico é sub-redes ou subredes???) e protocolos de roteamento.

Até la...

Comentários

  1. Avatar de vladrac
    Muito bom post!

    Acho que é valido num curso e tópico como esses, informar sobre a RFC 1918.

    [url=http://www.faqs.org/rfcs/rfc1918.html]RFC 1918 (rfc1918) - Address Allocation for Private Internets[/url]
  2. Avatar de Magnun
    Olá vladrac!!

    Sim, os blocos de IPs reservados serão abordados, só que mais futuramente. Essa foi só uma introdução. Estou guardando esses detalhes para quando começar a explicar sobre o processo de roteamento para que fique mais claro o porque de usarmos esses blocos.

    Obrigado pelo comentário e até a próxima!
  3. Avatar de leonardofribeiro
    Neste linha:
    A rede 172.16.0.0/24 pode ter do host 172.16.0.1 até o host 172.16.255.254, 65.024 hosts.

    o correto seria:
    A rede 172.16.0.0/16 pode ter do host 172.16.0.1 até o host 172.16.255.254, 65.024 hosts.



    e nesta linha:
    Último exemplo: o IP 10.1.16.63 com a máscara 255.0.0.0. Se realizarmos os mesmos procedimentos, podemos reescrever como 10.16.1.63/8 e teremos a rede 10.0.0.0 e o host 1.16.63.

    seria:
    Último exemplo: o IP 10.1.16.63 com a máscara 255.0.0.0. Se realizarmos os mesmos procedimentos, podemos reescrever como 10.1.16.63/8 e teremos a rede 10.0.0.0 e o host 1.16.63.


    Ótimo curso, Obrigado!
  4. Avatar de Magnun
    Ola Leonardo!

    Obrigado pelas correções, já alterei! Se encontrar mais alguma coisa por favor me avise!

    []'s
  5. Avatar de Não Registrado
    Classe A

    O endereço de classe A foi criado para suportar redes extremamente grandes, com mais de 16 milhões de endereços de host disponíveis. Os endereços IP de classe A usam somente o primeiro octeto para indicar o endereço de rede. "Os três octetos restantes são responsáveis pelos endereços de rede."
    Na parte entre aspas acho q os 3 octetos restantes são responsáveis pelos endereços de HOSTS e nao de redes,certo?

    Mas vlw mesmo assim... Ótimas explicações.
  6. Avatar de Magnun
    Você está certo!

    Cometi um pequeno erro, já corrigi. Obrigado por avisar!
  7. Avatar de thiagotrixnet
    resposta do desafio:
    Rede 192.168.1.160
    Host 0.0.0.12
    End Broad. 192.168.1.175
  8. Avatar de Magnun
    Parabéns thiagotrixnet!

    Você acertou o desafio! Muito bom mesmo!

    Até a próxima!

+ Enviar Comentário



Visite: BR-Linux ·  VivaOLinux ·  Dicas-L