Sei sulla pagina 1di 20

Tecnologias de Redes de

Computadores

Gustavo Sousa Pavani

Universidade Federal do ABC (UFABC)


2 Quadrimestre - 2016
Aula 8

Roteamento hierrquico - 1

medida que as redes aumentam de tamanho, as tabelas


dos roteadores aumentam proporcionalmente.

No somente mais memria necessria, mas tambm maior


tempo de CPU e mais largura de banda para enviar relatrios de
status sobre elas.

Em algum momento, deixa de ser vivel cada roteador ter


uma entrada correspondente a cada outro roteador, de
forma que o roteamento ter de ser feito hierarquicamente.

Os roteadores so divididos em regies, de forma que o roteador


s tem detalhes de como rotear para destinos dentro da sua
prpria regio.
Em redes muito grandes, uma hierarquia de dois nveis pode ser
insuficiente.
H aumento na extenso do tamanho mdio efetivo.

Em geral, suficientemente pequeno para ser aceitvel.


Gustavo S. Pavani

Roteamento hierrquico - 2

Gustavo S. Pavani

Roteamento por difuso - 1

Em algumas aplicaes, os hosts precisam enviar


mensagens a muitos (ou a todos) outros hosts.

O envio de um pacote a todos os destinos simultaneamente


chamado de difuso (broadcasting).

Mtodos possveis

A origem envia um pacote a todos os destinos.

Algoritmo de inundao

Desperdia largura de banda e exige que a origem tenha uma lista


completa de todos os destinos.
eficiente, mas gera pacotes demais e consome largura de banda em
excesso.

Roteamento para vrios destinos

Cada pacote conta com uma lista de destinos ou uma mapa de bits
indicando os destinos desejados. Quando um pacote chega ao
roteador, este verifica todos os destinos para determinar o conjunto de
linhas de sada que sero necessrias, gerando uma cpia do pacote
para cada sada, sendo que cada pacote contm somente os destinos
que vo usar a linha (partio entre as linhas de sada).
Gustavo S. Pavani

Roteamento por difuso - 2

rvore de amplitude (Spanning tree)

Subconjunto da sub-rede que inclui todos os roteadores, mas no


contm nenhum lao. Cada roteador copia o pacote de difuso na
entrada em todas as linhas da rvore de amplitude, exceto aquela em
que o pacote chegou.
Faz excelente uso da largura de banda, mas cada roteador deve ter o
conhecimento da rvore de amplitude usada para que o mtodo seja
aplicvel.

Encaminhamento pelo caminho inverso

Quando um pacote de difuso chega no roteador, o roteador verifica


se o pacote chegou pela linha que normalmente utilizada para o
envio de pacotes origem da difuso. Em caso afirmativo, h uma boa
probabilidade que o pacote de difuso tenha pego a melhor rota e seja
a primeira cpia a chegar ao roteador. Assim, o roteador encaminha
cpias para todas as linhas, exceto por onde chegou. No entanto, se o
pacote chegou por uma linha diferente da preferencial para alcanar a
origem, ele ser descartado por ser provavelmente uma duplicata.
razoavelmente eficiente e fcil de implementar, pois no h
necessidade de se aprender sobre as rvores de amplitude, no tem
overhead de uma lista de destinos, nem requer algum mecanismo
especial como na inundao.
Gustavo S. Pavani

Roteamento por difuso - 3

Exemplo de roteamento pelo caminho inverso

O roteador I envia pacotes para F, H, J e N. Cada um deles chega


pela rota preferida a I (indicado pelo crculo). A seguir, 8 pacotes so
gerados, que chegam em roteadores ainda no visitados, sendo que 5
deles chegam pela rota preferida. So novamente gerados mais
pacotes, 6 ao todo, os quais 3 chegam pelas rotas preferidas e os
demais so duplicatas. Aps 5 hops e 24 pacotes, a difuso termina.
Se fosse usada a rvore de amplitude, seriam necessrios 4 hops e 15
pacotes.

Gustavo S. Pavani

Roteamento multicast - 1

Muitas vezes, necessrio enviar uma mensagem para


todos os membros de um grupo: multicasting.

O envio de mensagens ponto-a-ponto pode ser ineficiente, se o


grupo grande.
Uso de difuso pode ser ineficiente, pois somente algumas
mquinas podem ter interesse na mensagem.
necessria alguma forma de gerenciamento do grupo.

Para o roteamento multicast, cada roteador calcula uma


rvore de amplitude cobrindo todos os roteadores.

Quando um pacote multicast enviado ao grupo, o primeiro


roteador examina a rvore de amplitude e poda todas as linhas que
no levam a hosts que so membros do grupo.

Os pacotes de multicast so encaminhados somente atravs da rvore


de amplitude podada.
Gustavo S. Pavani

Roteamento multicast - 2

Gustavo S. Pavani

Roteamento multicast - 3

Vrios tipos de poda (pruning) so possveis:

Se for usado um algoritmo de roteamento de estado de enlace e


cada roteador tiver conhecimento da topologia, incluindo quais
hosts que pertencem a cada grupo, possvel que a rvore de
amplitude seja podada comeando do final de cada rota at o incio
da rvore, removendo todos os roteadores que no pertencem ao
grupo em questo.
Se for usado um algoritmo de roteamento por vetor de distncia
uma outra estratgia pode ser usada. O algoritmo bsico o
encaminhamento pelo caminho inverso.

Uso de uma mensagem PRUNE, que enviado pelo roteador ao


emissor, para no enviar mensagens multicast para aquele grupo, se
aquele roteador no possui hosts interessados naquele grupo ou se
no possui conexes a outros roteadores que tem interesse naquele
grupo. Problemas de escalabilidade: complexidade O(mn), onde m o
nmero de membros e n o nmero de grupos.
Alternativa: Redes baseadas em ncleo (core-based trees), que usa
uma raiz no meio do grupo. Reduz a complexidade para O(m).
Gustavo S. Pavani

Roteamento para hosts mveis - 1

Hosts mveis so aqueles que esto longe de casa, mas


querem continuar conectados.

Assume-se que os hosts tem uma localizao principal (home


location) e um endereo local (home address) que nunca mudam.

Os agentes estrangeiros (foreign agents) so processos que rastreiam


todos os hosts mveis que esto visitando aquela rea.
Cada rea tem seu agente local (home agent), que rastreia os hosts de
sua rea, mas que esto visitando outra rea.

Gustavo S. Pavani

10

Roteamento para hosts mveis - 2

Quando um host entra em uma rea, necessrio que ele


se registre.

Periodicamente, cada agente estrangeiro anuncia sua existncia e


seu endereo. Um host tambm pode enviar um pacote de difuso
perguntando se h um agente estrangeiro nas redondezas.
O host mvel se registra no agente estrangeiro, registrando seu
endereo local, endereo atual da camada de rede e algumas
informaes de segurana.
O agente estrangeiro contata o agente local do host, fornecendo
informaes de segurana do host.
O agente local examina as informaes de segurana, que contm
uma marca de tempo (timestamp), e se tudo est certo, autoriza o
agente estrangeiro a adicionar o host.
Quando o agente estrangeiro recebe a confirmao do agente
local, ele adiciona uma entrada relativa ao host, informando-o que
ele est registrado.
Gustavo S. Pavani

11

Roteamento para hosts mveis - 3

Quando um pacote enviado ao host mvel, ele


primeiramente encaminhado para a localizao principal.

L, o agente local verifica a localizao temporria do host e acha


o endereo do agente estrangeiro que gerencia o host.
O pacote tunelado para o agente estrangeiro. Depois, o agente
local informa ao emissor para enviar os novos dados encapsulados
para o endereo do agente estrangeiro.

Gustavo S. Pavani

12

Roteamento em redes ad hoc - 1

um caso extremo, onde at os roteadores so mveis.

Nesse caso, a topologia est sofrendo constantes


mudanas.

Usualmente, cada n da rede um host e um roteador.


So chamadas de redes ad hoc ou MANETs.

A desejabilidade e a validade das rotas mudam espontaneamente,


sem aviso prvio.

Vrios algoritmos de roteamento possveis.

AODV (Ad hoc On-Demand Distance Vector)

Primo distante do algoritmo de Bellman-Ford.


Adaptado para ser usado em ambientes mveis, considerando largura
de banda limitada e a baixa capacidade de bateria encontradas nesse
tipo de ambiente.
O algoritmo s determina uma rota quando algum quer enviar um
pacote para aquele destino.
Gustavo S. Pavani

13

Roteamento em redes ad hoc - 2

Descoberta de rota

Uma rede ad hoc pode ser descrita como um grafo dos seus ns
(roteadores + hosts).
Dois ns esto conectados se eles podem se comunicar diretamente
via seus rdios.

Como os ns podem ter rdios com potncias diferentes, um n A pode


estar conectado a um n B, mas a recproca pode no ser verdadeira.
Entretanto, assume-se por simplicidade que a comunicao simtrica.

Algoritmo sob demanda para achar as rotas

Pacote especial ROUTE_REQUEST usado para se determinar a rota por


difuso.

ROUTE_REQUEST

ROUTE_REPLY
Gustavo S. Pavani

14

Roteamento em redes ad hoc - 3

Quando o pacote ROUTE_REQUEST chega em um n, ele


processado da seguinte maneira:

O par (Source Address, Request ID) consultado na tabela de histrico


local se a requisio j foi vista e processada. Se uma duplicata, a
requisio descartada. Caso contrrio, o par inserido na tabela.
O receptor procura o destino na sua tabela de roteamento. Se uma rota
fresca conhecida, um pacote ROUTE_REPLY enviado de volta para
a origem, informando como chegar ao destino.
Uma rota dita fresca se o Dest. Sequence Number na tabela de
roteamento maior ou igual ao Dest. Sequence Number do pacote
ROUTE_REQUEST. Se menor, o prximo passo executado.
Como o receptor no sabe uma rota fresca para o destino, ele
incrementa o campo Hop Count e transmite por difuso o pacote
ROUTE_REQUEST. Ele tambm extrai os dados do pacote e os guarda
como uma nova entrada na sua tabela de roteamento reversa. Essa
informao usada para construir a rota reversa de forma que a
resposta pode retornar a origem. H um timer associado a essa entrada
que quando expira remove essa entrada da tabela reversa.
Gustavo S. Pavani

15

Roteamento em redes ad hoc - 4

(a) Alcance da difuso do n A.


(b) Depois que B e D receberam a difuso de A.
(c) Depois que C, F e G receberam a difuso de A.
(d) Depois que E, H e I receberam a difuso de A.
Ns sombreados so novos receptores. Setas indicam as
rotas reversas.
Gustavo S. Pavani

16

Roteamento em redes ad hoc - 5

O pacote ROUTE_REPLY gerado por um n intermedirio que


contm uma rota fresca para o destino ou pelo prprio destino, caso
nenhum n intermedirio possua uma rota fresca.

Em cada n intermedirio, durante o caminho inverso, o campo Hop Count


incrementado de forma que o n sabe quo distante o destino est.
Alm disso, o pacote inspecionado. Ele adicionado a tabela de
roteamento local como uma rota at o destino se nenhuma rota at o
destino conhecida, se o nmero de sequncia no pacote ROUTE_REPLY
maior que o valor guardado na tabela de roteamento ou se os nmeros de
sequncia so iguais, mas a nova rota mais curta.
Assim, todos os ns na rota reversa aprendem uma rota at o destino,
como um subproduto da descoberta de rota. Os ns que no esto na rota
reversa descartam a entrada na tabela de roteamento reversa quando o
timer expira.

O nmero de difuses pode ser reduzido com o uso de um esquema de


incremento no TTL do pacote ROUTE_REQUEST.

A busca tentada em anis cada vez mais largos.


Gustavo S. Pavani

17

Roteamento em redes ad hoc - 6

Manuteno de rotas

Como os ns podem se mover ou serem desligados, a topologia


pode mudar de forma espontnea.
Periodicamente, cada n difunde uma mensagem Hello. Cada um
dos vizinhos deve responder a ela. Se a resposta no vm, o n
sabe que seu vizinho saiu do alcance e no est mais conectada a
ele. O mesmo acontece se o n tenta enviar um pacote e o vizinho
no responde.

Essa informao serve para remover as rotas que no esto mais


funcionando.

Para cada possvel destino, cada n N rastreia seus vizinhos de


quem recebeu um pacote para aquele destino durante os ltimos
T segundos.

O n possui uma tabela de roteamento endereada pelo destino e


contm o n de sada usado para atingir o destino, o nmero de
sequncia mais recente e a lista de ns vizinhos ativos para aquele
destino.
Gustavo S. Pavani

18

Roteamento em redes ad hoc - 7

(a) Tabela de roteamento de D antes que G seja desligado.


(b) O grafo aps o desligamento de G.
Gustavo S. Pavani

19

Roteamento em redes ad hoc - 8

Quando um dos vizinhos do n no pode ser mais alcanado, o n


checa sua tabela de roteamento e verifica quais destinos tem rotas
que usam esse vizinho inativo.

Suponha que o n G seja desligado repentinamente.

Para cada uma dessas rotas, o n informa seus vizinhos ativos que a
rota por ele est invlida e deve ser removida das suas tabelas de
roteamento.
Os vizinhos ativos tambm informam seus vizinhos ativos. Assim, de
forma recursiva, todas as rotas que dependem do vizinho inativo so
removidas das tabelas de roteamento da rede.
O n D verifica que o n G era usado nas rotas para E, G e I.
Ento o n D notifica seus vizinhos ativos: A e B, atravs do envio de
pacotes que causam uma atualizao em suas tabelas de roteamento.
O n D tambm remove as entradas para E, G e I de sua tabela de
roteamento.

Note que o AODV no envia difuses peridicas do contedo de


sua tabela de roteamento como o algoritmo de Bellman-Ford.

Economia de banda e de bateria dos dispositivos.


Gustavo S. Pavani

20

Potrebbero piacerti anche