Implementações TCP
Implementações TCP
para redes móveis
para redes móveis
Mário Meyer Mário Meyer (meyer@rdc.puc
Agenda
Agenda
IntroduçãoIntrodução Protocolo TCPProtocolo TCP • • CaracterísticasCaracterísticas •• Problemas em redes móveisProblemas em redes móveis
Soluções PropostasSoluções Propostas
•
• Protocolos de EnlaceProtocolos de Enlace •
• Protocolos Fim a FimProtocolos Fim a Fim •
• Conexões SeparadasConexões Separadas
Introdução
Introdução
Utilizamos a Utilizamos a internetinternet contando na contando na
confiabilidade da entrega dos dados. confiabilidade da entrega dos dados.
Protocolo IP interProtocolo IP inter--conecta diferentes tipos conecta diferentes tipos
de redes físicas de redes físicas
IP fornece somente serviço de IP fornece somente serviço de
Datagramas Datagramas
TCP projetado para garantir entrega, TCP projetado para garantir entrega,
ordenação e integridade sobre IP ordenação e integridade sobre IP
TCP foi projetado para redes cabeadasTCP foi projetado para redes cabeadas
Para o TCP a perda de pacotes é devida a Para o TCP a perda de pacotes é devida a
congestionamento da rede congestionamento da rede
Protocolo TCP
Protocolo TCP
TransmissionTransmission ControlControl ProtocolProtocol
Descrito pela RFC 793 [Descrito pela RFC 793 [PostelPostel 1981]1981]
Última atualização na RFC 3390 Última atualização na RFC 3390
[
[AllmanAllman, , FloydFloyd e e PartridgePartridge 2002]2002]
Projetado para fornecer transferência Projetado para fornecer transferência
confiável fim a fim confiável fim a fim
Implementa Circuito Virtual sobre o Implementa Circuito Virtual sobre o
serviço de Datagrama do IP serviço de Datagrama do IP
Características
Características
Avisos de recebimento (ACK)Avisos de recebimento (ACK)
TimeoutTimeout de pacotesde pacotes
SlowSlow StartStart
Repetição SeletivaRepetição Seletiva
Checagem de errosChecagem de erros
Ordenação dos pacotesOrdenação dos pacotes
Problemas em redes móveis
Problemas em redes móveis
Altas Taxas de ErrosAltas Taxas de Erros
DesconexõesDesconexões
Escassez de EnergiaEscassez de Energia
Altas Taxas de Erro
Altas Taxas de Erro
Interferências no sinalInterferências no sinal
Distância da Estação Radio Base Distância da Estação Radio Base
(ERB) (ERB)
Alta densidade de usuáriosAlta densidade de usuários
Ativam os mecanismos de controle Ativam os mecanismos de controle
de congestionamentos do TCP de congestionamentos do TCP
Desconexões
Desconexões
Passar por área de sombraPassar por área de sombra
DeslocarDeslocar--se para longe da ERBse para longe da ERB
Modo de economia de bateriaModo de economia de bateria
Perda de pacotes e ACKsPerda de pacotes e ACKs
Rotinas de controle de congestionamentoRotinas de controle de congestionamento
A transmissão pode demorar para A transmissão pode demorar para
recomeçar devido a atrasos de
Escassez de Energia
Escassez de Energia
Muitas unidades móveis (UM) usam Muitas unidades móveis (UM) usam
baterias como fonte de energia baterias como fonte de energia
Estoque limitado de energiaEstoque limitado de energia
TCP retransmite em qualquer erroTCP retransmite em qualquer erro
Minimizar o número de Minimizar o número de
(re)transmissões para otimizar o uso (re)transmissões para otimizar o uso
de baterias de baterias
Mudanças de Topologia
Mudanças de Topologia
UMsUMs podem migrar rapidamentepodem migrar rapidamente
Desconexões durante migraçãoDesconexões durante migração
Problema de Problema de handhand--offoff
Tentar realizar Tentar realizar handhand--offsoffs suaves, suaves,
sem que haja desconexão temporária sem que haja desconexão temporária
Soluções Propostas
Soluções Propostas
Protocolos de EnlaceProtocolos de Enlace •
• Radio Link Radio Link ProtocolProtocol (RLP) [Nanda(RLP) [Nanda 1994]1994] •
• AIRMAIL [AyanoglyAIRMAIL [Ayanogly 1995]1995] •
• Protocolo SnoopProtocolo Snoop [Balakrishnan[Balakrishnan 1995]1995]
Protocolos Fim a FimProtocolos Fim a Fim •
• Reno [Jacobson 1990, StevensReno [Jacobson 1990, Stevens 1997]1997] •
• New-New-RenoReno [Hoe[Hoe 1996]1996] •
• FR (Retransmissão Rápida) [CaceresFR (Retransmissão Rápida) [Caceres e Iftodee Iftode 1995]1995] •
• ESBN [BakishiESBN [Bakishi 1997]1997]
Conexões SeparadasConexões Separadas •
• MTCP [YvatkarMTCP [Yvatkar e Bhagawate Bhagawat 1995]1995] •
• I-I-TCP [TCP [BakreBakre e Badrinathe Badrinath 1997]1997] •
• M-M-TCP [Brown e TCP [Brown e SinghSingh 1997]1997] •
Protocolos de Enlace
Protocolos de Enlace
Procuram resolver os problemas de Procuram resolver os problemas de
qualidade do enlace sem fio qualidade do enlace sem fio
Atuam somente no enlace sem fio Atuam somente no enlace sem fio
entre a ERB e as
Radio Link
Radio Link
Protocol
Protocol
(RLP)
(RLP)
Dados só serão retransmitidos se a Dados só serão retransmitidos se a
origem tiver certeza de que estes origem tiver certeza de que estes
dados não chegaram ao destino dados não chegaram ao destino
Receptor envia Receptor envia feedbackfeedback constante constante
do recebimento de pacotes do recebimento de pacotes
AIRMAIL
AIRMAIL
AIRMAIL AIRMAIL -- AsymetricAsymetric ReliableReliable MobileMobile Access In Access In
Link
Link--LayerLayer
Protocolo assimétricoProtocolo assimétrico
Processamento referente à confiabilidade dos Processamento referente à confiabilidade dos
dados é todo realizado na ERB dados é todo realizado na ERB
Utilização de mecanismos ARQ (Utilização de mecanismos ARQ (automatedautomated
repeat
repeat request) e FEC (request) e FEC (fowardfoward errorerror correctioncorrection))
Dispositivos podem combinar vários Dispositivos podem combinar vários ACKsACKs em um em um
único único
Protocolo
Protocolo
Snoop
Snoop
Módulo Módulo SnoopSnoop reside nas reside nas ERBsERBs
CacheCache de pacotes enviados da rede de pacotes enviados da rede
cabeada para
cabeada para UMsUMs
ERB reenvia para a UM os pacotes ERB reenvia para a UM os pacotes
perdidos no enlace sem fio perdidos no enlace sem fio
Estação cabeada não fica sabendo Estação cabeada não fica sabendo
destas perdas de pacote destas perdas de pacote
Medidas de controle de Medidas de controle de
congestionamento não são ativadas congestionamento não são ativadas
Protocolo
Protocolo
Snoop
Snoop
Também lida com erros de Também lida com erros de
transmissão da UM para a rede transmissão da UM para a rede
cabeada cabeada
Ao perceber pacotes perdidos, a ERB Ao perceber pacotes perdidos, a ERB
envia
envia NACKsNACKs ((negativenegative acknowledgements
acknowledgements) para a UM) para a UM
Reenvio imediato, não há Reenvio imediato, não há
necessidade de esperar
necessidade de esperar timeouttimeout dos dos pacotes
Protocolo
Protocolo
Snoop
Snoop
Protocolo de roteamentoProtocolo de roteamento
Na percepção de um Na percepção de um handhand--offoff
eminente,
eminente, ERBsERBs formam um grupo formam um grupo
Multicast Multicast
Todas as Todas as ERBsERBs recebem os pacotes recebem os pacotes
destinados para a UM destinados para a UM
Nova ERB responsável pela UM Nova ERB responsável pela UM
entrega os pacotes entrega os pacotes
Protocolos Fim a Fim
Protocolos Fim a Fim
Procuram modificar os mecanismos Procuram modificar os mecanismos
de controle de congestionamento do de controle de congestionamento do
protocolo TCP protocolo TCP
Na maioria, precisam que o TCP seja Na maioria, precisam que o TCP seja
recompilado em todas as estações recompilado em todas as estações
Reno
Reno
Muito parecido com TCP padrãoMuito parecido com TCP padrão
Modo de recuperação rápida (Modo de recuperação rápida (fastfast
recovery recovery))
•
• Diminui janela de congestionamento ao Diminui janela de congestionamento ao meio
meio •
• Não realiza Não realiza slowslow startstart
•
• Termina ao receber o ACK de um dos Termina ao receber o ACK de um dos pacotes perdidos
New
New
-
-
Reno
Reno
Melhoria do protocolo RenoMelhoria do protocolo Reno
Objetivo de melhorar a performance Objetivo de melhorar a performance
quando vários pacotes de uma quando vários pacotes de uma
mesma janela são perdidos mesma janela são perdidos
Somente sairá do Somente sairá do fastfast recoveryrecovery
depois que receber os
depois que receber os ACKsACKs de todos de todos os pacotes perdidos
FR (Retransmissão Rápida)
FR (Retransmissão Rápida)
Tenta utilizar o mecanismo de Tenta utilizar o mecanismo de FastFast
Retransmission
Retransmission (FR)(FR) do TCP como do TCP como tratamento para
tratamento para handhand--offsoffs
UMsUMs sinalizam o termino de um sinalizam o termino de um handhand--offoff, ,
ativando o FR na estação
ativando o FR na estação cabeadacabeada
No No FastFast RetransmissionRetransmission a janela de a janela de
congestionamento é diminuída mas não congestionamento é diminuída mas não
ocorre
ESBN
ESBN
Mesmo com protocolos de enlace, Mesmo com protocolos de enlace,
timeouts
timeouts chegarão na rede cabeadachegarão na rede cabeada
•
• retransmissões desnecessáriasretransmissões desnecessárias
ERBsERBs enviariam enviariam ESBNsESBNs ((ExplicitExplicit BadBad StateState
Notifications
Notifications) à estação cabeada) à estação cabeada
ESBN eliminaria todos os ESBN eliminaria todos os timeoutstimeouts de de
pacotes já enviados pacotes já enviados
Medidas de controle de congestionamento Medidas de controle de congestionamento
não seriam tomadas não seriam tomadas
Aumento de performance de 100% em Aumento de performance de 100% em
WANs
ESBN
ESBN
BakshiBakshi estudou os efeitos do estudou os efeitos do
tamanho do pacote tamanho do pacote
Para cada condição de erro no enlace Para cada condição de erro no enlace
sem fio existe um tamanho ideal sem fio existe um tamanho ideal
ERBsERBs deveriam ter tabelas deveriam ter tabelas
relacionando erros aos tamanhos relacionando erros aos tamanhos
Aumento de performance em até Aumento de performance em até
30% pelo uso de pacotes do 30% pelo uso de pacotes do
tamanho adequado tamanho adequado
Conexões Separadas
Conexões Separadas
Separar a conexão em duasSeparar a conexão em duas
•
• Estação cabeada até ERBEstação cabeada até ERB •
• ERB até UMERB até UM
Não é preciso fazer nenhuma Não é preciso fazer nenhuma
modificação na primeira conexão modificação na primeira conexão
MTCP
MTCP
Protocolo de sessão MHP (Protocolo de sessão MHP (MobileMobile HostHost
Protocol Protocol))
Implementado nas Implementado nas ERBsERBs e e UMsUMs
Localizado acima do TCP e abaixo do Localizado acima do TCP e abaixo do
Socket Socket
MHP deveria compensar a falta de MHP deveria compensar a falta de
confiabilidade do enlace sem fio confiabilidade do enlace sem fio
Duas versões propostas:Duas versões propostas:
•
• TCPTCP •
I
I
-
-
TCP
TCP
UM deve pedir à ERB que crie uma UM deve pedir à ERB que crie uma
conexão com a estação cabeada conexão com a estação cabeada
Comunicação entre ERB e UM é Comunicação entre ERB e UM é
realizada com uma variação do TCP realizada com uma variação do TCP especialmente projetada para redes especialmente projetada para redes
sem fio sem fio
M
M
-
-
TCP
TCP
Estrutura hierárquica de 3 níveisEstrutura hierárquica de 3 níveis
•
• Nível 1 Nível 1 –– UMsUMs •
• Nível 2 Nível 2 –– ERBsERBs •
• Nível 3 Nível 3 –– Computador SupervisorComputador Supervisor
Vários dispositivos de nível menor podem Vários dispositivos de nível menor podem
estar conectados a um único de nível estar conectados a um único de nível
maior. maior.
A conexão até a estação cabeada é A conexão até a estação cabeada é
realizada pelo supervisor realizada pelo supervisor
M
M
-
-
TCP
TCP
Supervisor recebe pacotes e os envia para Supervisor recebe pacotes e os envia para
a UM a UM
UM envia ACK e o Supervisor os repassa UM envia ACK e o Supervisor os repassa
para a estação cabeada para a estação cabeada
Ao perceber desconexão, Supervisor faz Ao perceber desconexão, Supervisor faz
com que TCP da estação cabeada entre com que TCP da estação cabeada entre
em modo de persistência em modo de persistência
Evita Evita timeoutstimeouts e diminuição da janela de e diminuição da janela de
congestionamento congestionamento
M
M
-
-
TCP
TCP
A UM ao detectar desconexão congela todos os A UM ao detectar desconexão congela todos os
timers timers
Ao reconectarAo reconectar os os timerstimers são descongeladossão descongelados
Evita que medidas de controle de Evita que medidas de controle de
congestionamento sejam tomadas pelo TCP na congestionamento sejam tomadas pelo TCP na UM
UM
Tratamento de Tratamento de hand-hand-offsoffs
Ao termino de um Ao termino de um handhand--offoff é estabelecida uma é estabelecida uma
nova conexão entre o supervisor e a UM nova conexão entre o supervisor e a UM
WAP
WAP
Utiliza um Utiliza um gatewaygateway de aplicação entre a de aplicação entre a
rede cabeada e a rede sem fio rede cabeada e a rede sem fio
GatewayGateway de aplicação funciona como um de aplicação funciona como um
tipo de
tipo de proxyproxy
Toda comunicação é feita através do Toda comunicação é feita através do
gateway gateway
Dados retornados a UM pelo Dados retornados a UM pelo gatewaygateway
podem ter sido modificados podem ter sido modificados
•
• Compressão de imagensCompressão de imagens •
Conclusão
Conclusão
Existem variadas soluções para Existem variadas soluções para
diferentes problemas do TCP diferentes problemas do TCP
A combinação de soluções pode A combinação de soluções pode
trazer grandes benefícios trazer grandes benefícios
•
• SnoopSnoop + ESBN+ ESBN
[[ElAaragElAarag 2002] O padrão de IP Móvel 2002] O padrão de IP Móvel
já foi definido, é necessária uma já foi definido, é necessária uma
definição de um padrão para TCP definição de um padrão para TCP
Móvel Móvel