Algorítimos e protocolos de roteamento (básico)

 


   Geralmente, uma máquina permanece ligada diretamente a um roteador, também chamado de roteador default ou roteador do primeiro salto. Sempre que uma máquina emitir um pacote, o pacote será transferido para seu roteador default e posteriormente para o roteador destino.

   Podemos usar um exemplo, de uma máquina da Rede Local de São Paulo que deseje transmitir uma mensagem para uma máquina na rede local do Rio de Janeiro, a máquina de origem, que neste caso pertence a rede de São Paulo, deverá primeiro enviar o pacote para o seu roteador default.




   Para realizar a transferência dos dados entre Rio e São Paulo, algumas questões precisam coexistir;

 _A função de um algoritmo de roteamento é simples; Existindo um conjunto de roteadores conectados por enlaces, um algoritmo de roteamento descobre um bom caminho entre o roteador de origem e o roteador de destino.

_O endereço de destino recebido da origem diz ao roteador para onde o tráfego vai. Além desta informação, ele precisara saber qual a direção,  (o caminho a ser seguido). O melhor caminho ao destino deve ser determinado para que o roteador possa encaminhar os pacotes corretamente.  E neste caso os outros roteadores da rede podem providenciar esta resposta. Quanto mais nova for a informação melhor será o resultado final.

  Algoritmos de estado de enlace 

Os algoritmos de roteamento global calculam o caminho de menor custo entre a origem e um destino,usando o conhecimento completo e global sobre a rede.

  O protocolo é realizado por todos os nós de comutação da rede (ou seja, nós preparados para encaminhar pacotes na Internet, esses são chamados de roteadores). O conceito básico de roteamento estado de enlace é que cada nó constrói um mapa da conectividade com a rede, na forma de um gráfico, mostrando quais nós estão conectados a quais outros nós, cada nó calcula independentemente o próximo melhor caminho lógico para todos os destinos possíveis na rede. Cada coleção dos melhores caminhos formará a tabela de roteamento de cada nó.

Isso contrasta com os protocolos de roteamento de vetor de distância, que funcionam ao permitir que cada nó compartilhe sua tabela de roteamento com seus vizinhos. Em um protocolo de estado de enlace, as únicas informações transmitidas entre os nós estão relacionadas à conectividade.



Algoritmo de roteamento estático

 Nos algoritmos de roteamento estático, as rotas mudam muito lentamente o longo do tempo, muitas vezes como resultado de intervenção humana através da configuração manual de uma rota.  Neste tipo de algoritmo, todos os computadores ou roteadores na rede tomam suas próprias decisões de roteamento, seguindo um protocolo formal de roteamento.  Em MANs e WANs, a tabela de roteamento para cada computador é desenvolvida individualmente pelo seu administrador de rede.

Algoritmo de roteamento dinâmico
Os algoritmos de roteamento dinâmico mudam os caminhos de roteamento, à medida que mudam as cargas dos tráfegos ou a topologia de rede.  Um algoritmo dinâmico pode ser rodado periodicamente, ou como reação direta à mudança de topologia de rede, ou de custos dos enlaces. Ao mesmo tempo em que são mais sensíveis às mudanças na rede, os algoritmos dinâmicos também são mais suscetíveis a problemas como loops de roteamento e oscilação de rotas.


Algoritmo de roteamento sensível à carga e insensível à carga
Os algoritmos de roteamento sensíveis à carga, os custos de enlace variam, dinamicamente, para refletir o nível corrente de congestionamento no enlace subjacente. Caso haja um alto custo associado ao enlace congestionado, o algoritmo tenderá a escolher rotas que evitem esse enlace congestionado. Já os algoritmos de roteamento insensíveis à carga, atualmente utilizado na internet (RIP, OSPF e BGP), não levam em consideração o custo, pois, o custo de um enlace não reflete explicitamente seu nível de congestionamento corrente.



