quinta-feira, 25 de outubro de 2018

STP – Spanning Tree Protocolo


     Venho através de post explicar um pouco sobre o STP – Spanning Tree Protocolo, que é utilizado para bloqueiar caminhos redundantes, evitando assim a formação de loops, não deixem de ver os posts anteriores sobre VLAN - Virtual Lan e VTP - VLAN Trunking Protocol.


     O STP é fundamental para o bom funcionamento de redes “convencionais”, também chamadas de campus network (tradicionalmente aquele design 3 camadas, com acesso, distribuição e core), o primeiro passo é eleger um switch root, e isso é feito da seguinte forma:

     Quando os switch são ligados todos eles se consideram o root bridge. E como um político, todos passam a divulgar que são os melhores, ou no caso gerar e enviar Configuration BPDUs – Bridge Protocol Data Units a cada 2 segundos (hello timer) informando:


  • Root Bridge ID (RBID)
  • Root Patch Cost (RPC)
  • Sender Bridge ID (SBID)
  • Sender Port ID (SPID)
  • Receiver Port ID (RPID)


    Quando um switch vizinho recebe um Configuration BPDU ele compara com suas próprias informações (e de outros BDPUs recebidos) para identificar qual é o “melhor” de fato. Se o Root Bridge ID do BPDU recebido é o menor, o switch entende há um candidato à root bridge melhor do que ele mesmo. Neste momento ele para de gerar e enviar BPBUs e passa apenas a encaminhar (incrementando os comandos necessários) os BPDUs deste candidato (diferente dos políticos…). Este processo se repete até que todos os switches parem de enviar seus próprios BPDUs e passem a encaminhar os BPDUs de um único switch.

Com isso temos então eleita o root bridge.

     O Bridge ID é formado pela prioridade (32.768 por padrão, mas que pode ser configurada em múltiplos de 4096) + ID da VLAN + Mac Address do Switch. Este formato, considerando a VLAN, é chamado System ID Extension (ou Mac Address Reduction) e permite termos instancias STP diferentes por VLAN (PVSTP+). Também vale lembrar que por padrão este é o formato usado pelos switches Cisco, e podemos confirmar isso olhando o show running-config (observe o comando spanning-tree extend system-id).

O próximo passo é eleger as portas root (portas com menor custo para chegar a root bridge).

Para isso temos um processo parecido com descrito acima, onde os switches (não roots) comparam os BPDUs, mas agora a comparação vai ser nos demais campos, já que todos os BPDUs terão (possivelmente) o mesmo RBID.

    A porta que receber o BPDU com o menor RPC será escolhida como root port. Caso duas ou mais portas recebam BPDUs com o mesmo RBID e mesmo RPC, o switch compara então o próximo campo (SBID). Se houver empate, compara o próximo campo… Como o último campo é o ID da porta que recebeu o BPDU, não tem como haver empate (se as portas 1 e 2 receberem BPDUs “iguais”, a porta 1 será a porta root).


      Hellos BPDUs recebidos na porta root são encaminhados para as portas designadas, com o custo (RPC), SBID e SPID alterados. Hellos recebidos em outras portas (não roots) são processados, mas não encaminhamos. E os switches também não encaminham hellos pelas portas roots e portas que estão em blocking.

Por fim, após escolher a porta root, o switch escolherá as portas designadas / bloqueadas em cada segmento.

Para ter porta designada em um seguimento o switch precisar encaminhar o “melhor” BPDU no referido segmento (ter o menor RBID, ou RPC, ou SBID, …).

Topologia com STP: Rede sem loop, mas muitos caminhos bloqueados.



      Quando ocorre uma mudança na topologia (outro switch torna-se root, uma interface passa de Learning ou Forwarding para Blocking, uma porta vai para Forwarding ou um Topogoly Change Notification é recebido), o switch que detectou a mudança passa a enviar BPDUs com as informações apropriadas, e os switches vizinhos, ao receber essas informações, vão processar estes BDPUs (podendo repensar suas escolhas) e encaminhá-los.

Segue algumas tabelas importantes para configurações do STP:


O bridge ID é um valor de 8 bytes com os seguintes campos:


      Complementarmente o switch que detectou a mudança envia um TCN – Topology Change Notification BPDU com intenção de notificar o switch root. Cada switch que recebe o TCN devolve um TCA- Topology Change Acknowledge e passa o TCN para frente, até que chegue ao root.

     O root por sua vez notifica então todos os switches (lembre-se que somente o switch root envia Configuration BPDUs), para que eles removam as entradas não usadas da tabela CAM (e consequentemente aprendam os MACs pelas novas interfaces que estão em forwarding).

Todo esse processo descrito acima, refere-se ao padrão 802.1D original (já não suportado em equipamentos Cisco).

