• Nenhum resultado encontrado

Primeiro Trabalho: Desempenho de protocolos de encaminhamento em redes ad hoc móveis

N/A
N/A
Protected

Academic year: 2021

Share "Primeiro Trabalho: Desempenho de protocolos de encaminhamento em redes ad hoc móveis"

Copied!
7
0
0

Texto

(1)

             

 

Primeiro  Trabalho:  

Desempenho  de  protocolos  de  encaminhamento  

 em  redes  ad  hoc  móveis  

 

 

 

 

 

 

Rodolfo  Oliveira  e  Luís  Bernardo  

[email protected]  

Redes  Móveis  e  Ad  Hoc  

2011/2012  

(2)

1. Objectivos  

 

Neste   trabalho   pretende-­‐se   realizar   uma   análise   comparativa   do   desempenho   de   quatro   protocolos   de   encaminhamento   propostos   para   redes   ad   hoc.  Os  protocolos  a  caracterizar  são  o   AODV  (“Ad  hoc  On  Demand  Distance  Vector”),  o  DSDV  (“Destination-­‐Sequenced  Distance-­‐Vector”),  o   DSR  (“Dynamic  Source  Routing”)  e  o  OLSR  (“Optimized  Link  State  Routing”).    

A  análise  é  baseada  em  simulação,  efectuada  utilizando  o  simulador  ns-­‐2  (ler  informação  disponível   no  sítio  da  cadeira).  Pretende-­‐se  simular  uma  rede  ad  hoc  onde  os  nós  utilizam  o  nível  físico  e  o  sub-­‐ nível   MAC   da   norma   IEEE   802.11,   tendo   cada   nó   um   alcance   de   rádio   de   100   metros.   Os   nós   movimentam-­‐se  numa  área  de  600  x  200  metros  de  acordo  com  o  modelo  de  mobilidade  “random-­‐ waypoint”.  

A  análise  caracteriza  o  comportamento  dos  quatro  protocolos  face  ao  número  de  vizinhos  de  cada   nó  (densidade  de  nós)  e  face  à  mobilidade  dos  nós.  Para  testar  os  protocolos,  cada  nó  gera  pacotes   destinados   aos   seus   vizinhos   (o   endereço   de   destino   é   gerado   aleatoriamente),   percebendo-­‐se   através   do   trace   se   o   pacote   foi   recebido   e,   caso   seja,   qual   o   tempo   que   demorou   até   atingir   o   destino.   A   geração   desses   pacotes   é   realizada   de   acordo   com   a   média   de   geração   definida   pelo   utilizador.  A  Tabela  1  especifica  os  parâmetros  a  usar  nos  diferentes  cenários  de  simulação.  

Tabela  1  –  Número  total  de  nós  e  média  de  geração  de  pacotes;   nº  total  de  nós  [nós]   nº  médio  de  vizinhos  

[nós]   Média   de   geração   de  pacotes  [pacote/s/nó]  

10   1.62   1.0000   15   2.93   0.6667   20   4.24   0.5000   30   6.85   0.3333   40   9.47   0.2500    

Quanto  à  mobilidade  dos  nós,  pretendem-­‐se  simular  os  cinco  cenários  caracterizados  na  tabela  2,  a   qual   apresenta   a   parametrização   do   modelo   de   mobilidade   “random   waypoint”   para   atingir   os   valores  de  velocidade  média  representados.  

Tabela  2  –  Parametrização  dos  cenários  de  mobilidade  utilizando  o  modelo  de  mobilidade  “random   waypoint”;  

Velocidade  

média  [m/s]   Pausa  [s]   Velocidade  mínima  [m/s]   Velocidade  máxima  [m/s]  

0   2   0.00001   0.0001   1   2   0.5   1.72   2   2   0.5   5.3   10   2   5.0   19.75   28   1   20.0   45.0      

(3)

3    

2. Metodologia  para  a  realização  das  simulações  

Nesta   secção   assume-­‐se   que   a   versão   do   simulador   se   encontra   instalada   na   pasta   ns-­‐allinone-­‐ 2.34/ns-­‐2.34/.   Para   melhor   organizar   os   ficheiros   saídos   da   simulação,   é   facultada   uma   pasta   denominada  t1  a  qual  define  sub-­‐pastas  e  scripts  necessários  à  simulação.  De  seguida,  apresentam-­‐ se  algumas  descrições  relativas  à  constituição  da  pasta  t1,  na  qual  se  recolhem  os  dados  de  saída   (ficheiros  de  trace)  das  simulações.  

Geração  dos  padrões  de  mobilidade  

O  primeiro  passo  para  definir  as  simulações  consiste  em  gerar  os  padrões  de  mobilidade  dos  nós.  Os   padrões   de   mobilidade   são   configurados   com   o   tempo   de   pausa   e   com   as   velocidades   mínimas   e   máximas  apresentadas  na  Tabela  2.    

Na   pasta   ns-­‐allinone-­‐2.34/ns-­‐2.34/indep-­‐utils/cmu-­‐scen-­‐gen/setdest/   encontram-­‐se   5   scripts   contendo   as   parametrizações   dos   cinco   padrões   (radhoc_mob_0;   radhoc_mob_1;   radhoc_mob_2;   radhoc_mob_10;  radhoc_mob_28).  

Para  realizar  os  padrões  de  mobilidade  devem  ser  executados  os  scripts  para  cada  número  de  nós   considerado  (10,  15,  20,  30  e  40).  Para  isso,  pode-­‐se  usar  o  parâmetro  opcional  que  indica  o  número   de  nós  considerado  no  padrão.  Os  vinte  e  cinco  padrões  (5  velocidades  x  5  valores  de  nós)  devem  ser   denominados  “scen_vX_nY”,  onde  X  representa  o  valor  da  velocidade  média  e  Y  o  número  de  nós   considerados.   Os   scripts   geram   automaticamente   um   ficheiro   de   saída   com   um   nome   compatível.   Como  exemplo,  executa-­‐se  o  comando  no  terminal:  

./radhoc_mob_1  20  

quando  se  efectua  a  realização  do  padrão  de  mobilidade  com  20  nós  e  velocidade  média  1,  gerando-­‐ se  um  ficheiro  com  o  nome  “scen_v1_n20”.    

Após   os   cenários   terem   sido   todos   gerados,   devem   ser   copiados   para   a   pasta   t1/mob_scen/   (consultar  o  anexo  no  final  deste  enunciado  para  operações  básicas  da  linha  de  comando  linux).  

Geração  dos  padrões  de  pedidos  de  encaminhamento  

Para   gerar   os   5   padrões   de   pedidos   de   encaminhamento   deve   utilizar-­‐se   a   ferramenta   offline_query_generator  contida  na  pasta  ns-­‐allinone-­‐2.34/ns-­‐2.34/mst/offline_query_generator/.   Os  padrões  de  pedidos  são  parametrizados  de  acordo  com  o  conteúdo  da  Tabela  1.    

Os   cinco   padrões   devem   ser   denominados   “load_nY”,   onde   Y   representa   o   número   de   nós   considerados.  Quando  se  invoca  um  comando  em  Unix  (no  caso,  o  script  offline_query_generator),  é   possível  redirecionar  o  output  da  execução  do  script  para  um  ficheiro  de  saída  utilizando  o  sinal  >.   Por   exemplo,     para   redireccionar   o   output   da   execução   do   script   offline_query_generator   para   o   ficheiro  load_n10,  poder-­‐se-­‐ia  usar  o  comando  

./offline_query_generator  [parâmetros]  >  load_n10  

Após   os   cenários   terem   sido   todos   gerados,   devem   ser   copiados   para   a   pasta   t1/load_scen/   (consultar  o  anexo  no  final  deste  enunciado  para  operações  básicas  da  linha  de  comando  linux).  

(4)

Execução  das  simulações  

Após   terem   sido   gerados   os   padrões   de   mobilidade   e   de   pedidos   de   encaminhamento,   devem   executar-­‐se  os  scripts  Tcl  para  realizar  as  simulações.  A  realização  dos  scripts  Tcl  está  automatizada,   bastando   completar   o   script   make_scripts   contido   na   pasta   t11.   O   script   make_scripts   cria   novos  

scripts  Tcl  alterando  os  parâmetros  do  script  Tcl  “my_first_routing_script.tcl”  (é  alterado  o  número   de   nós,   o   valor   de   velocidade   média,   o   tipo   de   fila   de   espera   e   o   tipo   de   protocolo   a   simular).   O   ficheiro   “my_first_routing_script.tcl”   apresenta   uma   variável   denominada   semente,   a   qual   deverá   tomar  o  maior  número  do  aluno  que  constitui  o  grupo  de  trabalho.  Como  a  semente  é  a  sequência   que  inicia  o  gerador  de  número  aleatório,  e  para  que  as  simulações  tenham  significado  estatístico,   pretende-­‐se   que   para   cada   cenário   a   simular   se   repitam   as   simulações   com   valores   de   sementes   diferentes   (semente,   semente   +   10,   semente   +   20,   semente   +   30,   semente   +   40).   Dessa   forma,   o   script  make_scripts  deverá  ser  devidamente  alterado  de  forma  a  automatizar  este  caso.  

