1 / 65

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

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

lea
Download Presentation

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

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  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 SachingKatti, HariharanRahul, 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

  2. 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.

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

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

  5. Ideia Resultado: Cada nó conhece um número maior de pacotes, favorecendo assim a codificação. Pacotes capturados são armazenados por um determinado intervalo de tempo. Nós em modo promíscuo podem capturar otráfego dentro de sua área de cobertura.

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

  7. COPE – Visão Geral • 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.

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

  9. COPE – Visão Geral Codificação Oportunista Regra:

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

  11. 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.

  12. 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 com codificação Exemplo: Alice e Bob Sem codificação: 4 transmissões Com codificação: 3 transmissões Ganho com a codificação:

  13. 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.

  14. 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.

  15. 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.

  16. 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.

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

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

  19. Ganho com a codificação + MAC

  20. Ganho com a codificação + MAC

  21. Implementação – Algoritmo deCodificaçã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 0s.

  22. 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;

  23. 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 é: = xx...x

  24. Implementação – Algoritmo deCodificaçã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

  25. Implementação – Algoritmo deCodificação • Resumo: • Cada nó mantém um Hashtable, indexado pelo ID do pacote, que contém o packetinfo. Essa informação fornece a probabilidade de cada vizinho ter esse pacote.

  26. Implementação – Algoritmo deCodificação Estrutura dos Nós Fila de Saída Pacotes Grandes Pacotes Pequenos . . . HashTable

  27. Implementação – Algoritmo deDecodificaçã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.

  28. 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.

  29. 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;

  30. 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.

  31. 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 resolvidos? Não!

  32. Implementação – Pseudo-Broadcast • 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. O COPE precisa então prover por conta própria um sistema de ACKs e Retransmissões!

  33. 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.

  34. 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. Solução Ordenar os pacotes antes de envia-los Para a camada de transporte!

  35. 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.

  36. Implementação – Funcionamento

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

  38. Resultados Experimentais – Topologias Simples • 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;

  39. Resultados Experimentais – Topologias Simples Alice e Bob

  40. Resultados Experimentais – Topologias Simples “X”

  41. Resultados Experimentais – Topologias Simples Cruz

  42. 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

  43. Resultados Experimentais – Topologias Simples • O mesmo experimento foi realizado nas mesmas topologias, mas agora utilizando fluxos UDP

  44. Resultados Experimentais – Topologias Simples Alice e Bob

  45. Resultados Experimentais – Topologias Simples “X”

  46. Resultados Experimentais – Topologias Simples Cruz

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

  48. Resultados Experimentais – Rede AD HOC Real • 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;

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

  50. Resultados Experimentais – Rede AD HOC Real

More Related