Protocolos de Roteamento
   É um protocolo utilizado para trocar informações entre os computadores, de forma a permitir que eles montem e mantenham suas tabelas de roteamento. 
  Quando caminhos novos são adicionados, ou quando os caminhos estão obstruídos sem que se possa utiliza-los, são enviados mensagens entre computadores utilizando o protocolo de roteamento.

   


 Roteamento na Internet
  Na internet, não existe um conjunto homogêneo de roteadores rodando o mesmo algoritmo de roteamento.  Ela possui uma arquitetura com várias redes interconectadas, onde cada organização pode executar o algoritmo de roteamento que desejar ou, ainda, ocultar do público externo aspectos internos de rede da organização.   
   Como forma de diminuir a complexidade da gestão administrativa e de autonomia destas redes, os roteadores foram agrupados, formando um sistema autônomos (AS) com cada AS consistindo de um grupo de roteadores sob o mesmo controle administrativo, isto é , operado pelo mesmo ISP ou pertencente a uma mesma rede corporativa. 


Protocolo de roteamento intra-AS
    Um protocolo de roteamento intra-AS é usado para configurar e manter as tabelas de roteamento em um sistema autônomo (AS). 
    Depois que as tabelas de roteamento são configuradas, os datagramas são roteados no AS.
   Os protocolos de roteamento Inter-AS também são conhecidos como protocolos de gateway interior.  Historicamente, três protocolos de roteamento têm sido usados ​​extensivamente para roteamento dentro de um sistema autônomo na Internet: RIP (the Routing Information Protocol) e OSPF (Open Shortest Path First) e IGRP (Cisco's propriety Interior Gateway Routing Protocol).



_RIP - protocolo de roteamento dinâmico, utiliza algoritmo de vetor de distância. Normalmente, é utilizado em redes menores.

_OSPF - protocolo de roteamento dinâmico que utiliza algoritmo de estado de enlace. Normalmente, é utilizado na internet. É mais eficiente que o RIP.

_IS - IS - protocolo de roteamento dinâmico, que utiliza algoritmo de estado de enlace. Normalmente, é utilizado em redes de grande porte.

_EIGRP - protocolo de roteamento dinâmico, que utiliza algoritmo de estado de enlace. Foi desenvolvido pela Cisco. 


Protocolo  De Roteamento Inter-AS
     Este protocolo é responsável pela determinação dos caminhos entre origem e destino que abrangem vários (ASs).
    Atualmente, o protocolo utilizado na Internet é o BGP (Border Gateway Protocol).

O BGP é um protocolo de roteamento dinâmico que utiliza vetor à distância, para trocar informações de  roteamento entre os sistemas autônomos.






Como é o endereçamento IP

Como é feito o endereçamento das máquinas em uma topologia de rede, como identificar um “host” dentre tantas redes interconectadas?



   IPv4  (Internet Protocol version 4) é a quarta versão do Internet Protocol (IP). É um dos protocolos principais dos métodos de inter-rede baseados em padrões na Internet e em outras redes comutadas por pacotes. O IPv4 foi a primeira versão implantada para produção na ARPANET em 1983. Ainda hoje direciona a maior parte do tráfego da Internet, apesar da implantação contínua de um protocolo sucessor, o IPv6, o IPv4 é descrito na publicação IFC da RFC 791 (setembro de 1981), substituindo uma definição anterior (RFC 760, janeiro de 1980).
   O IPv4 usa um espaço de endereço de 32 bits que fornece 4.294.967.296 (232) endereços exclusivos, ou seja cada IP tem um comprimento de 32Bits ou 4 bytes. Estes endereços são descritos em notação decimal separada por ponto, na qual cada byte é escrito em forma decimal e separado dos outros bytes por um ponto.




Cada número decimal representa um octeto que corresponde a um número binário de 8 bits.






Classificação IPv4:


   Uma vez que os projetistas do Ip escolheram um tamanho para endereços IP e decidiram dividir cada endereço em duas partes, eles tiveram que determinar quantos bits colocar em cada parte. O ID de rede  precisa de bits suficiente para permitir que seja atribuído que um número de rede único seja atribuído a cada rede física em uma inter-rede. Já o ID de hots precisa de bits suficientes para permitir que a cada computador acoplado a uma rede seja atribuído um endereço único. 

 Os intervalos de endereços IP formam de 0.0.0.0 a 255.255.255.255. Esses endereços IP são classificados em 5 classes.



Classe Primeiro OctetoNúmeros de rede válidosNúmero total desta classe de redeNúmero de hosts por rede
A1 to 1261.0.0.0 to 126.0.0.027 – 2224 – 2
B128 to 191128.1.0.0 to 191.254.0.0214 – 2216 – 2
C192 to 223192.0.1.0 to 223.255.254.0221 – 228 – 2


Nota:  A coluna Números de rede válidos, mostra os números de rede reais. Existem vários casos reservados. Por exemplo, as redes 0.0.0.0 (originalmente definidas para uso como endereço de broadcast) e 127.0.0.0 (ainda disponíveis para uso como endereço de loopback) .  As redes 128.0.0.0, 191.255.0.0, 192.0.0.0 e 223.255.255.0 também são reservadas.


Conceitos de redes e sub redes
   Todos os hosts de uma rede devem ter o mesmo de rede. Porém, esta propriedade do endereçamento IP poderá causar problemas, à medida que as redes crescem. Como fazer se um empresa começou sua rede com uma rede classe C e posteriormente necessitou ampliá-la, de forma que o número de hots fosse maior que máximo permitido pelo endereçamento.  Conseguir um novo IP pode ser uma tarefa não tão trivial, pois, não existem tantos endereços disponíveis .




CIDR
   Com o CIDR (Roteamento entre domínios sem classe), as atribuições de IP não se limitam às três classes. Todo o intervalo unicast (qualquer endereço IP com um primeiro octeto de 0 a 223) pode ser alocado em qualquer bloco de tamanho. De fato, todo o conceito de classes de endereços IP é completamente eliminado.



   Tanto o VLSM, quanto  o CIDR,  permitem que uma porção de um endereço IP seja dividida recursivamente em pequenos pedaços. A diferença entre os dois é o fato de que o VLSM faz a divisão de um endereço IP da Internet alocado à uma organização, porém isto não é visível na Internet. Já o CIDR permite a alocação de um bloco de endereços por um registro na Internet através de um ISP (Internet Service Provider).



    O IPv6 é o padrão de protocolo de Internet (IP) da próxima geração destinado a substituir o IPv4, o protocolo que muitos serviços de Internet ainda usam atualmente. Todo computador, telefone celular e qualquer outro dispositivo conectado à Internet precisa de um endereço IP numérico para se comunicar com outros dispositivos. O esquema de endereço IP original, chamado IPv4, está ficando sem endereços.



   A resolução de nomes de host significa, então, o mapeamento bem-sucedido de um nome de host para um endereço IP.  É o processo de converter, ou seja, resolver, o nome de um host de uma rede, no respectivo endereço de rede associado.  Um nome de host é um alias atribuído a um nó IP, para identificá-lo como um host TCP/IP. O nome de host pode ter até 255 caracteres e conter caracteres alfabéticos e numéricos, hífens e pontos  e pode ser atribuido  diversos nomes de host a um  mesmo host.



  Para verificar ser hostname . Vá em iniciar,  digite  cmd e aperte Enter. O prompt de comando do seu computador se abrirá, para você verificar seu nome de host, digite hostname e aperte Enter.









  Composição do endereço IP


   O endereço IP é um número de 32 bits que identifica exclusivamente uma interface de rede em uma máquina. Um endereço IP geralmente é escrito em dígitos decimais, formatados como quatro campos de 8 bits separados por pontos. Cada campo de 8 bits representa um byte do endereço IP. Essa forma de representar os bytes de um endereço IP geralmente é chamada de formato decimal com pontos.

Os bytes do endereço IP são ainda classificados em duas partes: a parte da rede e a parte do host. A Figura  mostra as partes componentes de um endereço IP típico, 129.144.50.56.








    Há também endereços especiais e endereços reservados.
 
   Nos endereços especiais, temos o o endereço de bordcast que é identificado por todos  os 1s binários de um ID de host.  Vale lembrar que, quando um octeto tem todos os 1s binários, significa na notação decimal o número 255.  Desta forma, os IDs de host  e de rede não devem ser configurados com este endereço, pois, foi reservado para o endereço de bordcast.

 Nos mesmos endereços especiais, também temos o endereço local, que não é roteado e é identificado por todos os zeros de um ID de host. Tanto o ID de host como os IDs de rede não podem ser configurados com todos os zeros binários. Esse endereço especial é reservado apenas aos pacotes “locais” e que não serão  encaminhados pelos roteadores;


 Já os reservados temos, A IANA (internet Assigned Numbers Autorithy) reservou os três seguintes blocos de espaço de endereço IP para o endereçamento de redes privadas, ou seja, não poderá ser utilizado pela internet:








    A máscara de sub-rede é usada no IPv4 e IPv6 para mostrar qual parte do endereço é a parte da rede e qual parte do endereço é a parte do host. No IPv4, existem três máscaras de sub-rede padrão correspondentes às três classes de endereços IP .

  Para IPv6, a máscara de sub-rede padrão é / 64 (os primeiros 64 bits são a parte da rede). Você pode criar uma sub-rede para criar algumas redes menores, pois com a máscara padrão, você tem 18.446.744.073.709.551.616 endereços possíveis em uma rede IPv6.




As máscaras de sub-rede também são escritas em notação decimal com pontos, com a inclusão de uma barra vertical seguida pelo número bits na parte de rede + sub-rede.  Fora da rede, a divisão em sub-redes não é visível e não exige a intervenção do ICANN.

Na vertical vemos o limite entre o número da sub-rede e o número do host. À esquerda está o número de sub-rede de 6 bits e à direita está o número de host de 10 bits.






CIDR  Um endereço IP do CIDR se parece com um endereço IP normal, exceto que termina com uma barra seguida por um número, chamado prefixo da rede IP. Os endereços CIDR reduzem o tamanho das tabelas de roteamento e disponibilizam mais endereços IP nas organizações.








Por exemplo ; Uma empresa X necessite de 2048 endereços e receba os endereços 194.24.0.0 a 194.24.7.255  e máscara de de 255.255.248.0. Em seguida, a empresa Y solita 4.096 endereços. Como um bloco de 4.096 endereços deve ficar em um limite de 4.096 bytes, não podem ser fornecidos endereços que comecem em 194.24.8.0. Em vez disso, são fornecido endereços de 194.24.16.0 a 194.24.31.255, juntamente com a máscara 255.255.240.0. Agora, a empresa Z solicita 1.024 endereços e são atribuídos a ela os endereços de 194.24.8.0 a 194.24.11.255, bem como a máscara 255.255.252.0






Camadas de enlace rede

Implementação da camada de enlace.

    A camada de enlace e implementada por meio de um adaptador de rede, também chamado de controlador de interface de rede(NIC). No núcleo do adaptador de rede, está o controlador da camada de enlace, normalmente um único chip de sistema, que implementa vários serviços da camada de enlace (enquadramento, acesso ao enlace, controle de fluxo etc). Podemos concluir que muito da funcionalidade da camada de enlace é implementada em hardware.


Where Is Link Layer Implemented - Electronics Post


   Na camada de enlace, não é o nó (roteadores e computadores) que possuem um endereço de camada de enlace, mas  sim o adaptador do nó. Segundo Kurose, um endereço da camada de enlace é também denominado um endereço de LAN, um endereço físico, ou um endereço MAC (media access control – controle de acesso ao meio)
O endereço MAC tem 6 bytes de comprimento, expressos em notação hexadecimal, onde cada byte é expresso como um par de números hexadecimais.




   Um protocolo de camada de enlace é usado para transportar um data grama por um enlace individual.  O protocolo define o formato dos pacotes trocados entre os nós nas extremidades do enlace, como também as acoes realizadas pelos nós, ao enviar e receber pacotes. A unidade de dados trocada pelo protocolo  de camada de enlace é denominada quadro e cada quadro encapsula um data grama da camada de rede.



 Acesso e Enquadramento : Os protocolos da camada de enlace de dados encapsulam cada quadro de rede dentro de um quadro de camada de enlace antes da transmissão através do enlace. Um quadro consiste em um campo de dados no qual o datagrama da camada de rede é inserido e em vários campos de dados. Ele especifica a estrutura do quadro, bem como um protocolo de acesso ao canal pelo qual o quadro deve ser transmitido através do link.


  Entrega confiável: a camada de enlace de dados fornece um serviço de entrega confiável, ou seja, transmite o datagrama da camada de rede sem nenhum erro. Um serviço de entrega confiável é realizado com transmissões e reconhecimentos. Uma camada de link de dados fornece principalmente o serviço de entrega confiável pelos links, pois eles têm taxas de erro mais altas e podem ser corrigidos localmente,o link no qual ocorre um erro, em vez de forçar a retransmissão dos dados.


  Controle de fluxo: Sem controle de fluxo um nó pode receber os quadros em uma taxa mais rápida do que pode processar, fazendo o buffer do receptor transbordar e os quadros podem se perder. Para superar esse problema, a camada do link de dados usa o controle de fluxo para impedir que o nó de envio de um lado do link sobrecarregue o nó de recebimento do outro lado do link.


  Detecção de erro: os erros podem ser introduzidos por atenuação de sinal e ruído. O protocolo Data Link Layer fornece um mecanismo para detectar um ou mais erros, isso é conseguido adicionando bits de detecção de erro no quadro e em seguida o nó receptor pode executar uma verificação de erro.


  Correção de erros: a correção de erros é semelhante à detecção de erros, exceto que o nó receptor não apenas detecta os erros, mas também determina onde os erros ocorreram no quadro.

  Half-Duplex e Full-Duplex: No modo Full-Duplex ambos os nós podem transmitir os dados ao mesmo tempo. No modo Half-Duplex, apenas um nó pode transmitir os dados ao mesmo tempo.


Formas de transmissão

Unicast A transmissão Unicast, na qual um pacote é enviado de uma única fonte para um destino especificado, ainda é a forma predominante de transmissão nas LANs e na Internet. Todas as LANs (por exemplo, Ethernet) e redes IP suportam o modo de transferência unicast, e a maioria dos usuários está familiarizada com os aplicativos unicast padrão (por exemplo, http, smtp, ftp e telnet) que empregam o protocolo de transporte TCP.





  Broadcast onde uma informação é enviada de um ponto para todos os outros pontos. Nesse caso, existe apenas um remetente, mas as informações são enviadas para todos os receptores conectados.

  É suportada na maioria das LANs (por exemplo, Ethernet) e pode ser usada para enviar a mesma mensagem para todos os computadores na LAN (por exemplo, o protocolo de resolução de endereços (arp) usa isso para enviar uma consulta de resolução de endereços para todos os computadores em uma LAN ) Os protocolos da camada de rede (como IPv4) também suportam uma forma de transmissão que permite que o mesmo pacote seja enviado a todos os sistemas em uma rede lógica (no IPv4, isso consiste na identificação da rede IP e no número de host de todos os 1).








  Multicast é o termo usado para descrever a comunicação em que uma informação é enviada de um ou mais pontos para um conjunto de outros pontos. Nesse caso, pode haver um ou mais remetentes e as informações são distribuídas para um conjunto de receptores.





Domínio de colisão é a parte de uma rede onde as colisões de pacotes podem ocorrer. Uma colisão ocorre quando dois dispositivos enviam um pacote ao mesmo tempo no segmento de rede compartilhado, os pacotes colidem e os dois dispositivos devem enviar os pacotes novamente, o que reduz a eficiência da rede. As colisões geralmente estão em um ambiente de hub, porque cada porta em um hub está no mesmo domínio de colisão. Por outro lado, cada porta em uma ponte, um switch ou um roteador está em um domínio de colisão separado.


Domínio de Broadcast é o domínio no qual uma transmissão é encaminhada. Um domínio de Broadcast contém todos os dispositivos que podem se alcançar na camada de enlace de dados  usando a transmissão. Todas as portas em um hub ou switch estão por padrão no mesmo domínio de broadcast. Todas as portas de um roteador estão nos diferentes domínios de transmissão e os roteadores não encaminham transmissões de um domínio de transmissão para outro.



 Existe uma gama relativamente grande de tecnologias (protocolos) ,as seguintes tecnologias serão abordadas abaixo;


 Token ring é uma rede local (LAN) na qual todos os computadores estão conectados em uma topologia em anel ou estrela e passam um ou mais tokens lógicos de host para host. Somente um host que contém um token pode enviar seus dados, a outros hosts que também contenha um token .  As redes de token ring impedem que pacotes de dados colidam em um segmento de rede porque os dados só podem ser enviados por um detentor de token e o número de tokens disponíveis é controlado.

Token Ring - Config Router



Token bus   (IEEE 802.4) é um cabo em forma de árvore ou linear, no qual todas as estações estão fisicamente conectadas. Logicamente as estações são organizadas em anel, com cada estação conhecendo o endereço da estação da esquerda e da direita. O token é passado de um usuário para outro em uma sequência (no sentido horário ou anti-horário).  Uma estação só pode transmitir dados quando possui o token. O funcionamento do barramento de token é um pouco semelhante ao Token Ring.




 DQDB (Distributed Queue Dual Bus) é um protocolo MAN (Metropolitan Area Network). Ele pode ser definido como um protocolo de controle de acesso médio compartilhado de alta velocidade usado em uma rede de barramento, possui dois barramentos unidirecionais, para fins de controle, nos quais o barramento pode transportar dados, vídeo e voz através de uma rede. Com a largura de banda sendo alocada conforme os intervalos de tempo. A vantagem de usar o barramento emparelhado é que ele é usado para lidar com a configuração de falhas. Pode ser estendido até 50km a 34-55 Mbps.




100VG-AnyLAN Uma versão de 100 Mbps da Ethernet, desenvolvida pela HP, capaz de transportar os quadros Ethernet e Token Ring. Era uma LAN de mídia compartilhada como a Ethernet, mas empregava o método de acesso por prioridade de demanda em vez de CSMA / CD, permitindo que voz e vídeo em tempo real recebessem alta prioridade. Por um tempo, o 100VG-AnyLAN também foi chamado de "Fast Ethernet", mas o Fast Ethernet IEEE 802.3u se tornou o padrão.



FDDI  é um padrão para transmissão de dados em uma rede local. Ele usa fibra óptica como meio físico subjacente padrão, embora também tenha sido especificado posteriormente para usar cabo de cobre; nesse caso, pode ser chamado CDDI (Copper Distributed Data Interface), padronizado como TP-PMD (Dependendo do meio físico de par trançado) ), também conhecido como TP-DDI (Twisted Pair Distributed Data Interface).
  O FDDI foi efetivamente tornado obsoleto nas redes locais pela Fast Ethernet, que oferecia as mesmas velocidades de 100 Mbit / s, mas a um custo muito menor .



