Jéssica vargas
A principal função da camada de rede é rotear pacotes da máquina origem para a máquina destino da melhor forma possível. Na maioria dos casos os pacotes necessitarão de vários hops
(saltos entre roteadores) para chegar ao seu destino.
O algoritmo de roteamento é a parte do software da camada de rede responsável pela decisão sobre qual linha de saída a ser usada na transmissão do pacote que entra. Se a sub-rede utilizar datagramas, esta decisão deverá ser tomada para todos os pacotes de dados recebidos. Se a sub-rede utilizar circuitos virtuais internamente, as decisões de roteamento serão tomadas somente quando o circuito virtual estiver sendo estabelecido.
Independente do tipo de serviço utilizado, existem determinadas propriedades que são desejáveis em um algoritmo de roteamento:
• Correção – sempre convergir para rotas corretas.
• Simplicidade – ser de fácil entendimento.
• Robustez – continuar funcionando mesmo em presença de falhas de hardware.
• Estabilidade – convergir para um estado de equilíbrio.
• Equidade – hosts devem receber fatias justas de tráfego.
• Otimização – conseguir a maior vazão possível na sub-rede.
Embora a equidade e a otimização possam parecer óbvias, elas possuem objetivos contraditórios. Os algoritmos de roteamento podem ser agrupados em adaptativos e não-adaptativos. Os algoritmos não-adaptativos não baseiam suas decisões de roteamento em medidas ou estimativas do tráfego e da topologia atuais. A escolha da rota a ser utilizada é previamente calculada e transferida para os roteadores quando a rede é inicializada. Tal procedimento também é conhecido como roteamento estático.
Os algoritmos adaptativos mudam suas decisões de roteamento para refletir mudanças na topologia e/ou no tráfego. Tal procedimento também é conhecido como roteamento