Por quê é difícil?
Problema 1: computação endereço => rota
- requer conhecimento de topologia global
- requer coordenação de decisões sobre roteamento feitas por roteadores distribuídos
Problema 2: tratamento de mudanças de topologia
- precisa atualizar conhecimento distribuído de topologia para refletir mudanças
- deve coordenar as atualizações para minimizar o impacto de inconsistências temporais
- como rotear através de redes em movimento
Problema 3: uso eficiente de recursos da rede
- p.ex. minimizar congestionamento, retardo
- requer acompanhar o status de recursos e fazer adaptação a mudanças rápidas
Problema 4: impacto de roteamento nos mecanismos de camadas superiores
- pacotes fora de seqüência pode causar uma avalanche de retransmissões
- variância grande de retardo pode causar expiração de temporizadores e retransmissão