Departamento de Cincia da Computao Instituto de Computao

  • Slides: 65
Download presentation
Departamento de Ciência da Computação Instituto de Computação Universidade Federal Fluminense Computação Móvel 2012/1

Departamento de Ciência da Computação Instituto de Computação Universidade Federal Fluminense Computação Móvel 2012/1 XORs in the Air: Practical Wireless Network Coding 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

Introdução • O artigo introduz o COPE; • Nova arquitetura de encaminhamento de pacotes;

Introdução • 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.

Motivação Como enviar mais informações utilizando menos transmissões?

Motivação Como enviar mais informações utilizando menos transmissões?

Motivação Seria interessante Pode-se aproveitar combinarmos a transmissão mais extra Redução de 4 transmissões

Motivação Seria interessante Pode-se aproveitar combinarmos a transmissão mais extra Redução de 4 transmissões para 3. pacotes para reduzir mais o para enviar maisainda dados. número de transmissões.

Ideia Resultado: Cada nó conhece umcapturar número Nós Pacotes em modo capturados promíscuo sãopodem

Ideia Resultado: Cada nó conhece umcapturar número Nós Pacotes em modo capturados promíscuo sãopodem armazenados maior pacotes, favorecendo a opor tráfego um de determinado dentro de sua intervalo área de cobertura. deassim tempo. codificação.

COPE – Visão Geral Aplicação Transporte Rede Enlace Física Aplicação Transporte Rede Codificação Enlace

COPE – Visão Geral Aplicação Transporte Rede Enlace Física Aplicação Transporte Rede Codificação Enlace Física

COPE – Visão Geral 1. Audição Oportunista • Escuta o tráfego nos nós sem

COPE – Visão Geral 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 Como combinar os pacotes de modo a

COPE – Visão Geral 2. Codificação Oportunista Como combinar os pacotes de modo a obter O maior ganho possível?

COPE – Visão Geral 2. Codificação Oportunista

COPE – Visão Geral 2. Codificação Oportunista

COPE – Visão Geral 3. Aprendendo o estado dos vizinhos • Através das mensagens

COPE – Visão Geral 3. Aprendendo o estado dos vizinhos • Através das mensagens de recepção; • Através da tentativa de adivinhação

Entemdendo os Ganhos do COPE • O quão benéfico é o COPE? • Seu

Entemdendo os Ganhos do COPE • 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.

Ganho com a codificação Definição Razão entre o número de transmissões requeridas pela abordagem

Ganho com a codificação Definição Razão entre o número de transmissões requeridas pela abordagem sem codificação e o número mínimo de transmissões requeridas pela abordagem codificação

Ganho com a codificação • Qual é a capacidade teórica de uma rede wireless

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

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 Na ausência de audição oportunista o ganho Máximo devido a

Ganho com a codificação Na ausência de audição oportunista o ganho Má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ível obter nenhum

Ganho com a codificação Na ausência de audição oportunista não é possível obter nenhum ganho pela codificação. Porém, com a audição oportunista o ganho é igual a 1, 33.

Ganho com a codificação n 5 n 1 n 2 n 4 n 3

Ganho com a codificação n 5 n 1 n 2 n 4 n 3

Ganho com a codificação + MAC Para topologias com um único gargalo, o ganho

Ganho com a codificação + MAC Para topologias com um único gargalo, o ganho Assume-se que todos oso nós tem junção continuamente Com o uso do COPE, nó pela intermediária faz o Dessa maneira, o ganho entre de codificação + MAC é calculado como a razão Otráfego MAC ser justo divide igualmente a. Bob para enviar, mas está limitado pela XOR O nó O entre intermediário nótenta intermediário pares depara pacotes, tem que torna permitindo enviar o de gargalo o Alice dobro que de Codificação e MAC oese exemplo etais entre a taxa de drenagem com COPE e a taxa largura de banda os nós. largura de banda alocada camada MAC. pacotes transmissões sejam drenados que duas os pela nós vezes da mais rápido. é entre 2. Metade dos pacotes natodos fila doponta. nó de. Intermediário drenagem são sem o COPE. descartados.

Ganho com a codificação + MAC

Ganho com a codificação + MAC

Ganho com a codificação + MAC

Ganho com a codificação + MAC

Implementação – Algoritmo de Codificação • Não atrasar o envio de pacotes; • Dar

Implementação – Algoritmo de Codificação • 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 0 s.

Implementação – Algoritmo de Codificação • Não fazer XOR de pacotes destinados ao mesmo

Implementação – Algoritmo de Codificaçã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 de Codificação

Implementação – Algoritmo de Codificação

Implementação – Algoritmo de Codificação • Resumo: • Cada nó tem uma fila FIFO

Implementação – Algoritmo de Codificação • 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 de Codificação • Resumo: • Cada nó mantém um Hashtable, indexado

Implementação – Algoritmo de Codificaçã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 de Codificação Estrutura dos Nós Pacotes Grandes Fila de Saída Pacotes

Implementação – Algoritmo de Codificação Estrutura dos Nós Pacotes Grandes Fila de Saída Pacotes Pequenos. . . Hash. Table Id Pacote Probabilidade

Implementação – Algoritmo de Decodificação • Cada nó mantém um hashtable, indexado pelo ID

Implementação – Algoritmo de Decodificação • 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 – Pseudo. Broadcast • Problema: usar 802. 11 em modo broadcast ou unicast?

Implementação – Pseudo. Broadcast • 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

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

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

