begin process at 2012 02 10 19:27:43
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Archive C/C++

 > 

Archives

 > 

Réseau / Internet

 > 

Declaration serveur derriere un routeur


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

Declaration serveur derriere un routeur

jeudi 5 mai 2005 à 00:40:34 | Declaration serveur derriere un routeur

GordoCabron

Bonjour

     Je programme un seveur sur un pc relie a internet via un routeur. La methode normale consiste a configurer le routeur pour faire une redirection d'un port vers mon ip local.
     J'aimerais savoir comment faire pour eviter cela. Apres avoir vu des programme P2P fonctionner il me parait evident que c possible.
     Prenons eMule par exemple, il se comporte comme client rapport au Serveur ed2k mais lorsqu'il est bien configure il est possible d'echanger des infos avec d'autres pc sur le net directement (donc sans passer par le serveur), dans ce cas la chaque client emule fait office de serveur. Hors dans la configuration du routeur j'ai juste a ouvrir les ports concernes mais pas besoin de preciser une redirection, eMule se declare tout seul.

Qeulqu'un sait-il comment ?
Merci
jeudi 5 mai 2005 à 02:08:33 | Re : Declaration serveur derriere un routeur

aardman

Membre Club
Salut,
Dans le cas du protocol edonkey/emule, c'est la structure du reseau tout entier qui a été prévue pour "contourner" le probleme, mais le probleme existe toujours (un client caché derriere un routeur, i.e en low-id ne joue JAMAIS le role du serveur lors de l'etablissement d'une connexion entre 2 clients, et c'est pour ca que la connexion entre 2 low-id est impossible).
Je ne pense pas qu'il soit possible de resoudre ce probleme autrement qu'en configurant correctement le routeur.
jeudi 5 mai 2005 à 09:59:19 | Re : Declaration serveur derriere un routeur

yserver

Bonjour,
Je rejoins aardman. Pour héberger un serveur derrière un routeur, il faut nécessairement faire du NAT. Pour avoir un service qui tourne derrière un routeur il faut que ca soit ce service qui initie la connexion, se créer alors automatiquement des règles de routage. C'est ce qui se passe avec emule lors ce que le client a une low ID. Ce n’est plus alors le client qui reçoit des données mais le client qui demande des données.

 

Bon courage.

jeudi 5 mai 2005 à 10:51:07 | Re : Declaration serveur derriere un routeur

GordoCabron

Salut

      Oui, ca c'est le cas du Low-Id mais pour le High-Id ? Mon projet comporte un serveur et des clients. Si je doit faire du nat pour mon serveurs ok pas de probleme, je me demais juste si je pouvais l'eviter pour mes clients.Mes clients devrait pouvoir interagir entre eux sans surcharger le serveur avec de la redireccion.
       Sur mon router y'a une page de config 'Special Application' ou je donne juste les port a ouvrir pour tel ou tel appli, indiferement de la machine ou il doit etre utilise apres (pas sur 2 macines en meme temps bien sur). Que dois-je faire pour que mon prog passe par cette voie (comme emule mais sur un autre port bien-sur  ). A premiere vu juste ouvrir un socket et se mettre a l'ecoute ne suffit pas (ou j'ai loupe un episode).

Merci
jeudi 5 mai 2005 à 12:23:19 | Re : Declaration serveur derriere un routeur

yserver

Pour tes clients pas de port à router, si toutes les connexions passe par le serveurs. En revanche, tes clients ne pouront établire des connexions directes entre eux. Pour qu'ils le puissent ton applis doit etre à la foi client et serveur en soit pas de pb, mais pour que la partie serveur recoive des connexions au travère d'un routeur, le routeur devra être configuré correctement (routage du port).

Bon courage

jeudi 5 mai 2005 à 16:54:51 | Re : Declaration serveur derriere un routeur

aardman

Membre Club
Salut,
Dans le cas l'emule:

Un client en High-ID c'est un client dont le routeur est bien configuré, ou un client qui n'est tout simplement pas derriere un routeur (connexion modem direct). Ce client, peut recevoir des accepter des connexions de n'importe quels autres clients.

En Low-ID, le client n'est pas accessible depuis l'exterieur.
Lorsqu'un client A (High-ID) veut se connecter a un client B (Low-ID), le client A envois un message a son serveur (qui contient l'id du client B), le serveur se charge de transmettre l'ip du client A au client B, et c'est le client B qui initialise la connexion vers A.

Ca resoud "partiellement" le probleme, mais ca remplace pas une bonne configuration du routeur..
vendredi 6 mai 2005 à 00:07:40 | Re : Declaration serveur derriere un routeur

GordoCabron

Ok,Ok

 Dabord merci a tous pour vos reponses.

   Pour en revenir au High-ID, comment emule arrive t'il a le faire sans que j'ai besoin de redirection, sur mon router y'a une seule redirection c pour mon serveur ftp, mais j'ai 2 emule en High-Id (avec des port distinct evidement).

bye
vendredi 6 mai 2005 à 06:06:20 | Re : Declaration serveur derriere un routeur

yserver

Réponse acceptée !
C'est que ton routeur supporte l' uPnP, qui permet d'ouvrir dynamiquement et automatiquement les ports et effectuer le routage.

Bon courage.


Cette discussion est classée dans : serveur, declaration, routeur, derriere, emule


Répondre à ce message

Sujets en rapport avec ce message

communication [ par littleplayer ] bonjour à tous,voila je développe (enfin j'essaie) une appli réseau mais j'ai un petit prob: Comment faire communiquer mes 2 programmes (serveur/clien recuperer l'adresse ip derriere un routeur [ par ebooserge ] salut a tous,juste une petite question sur la prog reseau. j'aimerais savoir s'il existe une fonction qui permet de recuperer l'adresse IP publique du socket derrière routeur [ par thanos57 ] voila j'ai internet par l'intermediaire d'un routeur bewan. Je voudrais créer un serveur sur un pc, pour que, celui à qui je donne le client puisse se Socket, P2P, client/server etc... [ par Tibabou ] Bonjour/soir,J'ai créé un programme client/serveur avec Winsock. Pour qu'il fonctionne, j'ai dû modifier mes paramètres de routeur et indiquer une IP Cacher un serveur derriere un PROXY ? [ par supergrey ] Bonjour, supposons que mon application soit composée de deux parties, un serveur et un client utilisant les sockets:Le client se connecte a l'ip su se Serveur [ par cht2000 ] Bonjour tout le monde,je cherche à faire un serveur, qui ecoute sur un socket, et qui m'indique le fichier que je viens de lui envoyer sur le socket. FTP socket, je ne recois rien de la part du serveur [ par MuPuF ] Bonjour, j'essais de recoder des fonctions de wininet en socket, le probleme c'est que lors de ma connection au serveur ftp, il ne m'envois rien, alor envoyer un mail en VC++ par SMTP [ par amizak ] Bonjour tt le monde.je developpe un eapplication pour l'envoie des email avec VC++ en utilisant le protocole smtp.j'utilise ma machine en tant que ser Toujours besoin d'aide sur socket avec 2 cartes reseau [ par Jeff_Trek ] Bonjour,Je reçois des trames grace à ma socket cliente (qui doit être liée à une carte reseau), et renvoyer ces trames via une socket serveur (qui doi


Nos sponsors


Sondage...

CalendriCode

Février 2012
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
272829    

Consulter la suite du CalendriCode

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 5,195 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales