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.