TCP sobre redes sem fio. Crhistian Noriega cnoriega@ime.usp.br. Computação Móvel MAC5743/MAC330 . Roteiro. Introdução O TCP Os problemas do TCP nas redes sem fio Protocolos por Divisão da Conexão Protocolos na Camada de Enlace Protocolos Cross-Layer Modificações do TCP Conclusões.
Une image / un lien ci-dessous est fourni (tel quel) pour télécharger la présentation
Politique de téléchargement : le contenu du site vous est fourni TEL QUEL pour votre information et votre usage personnel ; il ne peut être vendu, concédé sous licence ni partagé sur d’autres sites sans l’accord de son auteur.Le contenu vous est fourni TEL QUEL, pour votre information et votre usage personnel uniquement.Téléchargez la présentation en cliquant sur ce lien.Lors du téléchargement, si vous ne parvenez pas à télécharger une présentation, l’éditeur a peut-être supprimé le fichier de son serveur.Pendant le téléchargement, si vous ne parvenez pas à obtenir une présentation, le fichier a peut-être été supprimé par l’éditeur.
F I N
Plus de contenu associé
Transcription de la présentation
TCP sobre redes sem fio Crhistian Noriega cnoriega@ime.usp.br Computação Móvel MAC5743/MAC330
Roteiro • Introdução • O TCP • Os problemas do TCP nas redes sem fio • Protocolos por Divisão da Conexão • Protocolos na Camada de Enlace • Protocolos Cross-Layer • Modificações do TCP • Conclusões
Introdução • TCP é o protocolo de transporte mais empregado na Internet e redes fixas • As redes sem fio vêm sendo mais polulares, e precisam de accesso a serviços nas redes fixas (confiabilidade, etc) • A redes sem fio afrontam diferentes problemas que as redes fixas • O emprego direito do TCP sobre redes sem fio tem problemas pelo fato que elas são diferentes à redes fixas
Introdução • Mobilidade do Terminal • Altos ERB • Lantência no medio elevada • Interferencia/Desconexões • Meio físico não confiável • Manter a compatibilidade apesar da diferença entre meios de comunicação
Introdução • Protocolo IP (IPv4, IPv6) • Os pacotes podem ser entregados fora de ordem • Os pacotes podem ficar perdidos • Os pacotes podem ser duplicados • Arquitetura TCP/IP nas redes sem fio • TCP confiabilidade
Roteiro • Introdução • O TCP • Os problemas do TCP nas redes sem fio • Protocolos por Divisão da Conexão • Protocolos na Camada de Enlace • Protocolos Cross-Layer • Modificações doTCP • Conclusões
TCP (Transmission Control Protocol) • Orientado à conexão • Ponto a ponto (end-to-end) • Confiabilidade • Full duplex • Handshake • Finalização controlada
TCP (Transmission Control Protocol) • Implementa mecanismos de controle da Congestão • O protocolo supõe que a maior pérdida de pacotes se deve à congestão da rede • Confibilidade mediante retransmissões • Semântica end-to-end • Confirmações (ACK) enviadas pelo receptor da correta recepção dos pacotes do transmissor • ACK somente são enviadas depois de ser recebido o pacote
Janela deslizante • O mecanismo da janela deslizante • receiver’s advertised window (rwnd) – determinado pela capacidade do receptor • congestion window (cwnd) – determinado pelo transmissor baseado no estado da rede • Janela de congestão • Definida por cwnd medida em bytes
Confirmações ACK • Dados armazenados no buffer do Transmissor e Receptor • Metodo da janela deslizante • A cada pacote transmitido é incorporado um número de seqüência, paramanter o ordem dos pacotes • O ACK transmitido pelo receptor do pacote X é o número do próximo segmento que o receptor espera receber (X+1) • ACK contem o número mais alto do pacote recebido em seqüência • ACK contem o tamanho do buffer do receptor
ACKs acumulativos • Um novo ACK é gerado somente ao receber um pacote em seqüência 33 34 35 36 34 35 36 37 i
ACKs duplicados • Um AC duplicado (DUPACK) é gerado quando: • Um pacote chegar fora de ordem • Um pacote fica perdido 34 36 36 36
RTT - Round Trip Time • Tempo gasto entre a transmissão de um segmento e o recebimento do respectivo ACK • Sua medida deve ser adaptativa • Determina o ciclo da Janela de Congestionamento do TCP (cwnd) • Serve de base para o cálculo do RTO - Retransmission Timeout
RTO - Retransmission Timeout • Tempo máximo de espera de confirmação de um segmento, antes da sua retransmissão • Calculado em função da média e variação de RTT • Se o ACK não chegar antes que RTO expire, o segmento é retransmitido, o valor de RTO é dobrado e o contador reiniciado (“Timer Backoff”) • Baixo RTO: Retransmissões desnecessárias • Alto RTO: Baixo aproveitamento da rede • SRTT(i+1) = (1-α) * SRTT(i) + α * RTT(i+1) RTO = β * SRTTRTO=RTT + 4*desvio
Slow-Start • No inicio de uma transmissão é preciso que o TCP teste as condições da rede em lugar de transmitir normalmente • No inicio da transferência • Reparar perdas de pacotes (timeouts) • A taxa de pacotes inseridos dever ser a mesma que ACK recebidos • Inicialmente a janela de congestão cwnd = 1 MSS (Maximun segment size) • Incrementa o tamanho da janela por 1 MSS por cada ACK recebido cwnd = cwnd + 1 MSS • O algoritmo termina quando o tamanho da janela for igual a slow-start threshold (ssthresh) cwnd<= ssthresh
Slow-Start • A janela de congestão cresce exponencialmente durante o slow-start por RTT
Congestion avoidance • Em cada ACK cwnd é incrementado em MSS2/cwnd pacotes • Assim cwnd é incrementada linearmente • Se cwnd> ssthresh
Controle da congestão • Ao detectar um pacote perdido o transmissor supõe que foi devido à congestão na rede • Ao detectar perda de pacotes cwndé reduzida drasticamente • É reduzido o fluxo de dados na rede por RTT • A perda de pacotes por: • Timeouts • ACK consecutivos • Mensagens ICMC
Controle da congestão – Timeout • O tamanho da janela de congestão é reduzida a 1MSS (cwnd=1 MSS) • O slow-start threshold é reduzido a metade da janela de congestão antes da congestão (ssthresh=cwnd/2) ssthresh = max( min(cwnd,rwnd)/2 , 2 MSS) • Algoritmo de Karn, ambiguedade dos time-out, cresce exponencialmente, back-off (suficiente tempo aos ACK) • Slow-Start é iniciado
Controle da congestão – Fast Retransmit • Acontece com múltiplos DUPACK (>=3) • Acontece quando um pacote é perdido, mas os seguintes alcançaram ao Receptor • Não existe a necessidade de slow-start • Fast Recovery é iniciado
Controle da congestão – Fast Recovery • O valor de ssthresh é: ssthresh = max( min(cwnd,rwnd)/2 , 2 MSS) • Retransmite o pacote perdido • cwnd = ssthresh + MSS * número de DUPACKs • Quando chegar novos ACK cwnd=ssthresh • Inicia congestion avoidance
Roteiro • Introdução • O TCP • Os problemas do TCP nas redes sem fio • Protocolos por Divisão da Conexão • Protocolos na Camada de Enlace • Protocolos Cross-Layer • Modificações do TCP • Conclusões
TCP sobre redes sem fio • Erros de pacotes podem causar Fast restransmit, frente a perda de ACK ou pacotes • Fast restransmit resulta em: • Retransmissão de pacotes perdidos • Redução da janela de congestão • Redução da janela de congestão é desnecessária devido a erros na entrega de pacotes • Seria necessário transmitir a mesma taxa de transferência
TCP sobre redes sem fio • Se fossem produzidas desconexões por longos períodos de tempo, podem acontecer perdas de pacotes da janela de congestão • Timeouts executam slow-start • Slow-start reduz a janela de congestão a 1 MSS, e por tanto a taxa de transferência • Tempos de latência longos podem produzir erros no calculo do RTO, e timeout
TCP sobre redes sem fio • O TCP não pode distinguir entre perda de pacotes devido a problemas de congestionamento e problemas de transmissão • Desnecessária redução da janela de congestão e por enquanto baixa taxa de transferência
Considerações • Evitar a execução errada do mecanismo de controle da congestão • Evitar o problema de time-outs consecutivos • Deve ser confiável altos BER • Poder manipular os hand-offs eficientemente • Poder manipular desconexões longas e freqüentes • Considerar a largura de banda limitada e escassa energia do host móvel • Usar tamanhos de pacotes dinâmicos dependendo da largura de banda disponível para o MH • Manter a semântica end-to-end do TCP • No possível manter a compatibilidade
Abordagens do TCP nas redes sem fio • Soluções por divisão da conexão • Soluções na camada de enlace • Soluções Cross-Layer • Soluções por modificação do TCP
Roteiro • Introdução • O TCP • Os problemas do TCP nas redes sem fio • Protocolos por Divisão da Conexão • Protocolos na Camada de Enlace • Protocolos Cross-Layer • Modificações do TCP • Conclusões
Divisão da Conexão • A conexão ponto a ponto (end-to-end) do TCP é dividida em um enlace fixo e outro sem fio, isto permite ter maior grau de liberdade na otimização do TCP • Podem ser necessárias mais divisões • A conexão entre o FH e MH vai através da BS FH-MH = FH-BS + BS-MH
Divisão da Conexão • Controle de fluxo, erro, tamanho dos pacotes, timeouts podem ser independentes nas duas partes da conexão MH BS FH • Exemplos: • I-TCP, M-TCP
M-TCP • A arquitetura • MH Mobile host • MSS Mobile Support Station • SH Supervisor host • SH-TCP cliente • M-TCP cliente • Custo de hand-off baixo O(√n) • Complexidade do SH
M-TCP • Mantém a semântica TCP end-to-end • Manipular os problemas apresentados por longas desconexões o freqüentes desconexões • Adapta dinamicamente a largura de banda largura de banda fixa baseado nas mudanças de necessidades de outros MH (QoS) • SH executa: • Administração da largura de banda • Recuperação de erros locais (FEC) • Fornece seguimento do MH
O cliente SH-TCP • Quando um pacote chegar ao SH-TCP do transmissor TCP, este passa o pacote ao M-TCP, mas a diferença do I-TCP não envia ACK • Envia o ACK quando o MH faz • O protocolo “afoga” ao transmissor • O objetivo do SH-TCP é manter a janela de congestão no transmissor fechada frente a desconexões do MH
O cliente SH-TCP • Envia ACK para os k‘-1 bytes da maneira normal mas o ultimo byte não é confirmado • Ao MH desconectar depois de reconhecer os k' bytes, o SH-TCP envia um ACK para o k' byte ao transmissor, este ACK ajusta a janela a zero • FH modo persistente • SH-TCP que a sua vez envia um ACK ao transmissor re-abrindo a janela do transmissor, a partir do byte k'+1 k’+1 k’-1 k’ …
O cliente M-TCP • Na rede sem fio o objetivo é fazer uma recuperação rápida de perdas devidas a desconexões • Desconexão: congela todos os tempos do M-TCP • Conexão restabelecida: o M-TCP do MH envia um ACK especial ao M-TCP do SH que contem o numero da seqüência do mais alto byte recebido • Não fluxo de ACK: SH-TCP modo persistente transmissor
O cliente M-TCP • Time-out: em lugar de retransmitir o pacote, o M-TCP é posto no modo persistente • Soluções na camada de enlace (FEC) • No modo persistente, o M-TCP pode enviar pacotes persistentes ao MH cada período de tempo • Pelo fato que o MH tem largura de banda fixa • Back-off são evitados
M-TCP hand-off • No hand-off pode ser controlando mantendo a janela do transmissor em zero pelo SH-TCP no antigo SH, • Quando terminar o hand-off o SH-TCP no novo SH pode incrementar o tamanho da janela retransmitindo a máxima velocidade • Nenhum pacote é perdido pelo mecanismo de confirmação do ultimo byte
M-TCP • A semântica ponto a ponto do TCP é mantida • A eficiência da conexão TCP não é diminuída devido a desconexões • Time-outs consecutivos são evitados • Complexidade dos SH • Dificuldade com a confirmação do ultimo byte • Supõe que cada tem MH tem uma largura de banda fixa (mudanças drásticas?)
Roteiro • Introdução • O TCP • Os problemas do TCP nas redes sem fio • Protocolos por Divisão da Conexão • Protocolos na Camada de Enlace • Protocolos Cross-Layer • Modificações do TCP • Conclusões
Protocolos na Camada de Enlace • Pretendem fazer a camada de enlace sem fio semelhante à camada das redes fixas, para protocolos superiores
Protocolos na Camada de Enlace • Empregam mecanismo Forward Error Correction (FEC) • Correção local • FEC produz sobre cargo inclusive se não acontecer erros • Retransmissão de pacotes na camada de enlace, só em erros • Confiabilidade na camada de enlace • Ocultar características das redes sem fio à camada de transporte • Exemplos: Snoop, AIRMAIL, WTCP
Snoop • Arquitetura FH-BS-MH • Modulo Snoop • Não é executado nenhum protocolo de transporte
O protocolo Snoop • O agente snoop contem um cache que mantém os pacotes do FH não confirmados pelo MH • Retransmissão baseada em DUPACKs do MH • DUPACKs não são propagados ao FH, evitando os mecanismos do controle da congestão e slow-start • Armazena em cache os pacotes recebidos e enviados ao processamento normal • Matem um track de ACK enviados pelo MH • Se o pacote for perdido retransmite o pacote, a retransmissão tem prioridade sobre a transmissão
Pacotes do FH • Um novo pacote TCP normal chega na seqüência correta: enviado ao MH e inserido no cache • Um pacote fora de ordem que já foi inserido no cache previamente, é mantido o número de pacote em seqüência mais alto confirmado: • Se o número de seqüência do pacote é maior • O pacote é enviado ao MH • Se o número de seqüência do pacote é menor • O pacote já foi recebido pelo MH, • Descartar ou • Perda do ACK original
Pacotes do FH • Um pacote fora de seqüência que não foi inserido no cache previamente: marcado para retransmissão do FH, esto reflete congestão da rede fixa • Mantém um contador do número de retransmissões do pacote, o qual é reiniciado quando chegar o pacote novamente do FH
Processamento dos ACKs • ACK novo: limpeza do cache • ACK duplicados (DUPACK), • O pacote que não esta no cache snoop ou foi marcado para ser retransmitido: retransmissão pelo FH • O pacote fica em cache neste caso o pacote perdido é retransmitido imediatamente a maior prioridade • Mantém um track do número de retransmissões • Calcula o número de DUPACKs que o receptor espera receber, o número de pacotes enviados desde o ultimo erro
Connexion au compte
Connectez-vous pour publier votre contenu sur SlideServe.