ATM (Modo de transferência assíncrona). É uma técnica de comutação que usa a multiplexação por divisão de tempo (TDM) para comunicações de dados.
  As redes ATM são redes orientadas à conexão para retransmissão celular que suporta comunicações de voz, vídeo e dados. Ele codifica os dados em pequenas células de tamanho fixo para que sejam adequados para TDM e os transmite por meio físico.
  O tamanho de uma célula ATM é de 53 bytes: cabeçalho de 5 bytes e carga útil de 48 bytes. Existem dois formatos de célula diferentes - interface de rede do usuário (UNI) e interface de rede (NNI).



Familia Ethernet

Ethernet é uma família de tecnologias de rede de computadores comumente usadas, em redes de área local (LAN), redes de área metropolitana (MAN) e redes de área ampla (WAN).  Foi introduzido comercialmente em 1980 e padronizado pela primeira vez em 1983 como IEEE 802.3.
  Desde então, a Ethernet manteve uma boa compatibilidade com versões anteriores e foi refinada para oferecer suporte a taxas de bits mais altas, maior número de nós e distâncias mais longas de link.   Com o tempo, a Ethernet substituiu amplamente as tecnologias de LAN com fio, como Token Ring, FDDI e ARCNET.
  A rede Ethernet utiliza uma topologia de barramento, onde múltiplos computadores devem compartilhar o acesso a um único meio. Um remetente transmite um sinal, que se propaga do remetente em direção às duas extremidades do cabo. Neste momento, o computador remetente tem uso exclusivo do cabo inteiro, durante a transmissão de um dado quadro, e os outros computadores devem esperar.