• Nenhum resultado encontrado

Dados nomeados em redes móveis Ad Hoc

N/A
N/A
Protected

Academic year: 2020

Share "Dados nomeados em redes móveis Ad Hoc"

Copied!
130
0
0

Texto

(1)

Ana Filipa Fernandes Pereira

Dados Nomeados em Redes Móveis Ad hoc

Ana Filipa Fernandes Pereira

maio de 2016 UMinho | 2016

Dados Nomeados em R

edes Mó

veis A

d hoc

Universidade do Minho

Escola de Engenharia

(2)
(3)

maio de 2016

Dissertação de Mestrado

Ciclo de Estudos Integrados Conducentes ao Grau de

Mestre em Engenharia deTelecomunicações e Informática

Trabalho efetuado sob a orientação de

Professora Doutora Maria João Nicolau

Professor Doutor António Costa

Ana Filipa Fernandes Pereira

Dados Nomeados em Redes Móveis Ad hoc

Universidade do Minho

(4)

Agradecimentos

Em primeiro lugar, gostaria de agradecer `a Professora Doutora Maria Jo˜ao Nicolau e ao Professor Doutor Ant´onio Costa, por todo apoio e disponibilidade demonstrada, durante toda a execu¸c˜ao deste projeto de disserta¸c˜ao de mestrado. Foi um privil´egio ter trabalhado sob a sua orienta¸c˜ao.

Agrade¸co tamb´em ao meu namorado Bruno, que demonstrou sempre todo o seu companheirismo, paciˆencia e incentivo.

Queria agradecer, tamb´em, a toda a minha fam´ılia, em especial aos meus pais, por todos os esfor¸cos realizados, para que eu pudesse concluir este meu percurso acad´emico, que ser´a muito importante no meu futuro.

Por fim, quero agradecer a todos os meus amigos e colegas de curso.

(5)
(6)

Resumo

As redes m´oveis Ad hoc s˜ao compostas por n´os m´oveis, que tˆem a capacidade de, autonomamente, criar uma rede de comunica¸c˜oes entre eles, sem assistˆencia de um ponto de acesso, contrariamente `as redes de infraestrutura. A comunica¸c˜ao ´e sem fios e ocorre diretamente entre os n´os vizinhos, localizados no mesmo raio de alcance. No entanto, neste tipo de redes, a topologia da rede ´e 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 provo-cam altera¸c˜oes inesperadas nas rotas. Al´em disso, o meio de comunica¸c˜ao ´e sem fios e partilhado entre os n´os vizinhos.