Porém é importante conhecê-lo já que mesmo os outros padrões tem conceitos semelhantes.

      Além do 802.1D (originalmente STP), tínhamos o 802.1W que definia o RSPT e o 802.1S (MST). Posteriormente isso mudou. O padrão 802.1D-2004 recebeu melhorias e passou a definir o RSTP, enquanto o MST foi integrado ao padrão 802.1Q-2005. Mesmo assim ainda hoje é normal falar de 802.1D referindo-se ao STP original.

Segue alguns comandos para configuração:

Habilitando STP para as vlans:

REDES&AFINS-1 # configure terminal
REDES&AFINS-1 (config)# spanning-tree vlan 1 root primary (Transforma o switch em Root Bridge)

REDES&AFINS-2 # configure terminal
REDES&AFINS-2 (config)# spanning-tree vlan 1 root secondary (Transforma o switch em Root Bridge)

REDES&AFINS-3 # configure terminal
REDES&AFINS-3 (config)# spanning-tree vlan 1 priority 4096 (Altera a prioridade de bridge)

OBS: (valores dE priority válidos são 4096, 8192, 12288, 16384, 20480, 24576, 28672, 32768, 36864, 40960, 45056, 49152, 53248, 57344 e 61440. O default é 32768 e 128 com o MST habilitado. Todos os demais serão rejeitados).


OBS: Com a necessidade do aumento de banda na rede, e com o comportamento do STP de bloquear caminhos pode ser um problema para a rede, principalmente quando falamos de data centers, para esses casos a utilização do STP passa a ser descartado, antes de utilizar este e outros protocolos é necessário verificar os pós e contras e a real necessidade da rede antes de implementa-los.

Abraços!

Fontes:
http://brainwork.com.br/2016/08/15/como-funciona-o-spanning-tree-protocol/
https://www.cisco.com/c/pt_br/support/docs/lan-switching/spanning-tree-protocol/24062-146.html
Simplificando TI


quarta-feira, 24 de outubro de 2018

Protocolo VTP - VLAN Trunking Protocol


      Depois de ter feito o post sobre VLAN (Virtual Lan) veio a necessidade de estar abordando outro assunto importante, protocolo VTP, com o protocolo VTP não é preciso sair criando VLANs em todos os switches da rede, já que com ele o trabalho fica centralizado no VTP Server transmitindo as configurações das vlans para os demais switches através das portas trunk o que reduz a necessidade de configurar a mesmas VLANs em todos os lugares.

     O VTP é um protocolo de proprietário Cisco que esteja disponível na maioria dos produtos da série do Cisco catalyst.
Versões VTP: VTP v1, V2 VTP e VTP 3, o VTP 3 difere do V1 e do V2 VTP e está disponível apenas em CatOS 8.1(1)

Os switches podem trabalhar em 03 modos dentro do VTP, são eles:

VTP Server:
Um VTP server pode criar, deletar e renomear VLANs. Ele também anuncia o nome do domínio VTP, a configuração de VLAN e o número de revisão da configuração para todos os outros switches dentro do domínio VTP.

VTP Client:
Um switch nesse modo não pode criar, nem deletar e nem renomear as VLANs. Dessa forma toda a alteração deve ser feita no VTP server.

VTP Transparent:
Nesse modo o switch precisa ter as suas VLANs configuradas manualmente. Um switch VTP Transparent não participa do VTP e nem anuncia para os vizinhos suas configurações de VLANs.


Mas nos últimos anos estes protocolos vem perdendo espaço, apesar de ainda serem muito utilizados.

O VTP não compensa?

     Assim como o VTP agiliza o processo de divulgação de VLANs na rede, também permite que uma falhas operacionais.
ex: (revisão de configuração e como restaurá-la cada vez que você introduz um interruptor novo em sua rede de modo que você não derrube a toda a rede.)

Segue abaixo exemplo de topologia:

Segue abaixo exemplo de configuração:

REDES&AFINS-1#
REDES&AFINS-1#config terminal
REDES&AFINS-1(config)#vtp mode server
REDES&AFINS-1(config)#vtp domain REDES&AFIN
REDES&AFINS-1(config)#vtp password cisco12345
REDES&AFINS-1(config)#vtp version 2
REDES&AFINS-1(config)#end
REDES&AFINS-1#wr

REDES&AFINS-2#
REDES&AFINS-2#config terminal
REDES&AFINS-2(config)#vtp mode client
REDES&AFINS-2(config)#vtp domain REDES&AFIN
REDES&AFINS-2(config)#vtp password cisco12345
REDES&AFINS-2(config)#vtp version 2
REDES&AFINS-2(config)#end
REDES&AFINS-2#wr


REDES&AFINS-1#show vtp status
REDES&AFINS-1#show vtp counters
REDES&AFINS-1#show vtp domain
REDES&AFINS-1#show vtp statistics