Implementação – Pseudo. Broadcast • Solução: Pseudo-broadcasts • Assim, o pacote é entregue a todos os destinatários utilizando o modo unicast. Problema de confiabilidade e backoff Não! resolvidos?

Implementação – Pseudo. Broadcast • Somente a camada MAC do real destinatário do pacote

Implementação – Pseudo. Broadcast • Somente a camada MAC do real destinatário do pacote enviará ACK; • Os pacotes enviados para os outros O COPE precisa então prover por conta destinatários também podem ser perdidos. própria um sistema de ACKs e • Um determinado nó que recebe um pacote Retransmissões! codificado pode não ter informações suficientes para decodificar o mesmo e assim esse pacote é perdido.

Implementação – ACKs Assíncronos e Retransmissões • Pacotes nativos utilizam o esquema de ACKs

Implementação – ACKs Assíncronos 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

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. Solução é para o TCP um sinal de Ordenar os pacotes antes de envia-los congestionamento; Para a camada transporte! • Dessa maneira, se de muitos pacotes forem reordenados o TCP irá reduzir a taxa, reduzindo assim o throughput.

Implementação – Prevenção de Reordenação de Pacotes TCP • Cada nó mantém um agente

Implementação – Prevenção de Reordenação de Pacotes TCP • 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 – Funcionamento

Implementação – Funcionamento

Resultados Experimentais – Topologias Simples Objetivo Comparar os ganhos reais com os ganhos teóricos

Resultados Experimentais – Topologias Simples Objetivo Comparar os ganhos reais com os ganhos teóricos já analisados.

Resultados Experimentais – Topologias Simples 1) Fluxos TCP: executado em três topologias diferentes (Alice

Resultados Experimentais – Topologias Simples 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 Alice e Bob

Resultados Experimentais – Topologias Simples Alice e Bob

Resultados Experimentais – Topologias Simples “X”

Resultados Experimentais – Topologias Simples “X”

Resultados Experimentais – Topologias Simples Cruz

Resultados Experimentais – Topologias Simples Cruz

Resultados Experimentais – Topologias Simples Conclusão dos Experimentos com TCP Quando o tráfego realiza

Resultados Experimentais – Topologias Simples Conclusão dos Experimentos com TCP Quando o tráfego realiza controle de Congestionamento, o ganho de throughput Obtido corresponde ao ganho por codificação e Não ao ganho por MAC + codificação

Resultados Experimentais – Topologias Simples 2) O mesmo experimento foi realizado nas mesmas topologias,

Resultados Experimentais – Topologias Simples 2) O mesmo experimento foi realizado nas mesmas topologias, mas agora utilizando fluxos UDP

Resultados Experimentais – Topologias Simples Alice e Bob

Resultados Experimentais – Topologias Simples Alice e Bob

Resultados Experimentais – Topologias Simples “X”

Resultados Experimentais – Topologias Simples “X”

Resultados Experimentais – Topologias Simples Cruz

Resultados Experimentais – Topologias Simples Cruz

Resultados Experimentais – Rede AD HOC Real Objetivo Verificar como o COPE se comporta

Resultados Experimentais – Rede AD HOC Real Objetivo Verificar como o COPE se comporta em uma rede ad hoc real.

Resultados Experimentais – Rede AD HOC Real 1) Fluxos TCP • Os fluxos chegam

Resultados Experimentais – 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

Resultados Experimentais – Rede AD HOC Real 1) Fluxos TCP • Foi notado um ganho insignificante (23%) Terminais Ocultos Grande n • De Colisões Poucas Oportunidades de Codificação TCP Reduz A Taxa Mau Uso do Meio

Resultados Experimentais – Rede AD HOC Real

Resultados Experimentais – Rede AD HOC Real

Resultados Experimentais – Rede AD HOC Real

Resultados Experimentais – Rede AD HOC Real

Resultados Experimentais – Rede AD HOC Real 1) Fluxos TCP • Se removermos as

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

Resultados Experimentais – Rede AD HOC Real 1) Fluxos UDP • Chegadas Poisson; •

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 Se. Quanto n pacotes codificados e desses

Resultados Experimentais – Rede AD HOC Real Se. Quanto n pacotes codificados e desses da são codificação é devida às n pacotes, k pacotes são codificados mensagens de recepção e quanto é devido devida à mensagens de recepção, n-k pacotes são à adivinhação? codificados devido à adivinhação.

Resultados Experimentais – Rede AD HOC Real

Resultados Experimentais – Rede AD HOC Real

Resultados Experimentais – Rede AD HOC Real

Resultados Experimentais – Rede AD HOC Real

Resultados Experimentais – Rede Mesh Real Objetivo Verificar como o COPE se comporta em

Resultados Experimentais – Rede Mesh Real Objetivo Verificar como o COPE se comporta em uma rede mesh real.

Resultados Experimentais – Rede Mesh Real • Fluxos UDP; • De e para o

Resultados Experimentais – 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

Resultados Experimentais – Rede Mesh Real

Resultados Experimentais – Rede Mesh Real

Conclusão • O artigo apresentou o COPE – Sistema que tenta tirar proveito da

Conclusão • 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.

Críticas • Alguns comportamentos nos gráficos não foram bem explicados; • Alguns parâmetros mostrados

Críticas • Alguns comportamentos nos gráficos não foram bem explicados; • Alguns parâmetros mostrados nos gráficos não foram bem definidos.