-
wxSockets et Internet
Bonjour,
J'ai utilisé les logiciels "client" et "serveur" (wxSocketClient et wxSocketServer), qui se trouvent dans "wxWidgets/samples/sockets", pour établir une communication entre process situés sur des machines distantes, connectées par un réseau local.
Je n'ai pas eu de problème sur le réseau local. J'ai donné l'adresse IP de la machine distante au logiciel client, et la communication entre le client et le serveur s'est passée sans problème.
Par contre, je n'arrive pas à faire la même chose sur deux machines distantes connectées par Internet.
Ma question est la suivante :
pourquoi ?:lol:
Nota : je suis complètement néophyte en réseaux, je n'y connais rien. Peut-être que la manip que je veux faire est complètement hérétique.:mrgreen:
Merci d'avance pour votre aide,
Zorglbug
-
Salut,
tu as donné ton adresse IP mais fais tu de la redirection de port au niveau de ton routeur (NAT)?
-
Merci Jérémy,
Ta réponse m'a orienté dans la bonne direction. Je me suis renseigné sur les principes des passerelles NAT.
Si j'ai bien compris, le routeur (ou encore Gateway, ou passerelle NAT), établit une correspondance entre le réseau extérieur (Internet), et le réseau interne. Le routeur, quand à lui, possède deux adresses IP : une adresse IP réellement routable, qui est son adresse sur Internet, et une adresse IP sur le réseau local (adresse appartenant à un ensemble commençant par exemple par 192.168). De la sorte, les machines du réseau local ne sont pas directement visibles depuis Internet. Il est donc nécessaire d'inscrire quelque part cette correspondance, au niveau du routeur, entre un numéro de port "externe", et un couple "machine - process" interne. Ainsi, le couple "adresse IP externe du routeur + numéro de port", permet à un message externe, émis sur Internet, d'atteindre le processus cible, s'exécutant sur une machine du réseau local.
Est-ce que c'est bien cela ?
Si oui, il me reste à apprendre comment inscrire cette correspondance au niveau du routeur.
Question annexe : mon FAI est Orange, et j'ai un modem. Est-ce que l'adresse IP que me fournit Orange à chaque connection (et qui n'appartient pas à un des domaines du type 192.168.XXX.XXX), est une adresse Internet "réelle" ou non ? Ou encore, mon modem peut-il être considéré comme un routeur ?
Zorglbug
-
Salut zorglbug,
On va reprendre :
Ton FAI te fourni une adresse IP qui chez certain provider est static, cette adresse est unique a chaque connection et permet de d'identifié sur la toile internet.
De ton coté ( reseau interne : chez toi ) tu as une ou plusieurs machines reliées entre elles, celles ci doivent également etre identifiées par une adresse IP ( de type 192.168.... ). ce reseau interne esty strictement privé et n'est pas du tout visible de l'exterieur.
Lorsque tu fait du NAT ( redirection de port ) tu vas dire à ton routeur de redirigé tout ce qui arrive sur le port X via ton adresse IP publique délivré par ton FAI, d'etre redirigé sur le port X de la machine de ton reseau interne de ton choix .
Ex: tu a un reseau interne qui possede 3 machine identifié par : 192.168.1.2 / 192.168.1.3 / 192.168.1.4 , sur la 3ème machine tu as installé un serveur apache qui écoute sur le port 80 et tu veux que ton serveur soit visible de l'exterieur. Lorsque une autre machine distante voudrta y acceder elle devra connectre ton adresse publique et lancé une requette sur le port 80 ( port par defaut utilisé par apache ), seulement comment ton routeur va savoir ou allé? sur quelle machine est ton apache? !
Sur ton NAT tu va avoir quelque chose du genre :TCP /UDP 80 192.168.1.4 80 , ce qui voudrai dire tout les paquet UDP et TCP qui arrive sur le port 80 de ton routeur sont redirigé sur le port 80 de la machine 192.168.1.4.
Voila j'espere avoir repondu à ta question, pour ton modem, est un simple modem ou un routeur de type live box ...
-
Bonsoir Jeremy,
oui, j'ai bien compris tes explications.
Je vais essayer de faire la manip.
Je reviendrai vers toi si j'ai encore des problèmes.
En tous cas, merci pour ton aide :D
Zorglbug
-