Ambos protocolos tem seus pós e contras, com isso antes de utilizar estes protocolos pense no funcionamento na sua rede e avaliar se ira compensar.

Até a próxima, abraços.

Fontes:
https://www.cisco.com/c/pt_br/support/docs/lan-switching/vtp/10558-21.html
http://brainwork.com.br/2012/08/12/vtp-stp-e-a-mudana-de-paradigma/
Professor Jefersson Costa

terça-feira, 23 de outubro de 2018

VLAN - Virtual Lan


       VLANs podem coexistir em um mesmo computador (switch), de forma a dividir uma rede local (física) em mais de uma rede (virtual), criando domínios de broadcast separados em uma rede logicamente independente. Uma VLAN também torna possível colocar em um mesmo domínio de broadcast, hosts com localizações físicas distintas e ligados a switches diferentes. Uma rede virtual tem como propósito restringir acesso a recursos de rede sem considerar a topologia da rede, porém este método é questionável e improvável.

Os principais motivos para criação de vlans são:

  • Organização – diferentes departamentos/serviços podem ter a sua própria VLAN. De referir que a mesma VLAN pode ser configurada ao longo de vários switchs, permitindo assim que utilizadores do mesmo departamento/serviço estejam em locais físicos distintos.
  • Segurança – Pelas questões que já foram referidas acima, ou por exemplo para que os utilizadores de uma rede não tenham acesso a determinados servidores.
  • Segmentação – Permite dividir a rede física, em redes lógicas mais pequenas e assim tem um melhor controlo/gestão a nível de utilização/tráfego.


      As vlans operam na camada 2 do modelo OSI. No entanto, uma VLAN geralmente é configurada para mapear diretamente uma rede ou sub-rede IP, o que dá a impressão que a camada 3 está envolvida e os enlaces switch-a-switch e switch-a-roteador são chamados de troncos, nesse caso precisariamos utilizar as interface como Trunk. Um roteador ou switch de camada 3 serve como o backbone entre o tráfego que passa através de VLANs diferentes.

      Segue abaixo exemplo de topologia sem a utilização da interface trunnk, tendo a necessidade de passar cabos para cada vlan.


      Segue abaixo topologia onde utilizamos apenas um cabo na comunicação entre os Switches, marcando cada Frame (quadro) com o ID de cada VLAN, de acordo com o protocolo IEEE 802.1q.



Segue alguns exemplos de configurações:

SW-1#conf t
Enter configuration commands, one per line. End with CNTL/Z.
SW-1(config)#vlan 1
SW-1(config-vlan)#name Vendas
SW-1(config-vlan)#vlan 2
SW-1(config-vlan)#name ADM
SW-1(config-vlan)#vlan 3
SW-1(config-vlan)#name Compras
SW-1(config-vlan)#end

SW-1(config-if)int f0/2-6
SW-1(config-if)#switchport mode access
SW-1(config-if)#switchport access vlan 1
SW-1(config-if)int f0/7-15
SW-1(config-if)#switchport mode access
SW-1(config-if)#switchport access vlan 2
SW-1(config-if)int f0/16-20
SW-1(config-if)#switchport mode access
SW-1(config-if)#switchport access vlan 2

SW-1(config)#interface gigabitethernet24
SW-1(config-if)#switchport mode trunk
SW-1(config-if)#switchport trunk allowed vlan 1,2,3
SW-1(config-if)#end

Nas próximas postagens estarei abordando outros assuntos importantes que seriam uma continuidade deste post que são os protocolos VTP (VLAN Trunking Protocol) e STP (Spanning Tree Protocol), espero que tenham gostado e até a próxima, abraços!

Fontes:
https://pt.wikipedia.org/wiki/Virtual_LAN
https://pplware.sapo.pt/tutoriais/networking/redes-sabe-o-que-uma-vlan/
Simplificando TI

terça-feira, 16 de outubro de 2018

Protocolos de roteamento

     

      Genericamente, um protocolo é um conjunto de regras convencionadas que determinam a forma de operação de algo.

     Um protocolo de roteamento é um conjunto de regras que descreve como os dispositivos de roteamento da Camada 3 enviarão entre si atualizações relativas às redes disponíveis. Se existir mais de um caminho para rede remota, o protocolo também determinará como será selecionado o melhor caminho ou rota.

      O protocolo de roteamento é usado para enviar atualizações entre os roteadores sobre as redes existentes na organização, permitindo, que seja determinado o caminho do datagrama na rede.