Após   a   realização   dos   scripts   Tcl,   estes   podem   ser   executados   para   um   determinado   protocolo,   executando   para   isso   o   script   run_X,   onde   X   representa   o   protocolo.   Os   ficheiros   de   trace   são   guardados   na   pasta   t1/traces,   à   medida   que   as   simulações   vão   terminando,   com   o   nome   “out_X_nY_vZ.tr”,  onde  X    representa  o  nome  do  protocolo  de  encaminhamento,  Y  o  número  de  nós   considerado   e   Z   o   cenário   de   mobilidade.   Sugere-­‐se   que   no   decorrer   do   trabalho   acrescente   uma   extensão  ao  nome  dos  ficheiros  para  lidar  com  as  várias  sementes.  

3. Análise  dos  dados  

Após   terem   sido   executadas   todas   as   simulações,   os   ficheiros   de   trace   das   simulações   devem   encontrar-­‐se  na  pasta  t1/traces.   Os  ficheiros  de  trace  “out_X_nY_vZ.tr”  (ou  com  mais  um  campo)   contêm   a   informação   da   aplicação   de   geração   de   pedidos   de   encaminhamento.   Para   que   a   informação   contida   nestes   ficheiros   seja   tratada,   deve-­‐se   apagar   um   conjunto   de   linhas   que   reportam   casos   extraordinários   ocorridos   durante   a   simulação,   os   quais   não   contém   informação   importante   para   a   análise.   Para   apagar   as   linhas   indesejadas,   é   fornecido   um   filtro   no   script   “filter_tr”   na   pasta   t1/traces.   Este   filtro   apaga   as   linhas   do   ficheiro   *.tr,   transformando-­‐o   num   ficheiro  do  tipo  *.trm.  

O  ficheiro  de  trace  filtrado  pode  depois  ser  analisado  utilizando  a  aplicação  Octave.  São  facultados   os  ficheiros  “make_routing_statistics.m”  e  “make_all_stats.m”  na  pasta  t1/traces.  Estes  ficheiros,  a   utilizar   no   Octave   (o   script   também   é   executável   em   Matlab),   analisam   todos   os   pedidos   de   encaminhamento,  verificando  quais  os  pedidos  que  são  executados  com  sucesso  e  qual  o  motivo  do   insucesso   na   constituição   do   caminho.   Daí   se   calcula   a   taxa   média   de   sucesso   do   protocolo   nas   condições  simuladas.  Nos  pedidos  com  sucesso,  o  Octave  analisa  ainda  o  tempo  entre  o  instante  em   que   o   pacote   é   enviado   até   ao   instante   em   que   é   recebido   pelo   nó   de   destino.   Este   tempo   é   designado   de   tempo   de   entrega,   sendo   também   apresentada   a   sua   média.   O   ficheiro   “make_routing_statistics.m”  está  realizado  para  tratar  um  só  ficheiro  (uma  simulação).  Como  são   utilizadas   5   simulações   diferentes   com   as   diferentes   sementes,   o   ficheiro  

                                                                                                                         

1  As   simulações   do   protocolo   AODV   necessitam   de   utilizar   uma   fila   de   espera   “ifq”   do   tipo     Queue/DropTail/PriQueue,  

(5)

5    

“make_routing_statistics.m”  deverá  ser  alterado  para  calcular  as  estatísticas  das  5  sementes  para   cada  cenário  simulado.  

4. Apresentação  dos  resultados  

Os  resultados  simulados  e  analisados  devem  ser  apresentados  e  discutidos  num  pequeno  relatório.   Pretende-­‐se   que   o   relatório   seja   muito   objectivo,   não   podendo   ultrapassar   as   5   páginas   úteis.   O   relatório  deve  conter  somente  duas  secções  com  a  seguinte  informação:  

Secção  de  resultados  

-­‐   5   gráficos   (um   por   cada   conjunto   de   nós,   10,   15,   etc.)   onde   é   comparado   o   sucesso   médio   de   entrega   obtido   pelos   4   protocolos     nos   diversos   cenários   (cada   gráfico   é   composto   por   4   curvas   representando  cada  protocolo;  o  eixo  dos  x  deve  representar  os  valores  de  mobilidade  0,  1,  2,…,  28,   m/s,  e  o  eixo  dos  y  o  sucesso  médio  de  entrega  obtido  nas  diversas  simulações);  

