Redes de computadores Monteiro, Emiliano S. Professor Out/2016
Algoritmos de Roteamento Algoritmos não adaptativos: não baseiam suas decisões de roteamento em medidas ou estimativas de tráfego e da topologia atual. Na verdade a escolha da rota a ser utilizada para ir de K a L é previamente calculada off-line, sendo transferida para os roteadores quando a rede é inicializada, também é chamado de Roteamento estático (ex: protocolo RIP) Algoritmos adaptativos: Mudam suas decisões de roteamento para refletir mudanças na topologia e, normalmente no tráfego. Podem obter suas informações de: roteadores adjacentes, todos os roteadores, por uma unidade métrica (hops), tempo de transito estimado, etc. Roteamento por sessão (session routing): uma rota permanece em vigor durante toda a sessão de usuário (por, exemplo uma sessão de login em um terminal)
Algoritmos de roteamento Roteamento pelo Caminho Mais Curto Roteamento baseado em Fluxo Roteamento de Vetor de Distância Roteamento por Estado de Enlace Roteamento Hierárquico Roteamento para Host Móveis Roteamento por Difusão Roteamento Multicast Roteamento estático Roteamento dinâmico
Roteamento pelo caminho mais curto: Uma forma de medir o comprimento do caminho é medir o número de hops entre dois pontos, o menor é escolhido (Outras unidades de medida também podem ser usadas como distância física), cada ponto pode ser rotulado com informações como retardo médio medidos com um pacote de teste padrão enviado em determinados intervalos de tempo entre os roteadores. (largura de banda, tráfego médio, custo de comunicação, etc) Roteamento baseado em fluxo: Leva em consideração a carga e topologia para decidir o tipo de caminha a ser tomado, em algumas redes o fluxo médio de dados entre cada par de nós é estável e previsível, a ideia é analisar este tráfego e determinar a capacidade e fluxo médio, calcular o retardo em todas as linhas, para isto a topologia deve ser previamente conhecida, matriz de tráfego, matriz da capacidade de linha (bps), algoritmo de roteamento
Roteamento de Vetor de Distância: Opera fazendo com que cada roteador mantenha uma tabela (vetor) que fornece a melhor distância conhecida a cada destino e determina qual linha deve ser utilizada para se chegar lá. Essas tabelas são atualizadas através da troca de informações com os vizinhos, também conhecido por Bellman-Ford ou Ford-Fulkerson, presume-se que o roteador conheça seus vizinhos (e a distância entre eles), as unidades de medida de distância podem ser: retardos, hops, comprimento de filas, etc). Roteamento por Estado de Enlace: O roteador descobre seus vizinhos e aprende seus endereços de rede, mede o retardo (ou custo) para cada um de seus vizinhos, cria um pacote que diga tudo o que acaba de ser aprendido e envia a todos os roteadores, calcula o caminho mais curto para cada um dos roteadores, assim ele pode ter um mapa completo da topologia (link state LS) Roteamento Hierárquico: O roteador é dividido em regiões, o roteador conhece sua região más não conhece nada sobre outras regiões
Roteamento para Host Móveis: O principal objetivo é localizar os usuários móveis (UM), o usuário móvel tenta localizar uma base, o UM é registrado com visitante na rede local fornecendo seu endereço físico (de sua rede original), um agente na rede atual entra em contato com outro agente na rede de origem do UM e informa que recebeu um novo usuário, estes dois agentes devem trocar informações sobre este usuário para que ele possa usar a nova rede Roteamento por Difusão: Usada por programas que distribuem conteúdo de rádio, tv, etc; A origem deve ter uma lista completa dos host receptores. Uma variação é o roteamento por multidestino, o pacote contém as informações dos destinos, os roteadores verificam estas informações e enviam os pacotes. Roteamento Multicast: Envia mensagens a grupos bem definidos que sejam grandes quando considerados individualmente, más pequenos se comparados à rede como um todo. É necessário o gerenciamento por grupos, é calculada uma árvores para cada tipo de grupos, o roteador de origem envia os pacotes para uma de cada vez
Roteamento Quem são os vizinhos? Quando um roteador é inicializado ele envia um pacote especial HELLO em cada linha, o roteador da outra ponta deverá enviar uma resposta dizendo quem ele é, os nomes são exclusivos. Como medir o custo de linha? Enviando pacotes especiais ECHO pela linha, o outro lado deve responder prontamente, medindo o tempo de ida e volta e dividindo por dois (isto fornece uma estimativa razoável de retardo), o teste realizado várias vezes com médias pode indicar melhores resultados.
Protocolos de controle ICMP Internet Controle Message Protocol: Este protocolo é usado para testar as conexões entre host, ou para reportar anomalias entre as conexões: os principais tipos de mensagens são: Pacote não pode ser entregue Campo TTL chegou a zero Campo de cabeçalho inválido Ensinar geografia a roteador Perguntar a uma máquina se ela está ativa Confirma se está ativa Etc. O Ping e o Traceroute usam icmp!!
Controle de Congestionamento Quanto há pacotes demais presentes em uma parte da sub-rede, o desempenho diminui, essa situação é chamada de Congestionamento. O aumento de memória de nos roteadores nem sempre melhora o problema do congestionamento Processadores de roteadores lentos podem causar congestionamento, linhas com pequena largura de banda também Controle de congestionamento: se baseia na garantia de que a sub-rede é capaz de transportar o tráfego oferecido, envolve todos os hosts e todos os roteadores e processamento das operações store-and-forward dos roteadores Controle de fluxo: se baseia no tráfego ponto-a-ponto entre um determinado transmissor e um receptor, evita que um transmissor rápido não possa transmitir mais rápido que o receptor pode receber
Controle de congestionamento 1) Monitorar o sistema para detectar quanto e onde ocorre congestionamento 2) Enviar essas informações para lugares onde alguma providência possa ser tomada 3) Ajustar a operação do sistema para corrigir o problema Unidades de medida: percentagem de todos os pacotes descartados; pacotes interrompidos e retransmitidos, média de retardo, lentidão em determinadas sub-redes e/ou host, etc
Políticas de Prevenção 1) Política de retransmissão: trata da rapidez com que um transmissor temporiza (timeout) e o que transmite na temporização (trata da diferença de tempo usado pelos transmissões para envio de mensagens) 2) Política de confirmação: Se cada pacote for confirmado imediatamente a confirmação gera trafego extra, se a confirmação for lenta também pode ocorrer interrupções/retransmissões (ideal são janelas pequenas) 3) Política de cache: pacotes recebidos fora de ordem pode ser descartados (ocasionando retransmissão) 4) Circuito virtual ou datagramas 5) Gerenciar o tempo de vida do pacote TTL 6) Pacotes com maior prioridade
Políticas de prevenção Camada Transporte Rede Política Poítica de retransmissão Política de cache fora de ordem Política de cofirmação Política de controle de fluxo Determinação de timeout Circuitos virtuais e/ou datagramas Política de serviços de enfileiramento de pacotes Política de descarte de pacotes Algoritmo de roteamento Gerenciamento de tempo de vida do pacote Enlace de dados Política de retransmissão Política de cache fora de ordem Política de confirmação Política de controle de fluxo
Algoritmo do balde furado Sistema de enfileiramento simples com um único servidor com tempo de serviço constante C o m p u ta d o r H o s t P a c o te F lu x o d e s rre g u la d o In te rfa c e c o n te n d o u m b a ld e fu ra d o B a ld e fu ra d o F lu x o re g u la d o R e d e
Protocolos de roteamento dinâmico RIP, Routing Information Protocol, escolhe a rota que passa pelo menor número de roteadores, para encaminha um pacote. Indicado para redes pequenas, os roteadores trocam informações sobre suas tabelas de roteamento a cada 30 s, isto pode gerar incremento de tráfego, o RIP impõe um limite de 15 hops.rfc 1389, 1058, 1387 OSPF, Open Shortest Path First, escolhe a rota levando em consideração o estado dos links entre os roteadores (falhas entre links são comunicadas entre os roteadores que usam este protocolo), usado em grandes redes, os roteadores que usam este protocolo constroem em memória as informações sobre roteamento, diminuindo na rede o trafego de tabelas e estado de links. RFC 1131 e 2178
Protocolos de roteamento dinâmico BGP, Border Gateway Protocol, é utilizado para conectar redes de grandes empresas com seus backbones, o caso da internet é típico, os provedores (que possuem grandes redes, uma independente da outra são grandes sistemas autônomos) usam este protocolo para se conectar ao backbone da Embratel, RFC 1105, 1654 e 1771
Exemplo de rede que implemente comutação de circuito Fonte: Redes de computadores, Tanenbaum A.
Exemplo de rede que implementa comutação de pacote Fonte: Redes de computadores, Tanenbaum A.
Comutação por Circuitos
Comutação de Pacotes
A B
3 2 1 1 3 3 B A 2
10.0.0.x 10.0.0.10 10.0.0.20 10.0.2.7 10.0.2.y 10.0.2.15 B A
B 802.3 802.11 Bridge A