Os tipos configurações de roteamento usadas são:
  • Roteamento estático: uma rede com um número limitado de roteadores para outras redes pode ser configurada com roteamento estático. Uma tabela de roteamento estático é construída manualmente pelo administrador do sistema, e pode ou não ser divulgada para outros dispositivos de roteamento na rede.
  • Roteamento dinâmico: redes com mais de uma rota possível para o mesmo ponto devem utilizar roteamento dinâmico. Uma tabela de roteamento dinâmico é construída a partir de informações trocadas entre protocolos de roteamento. Os protocolos são desenvolvidos para distribuir informações que ajustam rotas dinamicamente para refletir alterações nas condições da rede. Protocolos de roteamento podem resolver situações complexas de roteamento mais rápida e eficientemente que o administrador do sistema.
  • Os roteadores utilizados para trocar informacoes dentro de Sistemas Autonomos sao chamados roteadores internos (interior routers) e podem utilizar uma variedade de protocolos de roteamento interno (Interior Gateway Protocols - IGPs). Dentre eles estao: RIP, IGRP, EIGRP, OSPF e Integrated IS-IS.
  • Roteadores que trocam dados entre Sistemas Autonomos sao chamados de roteadores externos (exterior routers), e estes utilizam o Exterior Gateway Protocol (EGP) ou o BGP (Border Gateway Protocol). Para este tipo de roteamento sao considerados basicamente colecoes de prefixos CIDR (Classless Inter Domain Routing) identificados pelo numero de um Sistema Autonomo.
Segue abaixo uma tabela com protocolos roteados e seus protocolos de roteamento correspondente:


     Os roteadores participantes informam a seus vizinhos as rotas que conhecem nas atualizações de roteamento. As rotas aprendidas nas atualizações de roteamento são mantidas na tabela de roteamento.

                                                                                   (Modelo de rota Blog Redes e Afins)

Protocolos de Roteamento Interno (Interior Routing Protocols)

RIP (Routing Information Protocol)
O RIP foi desenvolvido pela Xerox Corporation no inicio dos anos 80 para ser utilizado nas redes Xerox Network Systems (XNS), e, hoje em dia, e' o protocolo intra-domínio mais comum, sendo suportado por praticamente todos os fabricantes de roteadores e disponível na grande maioria das versões mais atuais do sistema operacional UNIX.

Um de seus benefícios e' a facilidade de configuração. Alem disso, seu algoritmo não necessita grande poder de computação e capacidade de memoria em roteadores ou computadores.

O protocolo RIP funciona bem em pequenos ambientes, porem apresenta serias limitações quando utilizado em redes grandes. Ele limita o numero de saltos (hops) entre hosts a 15 (16 é considerado infinito). Outra deficiência do RIP e' a lenta convergência, ou seja, leva relativamente muito tempo para que alterações na rede fiquem sendo conhecidas por todos os roteadores. Esta lentidão pode causar loops de roteamento, por causa da falta de sincronia nas informações dos roteadores.

O protocolo RIP e' também um grande consumidor de largura de banda, pois, a cada 30 segundos, ele faz um broadcast de sua tabela de roteamento, com informações sobre as redes e sub-redes que alcança.

Por fim, o RIP determina o melhor caminho entre dois pontos, levando em conta somente o numero de saltos (hops) entre eles. Esta técnica ignora outros fatores que fazem diferença nas linhas entre os dois pontos, como: velocidade, utilização das mesmas (trafego) e toda as outras métricas que podem fazer diferença na hora de se determinar o melhor caminho entre dois pontos.[RFC 1058].

IGRP (Interior Gateway Protocol)

O IGRP também foi criado no inicio dos anos 80 pela Cisco Systems Inc., detentora de sua patente. O IGRP resolveu grande parte dos problemas associados ao uso do RIP para roteamento interno.

O algoritmo utilizado pelo IGRP determina o melhor caminho entre dois pontos dentro de uma rede examinando a largura de banda e o atraso das redes entre roteadores. O IGRP converge mais rapidamente que o RIP, evitando loops de roteamento, e nao tem a limitação de saltos entre roteadores.

Com estas características, o IGRP viabilizou a implementação de redes grandes, complexas e com diversas topologias.

EIGRP (Enhanced IGRP)

A Cisco aprimorou ainda mais o protocolo IGRP para suportar redes grandes, complexas e criticas, e criou o Enhanced IGRP.