-­‐   5   gráficos   (um   por   cada   conjunto   de   nós,   10,   15,   etc.)   onde   é   comparado   o   tempo   médio   de   entrega   obtido   pelos   4   protocolos     nos   diversos   cenários   (cada   gráfico   é   composto   por   4   curvas   representando  cada  protocolo;  o  eixo  dos  x  deve  representar  os  valores  de  mobilidade  0,  1,  2,…,  28,   m/s,  e  o  eixo  dos  y  o  tempo  médio  de  entrega);  

 

  Figura  1  –  Proposta  para  o  gráfico  de  sucesso  de  entrega.  

-­‐  para  todos  os  resultados  apresentados  devem  ser  exibidos  os  respectivos  intervalos  de  confiança   (através  de  uma  tabela)  utilizando  a  distribuição  de  t-­‐student  com  nível  de  confiança  a  95%.    

Secção  de  justificação  dos  resultados  

Nesta  secção  deverá  ser  dada  uma  justificação  para  os  diferentes  comportamentos  dos  protocolos   face  aos  valores  de  mobilidade  e  de  densidade  de  nós  adoptados  neste  trabalho.  Deverá  utilizar-­‐se   informação  acerca  do  funcionamento  dos  protocolos  (da  parte  teórica  da  disciplina)  para  justificar  os   resultados  apresentados  nos  5  gráficos.  

(6)

5. Desenvolvimento  do  trabalho    

O  desenvolvimento  deste  trabalho  decorre  durante  cinco  semanas,  sendo  a  aula  da  primeira  semana   dedicada   à   introdução   ao   simulador   de   redes   ns-­‐2.   Enumera-­‐se   de   seguida   uma   orientação   cronolágica  dos  objectivos  a  atingir  no  final  de  cada  semana:    

Semana  1  -­‐  deve  ler  a  documentação  sobre  o  simulador  ns-­‐2  (disponível  no  sítio  da  cadeira)   e  realizar  o  exemplo  proposto  no  documento.  Após  a  realização  da  simulação  deve  observar   os  ficheiros  de  trace,  interpretando-­‐os  com  a  ajuda  do  documento  sobre  o  simulador;       Semana   2   -­‐   deve   ter   obtido   os   vinte   e   cinco   ficheiros  dos   padrões   de   mobilidade   dos   nós   para   os   diferentes   cenários   a   simular;   Deve   ter   obtido   os   padrões   de   pedidos   de   encaminhamento   e   constituído   o   scripts   tcl   para   as   simulações   de   cada   protocolo;   Deve   ainda  ter  iniciado  as  simulações  do  protocolo  DSDV;  

Semana  3  -­‐  deve  ter  simulado  os  protocolos  DSR,  AODV  e  OLSR;   Semana  4  -­‐  deve  ter  finalizado  a  análise  de  todas  as  simulações;  

Semana  5  -­‐  deve  ter  realizado  um  pequeno  documento  onde  são  apresentados  os  resultados   e  retiradas  as  devidas  conclusões;  

A  data  para  entrega  do  trabalho  é  dia  23  de  Outubro,  às  12:00    

Deverá   ser   entregue   o   documento   com   os   resultados,   e   um   ficheiro   comprimido   contendo   os   ficheiros  de  trace  tcl  e  .m  utilizados.  

                       

(7)

7    

Anexo  I  –  operações  básicas  na  linha  de  comando  Linux  

 

Apagar  o  ficheiro  “a”:  rm  a  

Mudar  o  nome  do  ficheiro  “a”  para  ficheiro  “b”:  mov  a  b   Exibir  o  conteúdo  do  ficheiro  “a”  na  linha  de  comandos:  cat  a  

Exibir  as  últimas  10  linhas  do  conteúdo  do  ficheiro  “a”  na  linha  de  comandos:    tail  –n  10  a   Exibir  o  conteúdo  do  ficheiro  “a”  no  editor  gedit:  gedit  a&  

Criar  uma  pasta  “b”:  mkdir  b   Mover-­‐se  para  uma  pasta  a:  cd  a   Mover-­‐se  para  a  pasta  anterior:  cd  ..   Listar  o  conteúdo  de  uma  pasta:  ll   Listar  o  conteúdo  de  uma  pasta:  ls    

Pode  encontrar  várias  páginas  na  Internet  com  uma  lista  mais  exaustiva  de  comandos.  Por  exemplo:  

http://www.unixguide.net/linux/linuxshortcuts.shtml      

Referências

Documentos relacionados