2010-05-20 6 views
2

Est-il possible de maintenir une connexion TCP ouverte avec un client, alors que l'adresse IP du client est modifiée de façon externe? Par exemple, la connexion est établie par rapport à l'adresse X, mais parfois lorsque la connexion est ouverte, l'utilisateur côté client demande le renouvellement de l'adresse IP et obtient une autre adresse IP. La connexion peut-elle rester vivante dans ce cas?Maintenir une connexion réseau bien que l'adresse IP change

Merci d'avance.

Répondre

3

Non, ce n'est pas possible.

Même si le côté local peut être massé pour comprendre que la connexion est brusquement entre différentes adresses, le côté distant ne comprendra pas et refusera de travailler avec elle.

Vous devez ajouter à nouveau l'ancienne adresse IP pour continuer à utiliser la connexion.


Pour ce faire:

Linux:ip addr add 172.16.10.20/22 dev bond0
de Windows: faire un peu Pointy-clicky ou **fill in command here**

+0

Merci. Que voulez-vous dire dans "Vous auriez besoin de re-ajouter l'ancienne adresse IP pour continuer à utiliser la connexion."? Comment? – rkellerm

0

Ceci est possibe avec des connexions tcp v6, si vous utilisez par exemple tunnelbrocker.net. Chaque fois que votre adresse IPv4 change, la connexion entre votre adresse IP4 et l'adresse IP4 du tunnelbrocker est supprimée puis rétablie, mais votre attrait IP6 est le même et toutes les connexions TCP/IPv6 de votre adresse IP6 vers vos adresses IP6 de destination sont toujours ici.

Ou, si vous designinng votre serveur client &, votre pourrait concevoir votre protocole permettant au client de se reconnecter de manière transparente ..

+0

IPv6 ne peut pas être changé? – rkellerm

+0

L'adresse peut être modifiée manuellement. L'adresse IP6 ne changera pas si vous passez simplement à un autre FAI et/ou si vous vous déplacez vers un autre continent: les FAI ne fournissent actuellement que la connectivité IPv4. – Soonts

0

Ce que je sais est, lorsque vous utilisez UDP, la connexion peut être resté, une de mes applications est de changer une adresse de carte réseau à distance via UDP.

Pour TCP, je suis d'accord avec Soonts, vous devez concevoir votre application serveur et client pour permettre la reconnexion de manière transparente.