O EIGRP combina protocolos de roteamento baseados em Vetor de Distancia (Distance-Vector Routing Protocols) com os mais recentes protocolos baseados no algoritmo de Estado de Enlace (Link-State). Ele também proporciona economia de trafego por limitar a troca de informações de roteamento `aquelas que foram alteradas.

Uma desvantagem do EIGRP, assim como do IGRP, é que ambos são de propriedade da Cisco Systems, não sendo amplamente disponíveis fora dos equipamentos deste fabricante.

OSPF (Open Shortest Path First)

Foi desenvolvido pelo IETF (Internet Engineering Task Force) como substituto para o protocolo RIP. Caracteriza-se por ser um protocolo intra-domínio, hierárquico, baseado no algoritmo de Estado de Enlace (Link-State) e foi especificamente projetado para operar com redes grandes. Outras características do protocolo OSPF são:

A inclusão de roteamento por tipo de serviço (TOS - type of service routing). Por exemplo, um acesso FTP poderia ser feito por um link de satélite, enquanto que um acesso a terminal poderia evitar este link, que tem grande tempo de retardo, e ser feito através de um outro enlace;
O fornecimento de balanceamento de carga, que permite ao administrador especificar múltiplas rotas com o mesmo custo para um mesmo destino. O OSPF distribui o trafego igualmente por todas as rotas;
O suporte `a rotas para hosts, sub-redes e redes especificas;
A possibilidade de configuração de uma topologia virtual de rede, independente da topologia das conexões físicas. Por exemplo, um administrador pode configurar um link virtual entre dois roteadores mesmo que a conexão física entre eles passe através de uma outra rede;
A utilização de pequenos "hello packets" para verificar a operação dos links sem ter que transferir grandes tabelas. Em redes estáveis, as maiores atualizações ocorrem uma vez a cada 30 minutos.
O protocolo ainda especifica que todas os anúncios entre roteadores sejam autenticados (isto não quer dizer que necessariamente reflita a realidade das implementações). Permite mais de uma variedade de esquema de autenticação e que diferentes areas de roteamento (ver abaixo) utilizem esquemas diferentes de autenticação;

Duas desvantagens deste protocolo são a sua complexidade, e maior necessidade por memoria e poder computacional, característica inerente aos protocolos que usam o algoritmo de Estado de Enlace (Link-State).

O OSPF suporta, ainda, roteamento hierárquico de dois níveis dentro de um Sistema Autônomo, possibilitando a divisão do mesmo em areas de roteamento. Uma area de roteamento é tipicamente uma coleção de uma ou mais sub-redes intimamente relacionadas. Todas as areas de roteamento precisam estar conectadas ao backbone do Sistema Autônomo, no caso, a Area 0. Se o trafego precisar viajar entre duas areas, os pacotes sao primeiramente roteados para a Area 0 (o backbone). Isto pode nao ser bom, uma vez que não ha' roteamento inter-areas enquanto os pacotes não alcançam o backbone. Chegando `a Area 0, os pacotes são roteados para a Area de Destino, que é responsável pela entrega final. Esta hierarquia permite a consolidação dos endereços por area, reduzindo o tamanho das tabelas de roteamento. Redes pequenas, no entanto, podem operar utilizando uma unica area OSPF.[RFC 1583].

Integrated IS-IS (Intermediate System to Intermediate System Routing Exchange Protocol)

O IS-IS [OSI 10589], assim como o OSPF, é um protocolo intra- domínio, hierárquico e que utiliza o algoritmo de Estado de Enlace. Pode trabalhar sobre varias sub-redes, inclusive fazendo broadcasting para LANs, WANs e links ponto-a-ponto.

O Integrated IS-IS é uma implementação do IS-IS que, alem dos protocolos OSI, atualmente também suporta o IP. Como outros protocolos integrados de roteamento, o IS-IS convoca todos os roteadores a utilizar um unico algoritmo de roteamento.

Para rodar o Integrated IS-IS, os roteadores também precisam suportar protocolos como ARP, ICMP e End System-to-Intermediate System (ES-IS).

Protocolo de Roteamento Externo (Exterior Routing Protocol)

BGP (Border Gateway Protocol)

O BGP [RFCs 1771,1772,1773,1774,1657] assim como o EGP, é um protocolo de roteamento inter-domínios, criado para uso nos roteadores principais da Internet.

O BGP foi projetado para evitar loops de roteamento em topologias arbitrarias, o mais serio problema de seu antecessor, o EGP (Exterior Gateway Protocol). Outro problema que o EGP nao resolve - e é abordado pelo BGP - é o do Roteamento Baseado em Politica (policy-based routing), um roteamento com base em um conjunto de regras não-técnicas, definidas pelos Sistemas Autônomos.

A ultima versão do BGP, o BGP4, foi projetado para suportar os problemas causados pelo grande crescimento da Internet.

Segue abaixo campos presentes em uma tabela de roteamento típica:

RT-1#sh ip route
Codes: L - local, C - connected, S - static, R - RIP, M - mobile, B - BGP
       D - EIGRP, EX - EIGRP external, O - OSPF, IA - OSPF inter area
       N1 - OSPF NSSA external type 1, N2 - OSPF NSSA external type 2
       E1 - OSPF external type 1, E2 - OSPF external type 2, E - EGP
       i - IS-IS, L1 - IS-IS level-1, L2 - IS-IS level-2, ia - IS-IS inter area
       * - candidate default, U - per-user static route, o - ODR
       P - periodic downloaded static route

Gateway of last resort is not set