O paradigma dos dados nomeados (NDN - Named Data Networks) pode contribuir para minimizar alguns dos problemas das redes Ad hoc. As NDNs constituem uma al-ternativa `as redes IP, apontada como uma das mais promissoras arquiteturas de rede da Internet do futuro e baseiam-se no paradigma receiver driven. Os utilizadores (con-sumidores de informa¸c˜ao) apenas tˆem que saber qual o conte´udo (nome) pelo qual tˆem interesse, n˜ao sendo necess´ario conhecer a sua localiza¸c˜ao (endere¸co). Para obter a in-forma¸c˜ao que deseja, o consumidor propaga um pacote de interesse atrav´es da rede. Quando este atinge um n´o produtor ou um n´o interm´edio, que possua o conte´udo em cache, os dados s˜ao devolvidos pelo caminho inverso.

Nesta disserta¸c˜ao propˆos-se uma nova estrat´egia de reenvio de Interesses e Dados, designada por MPRstrategy (MultiPoint Relay), numa rede de dados nomeados Ad Hoc. O objectivo ´e diminuir o envio redundante de pacotes e melhorar o desempenho da rede. Os pacotes de interesses s˜ao enviados apenas por um subconjunto de n´os vizinhos, escolhidos de modo a minimizar as retransmiss˜oes. Al´em disso, o reenvio ´e atrasado de modo a poder reduzir as transmiss˜oes redundantes. Os pacotes de dados seguem o percurso inverso, se poss´ıvel. Sen˜ao s˜ao reenviados da mesma forma. A estrat´egia foi implementada e avaliada no simulador ndnSIM, mostrando melhorias de desempenho, quando comparada com outras alternativas.

(7)
(8)

Abstract

The mobile networks Ad hoc are composed by mobile nodes, which have the ability to, autonomously, create a communications network between them, without assistance from an access point, in contrast to the infrastructure networks. The communication is wireless and occurs directly between the neighbor nodes, located in the same range. However, in this type of network, the topology of the network is very dynamic due to the mobility of the nodes, the input and output nodes in the network and to the breaks of connections constant, which cause unexpected changes of path. In addition, the means of wireless communications is shared among the nodes neighbor.

The paradigm of the named data (NDN - Named Data Networks) can help to mi-nimize some of the problems of Ad hoc networks. The NDNs are an alternative to IP networks, and are viewed as one of the most promising network architectures for the future Internet. This new paradigm is based on the receiver driven. Users (consumers of information) just have to know what is the content of (name) by which you have an interest, not being necessary to know its location (address). To get the information that it want, the consumer propagates a interest packet through the network. When this reaches a producer or an intermediate node, which have the content cached, the data is returned by the reverse path.

This dissertation proposed a new Interests and Data packet forwarding strategy, cal-led MPRstrategy (Multipoint Relay), for named-data Ad Hoc networks. The aim is to reduce packet transmission redundancy and improve network performance. The interests packets are sent only by a subset of neighboring nodes chosen to minimize retransmis-sions. Furthermore, forwarding is delayed in order to reduce redundant transmisretransmis-sions. Data packets follow the reverse route if possible. Otherwise, they are forwarded in the same way. The strategy was implemented and evaluated in ndnSIM simulator, showing improved performance compared to other alternatives.

(9)
(10)

Conte´

udo

Agradecimentos i

Resumo iii

Abstract v

Conte´udo vii

Lista de Figuras xi

Lista de Tabelas xiii

Abreviaturas xv S´ımbolos xvii 1 Introdu¸c˜ao 1 1.1 Enquadramento . . . 1 1.2 Objetivos . . . 2 1.3 Estrutura da disserta¸c˜ao . . . 3 2 Redes Ad Hoc 5 2.1 Encaminhamento Ad Hoc . . . 5 2.2 Encaminhamento Plano . . . 7 2.2.1 Protocolos Proativos . . . 7 2.2.2 Protocolos Reativos . . . 10

2.3 Encaminhamento Hier´arquico . . . 11

2.3.1 Zone Routing Protocol (ZRP) . . . 12

2.4 Encaminhamento Geogr´afico de posi¸c˜ao assistida . . . 12

2.4.1 LAR (Location-Aided Routing) . . . 12

3 Redes de Dados Nomeados 15 3.1 Estrutura do n´o NDN . . . 16

3.2 Nomes . . . 16

3.3 Seguran¸ca . . . 17

3.4 Encaminhamento NDN . . . 18

3.5 Utiliza¸c˜ao de protocolos de encaminhamento em redes NDN . . . 19

(11)

Conte´udos x 4 Ad Hoc via NDN 21 4.1 Protocolo LFBL . . . 23 4.2 Protocolo NAIF . . . 25 4.3 Protocolo E-CHANET . . . 26 4.4 Protocolo BF . . . 28 4.5 Protocolo PAF . . . 29

4.6 Compara¸c˜ao dos Protocolos . . . 31

5 Estrat´egias de encaminhamento propostas 33 5.1 Estrat´egia BFstrategy . . . 33

5.1.1 Encaminhamento de interesses . . . 34

5.1.2 Encaminhamento de dados . . . 36

5.1.3 Desvantagens da BFstrategy . . . 37

5.2 Estrat´egia DSRstrategy . . . 41

5.2.1 Encaminhamento de interesses . . . 42

5.2.2 Encaminhamento de dados . . . 42

5.3 Estrat´egia MPRstrategy . . . 43

5.3.1 Encaminhamento de mensagens hello . . . 43

5.3.2 Encaminhamento de interesses . . . 46 5.3.2.1 Algoritmo MPR . . . 46 5.3.3 Encaminhamento de dados . . . 54 6 Implementa¸c˜ao 55 6.1 Simulador ndnSIM . . . 55 6.2 Tabelas . . . 56

6.3 Estrutura dos Pacotes interesse/dados . . . 57

6.3.1 Pacote de interesse . . . 57

6.3.2 Pacote de dados . . . 59

6.4 Processamento de pacotes pelo NFD . . . 60

6.4.1 Processamento de interesses . . . 62

6.4.2 Processamento de dados . . . 63

6.5 Estrat´egias de encaminhamento implementadas . . . 63

6.5.1 Estrat´egia BFstrategy . . . 64

6.5.1.1 Encaminhamento de interesses . . . 65

6.5.1.2 Encaminhamento de pacotes de dados . . . 66

6.5.2 Estrat´egia DSRstrategy . . . 69

6.5.2.1 Encaminhamento de interesses . . . 69

6.5.2.2 Encaminhamento de pacotes de dados . . . 69

6.5.3 Estrat´egia MPRstrategy . . . 71

6.5.3.1 Encaminhamento de mensagens hello . . . 72

6.5.3.2 Encaminhamento de interesses . . . 73

6.5.3.3 Encaminhamento de pacotes de dados . . . 74

7 Testes e resultados 77 7.1 Configura¸c˜oes para a simula¸c˜ao . . . 77

7.2 Cen´arios de simula¸c˜ao . . . 78

(12)

Conte´udos xi

7.4 Resultados experimentais . . . 81

7.4.1 Tr´afego de interesses . . . 81

7.4.2 Tr´afego de dados . . . 84

7.4.3 RTT . . . 87

7.4.4 Percentagem de interesses satisfeitos . . . 88

8 Conclus˜ao e trabalho futuro 91 8.1 Conclus˜ao . . . 91

8.2 Trabalho Futuro . . . 93

A Algoritmos da estrat´egia BFstrategy 95 A.1 Encaminhamento de interesses . . . 95

A.2 Encaminhamento de dados . . . 97

B Algoritmos da estrat´egia DSRstrategy 99 B.1 Encaminhamento de interesses . . . 99

B.2 Encaminhamento de dados . . . 99

C Algoritmos da estrat´egia MPRstrategy 101 C.1 Encaminhamento de interesses . . . 101

C.2 Encaminhamento de dados . . . 102

(13)
(14)

Lista de Figuras

2.1 OLSR: ilustra¸c˜ao dos MPR, adaptado de [2] . . . 9

2.2 (a) sem OLSR; (b) com OLSR [3] . . . 10

2.3 Funcionamento do protocolo LAR: (a)Esquema 1 [2] . . . 13

2.4 Funcionamento do protocolo LAR: (b)Esquema 2. [2] . . . 14

3.1 Processo de Encaminhamento NDN . . . 18

4.1 Procedimento do reencaminhamento de interesses dos protocolos PAF e BF [5] . . . 30

5.1 Estrutura da tabela de interesses atrasados dos n´os na estrat´egia BFstra-teggy . . . 34

5.2 Estrutura da tabela de dados atrasados dos n´os na estrat´egia BFstrateggy 34 5.3 Cen´ario da simula¸c˜ao usada para mostrar desvantagens da BFstrategy . . 38

5.4 Passos 1 at´e 5 da experiˆencia realizada para mostrar desvantagens da BFsrategy . . . 40

5.5 Passos 6 at´e 10 da experiˆencia realizada para mostrar desvantagens da BFsrategy . . . 41

5.6 Estrutura da Tabela Vizinhos dos n´os na estrat´egia MPRstrateggy . . . . 44

5.7 Exemplo da troca de mensagens “/hello” na MPRstrategy . . . 45

5.8 Estrutura da Tabela provisorio dos n´os na estrat´egia MPRstrateggy . . . 47

5.9 Fluxograma da t´ecnica MPR . . . 49

5.10 Exemplo da Tabela Vizinhos do n´o N na MPRstrategy . . . 50

5.11 Exemplo de registo na Tabela provisorio do n´o A na MPRstrategy . . . . 51

5.12 Exemplo da Tabela Provisorio do n´o N na MPRstrategy . . . 52

6.1 Estrutura do pacote de interesse . . . 57

6.2 Estrutura do pacote de dados . . . 59

6.3 Estrutura do pacote de interesse na estrat´egia DSRstrategy . . . 60

6.4 Estrutura do pacote de dados na estrat´egia DSRstrategy . . . 60

6.5 Estrutura do pacote de interesse na estrat´egia MPRstrategy . . . 61

6.6 Rela¸c˜ao entre pipelines e a estrat´egia [6] . . . 61

6.7 Estrutura da Struct de interesses atrasados na BFstrategy . . . 64

6.8 Estrutura da Struct de dados atrasados na BFstrategy . . . 65

6.9 Sequˆencia de fun¸c˜oes para o encaminhamento de interesses, na estrat´egia BFstrategy . . . 67

6.10 Sequˆencia de fun¸c˜oes para o encaminhamento de dados, na estrat´egia BFstrategy . . . 68

(15)

Lista de Figuras xiv

6.11 Sequˆencia de fun¸c˜oes para o encaminhamento de interesses, na estrat´egia

DSRstrategy . . . 70

6.12 Sequˆencia de fun¸c˜oes para o encaminhamento de dados, na estrat´egia DSRstrategy . . . 71

6.13 Estrutura da Tabela “Vizinhos” de um n´o na MPRstrategy . . . 72

6.14 Sequˆencia de fun¸c˜oes para o encaminhamento de interesses, na estrat´egia MPRstrategy . . . 75

6.15 Sequˆencia de fun¸c˜oes para o encaminhamento de dados, na estrat´egia MPRstrategy . . . 76

7.1 N´umero m´edio de interesses recebidos por n´o . . . 81

7.2 N´umero m´edio de interesses enviados por n´o . . . 82

7.3 Percentagem m´edia de interesses enviados por n´o . . . 82

7.4 Percentagem m´edia de interesses duplicados recebidos . . . 83

7.5 N´umero m´edio de dados recebidos por n´o . . . 84

7.6 N´umero m´edio de dados enviados por n´o . . . 85

7.7 Percentagem m´edia de dados enviados por n´o . . . 86

7.8 Percentagem m´edia de dados duplicados recebidos . . . 86

7.9 RTT m´edio . . . 87

(16)

Lista de Tabelas

4.1 Tabela comparativa dos protocolos LFBL, NAIF, E-CHANET, BF e PAF 32

5.1 Debug da simula¸c˜ao exemplo . . . 39

7.1 Parˆametros do cen´ario de simula¸c˜ao . . . 78

(17)
(18)

Abreviaturas

AODV Ad hoc On demand Distance Vector BF Blind Forwarding

CBR Constant Bit Rate

CGSR Clusterhead- Gateway Switch Routing CID Content IDentifier

CPT Content Provider Table CS Content Store

DW Defer Window

DDoS Distributed Denial of Service DoS Denial of Service

DREAM Distance Routing Effect Algorithm for Mobility DSR Dynamic Source Routing

DT Distance Table DV Distance-Vector

E-CHANET Enhanced-Content-centric multiHop wireless NETwork FIB Forwarding Information Base

FSLS Fuzzy Sighted Link State FSR Fisheye State Routing

GeoCast Geographic Addressing and Routing GPS Global Position System

GPSR Greedy Perimeter Stateless Routing HSR Hierarchical State Routing

IGP Interior Gateway Protocol LANMAR LANdMark Ad Hoc Routing LAR Location-Aided Routing LFBL Listen First, Broadcast Later

(19)

Acr´onimos xviii

LS Link-State

MANET Mobile Ad Hoc NETwork MPR MultiPoint Relay

NAIF Neighborhood-Aware Interest Forwarding NDN Named Data Network

NFD Ndn Forwarding Daemon OLSR Optimized Link State Routing OSPF Open Shortest Path First PAF Provide-Aware Forwarding PID content Packet IDentifier PIT Pending Interest Table

QMRS QoS Multipath Routing with Route Stability QoS Quality of Service

RREP Route REPly

RIP Routing Information Protocol RREQ Route REQuest

RTT Round-Trip Time

TBRPF Topology Broadcast based on Reverse-Path Forwarding TLV Type-Lenght-Value

(20)

S´ımbolos

t tempo s v velocidade m/s

(21)
(22)

Cap´ıtulo 1

Introdu¸

ao

1.1

Enquadramento

As redes Mobile Ad hoc Network (MANET) [2] s˜ao compostas por n´os m´oveis, que tˆem a capacidade de, autonomamente, criar uma rede de comunica¸c˜oes entre eles sem assistˆencia de um ponto de acesso, contrariamente `as redes de infraestrutura. A co-munica¸c˜ao ´e sem fios e ocorre diretamente entre os n´os vizinhos localizados no mesmo raio de alcance. Os n´os da rede s˜ao, simultaneamente, sistemas terminais e encami-nhadores, j´a que participam no processo de encaminhamento (multi-hop), para que os pacotes possam ser transmitidos desde a fonte at´e ao destino, passando por v´arios n´os interm´edios. No entanto, a topologia da rede ´e 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. Assim, o principal problema deste tipo de redes ´e lidar com essa dinˆamica, pois existe a necessidade do conhecimento da topologia da rede, total ou parcial, para o c´alculo das melhores rotas. Como tal, frequentes mudan¸cas na topo-logia tˆem um impacto direto sobre o desempenho dos protocolos de encaminhamento. Al´em disso, o meio de comunica¸c˜oes sem fios ´e partilhado entre os n´os vizinhos, o que pode originar colis˜oes se dois ou mais n´os transmitirem simultaneamente.

