dasd
A principal função da camada de rede é rotear pacotes da máquina de origem até a máquina de destino. Nas sub-redes, em grande maioria, os pacotes necessitam de vários hops para completar o trajeto. Os algoritmos responsáveis por determinar as rotas e as estruturas de dados que eles utilizam constituem um dos elementos mais importantes do projeto da camada de rede (TANEMBAUM, 2003). Um algoritmo de roteamento é a parte do software da camada de rede responsável pela decisão sobre a linha de saída a ser utilizada na transmissão do pacote de entrada. Se a sub-rede fazer uso de datagramas, a decisão deverá ser tomada mais uma vez para cada pacote de dados que é recebido, pois a rota mais indicada pode ter sido alterada desde o último pacote (TANEMBAUM, 2003) Portanto a finalidade de um algoritmo de roteamento é simples: dado um conjunto de roteadores conectados por enlaces, uma algoritmo descore um ‘bom’ caminho entre o roteador de fonte e o roteador de destino. Normalmente um ‘bom’ caminho é aquele que tem o ‘menor custo’ (KUROSE ; ROSS, 2009, p. 372) Entretanto será observado que, em algumas situações práticas, questões políticas podem influenciar no roteamento, como por exemplo, o roteador x, de propriedade da organização y, não deverá repassar nenhum pacote originário da rede de propriedade da organização z (KUROSE ; ROSS, 2009). Em um algoritmo de roteamento, certas propriedades são desejáveis como correção, simplicidade, robustez, estabilidade, equidade e otimização. Desses termos, talvez o que merece uma explicação mais detalhada é robustez. Uma vez que uma rede de porte considerável utiliza algoritmos de roteamento, espera-se que ela funcione continuamente durante anos sem apresentar problemas. Entretanto, durante esse período, haverá falhas de hardware e software de diversos tipos. Os dispositivos finais, os intermediários e os links iram apresentar falhas e, assim, a topologia terá mudanças inúmeras vezes