O    192.168.0.0/24 [110/65] via 200.0.0.6, 00:00:24, Serial0/0/1
O    192.168.1.0/24 [110/129] via 200.0.0.2, 00:00:14, Serial0/0/0
     200.0.0.0/24 is variably subnetted, 5 subnets, 2 masks
C       200.0.0.0/30 is directly connected, Serial0/0/0
L       200.0.0.1/32 is directly connected, Serial0/0/0
C       200.0.0.4/30 is directly connected, Serial0/0/1
L       200.0.0.5/32 is directly connected, Serial0/0/1
O       200.0.0.8/30 [110/128] via 200.0.0.2, 00:00:14, Serial0/0/0


As distâncias administrativas dos roteadores são usadas para determinar qual rota utilizar para chegar a uma rede remota, segue abaixo uma tabela:

ORIGEM DA ROTA DISTÂNCIA ADMINISTRATIVA PADRÃO
Interface diretamente conectada 0
Rota estática 1
EIGRP summary route 5
External Border Gateway Protocol (BGP) 20
Internal EIGRP 90
IGRP 100
OSPF 110
IS-IS 115
Routing Information Protocol (RIP) 120
Exterior Gateway Protocol (EGP) 140
On Demand Routing (ODR) 160
External EIGRP 170
Internal BGP 200
Desconhecido 255

    Procurei trazer de uma forma resumida para melhor entendimento, espero que gostem e que possa ajudar no entendimento e  na importância dos protocolos de roteamento, deixem seus comentários e/ou sugestões, até a próxima.


Fontes:
http://www.teleco.com.br/tutoriais
https://pt.wikipedia.org/wiki/Protocolo_de_roteamento
NICbrvideos

domingo, 7 de outubro de 2018

O que é IPV6?

   

      A internet é uma rede que interconecta milhões de computadores no mundo inteiro. Para que esta comunicação ocorra, cada dispositivo conectado necessita de um endereço único, que o diferencie dos demais. Esta é a função do IP (Internet Protocol). O problema é que, a cada dia, mais e mais computadores são ligados à internet (entenda computadores de maneira geral, isto é, PCs, servidores, smartphones, tablets, etc) e, por conta disso, o número de endereços IP disponível está acabando. É aí que entra em cena o IPv6, sigla para Internet Protocol version 6.

      O protocolo está sendo implantado gradativamente na Internet e deve funcionar lado a lado com o IPv4, numa situação tecnicamente chamada de "pilha dupla" ou "dual stack", por algum tempo. A longo prazo, o IPv6 tem como objetivo substituir o IPv4, que suporta somente cerca de 4 bilhões(escala curta)/mil milhões(escala longa) (4x109) de endereços IP, contra cerca de 340 undecilhões(escala curta)/sextiliões(escala longa) (3,4x1038) de endereços do novo protocolo.

      O assunto é tão relevante que alguns governos têm apoiado essa implantação. O governo dos Estados Unidos, por exemplo, em 2005, determinou que todas as suas agências federais deveriam provar ser capazes de operar com o protocolo IPv6 até junho de 2008. Em julho de 2008, foi liberada uma nova revisão das recomendações para adoção do IPv6 nas agências federais, estabelecendo a data de julho de 2010 para garantia do suporte ao IPv6. O governo brasileiro recomenda a adoção do protocolo no documento e-PING, dos Padrões de Interoperabilidade de Governo Eletrônico.

As principais características dos mecanismos da transição de IPv6 são:

  • Atualização e Implantação incrementais: os hosts IPv4 e os roteadores podem ser atualizados com o IPv6 um a um sem a necessidade de atualização simultânea. Os hosts IPv6 e os roteadores novos podem também ser instalados individualmente.
  • Dependências mínimas de atualização: o único pré-requisito para atualizar hosts par o IPv6 é que o servidor de DNS deve ser inicialmente atualizado para tratar adequadamente os novos endereços IPv6. Não há nenhum pré-requisito para atualizar os roteadores.
  • Facilidade de Endereçamento: quando os hosts IPv4 ou os roteadores existentes são atualizados para o IPv6, eles podem manter os seus endereços IPv4, sem a necessidade de atribuir novos endereços IPv6. Os administradores de rede não tem a necessidade de elaborar novos planos de endereçamento para todos os equipamentos.
  • Custos baixos de implantação: quase nenhum trabalho da preparação é necessário para atualizar os sistemas IPv4 existentes para o IPv6, ou para implantar novos sistemas IPv6.


Representação dos endereços