O paradigma dos dados nomeados (NDN - Named Data Networks) [7] pode contri-buir para minimizar alguns dos problemas das redes Ad hoc. As NDNs constituem uma alternativa `as redes IP, apontada como uma das mais promissoras arquiteturas de rede da Internet do futuro. Este novo paradigma baseia-se na subscri¸c˜ao e publica¸c˜ao de conte´udos. Os utilizadores (consumidores de informa¸c˜ao) apenas tˆem que saber qual o conte´udo (nome) pelo qual tˆem interesse, n˜ao sendo necess´ario conhecer a sua localiza¸c˜ao

(23)

Cap´ıtulo 1. Introdu¸c˜ao 2

(endere¸co). Para obter a informa¸c˜ao que deseja, o consumidor propaga um pacote de interesse, atrav´es da rede. Quando este atinge um n´o produtor ou um n´o interm´edio, que possua o conte´udo em cache, os dados s˜ao devolvidos pelo caminho inverso. Apesar do encaminhamento de tr´afego, tal como ´e utilizado nas redes IP tradicionais, perder algum do seu protagonismo, ele continua a ser necess´ario, pelo menos na propaga¸c˜ao pela rede dos pacotes de interesse, que n˜ao interessa que seja feita de forma indiscriminada.

A abordagem NDN pode ser particularmente ben´efica num ambiente de rede Ad hoc. Os n´os passam a comunicar com base nos dados que precisam, em vez de calcu-larem um caminho espec´ıfico para chegarem a um n´o espec´ıfico. Isto pode simplificar 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, direta-mente, para transmitirem pacotes de interesses e de dados entre si. Em segundo lugar, os pacotes de interesse podem ser encaminhados atrav´es de m´ultiplas rotas para poten-ciais produtores de dados [1]. Esta abordagem multipath ´e particularmente ben´efica em redes Ad hoc, porque remove a dependˆencia cr´ıtica sobre caminhos ´unicos calculados e, por isso, diminuiu as exigˆencias rigorosas sobre as atualiza¸c˜oes de rotas e a coerˆencia do estado de encaminhamento entre todos os n´os. Outro benef´ıcio das NDNs para redes m´oveis ´e a capacidade de lidar com a fragmenta¸c˜ao dos dados. 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 [1].

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.

1.2

Objetivos

O principal objetivo deste trabalho ´e estudar a viabilidade de aplicar o paradigma das NDNs num contexto de uma rede Ad hoc. Para que este objetivo seja conseguido, ser´a necess´ario dar resposta a um conjunto de desafios, entre os quais se incluem:

(24)

Cap´ıtulo 1. Introdu¸c˜ao 3

• Estudar/adaptar os protocolos de encaminhamento e reenvio de tr´afego, utilizados nas redes NDN no contexto de uma rede Ad hoc;

• Construir um cen´ario, que permita aplicar o paradigma dos dados nomeados numa rede Ad hoc, utilizando o simulador ndnSIM [8];

• Construir uma estrat´egia de encaminhamento adequada ao cen´ario;

• Testar e avaliar os resultados das simula¸c˜oes efetuadas no cen´ario implementado;

• Verificar a viabilidade das redes NDN no contexto de uma rede Ad hoc, usando as estrat´egias de encaminhamento propostas.

1.3

Estrutura da disserta¸

ao

Esta disserta¸c˜ao encontra-se organizada em oito cap´ıtulos. No Cap´ıtulo 1 ´e feita uma introdu¸c˜ao ao tema desta disserta¸c˜ao, apresentando-se o enquadramento deste, bem como os principais objetivos a alcan¸car.

O estado da arte encontra-se dividido em trˆes cap´ıtulos: o Cap´ıtulo 2, Cap´ıtulo 3 e Cap´ıtulo 4.

O Cap´ıtulo 2 aborda o conceito das redes Ad Hoc, o seu funcionamento e os v´arios tipos de encaminhamento (encaminhamento plano, que ainda s˜ao classificados em duas classes: proativas e reativas (on-demand ); encaminhamento hier´arquico e encaminha-mento geogr´afico de posi¸c˜ao assistida). Por fim, s˜ao apresentados alguns exemplos dos v´arios tipos de protocolos de encaminhamento.

O Cap´ıtulo 3 descreve o conceito das redes NDN, assim como o seu funcionamento e a descri¸c˜ao das principais estrat´egias utilizadas neste tipo de redes.

O Cap´ıtulo 4 explica as vantagens das redes NDN num ambiente de rede Ad hoc e descreve cinco protocolos de encaminhamento, que podem ser usados em redes de dados nomeados em ambientes wireless Ad Hoc: Listen First, Broadcast Later (LFBL), Neighborhood-Aware Interest Forwarding (NAIF), Enhanced-Content-centric multiHop wirelessNETwork (E-CHANET), Blind Forwarding (BF) e Provide-Aware Forwarding (PAF). Por fim, ´e apresentada uma compara¸c˜ao dos cinco protocolos de encaminhamento abordados.

O Cap´ıtulo 5 apresenta e explica as trˆes estrat´egias de encaminhamento, que v˜ao ser avaliadas no contexto deste trabalho: BFstrategy, DSRstrategy e, por fim, MPRstrategy.

(25)

Cap´ıtulo 1. Introdu¸c˜ao 4

O Cap´ıtulo 6 apresenta o trabalho desenvolvido para tornar poss´ıvel a constru¸c˜ao do cen´ario de uma rede NDN num ambiente Ad Hoc. Em primeiro lugar, ´e apresen-tada uma descri¸c˜ao do simulador usado, ndnSIM, pois ´e necess´ario compreender todo o seu funcionamento ao n´ıvel do encaminhamento. De seguida, ´e explicado como foram implementados os v´arios protocolos de encaminhamento no simulador ndnSIM.

No Cap´ıtulo 7 s˜ao descritos os testes experimentais realizados e os respetivos re-sultados obtidos das simula¸c˜oes efetuadas no cen´ario implementado. Al´em disso, s˜ao discutidos os benef´ıcios e os malef´ıcios da utiliza¸c˜ao de dados nomeados nas redes Ad hoc.

Por ´ultimo, no Cap´ıtulo 8, s˜ao apresentas as conclus˜oes desta disserta¸c˜ao, resumindo os objetivos cumpridos e sugest˜oes de trabalho futuro.

(26)

Cap´ıtulo 2

Redes Ad Hoc

As redes m´oveis Ad Hoc (MANET - Mobile Ad Hoc Network )[9] s˜ao redes sem fios, que possuem uma configura¸c˜ao que n˜ao depende de uma infraestrutura fixa, ou seja, n˜ao h´a um n´o central para o qual convergem todas as informa¸c˜oes. Assim, todos os dispositivos da rede funcionam como se fossem um router, encaminhando as informa¸c˜oes vindas de dispositivos vizinhos. Os n´os numa rede Ad Hoc comunicam sem conex˜ao pr´e-determinada e esta comunica¸c˜ao ´e independente das outras existentes na rede, de maneira que, se uma liga¸c˜ao falhar, seja por perda de conex˜ao ou falha do pr´oprio dispositivo, as outras liga¸c˜oes continuam a funcionar.

A topologia de rede ´e dinˆamica e imprevis´ıvel, devido `a mobilidade dos n´os. Como o alcance de transmiss˜ao dos n´os ´e limitado, muitas vezes ´e necess´ario recorrer a n´os interm´edios para reencaminharem os pacotes, para que estes cheguem ao seu destino.

Uma rede Ad Hoc permite que dispositivos m´oveis possam formar uma rede, em cen´arios onde haja uma necessidade de se instalar rapidamente uma rede de comu-nica¸c˜oes. Normalmente, s˜ao situa¸c˜oes onde n˜ao h´a uma infraestrutura de rede pre-viamente 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: coor-dena¸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.

2.1

Encaminhamento Ad Hoc

O encaminhamento em redes Ad Hoc enfrenta os problemas da mobilidade dos n´os, principalmente em redes com um grande n´umero de n´os, e com recursos de comunica¸c˜ao

(27)

Cap´ıtulo 2. Redes Ad Hoc 6

limitados (por exemplo, largura de banda e energia). Assim, os protocolos de encami-nhamento para redes sem fios Ad Hoc tˆem de se adaptar rapidamente `as mudan¸cas da topologia, frequentes e imprevis´ıveis, e terem em aten¸c˜ao os recurso que utilizam.

Devido ao facto de a largura de banda ser escassa e da popula¸c˜ao numa MANET ser pequena em compara¸c˜ao com a Internet de rede fixa, o problema de escalabilidade para protocolos de encaminhamento de m´ultiplos saltos sem fios deve-se, principalmente, ao overhead excessivo das mensagens de encaminhamento. Os protocolos de encaminha-mento usam, geralmente, os algoritmos vetor distˆancia (DV - distance-vector ) ou estado de liga¸c˜ao (LS - link-state) [2], que tentam encontrar os caminhos mais curtos para os destinos.

Os algoritmos DV s˜ao conhecidos, geralmente, por sofrerem de lenta convergˆencia de rotas e uma tendˆencia a criarem loops em ambientes m´oveis. Os algoritmos LS supe-ram este problema, mantendo a informa¸c˜ao global da topologia da rede em cada router, atrav´es da difus˜ao, peri´odica, de informa¸c˜oes de liga¸c˜oes entre os seus vizinhos. No entanto, como em redes m´oveis existe uma mobilidade frequente dos n´os, isto exigiria uma troca de mensagens de encaminhamento constante, o que levaria a uma sobrecarga significativa na rede. Numa rede com uma popula¸c˜ao de N n´os, a atualiza¸c˜ao do algo-ritmo LS gera uma sobrecarga na ordem de N2 [2]. Como a largura de banda ´e limitada, em grandes redes, as mensagens de encaminhamento iriam acabar por consumir a maior parte da largura de banda existente e, consequentemente, as aplica¸c˜oes iriam ficar blo-queadas. Assim, reduzir o overhead das mensagens de controlo de encaminhamento torna-se uma quest˜ao fundamental para alcan¸car a escalabilidade.

Os protocolos de encaminhamento em redes Ad Hoc s˜ao divididos em trˆes grandes categorias [2]:

• Encaminhamento plano, que ainda se divide em duas classes: proativas e reativas (on-demand ) [10] [11] [12];

• Encaminhamento hier´arquico;

• Encaminhamento geogr´afico de posi¸c˜ao assistida.

Os protocolos de encaminhamento plano adotam um esquema de endere¸camento plano, em que todos os n´os, que participam nesta tarefa, tˆem um papel igual entre si. Em contraste, o encaminhamento hier´arquico atribui, geralmente, diferentes pap´eis aos n´os da rede [2]. Por fim, o encaminhamento geogr´afico exige que cada n´o esteja

(28)

Cap´ıtulo 2. Redes Ad Hoc 7

equipado com o Sistema de Posicionamento Global (GPS - Global Position System)[2]. Este requisito ´e muito realista hoje em dia, uma vez que tais dispositivos s˜ao baratos e podem fornecer uma precis˜ao razo´avel.

2.2

Encaminhamento Plano

O encaminhamento plano ´e dividido em dois grupos: protocolos proativos e proto-colos reativos.

2.2.1 Protocolos Proativos

Neste tipo de protocolos, as tabelas de encaminhamento est˜ao sempre atualizadas, atrav´es do envio peri´odico de informa¸c˜oes e atualiza¸c˜oes entre cada par de n´os da rede [13]. Assim, quando um n´o fonte tem algo para enviar, pode fazˆe-lo imediatamente, pois j´a tem a tabela de encaminhamento atualizada, fazendo com que n˜ao hajam atrasos na descoberta de rotas.

No entanto, como nas redes sem fios existe uma constante mobilidade dos n´os, a topologia iria mudar constantemente e, como consequˆencia, manter as tabelas de encaminhamento atualizadas torna-se uma tarefa dif´ıcil, havendo a necessidade de um envio constante de pacotes de controlo para a rede [13].

Devido ao facto de os n´os, que constituem as redes Ad Hoc, serem, normalmente, dispositivos que possuem caracter´ısticas limitadas, como por exemplo, serem alimentados a bateria e com limita¸c˜oes a n´ıvel computacional, a exigˆencia imposta neste tipo de protocolos pode ser um problema [13].

Exemplos de protocolos proativos s˜ao FSR (Fisheye State Routing), FSLS (Fuzzy Sighted Link State), OLSR (Optimized Link State Routing) e TBRPF (Topology Broad-cast based on Reverse-Path Forwarding) [2].

• Fisheye State Routing (FSR)

Fisheye State Routing, descrito em [2] e [14], ´e um protocolo de encaminhamento simples, eficiente e do tipo LS, que mant´em um mapa da topologia em cada n´o e pro-paga as atualiza¸c˜oes de estado das liga¸c˜oes. As principais diferen¸cas entre FSR e o protocolo LS convencional s˜ao a maneira pela qual as informa¸c˜oes de encaminhamento

(29)

Cap´ıtulo 2. Redes Ad Hoc 8

s˜ao difundidas. Em primeiro lugar, FSR troca toda a informa¸c˜ao de estado das liga¸c˜oes somente com os vizinhos, em vez de difundi-la na rede. No entanto, essa informa¸c˜ao diz respeito a todos os n´os da topologia. Em segundo lugar, a troca do estado das liga¸c˜oes ´

e peri´odica, em vez de acionada por eventos, o que evita atualiza¸c˜oes de estado das liga¸c˜oes frequentes, causadas por quebras de liga¸c˜oes e mobilidade dos n´os. Al´em disso, as transmiss˜oes peri´odicas de informa¸c˜oes sobre o estado de liga¸c˜ao s˜ao conduzidas com diferentes periodicidades: o estado das liga¸c˜oes relativas a n´os mais pr´oximos (em termos de n´umero de saltos) ´e difundido mais frequentemente que o estado das liga¸c˜oes de n´os mais distantes.

Como resultado, FSR obt´em uma distˆancia e informa¸c˜oes de rota exatas sobre a vizinhan¸ca mais pr´oxima de um n´o, e um conhecimento impreciso do melhor caminho para um destino distante. No entanto, esta imprecis˜ao ´e compensada pelo facto de a rota, em que se desloca o pacote, se tornar progressivamente mais precisa `a medida de que o pacote se aproxima do seu destino.

