Zone Routing Protocol - ZRP[1]
Rafael de M. S. Fernandes1
1Programa de Engenharia de Sistemas e Computac¸˜ao - Coppe/UFRJ
Rio de Janeiro - RJ - Brasil
Resumo. O protocolo ZRP busca reunir as melhores caracter´ısticas dos pro-tocolos pr´o-ativos e reativos. Ele ´e definido como um protocolo H´ıbrido, pois parte do funcionamento ocorre como um protocolo pr´o-ativo e outra parte como um protocolo reativo. Durante este trabalho ser´a apresentado como o protocolo ZRP funciona e como ele faz para se comportar hora como pr´o-ativo, hora como reativo.
1. Introduc¸˜ao
Nas redes Ad Hoc diversos problemas ocorrem, entre eles o problema de determinar a melhor rota para encaminhamentos de pacotes. Devido a natureza m´ovel dos n´os neste tipo de rede, as rotas est˜ao constantemente sendo modificas e as vezes at´e sumindo.
Nos estudos sobre roteamento em redes Ad Hoc dois tipos de protocolos foram criados, os protocolos reativos e os pr´o-ativos.
Os protocolos reativos determinam as rotas usadas sob-demanda, ou seja, somente quando se necessita de uma rota ´e que o protocolo ir´a iniciar o descobrimento desta rota. Os protocolos Dynamic Source Routing (DSR)[2] e Ad-hoc On demand Distance Vector (AODV)[3] s˜ao exemplos de protocolos reativos.
J´a os protocolos pr´o-ativos propagam continuamente informac¸˜oes sobre as rotas, mantendo o conhecimento das rotas sempre atualizado para que quando um pacote ne-cessite de uma rota, a mesma j´a esteja determinada e seja usada imediatamente. Os pro-tocolos Wireless Routing Protocol (WRP)[4] e Destination-Sequenced Distance-Vector (DSDV)[5] s˜ao exemplos de protocolos pr´o-ativos.
Mas os dois protocolos possuem desvantagens grandes. Enquanto o protocolo reativo demanda muito tempo para determinar a rota, o pr´o-ativo ocupa espac¸o na banda durante a troca de informac¸˜oes al´em de necessitar de processamento e mem´oria do dispo-sitivo m´ovel.
Para tentar amenizar os problemas de ambos os protocolos, o ZRP funciona como um protocolo h´ıbrido, ou seja, parte do protocolo funciona como um protocolo pr´o-ativo e outra parte como um protocolo reativo.
Na pr´oxima sec¸˜ao ser˜ao apresentadas as caracter´ısticas do protocolo e seu funcio-namento.
2. Caracter´ısticas
A especificac¸˜ao do protocolo n˜ao define o protocolo pr´o-ativo usado pelo ZRP. Mas apesar disto o protocolo possui algumas caracter´ısticas pr´oprias. Algumas caracter´ısticas est˜ao listadas abaixo:
• O ZRP necessita, na sua zona de roteamento, explicada mais a frente, que sejam enviadas mensagens peri´odicas para manter o roteamento local.
• O protocolo suporta dispositivos de fabricantes diferentes, desde que cada um tenha um IP ´unico associado a cada interface de rede.
• O protocolo ´e totalmente distribu´ıdo e n˜ao depende de uma unidade central. • Existe prevenc¸˜ao de loops no roteamento atrav´es de n´umero de seq¨uˆencia e do
enderec¸o de origem.
• N˜ao ´e fornecido nenhuma forma de seguranc¸a atrav´es do ZRP.
3. Funcionamento
3.1. Protocolo de Roteamento IntraZona (IARP)
O protocolo possue uma ´area chamada Zona de Roteamento de um n´o N, que ´e definida como um conjunto de n´os A, na qual a menor distˆancia, em saltos, desde o n´o N at´e cada um dos n´os em A ´e um parˆametro inteiro (p) chamado Raio de Zona. ´E importante observar que ´e atribu´ıdo a cada n´o o raio de zona (parˆametro p), e conseq¨uentemente sua zona de roteamento, n˜ao necessariamente sendo igual a todos os n´os. Observe que as zonas de roteamento podem se sobrepor.
Dentro da Zona de Roteamento o protocolo ZRP funciona como um protocolo pr´o-ativo, ou seja, cada n´o sabe exatamente as rotas para todos os n´os dentro de sua zona de roteamento.
Para que um n´o saiba as rotas para os n´os dentro da zona de roteamento, cada n´o possui uma tabela de roteamento que indica qual ´e a rota para cada n´o pertencente a sua zona de roteamento. Como o ZRP n˜ao define qual ´e o protocolo pr´o-ativo utilizado, a construc¸˜ao desta tabela ´e feita de acordo com a especificac¸˜ao do protocolo pr´o-ativo escolhido para funcionar na zona de roteamento.
Os n´os que ficam exatamente a uma distˆancia p, em saltos, de um n´o N s˜ao cha-mados N´os Perif´ericos.
A construc¸˜ao da zona de roteamento requer que o n´o inicialmente descubra quem s˜ao seus vizinhos. Um vizinho ´e definido como um n´o na qual uma comunicac¸˜ao direta (ponto a ponto) pode ser estabelecida e ainda a distˆancia ´e de um passo. A identificac¸˜ao dos n´os vizinhos pode ser feita diretamente pelo protocolos de MAC, como no caso de protocolos de polling.
Em outros casos, a descoberta dos vizinhos pode ser implementada atrav´es do Neighbor Discovery Protocol (NDP). Este protocolo funciona com envio peri´odico de mensagens ”HELLO”. A recepc¸˜ao do ”HELLO”pode ser usada para indicar o estado da conex˜ao comum vizinho.
3.1.1. Tamanho do Raio de Zona
O desempenho do ZRP est´a diretamente ligada ao tamanho do raio de zona. Em ge-ral redes densas com n´os se movimentando rapidamente favorecem zonas de roteamento pequenas. J´a redes esparsas com n´os se movendo lentamente, favorecem zonas de rotea-mento grandes.
A maneira mais f´acil e provavelmente menos eficiente de determinar o tamanho da zona de roteamento ´e atrav´es de configurac¸˜ao manual. O administrador da rede, se houver um, ou o fabricante do dispositivo podem fazer esta configurac¸˜ao. No caso de uma rede que sofre poucas variac¸˜oes, este m´etodo pode ser eficaz.
Alternativamente o ZRP pode configurar sua zona de roteamento dinamicamente. Um n´o pode estimar sua zona de roteamento ´otima, baseado em medidas locais do tr´afego. Em [6], o autor apresenta maneiras de determinar a melhor zona de roteamento ”on-line”. Se um n´o alterar seu tamanho da zona de roteamento, o protocolo pr´o-ativo ir´a convergir rapidamente, pois ele precisa apenas alterar sua tabela de roteamento.
3.2. Protocolo de Roteamento InterZona (IERP)
Ao contr´ario do IARP, o ZRP define o protocolo usado no roteamento reativo.
Para se alcanc¸ar os n´os fora da zona de roteamento, o ZRP faz um pedido de rota para seus n´os perif´ericos. Se algum n´o perif´erico possuir em sua zona de roteamento (ele verifica em sua tabela de roteamento) o n´o requisitado, ele envia a rota para o n´o que requisitou a rota. Caso os n´os perif´ericos n˜ao possuam a rota para o n´o requisitado, eles enviam pedido para seus n´os perif´ericos, e assim sucessivamente at´e encontrar uma rota para o n´o requisitado. Esta parte do algoritmo se comporta como um protocolo reativo.
O protocolo evita loops inserindo em cada pedido de rota um n´umero seq¨uencial. Quando um pedido chega em um n´o o mesmo verifica na sua tabela de pedidos se existe algum pedido do dispositivo, cujo n´umero seq¨uencial j´a tenha passado por ele. Caso afirmativo, ele descarta o pacote, caso contr´ario ele repassa o pedido.
3.3. Exemplo
Agora ser´a apresentado um exemplo em que o n´o S quer enviar informac¸˜oes para um n´o fora de sua zona de roteamento. A configurac¸˜ao dos vizinhos de S est´a apresentada na figura 1. Neste exemplo o valor da vari´avel que define o raio de zona ´e p=2 para todos os n´os e o n´o K representa os n´os que n˜ao est˜ao na zona de roteamento de S.
Figura 1. Configurac¸ ˜ao dos Vizinhos de S
Nesta figura ´e observado que os n´os que est˜ao dentro da zona de roteamento do n´o S s˜ao os n´os A, B, C, D, E, F, G, H, I, J, sendo os n´os G, H, I, J n´os perif´ericos.
No exemplo, S ir´a enviar um pacote para o n´o X. Caso X fosse um n´o dentro da zona de roteamento de S, a rota j´a estaria definida. A figura 2 mostra a configurac¸˜ao da rede inteira.
Figura 2. Configurac¸ ˜ao da Rede Inteira
No momento em que S tem um pacote a enviar para X, S ir´a procurar em sua tabela de roteamento se ele tem uma rota para X. Como S n˜ao possui rota para X, S ir´a enviar para seus n´os perif´ericos uma requisic¸˜ao para determinar a rota para X. Os n´os perif´ericos ent˜ao ir˜ao fazer o mesmo procedimento de S, se eles tiverem uma rota para X ir˜ao avisar ao S que eles conhecem a rota, caso contr´ario ir˜ao enviar para os n´os perif´ericos. A figura 3 apresenta este cen´ario.
Figura 3. Pedido de Rota para X feito por I
Observe que quando o pedido de rota para X vai de I para E, o n´o E descarta este pedido, pois o pedido j´a passou por E quando S enviou o pedido de rota para os n´os perif´ericos. Isso garante que n˜ao haja loops na requisic¸˜ao de rotas.
ent˜ao T envia a informac¸˜ao para I que ele tem rota para X. Ent˜ao I informa para S que a rota para X passa por I e por T. A figura 4 apresenta a resposta de T.
Figura 4. Caminho da Resposta de T
4. Conclus˜ao
O protocolo ZRP tem a vantagem de utilizar o melhor dos protocolos reativos e pr´o-ativos, pois ele evita o congestionamento de banda e limita sua tabela de roteamento utilizando o protocolo pr´o-ativo apenas em uma determinada parte da rede, na zona de roteamento, e utiliza um protocolo reativo somente quando ´e necess´ario enviar pacotes para os n´os fora da sua zona de roteamento, causando atrasos de determinac¸˜ao de rota somente nestes casos. O protocolo ainda apresenta boa escalabilidade, pois as mudanc¸as na topologia s˜ao rapidamente detectadas e as tabelas de roteamento rapidamente modificadas.
Mas existem algumas desvantagens importantes. A primeira delas ´e que como n˜ao est´a definido o protocolo de roteamento intrazona, v´arias zonas podem ter protocolos di-ferentes. Uma outra desvantagem ´e que se o raio de zona for pequeno o atraso decorrente da espera pela resposta de requisic¸˜ao de rotas ´e muito grande se o pacote for para um n´o fora da zona de roteamento.
Bibliografia
[1] Z. J. Haas M. R. Pearlman P. Samar, The Zone Routing Protocol (ZRP) for Ad Hoc Networks - IETF Internet Draft, 2002,
www3.ietf.org/proceedings/02nov/ I-D/draft-ietf-manet-zone-zrp-04.txt
[2] D. B. Johnson, Dynamic Source Routing in Ad Hoc Wireless Networks, 1996, citeseer.ist.psu.edu/johnson96dynamic.html
[3] C. E. Perkins E. M. Royer, Ad hoc On Demand Distance Vector Routing, Mobile Com-puting Systems and Applications, pp. 90-100, Feb, 1999.
[4] S. Murthy , J. J. Garcia-Luna Aceves, A Routing Protocol for Packet Radio Networks, MOBICOM’95, pp. 86-95, nov, 1995.
[5] C. Perkins, Highly Dynamic Destination-Sequenced Distance-Vector Routing (DSDV) for Mobile Computers, ACM SIGCOMM’94, pp. 234-244, 1994.
[6] M. R. Pearlman Z. J. Haas, Determining the Optimal Configuration for the Zone Rou-ting Protocol, IEEE JSAC, August, 1999.