32 bits dos endereços IPv4 são divididos em quatro grupos de 8 bits cada, separados por “.”, escritos com dígitos decimais. Por exemplo: 192.168.0.10. A representação dos endereços IPv6, divide o endereço em oito grupos de 16 bits, separando-os por “:”, escritos com dígitos hexadecimais (0-F). Por exemplo:
2001:0DB8:AD1F:25E2:CADE:CAFE:F0CA:84C1
Na representação de um endereço IPv6, é permitido utilizar tanto caracteres maiúsculos quanto minúsculos.

     Além disso, regras de abreviação podem ser aplicadas para facilitar a escrita de alguns endereços muito extensos. É permitido omitir os zeros a esquerda de cada bloco de 16 bits, além de substituir uma sequência longa de zeros por “::”.

Por exemplo:
2001:0DB8:0000:0000:130F:0000:0000:140B
2001:DB8:0:0:130F::140B
2001:DB8::130F:0:0:140B
Neste exemplo é possível observar que a abreviação do grupo de zeros só pode ser realizada uma única vez.

Tipos de Endereços

Existem no IPv6 três tipos de endereços definidos:
Unicast – este tipo de endereço identifica uma única interface, de modo que um pacote enviado a um endereço unicast é entregue a uma única interface;
Global Unicast - equivalente aos endereços públicos IPv4, roteável e acessível na Internet IPv6.
Faixa de endereços 2000::/3 (001), que corresponde aos endereços de 2000:: a 3fff:ffff:ffff:ffff:ffff:ffff:ffff:ffff.

Link Local – podendo ser usado apenas no enlace específico onde a interface está conectada, o endereço link local é atribuído automaticamente utilizando o prefixo FE80::/64.
Unique Local Address (ULA) – endereço com grande probabilidade de ser globalmente único, utilizado apenas para comunicações locais, geralmente dentro de um mesmo enlace ou conjunto de enlaces. Um endereço ULA não deve ser roteável na Internet global.

  • Prefixo: FC00::/7.
  • Flag Local (L): se o valor for 1 (FD) o prefixo é atribuído localmente. Se o valor for 0 (FC), o prefixo deve ser atribuído por uma organização central (ainda a definir).
  • Identificador global: identificador de 40 bits usado para criar um prefixo globalmente único.
  • Identificador da Interface: identificador da interface de 64 bits.


Anycast – identifica um conjunto de interfaces. Um pacote encaminhado a um endereço anycast é entregue a interface pertencente a este conjunto mais próxima da origem (de acordo com distância medida pelos protocolos de roteamento). Um endereço anycast é utilizado em comunicações de um-para-um-de-muitos.

      Todos os roteadores devem ter suporte ao endereço anycast Subnet-Router. Este tipo de endereço é formado pelo prefixo da sub-rede e pelo IID preenchido com zeros (ex.: 2001:db8:cafe:dad0::/64). Um pacote enviado para o endereço Subnet-Router será entregue para o roteador mais próximo da origem dentro da mesma sub-rede.

     Também foi definido um endereço anycast para ser utilizado no suporte a mobilidade IPv6. Este tipo de endereço é formado pelo prefixo da sub-rede seguido pelo IID dfff:ffff:ffff:fffe (ex.: 2001:db8::dfff:ffff:ffff:fffe). Ele é utilizado pelo Nó Móvel, quando este precisar localizar um Agente Origem em sua Rede Original.


Multicast – também identifica um conjunto de interfaces, entretanto, um pacote enviado a um endereço multicast é entregue a todas as interfaces associadas a esse endereço. Um endereço multicast é utilizado em comunicações de um-para-muitos.

      Os endereços multicast não devem ser utilizados como endereço de origem de um pacote. Esses endereços derivam do bloco FF00::/8, onde o prefixo FF, que identifica um endereço multicast, é precedido por quatro bits, que representam quatro flags, e um valor de quatro bits que define o escopo do grupo multicast. Os 112 bits restantes são utilizados para identificar o grupo multicast.
A lista abaixo apresenta alguns endereços multicast permanentes:

      Diferente do IPv4, no IPv6 não existe endereço broadcast, responsável por direcionar um pacote para todos os nós de um mesmo domínio. No IPv6, essa função foi atribuída à tipos específicos de endereços multicast.

Algumas faixas de endereços também são reservadas para uso específicos:
2002::/16: prefixo utilizado no mecanismo de transição 6to4;
2001:0000::/32: prefixo utilizado no mecanismo de transição TEREDO;
2001:db8::/32: prefixo utilizado para representar endereços IPv6 em textos e documentações.

Endereços IPv4-mapeado: representado por 0:0:0:0:0:FFFF:wxyz ou ::FFFF:wxyz, é usado para mapear um endereço IPv4 em um endereço IPv6 de 128-bit, onde wxyz representa os 32 bits do endereço IPv4, utilizando dígitos decimais. É aplicado em técnicas de transição para que nós IPv6 e IPv4 se comuniquem. Ex. ::FFFF:192.168.100.1.

Endereço Loopback: representado pelo endereço unicast 0:0:0:0:0:0:0:1 ou ::1 (equivalente ao endereço IPv4 loopback 127.0.0.1).