• Optimized Link State Routing Protocol (OLSR)

O OLSR [15] ´e um protocolo baseado em LS, que limita a quantidade de n´os da rede que encaminha os estados das liga¸c˜oes, a fim de se poder eliminar mensagens redundantes. Para isso, ´e utilizada uma t´ecnica chamada MPR (MultiPoint Relay) [16]. Numa rede Ad Hoc sem o uso do protocolo OLSR, quando um n´o recebe um pacote de controlo, normalmente retransmite esses dados aos n´os vizinhos. Desse modo, h´a uma difus˜ao desse pacote na rede, pois todos os n´os receber˜ao. Por´em, cada um deles receber´a o mesmo pacote diversas vezes de diferentes vizinhos, gerando uma sobrecarga na rede de informa¸c˜oes redundantes. O protocolo OLSR tenta eliminar este problema.

No uso do OLSR, o n´umero de n´os que retransmite os pacotes ´e limitado. Este protocolo seleciona um subconjunto de n´os da rede, chamados Multipoint relay (MPR), para disseminar mensagens por toda a rede. A escolha do conjunto de MPRs ´e feita de modo a que todos os n´os a dois saltos de distˆancia recebam os pacotes [2], com menor redundˆancia poss´ıvel, como se pode verificar na Figura 2.1. Ent˜ao, quando uma informa¸c˜ao deve ser atualizada na rede, os pacotes enviados por um n´o chegar˜ao a todos os seus vizinhos, mas somente aqueles denominados MPR poder˜ao retransmitir a informa¸c˜ao. Esse processo repete-se com os pr´oximos n´os a receberem os pacotes. Dessa maneira, cada n´o receber´a apenas uma vez os pacotes de informa¸c˜ao.

(30)

Cap´ıtulo 2. Redes Ad Hoc 9

Figura 2.1: OLSR: ilustra¸c˜ao dos MPR, adaptado de [2]

Para calcularem os conjuntos MPR, todos os n´os enviam mensagens Hello para os seus vizinhos, que contˆem informa¸c˜ao acerca dos seus vizinhos e o estado da liga¸c˜ao com eles. O estado da liga¸c˜ao pode ser unidirecional, bidirecional ou MPR [15]. Estas mensagens de controlo s˜ao transmitidas em broadcast e s˜ao recebidas pelos vizinhos a um salto de distˆancia. Os vizinhos n˜ao retransmitem a mensagem. Cada Hello cont´em:

• a lista de endere¸cos para os quais existe uma liga¸c˜ao bidirecional v´alida;

• a lista de endere¸cos dos n´os que foram ouvidos pelo n´o, ou seja, foi recebido um Hello, mas a liga¸c˜ao ainda n˜ao est´a validada como bidirecional: se um n´o encontra o seu pr´oprio endere¸co numa mensagem Hello, considera que a liga¸c˜ao para o n´o remetente ´e bidirecional [15].

´

E esta mensagem Hello que permite que cada n´o conhe¸ca os seus vizinhos a um e dois saltos de distˆancia. Com base nesta informa¸c˜ao, cada n´o executa a sele¸c˜ao dos seus n´os multipoint relays. Estes multipoint relays s˜ao indicados nas mensagens Hello. Com a rece¸c˜ao das mensagens Hello, cada n´o pode construir a sua tabela MPR selector, com os n´os que j´a foram selecionados como MPRs.

Como se pode verificar na Figura 2.2 (a), sem a utiliza¸c˜ao desta t´ecnica, quando um n´o (n´o central, cor laranja) quer transmitir uma informa¸c˜ao em broadcast, todos os n´os que receberem o pacote ir˜ao retransmiti-lo, formando uma rede semelhante `a da Figura 2.2 (a). Assim, os n´os receber˜ao pacotes iguais diversas vezes, vindos de vizinhos

(31)

Cap´ıtulo 2. Redes Ad Hoc 10

Figura 2.2: (a) sem OLSR; (b) com OLSR [3]

diferentes, fazendo com que haja sobrecarga na rede, como j´a tinha sido referido. Na Figura 2.2 (b), pode-se observar a rede semelhante `a que resultaria se fosse usado o protocolo OLSR, que cont´em muito menos retransmiss˜oes de pacotes. Os n´os MPR est˜ao representados a azul e s´o eles ´e que retransmitem os pacotes. Assim, todos os n´os receber˜ao a informa¸c˜ao uma ´unica vez.

O protocolo OLSR ´e particularmente apropriado para redes de grandes dimens˜oes. Quando a rede ´e pequena, cada vizinho de um n´o se torna um MPR.

2.2.2 Protocolos Reativos

Ao contr´ario dos proativos, estes protocolos estabelecem uma rota para o destino apenas quando o n´o fonte pretende transmitir pacotes, n˜ao fazendo qualquer tipo de atualiza¸c˜oes peri´odicas [13]. Exemplos de protocolos reativos s˜ao AODV (Ad Hoc On Demand Distance Vector Routing) [3] e DSR (Dynamic Source Routing)[17] [2].

Estes protocolos tˆem, normalmente, uma fase de descoberta de rota. O n´o fonte envia, em broadcast, um pacote de pedido de rota, que ´e difundido na rede, at´e chegar ao destino ou a um n´o que conhe¸ca a rota para o destino. A fase ´e conclu´ıda quando uma rota ´e encontrada ou todos os poss´ıveis caminhos de sa´ıda da fonte s˜ao pesquisados. Existem diferentes abordagens para descobrir rotas nos algoritmos reativos. No pro-tocolo AODV, ao receber um pedido de rota, os n´os interm´edios “aprendem” o caminho para a fonte e inserem-no na tabela de encaminhamento. O destino recebe, eventual-mente, o pedido de rota e pode, assim, responder, usando o caminho inserido no pedido de rota. Isto permite a cria¸c˜ao de um caminho full duplex [2].

Um esquema alternativo para tra¸car caminhos reativos ´e o protocolo Dynamic Source Routing. O DSR usa source routing, isto ´e, uma fonte regista, no cabe¸calho do pacote, a sequˆencia de n´os interm´edios que o pacote tem de percorrer para chegar ao destino.

(32)

Cap´ıtulo 2. Redes Ad Hoc 11

O destino, em seguida, recupera todo a rota do pacote e usa-a, inversamente, para responder `a fonte.

O source routing permite que n´os DSR mantenham m´ultiplas rotas para um destino. Quando uma falha de liga¸c˜ao ´e detetada, a reconstru¸c˜ao da rota pode ser adiada, caso a fonte possa usar uma outra rota v´alida. Se n˜ao existirem tais rotas alternativas, deve ser invocada uma pesquisa para uma nova rota. O facto de o caminho estar inclu´ıdo no cabe¸calho do pacote, permite fazer a dete¸c˜ao de loops.

Para reduzir a sobrecarga de pesquisa de rotas, ambos os protocolos fornecem oti-miza¸c˜oes, aproveitando as informa¸c˜oes de rotas existentes nos n´os interm´edios.

2.3

Encaminhamento Hier´

arquico

Normalmente, quando uma rede sem fios aumenta de tamanho (para al´em de certos limites), os esquemas de encaminhamento proativos e reativos tornam-se invi´aveis, de-vido ao overhead da descoberta de rotas e de processamento. Uma maneira de resolver este problema ´e a produ¸c˜ao de solu¸c˜oes escal´aveis e eficientes, atrav´es da utiliza¸c˜ao de um protocolo de encaminhamento hier´arquico.

Os protocolos de encaminhamento hier´arquicos sem fios baseiam-se na ideia de or-ganizar os n´os em grupos e, em seguida, atribuir diferentes funcionalidades aos n´os, dependendo se este est´a dentro ou fora de um grupo. Tanto o tamanho das tabelas de encaminhamento, como o tamanho dos pacotes de atualiza¸c˜oes s˜ao reduzidos, incluindo neles apenas uma parte da rede.

A forma mais popular de constru¸c˜ao da hierarquia ´e a de grupos de n´os geogra-ficamente pr´oximos uns dos outros em clusters expl´ıcitos. Cada cluster tem um n´o principal (clusterhead ), que comunica com os n´os de outros grupos, em nome do cluster. Uma forma alternativa ´e ter uma hierarquia impl´ıcita. Deste modo, cada n´o tem um alcance local. Diferentes estrat´egias de encaminhamento s˜ao usadas dentro e fora do alcance da aplica¸c˜ao. Atrav´es desta flexibilidade, pode ser alcan¸cado um desempenho de encaminhamento global mais eficiente.

Exemplos de protocolos hier´arquicos s˜ao HSR (Hierarchical State Routing) [18], CGSR (Clusterhead-Gateway Switch Routing)[19], ZRP (Zone Routing Protocol ) e LAN-MAR (Landmark Ad Hoc Routing Protocol ) [12] [2].

(33)

Cap´ıtulo 2. Redes Ad Hoc 12

2.3.1 Zone Routing Protocol (ZRP)

ZRP [11] ´e um protocolo de encaminhamento h´ıbrido, que combina os protocolos proativos e reativos, com o objetivo de tirar o benef´ıcio das vantagens no encaminha-mento de ambos os tipos. A ideia b´asica ´e que cada n´o tem uma zona predefinida centrada em si mesmo, em termos de n´umero de saltos. Para enviar pacotes para n´os dentro da zona, usa protocolos de encaminhamento proativos, mantendo as informa¸c˜oes de encaminhamento atualizadas. Para os n´os fora da sua zona, usa protocolos de enca-minhamento reativos, que n˜ao mantˆem a informa¸c˜ao de encaminhamento.

Para n´os fora da sua zona, este protocolo faz a pesquisa de rota atrav´es dos pacotes RREQ (Route Request ) e a respetiva resposta RREP (Route Reply), de uma forma similar aos protocolos de encaminhamento reativos t´ıpicos.

2.4

Encaminhamento Geogr´

afico de posi¸

ao assistida

Os avan¸cos no desenvolvimento do GPS tornaram poss´ıvel o fornecimento de in-forma¸c˜oes de localiza¸c˜ao com uma precis˜ao de poucos metros. [2] Al´em disso, tamb´em fornece uma sincroniza¸c˜ao temporal universal. Embora as informa¸c˜oes de localiza¸c˜ao possam ser usadas para o encaminhamento direcional em sistemas distribu´ıdos Ad Hoc, o rel´ogio universal (fornecido, tamb´em, pelo GPS) pode fornecer sincroniza¸c˜ao global entre n´os equipados com GPS.

A pesquisa feita pelos autores de [2] mostrou que as informa¸c˜oes de localiza¸c˜ao geogr´afica podem melhorar o desempenho de encaminhamento em redes Ad Hoc.

Exemplos de protocolos geogr´aficos de posi¸c˜ao assistida s˜ao GeoCast (Geographic Addressing and Routing) [20], LAR (Location-Aided Routing) [21], DREAM (Distance Routing Effect Algorithm for Mobility) e GPSR (Greedy Perimeter Stateless Routing) [22].

2.4.1 LAR (Location-Aided Routing)

O protocolo LAR, apresentado em [21], ´e um protocolo on-demand baseado em source routing [2]. O protocolo utiliza informa¸c˜oes de localiza¸c˜ao, a fim de limitar a ´area da zona de descoberta de uma nova rota. Como consequˆencia, o n´umero de mensagens de pedido de rota ´e reduzido.

(34)

Cap´ıtulo 2. Redes Ad Hoc 13

O funcionamento do protocolo LAR ´e semelhante ao DSR [17]. Usando informa¸c˜oes de localiza¸c˜ao, o protocolo LAR executa a descoberta de rota atrav´es de flooding limitado (isto ´e, inunda os pedidos para uma Request zone). Somente n´os da Request zone ir˜ao encaminhar os pedidos de rota. O protocolo LAR fornece dois esquemas para determinar a Request zone.

Esquema 1: A fonte estima uma ´area circular (Expected zone), na qual se espera que o destino seja encontrado naquele momento. A posi¸c˜ao e o tamanho do c´ırculo ´e calculado com base no conhecimento da localiza¸c˜ao anterior do destino, o instante de tempo associado ao registo de localiza¸c˜ao anterior e a velocidade m´edia do destino. A menor regi˜ao retangular que inclui a Expected zone e a fonte ´e a Request zone, como se pode verificar na Figura 2.3. As coordenadas dos quatro cantos da Request zone est˜ao ligados a um pedido de rota pela fonte. Durante a difus˜ao do pedido de rota, s´o n´os dentro da Request zone reencaminham a mensagem de pedido.[2]

Figura 2.3: Funcionamento do protocolo LAR: (a)Esquema 1 [2]

Esquema 2: A fonte calcula a distˆancia para o destino, com base na distˆancia entre esta e a localiza¸c˜ao conhecida do destino. Esta distˆancia, juntamente com a posi¸c˜ao do destino, ´e inclu´ıda na mensagem de pedido de rota e enviada para os vizinhos. Quando um n´o recebe o pedido, calcula a sua distˆancia at´e ao destino. Se a sua distˆancia at´e ao destino for inferior ou igual `a distˆancia inclu´ıda na mensagem de pedido, reencaminha a mensagem de pedido. Caso contr´ario, n˜ao reencaminha. Como exemplo, na Figura 2.4

(35)

Cap´ıtulo 2. Redes Ad Hoc 14

os n´os I e J ir˜ao retransmitir o pedido de S. Antes de retransmitir o pedido, o n´o atualiza o campo de distˆancia, na mensagem de pedido, com a sua pr´opria distˆancia para o destino.[2]

(36)

Cap´ıtulo 3

Redes de Dados Nomeados

Com a evolu¸c˜ao e crescente utiliza¸c˜ao da Internet, surgiram alguns problemas com o aumento do tr´afego, como a seguran¸ca, escalabilidade, qualidade de servi¸co e de-pendˆencia da localiza¸c˜ao. Para se tentar resolver estes problemas, surgiu uma nova arquitetura: as redes de Dados Nomeados.

O projeto de Redes de Dados Nomeados (NDN – Named Data Network ) [7] propˆos uma evolu¸c˜ao da arquitetura IP, inovando o paradigma de difus˜ao de mensagens na rede. Atribui nomes aos dados, fazendo com que a entrega passe a ser efetuada com base na informa¸c˜ao que transportam, e n˜ao na sua localiza¸c˜ao, como acontece utilizando o paradigma normal de entrega entre uma origem e um destino.

A comunica¸c˜ao em NDN ´e feita atrav´es de consumidores e produtores de dados, atrav´es da troca de dois tipos de pacotes: Interesses e Dados. Ambos os tipos de pacotes transportam, no seu cabe¸calho, um nome (prefixo), que identifica os dados ou apenas uma parte. O consumidor coloca o nome dos dados desejados no pacote de interesse e propaga-o na rede. Os n´os interm´edios usam este nome para encaminharem o interesse para o(s) produtor(es) de dados. Quando o interesse atingir um n´o que possua os dados solicitados, o n´o ir´a retornar um pacote de dados, que cont´em o nome e o conte´udo, juntamente com a assinatura do produtor. Este pacote de dados segue o caminho inverso tomado pelo interesse, a fim de voltar para o consumidor que o solicitou.

(37)

Cap´ıtulo 3. Redes de Dados Nomeados 16

3.1

Estrutura do n´

o NDN

Para exercer as fun¸c˜oes de encaminhamento dos pacotes de dados e de interesse, cada n´o NDN possui trˆes estruturas de dados: uma tabela de interesses pendentes (PIT - Pen-ding Interest Table), uma tabela com informa¸c˜oes de encaminhamento (FIB - Forwarding Information Base) e, por fim, uma tabela com o armazenamento de conte´udos (CS – Content Store), descritas em detalhe em [23].

A FIB ´e usada para encaminhar pacotes de interesse em dire¸c˜ao a potenciais fontes dos dados correspondentes. ´E quase idˆentica a uma tabela de encaminhamento IP, com a diferen¸ca que a FIB permite ter uma lista de interfaces de sa´ıda, em vez de uma ´unica. A CS ´e uma cache tempor´aria de dados recebidos pelo n´o. Depois de encaminhar os pacotes de dados, um router NDN armazena os mesmos, a fim de poder responder a futuros interesses. O armazenamento ´e um dos mecanismos mais atrativos que foi proposto pelas redes NDN, pois este significa a redu¸c˜ao da latˆencia e a redu¸c˜ao do custo da largura de banda. Os routers atuais da Internet n˜ao armazenam os conte´udos que passam por eles, pois n˜ao est˜ao habilitados para a reutiliza¸c˜ao dos dados. Esta carater´ıstica traz benef´ıcios essencialmente para as redes sem fios [24].

A tabela PIT armazena todos os pacotes de interesse que um n´o tenha encaminhado (tanto tenha sido o produtor do pacote de interesse ou apenas um n´o interm´edio), e que ainda n˜ao tenha recebido o respetivo pacote de dados. Em cada entrada PIT ´e registado o nome dos dados, juntamente com as suas interfaces de entrada e sa´ıda [24]. Desta forma, ´e registada a rota do interesse, para quando os n´os receberem o pacote de dados correspondente, enviarem-no pela interface por onde o interesse chegou.

3.2

Nomes

As NDNs apresentam uma estrutura de nomes organizada hierarquicamente, que ´e composta por um determinado n´umero de componentes relacionados entre si. O nome dos dados n˜ao corresponde ao nome do ficheiro ou ao nome de parte dele. A sua nota¸c˜ao ´

