Departamento de Ciência da Computação Instituto de Computação Universidade Federal Fluminense...

Post on 17-Apr-2015

111 views 3 download

Transcript of Departamento de Ciência da Computação Instituto de Computação Universidade Federal Fluminense...

Departamento de Ciência da ComputaçãoInstituto de Computação

Universidade Federal Fluminense

Saching Katti, Hariharan Rahul, Wenjun Hu, Dina Katabi, Muriel Médard, Jon Crowcroft

Em IEEE/ACM Transactions on Networking, VOL. 16, NO. 3, Junho 2008

Apresentador: Igor C. G. Ribeiro

XORs in the Air: Practical Wireless Network Coding

Computação Móvel 2012/1

• O artigo introduz o COPE;

• Nova arquitetura de encaminhamento de pacotes;

• Utiliza codificação de redes;

• Aumenta o throughput em redes em malha sem fio estacionárias.

Introdução

Motivação

Como enviar mais informações utilizandomenos transmissões?

Motivação

Redução de 4 transmissões para 3.Pode-se aproveitar a transmissão extra

para enviar mais dados.Seria interessante combinarmos mais

pacotes para reduzir ainda mais o número de transmissões.

Ideia

Nós em modo promíscuo podem capturaro tráfego dentro de sua área de cobertura.

Pacotes capturados são armazenadospor um determinado intervalo de tempo.Resultado: Cada nó conhece um númeromaior de pacotes, favorecendo assim a

codificação.

COPE – Visão Geral

Aplicação

Transporte

Rede

Enlace

Física

Aplicação

Transporte

Rede

Enlace

Física

Codificação

1. Audição Oportunista• Escuta o tráfego nos nós sem fio;

• Guarda os pacotes monitorados por um intervalo de tempo T;

• Cada nó envia em broadcast mensagens de recepção.

COPE – Visão Geral

2. Codificação Oportunista

COPE – Visão Geral

Como combinar os pacotes de modo a obterO maior ganho possível?

2. Codificação Oportunista

COPE – Visão Geral

Regra:

3. Aprendendo o estado dos vizinhos• Através das mensagens de recepção;

• Através da tentativa de adivinhação

COPE – Visão Geral

• O quão benéfico é o COPE?

• Seu ganho de throughput depende das oportunidades de codificação, que por sua depende dos padrões de tráfego.

Entemdendo os Ganhos do COPE

Ganho com a codificação

DefiniçãoRazão entre o número de transmissões requeridas

pela abordagem sem codificação e o númeromínimo de transmissões requeridas pela

abordagem com codificação

Exemplo: Alice e BobSem codificação: 4 transmissõesCom codificação: 3 transmissões

Ganho com a codificação:

• Qual é a capacidade teórica de uma rede wireless que implementa o COPE?

• A capacidade de network coding genérico para tráfego unicast é ainda um problema em aberto.

• Entretanto é possível analisar algumas topologias básicas que revelam alguns fatores que afetam o COPE.

Ganho com a codificação

• Premissas:• Nós identicos;• Rádios omni-direcionais;• Sinal perfeitamente audível dentro

de um raio;• O sinal não é ouvido de forma

alguma fora do raio;• Se dois nós podem ouvir um ao

outro, o algoritmo de roteamento escolherá o link direto.

Ganho com a codificação

Ganho com a codificação

Na ausência de audição oportunista o ganhoMáximo devido a codificação tende a 2 conforme o

Número de nós intermediários aumenta.

Ganho com a codificação

Na ausência de audição oportunista não é possívelobter nenhum ganho pela codificação. Porém, com

a audição oportunista o ganho é igual a 1,33.

Ganho com a codificação

n1,n3 podem escutar n4,n5 e vice-versa.Transmissões sem codificação: 8Transmissões com codificação: 5

Ganho com a codificação: :

n1 n2 n3

n5

n4

Ganho com a codificação + MAC

O MAC tenta ser justo e divide igualmente a largura de banda entre todos os nós.

O nó intermediário tem que enviar o dobro detransmissões que os nós da ponta.

O nó intermediário se torna o gargaloMetade dos pacotes na fila do nó Intermediário são descartados.

Com o uso do COPE, o nó intermediária faz oXOR entre pares de pacotes, permitindo que tais pacotes sejam drenados duas vezes mais rápido.

Dessa maneira, o ganho pela junção entreCodificação e MAC para o exemplo de Alice e Bob

é 2.

Assume-se que todos os nós tem continuamentetráfego para enviar, mas está limitado pela

largura de banda alocada pela camada MAC.

Para topologias com um único gargalo, o ganhode codificação + MAC é calculado como a razão