Endereço Não-Especificado (Unspecified): é representado pelo endereço 0:0:0:0:0:0:0:0 ou ::0 (equivalente ao endereço IPv4 unspecified 0.0.0.0). Ele nunca deve ser atribuído a nenhum nó, indicando apenas a ausência de um endereço.

Para auxiliar no dia-a-dia segue link para calculadora IPV4/IPV6:
Calculadora IPV4-IPV6 

    Tentei trazer aqui o assunto o quanto um pouco complexo de uma forma mais sucinta, espero que gostem e deixem seus comentários e sugestões para continuar aprendendo e melhorarmos cada vez mais, para maiores estudos sobre o assunto acessem as fontes biográficas abaixo, abraços.


Fontes:
https://pt.wikipedia.org/wiki/IPv6
http://ipv6.br/post/introducao/
http://www.teleco.com.br/tutoriais/tutorialipv6/pagina_5.asp
https://www.infowester.com/ipv6.php
http://eping.governoeletronico.gov.br/

terça-feira, 2 de outubro de 2018

Modelo de Camadas OSI e TCP/IP



    Devido ao surgimento de um grande número de redes  de computadores, a International Organization for Standardization (ISO) realizou uma pesquisa sobre esses vários esquemas de rede. Viu-se então, a necessidade de se criar um modelo de rede para ajudar os desenvolvedores a implementar redes que poderiam comunicar-se e trabalhar juntas (interoperabilidade). Assim, a ISO lançou em 1984 o modelo de referência OSI.

      O modelo TCP/IP – Transmission Control Protocol/Internet Protocol – é uma coleção de protocolos utilizados para realizar a comunicação de computadores em uma rede. Conheceremos sua definição, camadas e funcionamento.

Seu desenvolvimento inicial, em 1969, foi financiado pela Agência de Projetos de Pesquisa Avançada (ARPA) do Departamento de Defesa dos Estados Unidos (DoD).
Segue abaixo um vídeo do canal Redes Brasil com uma boa abordagem e explicação do assunto:




     No modelo de camadas temos protocolos que são responsáveis por executar a função de cada camada. É como se fosse uma fábrica onde os funcionários, que executam as tarefas, são os protocolos e os processos de produção de um determinado produto são as camadas. No final de todo o processo, realizado por todas as camadas, temos dados encapsulados (empacotados) chamados pacote.Esses pacotes são criados para que seja realizada a comunicação entre computadores na rede.


Segue abaixo as sete camadas do modelo de referência e seus protocolos:

7.Aplicação HTTP, RTP, SMTP, FTP, SSH, Telnet, SIP, RDP, IRC, SNMP, NNTP, POP3, IMAP, BitTorrent, DNS ...
6.Apresentação XDR, TLS ...
5.Sessão NetBIOS ...
4.Transporte NetBEUI, TCP, UDP, SCTP, DCCP, RIP ...
3.Rede IP (IPv4, IPv6), IPsec, ICMP, ARP, RARP, NAT ...
2.Enlace (Subcamada LLC, Subcamada MAC), Ethernet, IEEE 802.1Q, HDLC, Token ring, FDDI, PPP, Switch, Frame relay, ATM ...
1.Física Modem, , 802.11 Wi-Fi RDIS, RS-232, EIA-422, RS-449, Bluetooth, USB, 10BASE-T, 100BASE-TX, ISDN, SONET, DSL ...

Diferentemente do modelo OSI( com sete camadas), o modelo TCP/IP que está dividido em quatro camadas:

4.Camada de aplicação (FTP, SMTP, TELNET, HTTP, HTTPS, etc)
3.Camada de transporte (TCP, UDP, etc)
2.Camada de rede (IP)
1.Camada física (Ethernet, etc)

     A comunicação realizada pelos computadores é bidirecional, ou seja, o computador origem envia o pacote construído e o computador destino lê os dados desconstruindo o mesmo. Cada camada e protocolo específico devem ser capazes de realizar sua função em ambas as direções.

   O modelo de camadas OSI e TCP/IP são muito importantes para exames de certificações, como da Microsoft, CCNA da Cisco, etc. Espero que conteúdo abordado ajude-o nos estudos e entendimento.

     Espero ter ajudado e não é só decorar as palavras e sim estudar e se aprofundar neste assunto, pois ele poderá te ajudar tanto para provas de certificações quanto para as de concursos públicos na área de redes ou TI. Além do que, vale muito para entendimento básico de uma rede.


Fontes:
https://webpovoa.com/modelo-osi-tcpip/
https://www.youtube.com/watch?v=oz8gvGIUKFw&t=12s
https://pt.wikipedia.org/wiki/TCP/IP
https://pt.wikipedia.org/wiki/Modelo_OSI