e semelhante `as URLs, em que o caractere “/” delimita os componentes [24].

No exemplo “uminho.pt/di/v´ıdeos/frame.mpg/1/2”, “uminho.pt/di/v´ıdeos/frame.mpg” corresponde ao nome gerado pela aplica¸c˜ao e “1/2” corresponde ao segmento 2 da vers˜ao 1 do ficheiro [4].

(38)

Cap´ıtulo 3. Redes de Dados Nomeados 17

As conven¸c˜oes de nomenclatura e os mecanismos de descoberta dos nomes s˜ao geri-dos pelas pr´oprias aplica¸c˜oes [4]. S˜ao utilizados algoritmos determin´ısticos para chegar ao nome, com base em informa¸c˜oes que est˜ao dispon´ıveis, tanto para produtores como para consumidores [24].

3.3

Seguran¸

ca

Em contraste com a arquitetura TCP/IP, que deixa a responsabilidade pela segu-ran¸ca (ou falta dela) para os terminais, as redes NDN protegem os dados em si, obrigando os produtores de dados a assinarem, criptograficamente, cada pacote de dados [25]. A assinatura do autor garante a integridade e permite ao consumidor determinar de onde vˆem os dados.

A seguran¸ca centrada nos dados do NDN tem aplica¸c˜oes no controle de acesso aos dados e seguran¸ca da infraestrutura. As aplica¸c˜oes podem controlar o acesso aos dados, por meio de cifragem (encripta¸c˜ao de dados) e distribui¸c˜ao das chaves encriptadas dos dados, limitando o per´ımetro de seguran¸ca por onde os dados podem circular.

O encaminhamento de m´ultiplos caminhos do NDN, em conjunto com o m´odulo de estrat´egia de encaminhamento adaptativo, diminui os ataques por hijacking, que consiste em interceptar uma sess˜ao TCP iniciada entre duas m´aquina a fim de a desviar, porque os n´os podem detectar anomalias causadas por estes ataques e recuperarem os dados, atrav´es de caminhos alternativos [23].

Devido ao facto de os pacotes NDN referenciarem o conte´udo em vez dos dispositivos de onde provˆem, ´e mais complicado para um n´o malicioso atacar um dispositivo em particular [26].

O estado de uma tabela PIT tamb´em pode ajudar a mitigar ataques DDoS - Distri-buted Denial Of Service, porque o n´umero de entradas PIT ´e um indicador expl´ıcito da carga do n´o. Colocando um limite superior para este n´umero, define o limite m´aximo para o efeito de um ataque DDoS.[27].

No entanto, as redes NDN ainda n˜ao s˜ao totalmente seguras, e ainda existem al-guns problemas de seguran¸ca [28]. Um exemplo disso s˜ao as consequˆencias da utiliza¸c˜ao do armazenamento em cache, que, apesar de melhorarem o desempenho, guardam in-forma¸c˜oes da comunica¸c˜ao, que podem vir a ser utilizadas por atacantes.

(39)

Cap´ıtulo 3. Redes de Dados Nomeados 18

3.4

Encaminhamento NDN

O processo de encaminhamento de pacotes de interesse e dados nas redes NDN est´a representado na Figura 3.1.

Figura 3.1: Processo de Encaminhamento NDN

Quando um n´o recebe um pacote de interesse, este verifica na sua CS se cont´em os dados correspondentes ao interesse e, caso possua, retorna o pacote de dados para a interface a partir da qual o interesse chegou. Caso contr´ario, o n´o procura o nome dos dados na sua PIT e, caso exista uma entrada correspondente, regista, simplesmente, a interface de entrada do interesse, nessa entrada. Caso contr´ario, cria uma nova entrada com o nome e interface de entrada e sa´ıda do pacote de interesse e encaminha-o para o produtor, com base nas informa¸c˜oes da FIB. Quando um n´o recebe interesses com o mesmo nome de v´arios n´os, encaminha, apenas, o primeiro pacote recebido, para o produtor de dados.

(40)

Cap´ıtulo 3. Redes de Dados Nomeados 19

A estrat´egia de encaminhamento pode decidir abandonar um interesse em certas situa¸c˜oes, como por exemplo, se todas as liga¸c˜oes estiverem congestionadas ou o interesse ´

e suspeito de fazer parte de um ataque DoS (Denial of Service – ataque de nega¸c˜ao de servi¸co). Para cada interesse, a estrat´egia de encaminhamento decide quando e para onde o encaminhar.

Quando um n´o recebe um pacote de dados, procura a entrada PIT correspondente, armazena os dados na CS e encaminha para todas as interfaces listadas nessa entrada PIT. De seguida, remove a entrada PIT. Caso n˜ao encontre nenhuma entrada PIT correspondente, descarta o pacote de dados. No entanto, existe a possibilidade de um n´o nunca receber o pacote de dados correspondente ao interesse de uma entrada PIT, por diversas raz˜oes e, por isso, ´e definido um temporizador e, caso o pacote n˜ao seja recebido durante esse per´ıodo, a entrada PIT ´e removida.

Como os pacotes de dados percorrem sempre o caminho inverso dos pacotes de interesse e, caso n˜ao hajam pacotes perdidos, um pacote de interesse resulta, apenas, num pacote de dados em cada liga¸c˜ao, proporcionando um equil´ıbrio de fluxo.

Para o encaminhamento de dados de elevadas dimens˜oes, em vez de ser enviado um pacote com um payload muito grande, a mensagem ´e fragmentada em v´arios pacotes. Neste caso, o pacote de interesse fornece um papel similar aos ACKs TCP no controlo de fluxo de tr´afego na Internet de hoje: um ciclo de feedback, controlado pelo consumidor, em que o envio do interesse do segundo fragmento, significa que o consumidor recebeu, com sucesso, o primeiro fragmento [24].

3.5

Utiliza¸

ao de protocolos de encaminhamento em redes

NDN

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.

(41)

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.

(42)

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

(43)

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 da-dos dada-dos nomeada-dos. 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

(44)

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.

(45)

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.

(46)

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,

(47)

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.

(48)

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.

(49)

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.

Caso o n´o interm´edio n˜ao possua os dados, procura uma entrada CPT, correspon-dente ao ID do produtor e ao nome do conte´udo registados no pacote. Se o n´o estiver mais perto do produtor do que o n´o que lhe enviou o pacote, atualiza o cabe¸calho do interesse com a sua distˆancia at´e ao produtor, e, finalmente, agenda a transmiss˜ao do interesse, para depois de TInterest.

4.4

Protocolo BF

O protocolo Blind Forwarding (BF) ´e um esquema broadcasting baseado em con-tadores, que adia a transmiss˜ao de interesses e dados, a fim de limitar a probabilidade de colis˜oes [5], semelhante aos protocolos LFBL e E-CHANET. Al´em disso, aproveita a escuta de pacotes, para o controlo da redundˆancia dos mesmos.

Imagem

Figura 2.1: OLSR: ilustra¸ c˜ ao dos MPR, adaptado de [2]
Figura 2.3: Funcionamento do protocolo LAR: (a)Esquema 1 [2]
Figura 2.4: Funcionamento do protocolo LAR: (b)Esquema 2. [2]
Figura 4.1: Procedimento do reencaminhamento de interesses dos protocolos PAF e BF [5]
+7

Referências

Documentos relacionados

São por demais conhecidas as dificuldades de se incorporar a Amazônia à dinâmica de desenvolvimento nacional, ora por culpa do modelo estabelecido, ora pela falta de tecnologia ou

Como visto no capítulo III, a opção pelo regime jurídico tributário especial SIMPLES Nacional pode representar uma redução da carga tributária em alguns setores, como o setor

Assim, de forma a avaliar a influência da técnica de reforço NSM no incremento de capacidade de carga e na redistribuição de momentos em elementos contínuos de CA, um

Aos 7, 14 e 21 dias após a emergência (DAE), foi determinado o índice SPAD no folíolo terminal da quarta folha completamente expandida devido ser esta folha recomendada para verificar

O jacarandá (Dalbergia brasiliensis) mostrou crescimento em altura próximo à altura média entre as espécies ensaiadas (1,23m), destacando-se também como espécie alternativa para

Verificar a efetividade da técnica do clareamento dentário caseiro com peróxido de carbamida a 10% através da avaliação da alteração da cor determinada pela comparação com

Super identificou e definiu construtos e a respectiva interacção no desenvolvimento da carreira e no processo de tomada de decisão, usando uma série de hipóteses: o trabalho não

Starting out from my reflection on the words cor, preto, negro and branco (colour, black, negro, white), highlighting their basic meanings and some of their