entre a taxa de drenagem com COPE e a taxade drenagem sem o COPE.

Ganho com a codificação + MAC

Ganho com a codificação + MAC

• Não atrasar o envio de pacotes;• Dar preferência a fazer XOR com

pacotes de mesmo tamanho• XOR com pacotes de tamanhos

diferentes reduz a economia de largura de banda;

• Separa os pacotes nas categorias grande e pequeno;

• No XOR de pacotes de tamanhos diferentes, o menor sofre padding com 0s.

Implementação – Algoritmo deCodificação

• Não fazer XOR de pacotes destinados ao mesmo próximo salto;

• Não fazer XOR de pacotes gerados no próprio nó que está codificando;

• Nos dois casos anteriores o próximo salto não seria capaz de decodificar os pacotes;

• COPE mantêm duas filas virtuais por vizinho, uma para pacotes grandes e outra para pequenos;

Implementação – Algoritmo deCodificação

• Nó codifica n pacotes• é a probabilidade do próximo salto ter

o pacote i• A probabilidade do próximo salto

conseguir decodificar o pacote é:

Implementação – Algoritmo deCodificação

= x x...x

• Resumo:• Cada nó tem uma fila FIFO – Fila de

Saída;• Cada nó tem duas filas virtuais por

vizinho, uma para pacotes pequenos (< 100 bytes) e uma para pacotes grandes;

• As filas para um vizinho A contêm ponteiros para pacotes na file da saída cujo próximo salto é A

Implementação – Algoritmo deCodificação

• Resumo:• Cada nó mantém um Hashtable,

indexado pelo ID do pacote, que contém o packet info. Essa informação fornece a probabilidade de cada vizinho ter esse pacote.

Implementação – Algoritmo deCodificação

Implementação – Algoritmo deCodificação

Id Pacote Probabilidade

.

.

.

Pacotes Grandes

Pacotes Pequenos

Fila de Saída

HashTable

Estrutura dos Nós

• Cada nó mantém um hashtable, indexado pelo ID do pacote, onde os pacotes enviados, recebidos e monitorados pelo nó são guardados;

• De tempos em tempos esse hashtable é limpo;

• Quando um pacote tem que ser decodificado, o nó verifica os IDs dos pacotes que compõem o pacote codificado e recupera os mesmos do hashtable.

Implementação – Algoritmo deDecodificação

• Problema: usar 802.11 em modo broadcast ou unicast?• Broadcast não fornece

confiabilidade;• Broadcast não permite backoff,

reduzindo o throughput em virtude do excesso de colisões.

Implementação – Pseudo-Broadcast

• Solução: Pseudo-broadcasts• Pacotes codificados são enviados

em modo unicast;

• O endereço MAC de destino é setado para um dos destinatários;

• Após o cabeçalho de camada 2, é inserido o cabeçalho XOR que contém todos os destinatários daquele pacote;

Implementação – Pseudo-Broadcast

• Solução: Pseudo-broadcasts• Todos os Nós operam em modo

promíscuo e podem receber o pacote enviado;

• Se o endereço MAC do pacote recebido não bate com o do nó que o recebeu, esse checa o cabeçalho XOR;

• Se o nó for um dos destinatários, o pacote é processado. Caso contrário o pacote é armazenado.

Implementação – Pseudo-Broadcast

• Solução: Pseudo-broadcasts• Assim, o pacote é entregue a todos

os destinatários utilizando o modo unicast.

Implementação – Pseudo-Broadcast

Problema de confiabilidade e backoff resolvidos?

Não!

• Somente a camada MAC do real destinatário do pacote enviará ACK;

• Os pacotes enviados para os outros destinatários também podem ser perdidos.

• Um determinado nó que recebe um pacote codificado pode não ter informações suficientes para decodificar o mesmo e assim esse pacote é perdido.

Implementação – Pseudo-Broadcast

O COPE precisa então prover por contaprópria um sistema de ACKs e

Retransmissões!

• Pacotes nativos utilizam o esquema de ACKs e retransmissões do 802.11;

• Utilizar o mesmo esquema para pacotes codificados acarreta em um overhead excessivo;

• A solução proposta pelo COPE é utilizar ACKs assíncronos.

Implementação – ACKs Assíncronos e Retransmissões

• A utilização de ACKs assíncronos pode acarretar em reordenação dos pacotes;

• A reordenação é para o TCP um sinal de congestionamento;

• Dessa maneira, se muitos pacotes forem reordenados o TCP irá reduzir a taxa, reduzindo assim o throughput.

Implementação – ACKs Assíncronos e Retransmissões

SoluçãoOrdenar os pacotes antes de envia-los

Para a camada de transporte!

