IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

C++ Discussion :

problème avec socket internet et routeur


Sujet :

C++

  1. #21
    Rédacteur

    Avatar de ram-0000
    Homme Profil pro
    Consultant en sécurité
    Inscrit en
    Mai 2007
    Messages
    11 517
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Consultant en sécurité
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Mai 2007
    Messages : 11 517
    Par défaut
    (je me souviens vaguement d'une techno permettant d'ouvrir un port serveur sur un routeur par simulation de demande client et qui, je crois, est utilisé par bitorrent, si quelqu'un s'en souvient...)
    Je crois que tu veux parler de UPnP
    Raymond
    Vous souhaitez participer à la rubrique Réseaux ? Contactez-moi

    Cafuro Cafuro est un outil SNMP dont le but est d'aider les administrateurs système et réseau à configurer leurs équipements SNMP réseau.
    e-verbe Un logiciel de conjugaison des verbes de la langue française.

    Ma page personnelle sur DVP
    .

  2. #22
    Membre émérite
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    1 064
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : Belgique

    Informations forums :
    Inscription : Mars 2005
    Messages : 1 064
    Par défaut
    Peut-être, je ne connais pas UPnP. C'était vraiment une bidouille basé sur la conception de certaines tables de NAT (pas toutes) où on envoyait un paquet "dans le vide" pour simuler une demande client afin d'ouvrir un port dans le routeur. Ensuite le vrai client se connectait au serveur en employant le même port. Cela nécessite bien entendu un vrai serveur situé en dehors des deux NAT afin de faire véhiculer les messages nécessaires pour l'ouverture de la connexion, c'est la raison pour laquelle ça me fait penser à bittorrent qui a justement plein de serveurs super gentils pour rendre ce genre de service.

    @tir0nik: mais non, oublie, toi tu n'as même pas la contrainte d'un routeur d'entreprise dont l'admin est pas conciliant, c'est un routeur familial avec lequel tu peux faire ce que tu veux. Quand on veut faire serveur on apprend à configurer son routeur.

  3. #23
    Expert confirmé

    Homme Profil pro
    Ingénieur systèmes et réseaux
    Inscrit en
    Février 2007
    Messages
    4 253
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur systèmes et réseaux
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Février 2007
    Messages : 4 253
    Billets dans le blog
    3
    Par défaut
    Encore faut-il que le routeur fasse du NAT conique (ce qui est le but de UPnP)...

    Normalement le NAT *doit* faire correspondre un tunnel à un autre tunnel, c'est à dire un 4-uple (ip-source-privée,port-source-privée,ip-destination-public,port-destination-public) à un (ip-source-public,port-source-public).
    A l'opposé de l'ouverture de port (conique) qui ne se sert que de la partie (ip-source-privée,port-source-privée)

    Donc si deux machines sont derriere un NAT classique, aucun moyen de les faire communiquer (sauf à ouvrir des ports 'coniques' sur le routeur à la main, ou par UPnP).

    Il y avait une bidouille qui marchait sur 'quelques' routeurs, partant du principe que le routeur allait allouer le port immédiatement supérieur à la demande suivante.... Mais elle demande un serveur-tiers...

    Genre:
    • A est connecté à S par le tunnel Tas
    • B est connecté à S par le tunnel Tbs
    • A envoit à S (par une nouveau tunnel za) le fait qu'il veut se connecter à B => le routeur de A fait correspondre (A priv,za) à (A pub,Ax,S,o)
    • S recoit la demande de A depuis (A pub, Ax)
    • S envoit à B (par Tbs) le fait que A veuille se connecter à lui depuis le port Ax
    • B envoit une demande de connection à A avec le port Ax+1 => le routeur de B fait correspondre (B priv, zz) à (B pub,Bx, A pub, Ax+1)
    • B envoit à S (par un nouveau tunnel zb) le fait qu'il essaye de répondre à A => le routeur de B fait correspondre (B priv, zb) à (B pub,Bx+1,S,o)
    • S recoit la réponse de B depuis (B pub, Bx+1)
    • S répond à A qu'il faut utiliser le port Bx
    • A essaye de se connecter à B en utilisant le port Bx => le routeur de A fait correspondre (A priv, zz) à (A pub,Ax+1,B pub,Bx)

    Et voilà... le deux routeurs on des routes ouvertes
    Encore faut-il, pour que celà marche, que les routeurs allouent leurs ports séquentiellement (et tous ne le font heureusement pas !), et avoir un middle-man sans NAT !

  4. #24
    Membre émérite
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    1 064
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : Belgique

    Informations forums :
    Inscription : Mars 2005
    Messages : 1 064
    Par défaut
    C'est bien pour ça que c'est pas du tout une bonne idée Sauf, très éventuellement, dans le peer to peer.

Discussions similaires

  1. Problème avec Socket et GZIPInputStream
    Par flake90 dans le forum Entrée/Sortie
    Réponses: 0
    Dernier message: 17/03/2010, 06h22
  2. probléme avec conenxion internet sous Mobile dotnet
    Par aitbouhou dans le forum Windows Forms
    Réponses: 0
    Dernier message: 11/06/2009, 12h08
  3. Problèmes avec SMTP_Auth (internet command)
    Par Castafiore dans le forum 4D
    Réponses: 3
    Dernier message: 27/04/2009, 19h45
  4. Problème avec socket UDP
    Par Prayeriz dans le forum Développement
    Réponses: 4
    Dernier message: 12/01/2009, 09h18
  5. Problème avec Socket et/ou Telnet sur le manager d'Asterisk
    Par gorby69 dans le forum Programmation et administration système
    Réponses: 1
    Dernier message: 21/07/2006, 15h47

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo