• Nenhum resultado encontrado

Utiliza¸ c˜ ao de protocolos de encaminhamento em redes NDN

No documento Dados nomeados em redes móveis Ad Hoc (páginas 40-52)

A troca de interesses e dados sim´etrica e o estado de encaminhamento na rede, permitem uma caracter´ıstica ´unica de NDN - o encaminhamento adaptativo [23] [29]. Um n´o espera que um pacote de dados chegue, pela mesma interface pela qual transmitiu o interesse correspondente, dentro de um per´ıodo razo´avel de tempo (por exemplo, o tempo de ida e volta). Caso contr´ario, deve esperar um tempo limite ou receber um pacote NACK, como proposto pelos autores de [23], o que sinaliza uma falha dessa tentativa. Ap´os a detec¸c˜ao de uma falha, o n´o pode, ent˜ao, enviar o interesse para outras interfaces, a fim de explorar caminhos alternativos.

Cap´ıtulo 3. Redes de Dados Nomeados 20

Assim, o plano de encaminhamento de uma rede NDN ´e capaz de detetar e recuperar- se de falhas na rede por conta pr´opria, permitindo que cada router NDN lide com falhas da rede local, sem depender da convergˆencia do encaminhamento global [30]. Este novo recurso levou aos autores de [30] a reexaminarem o papel dos protocolos de encaminha- mento numa rede NDN: ser´a que ainda precisa de um protocolo de encaminhamento?

Atrav´es de an´alises e simula¸c˜oes extensivas, os autores mostraram que os protocolos de encaminhamento continuam a ser altamente ben´eficos numa rede NDN.

O protocolo de encaminhamento divulga a topologia inicial e informa¸c˜oes de pol´ıticas, bem como as altera¸c˜oes de longo prazo e, por fim, calcula a tabela de encaminhamento, para orientar o processo de encaminhamento. No entanto, devido ao facto de o plano de encaminhamento ser capaz de detetar e recuperar de falhas rapidamente, o protocolo de encaminhamento j´a n˜ao precisa de lidar com taxas de sobrecarga de atualiza¸c˜oes a curto prazo na rede [30]. E isto pode melhorar, significativamente, a sua escalabilidade e estabilidade.

Cap´ıtulo 4

Ad Hoc via NDN

As redes Ad Hoc tˆem a vantagem de permitir que dispositivos m´oveis estabele¸cam, rapidamente e sem assistˆencia de um ponto de acesso, uma rede de comunica¸c˜ao entre eles, que potencie a utiliza¸c˜ao de diversos servi¸cos. Normalmente, s˜ao situa¸c˜oes onde n˜ao h´a uma infraestrutura de rede previamente instalada, ou numa situa¸c˜ao posterior a uma cat´astrofe natural, em que a infraestrutura tenha sido destru´ıda. Algumas das suas aplica¸c˜oes poss´ıveis s˜ao: coordena¸c˜ao de resgates em situa¸c˜oes de desastre, troca de informa¸c˜oes t´aticas em campos de batalha e partilha de informa¸c˜oes em reuni˜oes e aulas.