• Cada nó mantém um agente que intercepta os pacotes antes de serem enviados para a camada de transporte;

• Caso o pacote pertença a um fluxo TCP e o IP de destino seja o IP do nó em questão:• O agente verifica se o pacote

recebido não causará uma lacuna na sequência de pacotes.

• Caso contrário o pacote é encaminhado normalmente.

Implementação – Prevenção de Reordenação de Pacotes TCP

Implementação – Funcionamento

Resultados Experimentais – Topologias Simples

ObjetivoComparar os ganhos reais com os ganhos

teóricos já analisados.

1) Fluxos TCP: executado em três topologias diferentes (Alice e Bob, “X” e a topologia em curz)• O ganho de throughput foi medido

através de 40 execuções diferentes do experimento;

Resultados Experimentais – Topologias Simples

Resultados Experimentais – Topologias Simples

Alice e Bob

Resultados Experimentais – Topologias Simples

“X”

Resultados Experimentais – Topologias Simples

Cruz

Resultados Experimentais – Topologias Simples

Conclusão dos Experimentos com TCPQuando o tráfego realiza controle de

Congestionamento, o ganho de throughputObtido corresponde ao ganho por codificação e

Não ao ganho por MAC + codificação

2) O mesmo experimento foi realizado nas mesmas topologias, mas agora utilizando fluxos UDP

Resultados Experimentais – Topologias Simples

Resultados Experimentais – Topologias Simples

Alice e Bob

Resultados Experimentais – Topologias Simples

“X”

Resultados Experimentais – Topologias Simples

Cruz

Resultados Experimentais – Rede AD HOC Real

ObjetivoVerificar como o COPE se comporta em

uma rede ad hoc real.

1) Fluxos TCP• Os fluxos chegam de acordo com a

distribuição de Poisson;• A origem e o destino dos pacotes

são escolhidos aleatoriamente dentre os 20 nós possíveis;

Resultados Experimentais – Rede AD HOC Real

1) Fluxos TCP• Foi notado um ganho insignificante

(2-3%)

Resultados Experimentais – Rede AD HOC Real

TerminaisOcultos

Grande n•De Colisões

TCP ReduzA Taxa

Poucas Oportunidades deCodificação

Mau Uso doMeio

Resultados Experimentais – Rede AD HOC Real

Resultados Experimentais – Rede AD HOC Real

1) Fluxos TCP• Se removermos as perdas devidas a

colisões os fluxos TCP se beneficiariam do COPE?

• Todos os 20 nós da rede foram dispostos de tal forma que estivessem dentro do alcance da detecção de portadora uns dos outros;

• O grafo de roteamento e a taxa de erros dentro dos nós foram mantidas.

Resultados Experimentais – Rede AD HOC Real

Resultados Experimentais – Rede AD HOC Real

1) Fluxos UDP• Chegadas Poisson;• Origem e destino escolhidos

aleatoriamente;• Carga na rede inserida através do

alteração na taxa de chegada;• Para cada taxa de chegada (25 no

total) foram realizados 10 experimentos com o COPE ligado e 10 com o mesmo desligado.

Resultados Experimentais – Rede AD HOC Real

Resultados Experimentais – Rede AD HOC Real

Resultados Experimentais – Rede AD HOC Real

Quanto da codificação é devida às mensagens de recepção e quanto é devida

à adivinhação?

Se n pacotes são codificados e desses npacotes, k pacotes são codificados devidoà mensagens de recepção, n-k pacotes são

codificados devido à adivinhação.

Resultados Experimentais – Rede AD HOC Real

Resultados Experimentais – Rede AD HOC Real

Resultados Experimentais – Rede Mesh Real

ObjetivoVerificar como o COPE se comporta em

uma rede mesh real.

• Fluxos UDP;• De e para o gatway mais próximo• Nós do testbed divididos em quatro

conjunto;• Cada conjunto se comunica com a

Internet através de um nó que faz o papel do gatway;

• Experimento controlado através da variação da razão entre o tráfego de upload e o tráfego de download.

Resultados Experimentais – Rede Mesh Real

Resultados Experimentais – Rede Mesh Real

Resultados Experimentais – Rede Mesh Real

Resultados Experimentais – Rede Mesh Real

• O artigo apresentou o COPE – Sistema que tenta tirar proveito da natureza de trasmissões broadcast presentes nas redes wireless para realizar o processo de codificação de pacotes, com o objetivo de aumentar o throughput.

• Em geral, o COPE apresentou um grande ganho no throughput.

Conclusão

• Alguns comportamentos nos gráficos não foram bem explicados;

• Alguns parâmetros mostrados nos gráficos não foram bem definidos.

Críticas