Como exatamente o envio por e-mail funciona em telefones que não sejam de blackberry?

3

Sou usuário de blackberry há 6 anos. Eu me convenci a fazer a mudança para um dispositivo Android. Eu já iniciei algum desenvolvimento Android, então ter um dispositivo Android real seria um bônus.

Minha pergunta: Como exatamente o push-email funciona em telefones que não são de blackberry? Aqui está o que eu tenho reunido com algum raciocínio dedutivo, mas por favor me corrija: no BB, há o Blackberry Internet Service, ou Blackberry Enterprise Service. Eles são servidores que a RIM controla e agrupam suas contas de e-mail (seja uma conta do Gmail ou contas imap em suas próprias caixas linux) para novos e-mails. Quando um novo email chega, eles enviam esse email para o seu telefone. Eles sabem como / onde seu telefone está (seu endereço IP ou outra característica única) porque toda vez que você assinar uma antena GPRS / 3G, sua operadora móvel notifica BB que o cliente X com o telefone Y pode ser acessado no endereço Z.

Agora, o que acontece em um cenário não-BB? Como meu próprio servidor linux rodando o imap (como o dovecot) sabe como entrar em contato com meu celular para "empurrar" os novos emails?

Depois de ler um pouco eu tropecei no IMAP IDLE, que pelo que entendi é um comando IMAP que o cliente (meu celular neste caso) usa para dizer ao servidor: "Ei, eu sou cliente X, e meu endereço é Y, então, se algum novo email vier, envie-o aqui ".

Aqui é onde eu estou gradualmente perdendo entendimento: Isso significa que cada vez que eu mudo de uma antena móvel para a próxima (digamos que eu estou dirigindo pela estrada) meu telefone enviará um novo comando IMAP IDLE para o meu pombal servidor dizendo "Ei, meu endereço de contato mudou, por favor use este".

O que acontece quando você está usando WIFI e 3G? O seu telefone emite dois comandos IMAP IDLE?

Por fim, todos os telefones celulares (com um plano de dados) têm endereços IP exclusivos? Se não (diga o telco NATs você) como o meu servidor imap pode iniciar uma comunicação com o meu dispositivo?

Como você pode ver, estou um pouco perdido e ficaria muito grato por mais algumas informações.

    
por Iraklis 24.10.2012 / 16:11

1 resposta

2
Does this mean that each time I switch from one mobile antenna to the next 
(say i'm driving down the road) my phone will send a new IMAP IDLE command
to my dovecot server saying "Hey, my contact address has changed, 
please use this one".

NÃO - Conectividade IP

O seu telefone está se comunicando com os mastros de células usando uma pilha de protocolos diferente da pilha TCP / IP que você usa para fazer conexões de "dados" com a Internet (como o pilha s7 ). À medida que você percorre de mastro de célula para mastro, a pilha de IP ignora as alterações. Seu telefone ainda está usando o mesmo IP (geralmente) o tempo todo (a menos que você percorra um longo caminho, não apenas na estrada, no próximo mastro, até algum lugar em que a operadora alocou um bloack de IP geográfico separado).

NÃO - rota padrão única

What happens when you are using both WIFI and 3G? Does your phone issue two IMAP IDLE commands?

Não, o seu telefone só usará um deles para enviar / receber dados na Internet (a menos que você tenha um telefone de balanceamento de carga mágico, nunca vi um, mas, hey, nem todos podemos ter visto tudo !) Ele escolherá um preferido e instalará uma rota padrão em sua tabela de roteamento através desse meio (normalmente wifi, é claro).

Finally, do all mobile phones (with a data plan) have unique IP addresses?

NÃO - Há uma falta "ya" sabe;)

Isso é muito raro, na verdade eu nunca vi isso, só ouvi falar dele. Então eu não acredito ainda. Dar a cada usuário móvel um IP público seria um desperdício, o mesmo que dar a cada computador em sua casa um IP público. É provável que você tenha tantos celulares compatíveis com a Internet em sua casa quanto os PCs. Com um AP Wi-Fi, todos podem compartilhar 1 IP. Simples para uso doméstico "típico".

If not (say the telco NATs you) how can my imap server initiate a 
communication to my device?

Porta única / UPNP - você não precisa de visibilidade de IP "completa"

Para que seu telefone comunique-se com seu servidor (via IMAP), você se conectará à porta TCP 143 (ou possivelmente a 993, se desejar) de um número de porta de saída aleatório acima de 1024 em seu celular. O dispositivo NAT na operadora pode criar uma tabela de estados NAT em seu dispositivo GCN mapeando seus telefones IP privado e porta de origem para seus servidores IP público e número da porta. Isso explicará ainda mais o NAT . Essencialmente, você só precisa se conectar a uma porta, o que é bastante simples para o NAT. Outra opção, como a usada com freqüência em roteadores domésticos, é o encaminhamento UPnP , mas isso é pouco provável no nível da operadora.

Para encerrar - alterações de IP

Assim, quando você está constantemente em 3G, à medida que você percorre de uma célula a outra, seu IP privado entre você e a operadora pode mudar, mas seu IP público falando com seu servidor IMAP deve permanecer o mesmo, então o IMAP a conexão deve permanecer ativa. Se você alterar o mapeamento IP público, o pior que pode acontecer é que o servidor IMAP não reconheça o prompt IDLE para manter a conexão ativa, pois ele não reconhece isso como a sessão já autenticada, portanto, assumindo seu nome de usuário e senha IMAP são salvos no seu telefone, ele deve simplesmente se autenticar novamente a partir do seu novo IP público (dependente de telefone e email, mas esse é o comportamento que eu acho 9/10 vezes).

O mesmo deve acontecer se você se conectar a um ponto de acesso sem fio. Se o servidor IMAP tiver um strop, você só poderá se autenticar novamente no seu novo IP e continuar normalmente.

    
por 24.10.2012 / 17:57