No entanto, este tipo de redes tem uma topologia de rede muito dinˆamica, devido `a mobilidade dos n´os, `a entrada e sa´ıda de n´os na rede e `as quebras de liga¸c˜oes constantes, que provocam altera¸c˜oes inesperadas das rotas. Al´em disso, o meio de comunica¸c˜oes sem fios ´e partilhado entre os n´os vizinhos. Assim, os protocolos de encaminhamento necessitam de conhecer a topologia da rede, total ou parcial, para o c´alculo das melhores rotas. Como tal, frequentes mudan¸cas na topologia tˆem um impacto direto sobre o de- sempenho destes protocolos. Como este tipo de redes tem v´arias vantagens, foi pensado em conciliar as abordagens das redes de dados nomeados e das redes Ad Hoc, a fim de se tentar contornar os seus problemas.

A abordagem NDN pode ser particularmente ben´efica num ambiente de rede Ad Hoc. Os n´os m´oveis podem comunicar com base nos dados que precisam, em vez de determinarem um caminho espec´ıfico para chegarem a um n´o espec´ıfico. Isto pode sim- plificar muito a implementa¸c˜ao, por v´arias raz˜oes. Em primeiro lugar, n˜ao ´e necess´ario atribuir endere¸cos IP a cada n´o; em vez disso, os n´os podem usar os nomes dos dados, diretamente, para transmitirem pacotes de interesses e de dados entre si. Quando um

Cap´ıtulo 4. Ad Hoc via NDN 22

n´o A tem algo para enviar, determinado por uma aplica¸c˜ao espec´ıfica, anuncia os da- dos usando o nome dos dados nomeados. Quando um n´o R precisa de alguns dados, simplesmente envia um pacote de interesse, usando o nome dos dados da aplica¸c˜ao cor- respondente. Outros n´os, que recebam o pacote de interesse, tˆem de decidir se o enviam no sentido de A (produtor), ou se transmitem o pacote em broadcast [1]. Esta decis˜ao ´e regida pelas configura¸c˜oes e pol´ıticas de controlo local [1].

Em segundo lugar, os pacotes de interesse podem ser encaminhados atrav´es de m´ultiplas rotas para potenciais produtores de dados [1]. No caso de os dados solicitados serem recebidos atrav´es de m´ultiplos caminhos, um n´o pode avaliar qual o caminho que apresenta o melhor desempenho e enviar um pacote de interesse futuro, para a mesma fonte de dados, apenas atrav´es desse caminho [1]. Esta abordagem multipath ´e particu- larmente ben´efica em redes Ad Hoc, porque remove a dependˆencia cr´ıtica sobre caminhos ´

unicos pr´e-calculados e, por isso, diminuiu as exigˆencias rigorosas das atualiza¸c˜oes de rotas e a coerˆencia do estado de encaminhamento entre todos os n´os.

Fundamentalmente, uma rede Ad Hoc pode ser t˜ao dinˆamica, que gastar recursos limitados para possuir informa¸c˜oes de rotas, necess´arias a toda a hora, pode n˜ao ser vi´avel, e as redes NDN podem diminuir este impacto negativo.

Outro benef´ıcio das NDNs para redes m´oveis ´e a capacidade de lidar com a frag- menta¸c˜ao dos dados. As t´ecnicas de transparent caching, em redes m´oveis, s˜ao ineficazes, porque funcionam apenas em redes fixas, assumindo que as rotas permanecem est´aveis [1]. Outras t´ecnicas de cache, tal como byte caching, que s˜ao executadas na camada de rede, em vez de na camada de transporte, sofrem das mesmas limita¸c˜oes. Estas podem ser executadas somente quando as rotas s˜ao est´aveis e os n´os sabem o caminho exato que o pacote vai seguir, uma exigˆencia que n˜ao pode ser satisfeita em ambientes m´oveis [1].

Em contraste, as NDNs permitem o armazenamento em cache, mesmo quando os caminhos n˜ao s˜ao est´aveis nem previs´ıveis. Dado que qualquer fragmento de informa¸c˜ao tem uma identifica¸c˜ao ´unica, este pode ser armazenado em cache, em qualquer n´o que o encaminhe, e pode ser reutilizado se outros n´os o solicitarem. Por exemplo, se houver uma transferˆencia de um ficheiro MPEG demorada, sobre HTTP dentro de uma rede m´ovel, nenhum dos n´os interm´edios na rede m´ovel ser´a capaz de armazenar em cache todo o arquivo, assumindo que os pacotes v˜ao seguir caminhos diferentes. Nas redes NDN, os diferentes fragmentos de dados do mesmo ficheiro MPEG possuem um nome

Cap´ıtulo 4. Ad Hoc via NDN 23

exclusivo e, portanto, quando um n´o solicita o arquivo, os n´os interm´edios podem arma- zenar todas as partes do ficheiro MPEG que passar por eles. Os pedidos subsequentes para o mesmo ficheiro MPEG, ou pedidos de retransmiss˜ao de algumas partes do fi- cheiro, podem, ent˜ao, ser servidos pelas c´opias das v´arias partes do ficheiro que foram, oportunisticamente, armazenadas nos n´os interm´edios.

Finalmente, as NDNs s˜ao perfeitamente adequadas, para permitirem a comunica¸c˜ao em cima de qualquer tipo de rede, uma exigˆencia t˜ao crucial nas redes m´oveis, onde o estado de conectividade de rede pode variar de “quase sempre ligado” a “conectados intermitentemente” [1]. Al´em disso, as NDNs permitem a implementa¸c˜ao de uma grande gama de protocolos, que v˜ao desde o tempo real, a protocolos tolerantes a atrasos, dentro da mesma estrutura [1]. Nas redes NDN, os n´os m´oveis n˜ao precisam de detetar o seu estado de conectividade e, consequentemente, ajustar a sua modalidade de comunica¸c˜ao com base nas condi¸c˜oes atuais da rede. Por exemplo, um n´o m´ovel, que foi originalmente ligado atrav´es de uma rede celular 3G, pode transitar para uma rede peer-to-peer, quando se move para fora do alcance da rede 3G, sem a necessidade de alterar a sua modalidade de comunica¸c˜ao [1].

De seguida, s˜ao descritos cinco protocolos de encaminhamento (LFBL, NAIF, E- CHANET, BF e PAF), que podem ser usados em redes de dados nomeados em ambientes wireless Ad Hoc.

4.1

Protocolo LFBL

Listen First, Broadcast Later (LFBL) ´e um protocolo de encaminhamento para redes sem fios, proposto em [31], capaz de lidar com a alta dinˆamica das redes Ad Hoc e que n˜ao exige rotas pr´e-determinadas, endere¸camento IP, ou uma camada MAC com capacidade para transmitir em unicast. Este protocolo usa o conceito de dados nomeados. Esta combina¸c˜ao permite que o LFBL lide, perfeitamente, com duas situa¸c˜oes existentes em redes dinˆamicas: mobilidade f´ısica dos n´os e mobilidade l´ogica dos dados.

A facilidade que este protocolo tem em lidar com a mobilidade f´ısica dos n´os sig- nifica que o seu desempenho n˜ao ´e dependente do tipo ou da frequˆencia de altera¸c˜oes topol´ogicas da rede. Quanto `a mobilidade l´ogica, significa que os pedidos de dados n˜ao precisam de ser direcionados a um n´o espec´ıfico, pois ´e poss´ıvel obter uma resposta atrav´es de qualquer outro n´o, que possua os dados solicitados.

Cap´ıtulo 4. Ad Hoc via NDN 24

A comunica¸c˜ao no LFBL ´e composta por duas fases: uma fase de pedido e uma fase de dados.

• Fase de pedido

A fase de pedido ´e semelhante `as fases de pedido de rota dos protocolos on-demand. O LFBL usa uma abordagem centrada nos dados. Os consumidores solicitam os dados que est˜ao interessados, pelo seu nome, atrav´es de um pacote REQ. O LFBL utiliza, exclusivamente, a comunica¸c˜ao em broadcast para todos os pacotes [31], tornando-se uma op¸c˜ao mais natural para um meio sem fios, permitindo uma maior flexibilidade na sele¸c˜ao de protocolos da camada MAC.

Caso o consumidor tenha conhecimento pr´evio de quem ´e o produtor, o pacote de solicita¸c˜ao ´e endere¸cado para ele. Caso contr´ario, o pacote ´e difundido pela rede, de forma a garantir que qualquer produtor dispon´ıvel seja encontrado, e que seja feita uma distribui¸c˜ao de informa¸c˜oes de distˆancia, para que outros n´os na rede possam aprender a sua distˆancia at´e ao consumidor.

Cada n´o que receber o pacote REQ decide se pode responder ao pedido, verificando se cont´em os dados desejados. Caso n˜ao possua os dados, o recetor tem duas decis˜oes importantes a fazer: se a sua retransmiss˜ao beneficiar´a o encaminhamento do pacote e, nesse caso, qual o per´ıodo de tempo que ´e necess´ario esperar, antes de o encaminhar.

O recetor tenta perceber se est´a mais perto do destino do que o n´o que lhe enviou o pacote. Para isso, verifica o cabe¸calho do pacote, que possui um campo designado por srcDist, que cont´em a distˆancia entre o n´o origem do pacote e o encaminhador mais recente, modificado em cada salto. Em cada salto, os recetores inserem a sua pr´opria distˆancia at´e ao consumidor nesse campo, antes de reencaminharem o pacote. Os n´os usam esse campo, tamb´em, para descobrirem e atualizarem a sua distˆancia at´e aos n´os ativos na rede.

Antes do encaminhamento, cada n´o escolhe um certo per´ıodo de tempo para esperar e ver se os outros n´os encaminham o mesmo pacote. Este per´ıodo, que serve para o n´o escutar o meio, tem duas finalidades importantes: prioriza¸c˜ao e evitar colis˜oes entre n´os interm´edios.

Prioriza¸c˜ao ´e atribuir per´ıodos de escuta mais curtos para n´os que acreditam que est˜ao numa rota melhor, em rela¸c˜ao aos seus vizinhos, entre o consumidor e o produtor.

Cap´ıtulo 4. Ad Hoc via NDN 25

Preven¸c˜ao de colis˜oes significa, simplesmente, reduzir a possibilidade de dois n´os escolherem a mesma dura¸c˜ao para o seu per´ıodo de escuta, e transmitirem simultane- amente, causando uma colis˜ao. Adicionar um fator aleat´orio para o per´ıodo de escuta consegue ser altamente eficaz para este fim, de acordo com as simula¸c˜oes feitas pelos autores. Outra t´ecnica usada pelos autores foi corresponder este tempo a um per´ıodo de tempo relacionado com a sua distˆancia at´e ao vizinho que enviou o pacote.

Quando um produtor recebe o REQ, produz um pacote de resposta (REP). Para al´em dos dados, o REP cont´em a distˆancia at´e ao consumidor, calculada a partir do cabe¸calho do REQ. Esta distˆancia ´e usada pelos n´os interm´edios, para tomarem decis˜oes de encaminhamento.

Existe a possibilidade de o consumidor receber mais do que uma resposta ao seu pedido, mas, nesse caso, pode escolher qual prefere, escolhendo qual o produtor a quem deseja enviar um aviso de rece¸c˜ao. O produtor que deixar de receber avisos de rece¸c˜ao, acabar´a por desistir.

• Fase de dados

A fase de dados come¸ca quando uma resposta chega ao consumidor e continua at´e que o consumidor termine o envio de pedidos ou n˜ao esteja a receber as respostas aos seus pedidos. Neste ´ultimo caso, o consumidor retorna para a fase de pedido.

Numa rede altamente dinˆamica, a topologia muda constantemente e, por isso, qual- quer estado, mantido num n´o, ficaria desatualizado rapidamente. A atualiza¸c˜ao dos estados iria implicar uma grande sobrecarga na rede. Em contraste, o LFBL acaba completamente com a no¸c˜ao de sele¸c˜ao de rota. Para cada fluxo fim-a-fim, os potenciais encaminhadores LFBL tomam decis˜oes, com base na sua distˆancia at´e ao destino.

4.2

Protocolo NAIF

Conscientes da sobrecarga excessiva do reenvio de tr´afego nas NDNs em ambientes Ad Hoc, os autores de [32] propuseram um mecanismo de propaga¸c˜ao de interesses adaptativo, designado por NAIF (Neighborhood-Aware Interest Forwarding), que visa reduzir a sobrecarga da difus˜ao, mantendo a robustez. Em ambos, as transmiss˜oes de interesses s˜ao efetuadas em broadcast. A l´ogica de NAIF ´e, em vez de selecionar um n´o para transmitir o interesse, n´os interm´edios propagam os interesses, cooperativamente,

Cap´ıtulo 4. Ad Hoc via NDN 26

entre o consumidor e os potenciais produtores de dados. O algoritmo NAIF ´e aplicado apenas para o encaminhamento de interesses em n´os interm´edios.

O NAIF reduz o encaminhamento de pacotes duplicados, controlando o reenvio de pacotes de interesse, com base nas estat´ısticas de transmiss˜ao dos n´os, que s˜ao usadas, posteriormente, para ajustar a taxa de transmiss˜ao. O controlo de encaminhamento NAIF baseia-se em dois parˆametros obtidos nos n´os interm´edios: a taxa de recupera¸c˜ao de dados, que ´e a raz˜ao entre o n´umero de pacotes de dados, obtidos com sucesso, e o n´umero de interesses enviados; e a taxa de transmiss˜ao [32]. Estes dois parˆametros s˜ao ajustados periodicamente, com base nas estat´ısticas de encaminhamento.

Um n´o decide transmitir ou descartar os interesses recebidos, com base na taxa de transmiss˜ao: quantos mais pacotes de dados, com o mesmo prefixo, um n´o “ouvir” dos seus vizinhos, mais interesses desse prefixo pode descartar, pois julga-os serem sup´erfluos [32]. Por outro lado, quando um n´o deteta que descartou demasiados interesses, aumenta a sua taxa de transmiss˜ao para compensar. Desta forma, os n´os interm´edios transmitem os interesses, cooperativamente, reduzindo as situa¸c˜oes de congestionamento.

Al´em disso, s˜ao filtrados os encaminhadores ineleg´ıveis, que s˜ao os n´os que possuem uma taxa de recupera¸c˜ao de dados baixa e est˜ao muito longe do consumidor. Assim, se um n´o considerado ineleg´ıvel receber um interesse, este ´e descartado.

4.3

Protocolo E-CHANET

E-CHANET (Enhanced-Content-centric multiHop wirelessNETwork ) ´e uma arqui- tetura centrada em informa¸c˜oes, proposta em [33], para redes Ad Hoc, que executa fun¸c˜oes de routing, reenvio de pacotes e transporte confi´avel, especificamente adaptada para lidar com as limita¸c˜oes e exigˆencias de ambientes sem fios distribu´ıdos.

O encaminhamento E-CHANET tem dois objetivos: por um lado, visa reduzir o n´umero de n´os que participam no processo de encaminhamento (e, portanto, o n´umero de c´opias de pacotes), limitando assim o consumo de energia, acelerando a entrega e economizando os recursos da rede; por outro lado, o objetivo ´e tirar vantagens da partilha de conte´udo em v´arios n´os, e em lidar com n´os m´oveis.

No E-CHANET, semelhante ao protocolo LFBL, cada pacote ´e transmitido, consi- derando o mecanismo de supress˜ao baseado em contagem, para reduzir a probabilidade de colis˜oes e limitar as transmiss˜oes em rajada. Tanto as transmiss˜oes de dados, como de interesses s˜ao adiadas por um per´ıodo de tempo TData e TInterest, respetivamente.

Cap´ıtulo 4. Ad Hoc via NDN 27

Estes tempos s˜ao escolhidos aleatoriamente, mas de forma a que TDataseja menor do que

TInterest, a fim de dar maior prioridade aos pacotes de dados, sobre os interesses. Se um

n´o “ouvir” que o mesmo pacote est´a a ser transmitido por outro n´o, para um potencial destino, durante o seu tempo de espera, em seguida, aborta a sua pr´opria transmiss˜ao.

Cada n´o E-CHANET possui as mesmas estruturas de dados que as NDNs: FIB, PIT e CS. Al´em destas, possui tamb´em uma nova estrutura de dados, chamada CPT (Content Provider Table), que armazena informa¸c˜oes sobre o produtor descoberto (ou seja, o ID do produtor, a distˆancia at´e ele e o RTT medido), com o objetivo de que esta informa¸c˜ao possa ajudar na decis˜ao do encaminhamento dos interesses.

O encaminhamento E-CHANET ´e dividido em trˆes fases: (i) difus˜ao controlada de interesses, (ii) encaminhamento de dados impulsionado por entradas PIT, e (iii) enca- minhamento de interesses impulsionado por entradas CPT.

(i) Difus˜ao controlada de interesses:

Um consumidor inicia o processo, transmitindo um interesse. Cada n´o que receber o pacote, verifica a sua CS. Se forem encontrados os dados correspondentes, agenda a transmiss˜ao destes, para depois de TData. Caso contr´ario, procura por uma entrada

correspondente na PIT.

Se n˜ao for encontrada uma entrada correspondente do interesse, o n´o insere uma nova entrada na PIT, que inclui, temporariamente, o nome do pacote requisitado e a distˆancia para o consumidor. Antes de reencaminhar o pacote, o n´o verifica a CPT. Se forem encontradas informa¸c˜oes sobre um produtor acess´ıvel para os dados solicitados, preenche os campos do interesse com essa informa¸c˜ao.

Pelo contr´ario, se for encontrada uma correspondˆencia do interesse na PIT, o n´o descarta o interesse, pois considera o pacote duplicado, e verifica se a PIT precisa de ser atualizada.

(ii) Encaminhamento de dados impulsionado por entradas PIT:

Eventualmente, o interesse vai chegar a um (ou mais) produtor(es). ´E poss´ıvel que cheguem pedidos redundantes ao produtor e, neste caso, o produtor apenas responde ao primeiro interesse, enviando os dados correspondentes. O pacote de dados cont´em o seu identificador e a sua distˆancia (n´umero de saltos) at´e ao consumidor, calculada a partir do campo contagem de saltos do interesse recebido.

Cap´ıtulo 4. Ad Hoc via NDN 28

Cada n´o que receber o pacote de dados averigua, em primeiro lugar, se possui uma entrada PIT correspondente. Caso possua, verifica se est´a mais pr´oximo do consumidor, do que o n´o que lhe enviou o pacote. Se sim, atualiza o campo de distˆancia no pacote de dados, com a sua distˆancia at´e ao consumidor. Por fim, adiciona uma nova entrada (ou atualiza a entrada, se existir) na CPT, com o identificador do pacote de dados e a sua distˆancia para o produtor, calculada atrav´es do campo contagem de saltos, contida no pacote de dados. Finalmente, o n´o agenda a transmiss˜ao dos dados, para depois de TData.

Se o n´o n˜ao estiver mais pr´oximo do consumidor, do que o n´o que lhe enviou o pacote, ou n˜ao contiver a entrada PIT correspondente, os dados s˜ao descartados.

(iii)Encaminhamento de interesses impulsionado por entradas CPT:

Ao receber os dados, o consumidor pede os pacotes subsequentes, transmitindo interesses que anunciam um produtor. Para isso, preenche o cabe¸calho do interesse com o ID do produtor descoberto e o n´umero de saltos at´e ele, que vinha no cabe¸calho do pacote de dados recebido.

Cada n´o interm´edio que receber o interesse, procura uma correspondˆencia na sua Content Store. Se for encontrada e o n´o for o produtor registado no pacote, envia imediatamente os dados.

A identifica¸c˜ao do produtor, contida nos pacotes de dados, ´e utilizada para limitar os pacotes de dados redundantes na rede. Devido ao meio ser partilhado, v´arios n´os, que mantˆem os dados na sua CS, podem responder simultaneamente ao mesmo interesse.

No documento Dados nomeados em redes móveis Ad Hoc (páginas 40-52)