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

Développement Discussion :

Réseau : Créer un P2P


Sujet :

Développement

  1. #1
    Membre habitué Avatar de Apocalyps
    Homme Profil pro
    Responsable de service informatique
    Inscrit en
    Août 2006
    Messages
    83
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : France, Gard (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Responsable de service informatique
    Secteur : Services à domicile

    Informations forums :
    Inscription : Août 2006
    Messages : 83
    Points : 170
    Points
    170
    Par défaut Réseau : Créer un P2P
    Bonjour,

    Suite à un projet de logiciel pour le transfert de fichier sécurisé, je recherche un moyen de créer un lien direct entre 2 ordinateurs via Internet.

    Le logiciels étant dédié aux utilisateurs lambda, je recherche un moyen de outre passer la longue et fastidieuse opération d'ouverture de ports.

    Savez-vous comment créer un réseau P2P (comme le transfert de fichier via MSN) ?

    Merci de vos réponses.
    SwitchSoft - Votre Vie Puissance Numérique
    Un jour, j'ai lu les C.G.U puis les C.G.V lié aux E.U.L.A pour mon P.C. et j'ai compris que j'en avais des M.E.R.D.E.S
    M.E.R.D.E.S = Maux En-diablés lors de la Relecture des Décrets des Editeurs (de logiciels) Sympathiques - Vive les Acronymes

  2. #2
    Membre averti
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    361
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2006
    Messages : 361
    Points : 429
    Points
    429
    Par défaut
    Salut,

    Pour ne pas configurer la redirection de ports etc il faudra utiliser une 3ème machine.

    Peer1 (client) <=> RelayPeer (serveur) <=> Peer2 (client)

    Peer1 devra se connecter au RelayPeer, de même pour Peer2.
    Une fois que c'est fait les deux peer pourront communiquer par l'intermédiaire du RelayPeer, sans configuration particulière. Par contre, une redirection de port sera nécessaire si le RelayPeer se trouve derrière un routeur.

  3. #3
    Membre habitué Avatar de Apocalyps
    Homme Profil pro
    Responsable de service informatique
    Inscrit en
    Août 2006
    Messages
    83
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : France, Gard (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Responsable de service informatique
    Secteur : Services à domicile

    Informations forums :
    Inscription : Août 2006
    Messages : 83
    Points : 170
    Points
    170
    Par défaut
    Très bonne idée nicØB, mais le seul hic, c'est le débit utilisé, car les clients seront limités par RelayPeer.

    Mais je crois que je vais opter pour cette idée.

    Merci
    SwitchSoft - Votre Vie Puissance Numérique
    Un jour, j'ai lu les C.G.U puis les C.G.V lié aux E.U.L.A pour mon P.C. et j'ai compris que j'en avais des M.E.R.D.E.S
    M.E.R.D.E.S = Maux En-diablés lors de la Relecture des Décrets des Editeurs (de logiciels) Sympathiques - Vive les Acronymes

  4. #4
    Membre averti
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    361
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2006
    Messages : 361
    Points : 429
    Points
    429
    Par défaut
    Oui tout passe par le RelayPeer, ce qui a ses avantages (simplicité pour les utilisateurs) et ses inconvénients.

    Tu devrais également jeter un oeil à JXTA. C'est un framework pour faire du p2p et il y a des idées bonne à prendre.

  5. #5
    Modérateur
    Avatar de nouknouk
    Homme Profil pro
    Inscrit en
    Décembre 2006
    Messages
    1 655
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France

    Informations forums :
    Inscription : Décembre 2006
    Messages : 1 655
    Points : 2 161
    Points
    2 161
    Par défaut
    Citation Envoyé par Apocalyps Voir le message
    Très bonne idée nicØB, mais le seul hic, c'est le débit utilisé, car les clients seront limités par RelayPeer.
    Totu dépend du budget, du nombre de clients et de la bande passante désirée:
    - tu peux te louer un serveur dédié avec 100Mbits/sec en illimité (genre Kimsufi ou même RPS chez OVH, la Dedibox de Free, etc...) à partir de 10€ HT par mois.

    Sinon, tu peux te baser sur une architecture technique PHP et utiliser un hébergeur web gratuit (Free, ...).

    Quoi qu'il en soit, il faut garder à l'esprit qu'il est purement et simplement impossible de connecter en direct deux machines 'de monsieur tout le monde' en réseau sans risquer d'avoir à ouvrir un port, framework P2P ou pas.
    Mon projet du moment: BounceBox, un jeu multijoueurs sur Freebox, sur PC et depuis peu sur smartphone/tablette Android.

  6. #6
    Membre régulier

    Profil pro
    Inscrit en
    Août 2006
    Messages
    60
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2006
    Messages : 60
    Points : 90
    Points
    90
    Par défaut
    Théoriquement, il est possible de connecter 2 clients entre eux (directement) en utilisant les covert channel. (ca utilise plus de bande passante, mais c'est aussi extrêmement sécurisé).


    Le principe des coverts channels est d'utiliser les en-tête d'un protocole connu (http à tout hasard) et d'y faire passer des informations.


    Donc tes données passeront par le port 80, ne seront ni bloqué par des routeurs, ni par rien du tout.

    Voila renseigne toi la dessus il y a plein de doc.


    Bonne chance !

  7. #7
    Modérateur
    Avatar de nouknouk
    Homme Profil pro
    Inscrit en
    Décembre 2006
    Messages
    1 655
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France

    Informations forums :
    Inscription : Décembre 2006
    Messages : 1 655
    Points : 2 161
    Points
    2 161
    Par défaut
    Citation Envoyé par Maldus Voir le message
    Théoriquement, il est possible de connecter 2 clients entre eux (directement) en utilisant les covert channel. (ca utilise plus de bande passante, mais c'est aussi extrêmement sécurisé).
    Théoriquement et pratiquement, non. Les covert channels servent unqiuement à encapsuler un protocole B dans un flot de données utilisant un autre protocole A (genre HTTP), typiquement pour:
    - passer un pare-feu qui n'autorise que protocole A de 'sortir' et bloque les autres (notamment B).
    - et principalement planquer des données en les diluant dans d'autres données qui semblent 'classiques'.

    Mais cela ne change en rien les problématiques de connexion (encore moins pour celles de sécurisation). Prenons un exemple concret:
    - j'ai chez moi une adslBox qui fait également office de routeur NAT Wifi. Ma seule adresse IP publique sur internet est 123.234.123.234
    - sur le Wifi, j'ai deux ordis connectées: 10.0.0.1 et 10.0.0.2
    - 10.0.0.1 est l'ordi qui veux faire du P2P.

    maintenant j'ai un autre client qui a également un modem routeur NAT Wifi (124.235.124.235). Il a également deux ordis connectées: 192.168.0.1 et 192.168.0.2.
    Là, c'est 192.168.0.1 qui veut faire du P2P avec notre 10.0.0.1 ci-dessus.

    Comment compte-tu faire, covert channels ou pas ?

    Réponse: tu ne peux pas. Les trois seules solutions ici sont:

    - l'utilisation d'un serveur intermédiaire

    - l'Universal Plug & Play (uPnp). Mais malheureusement il y a une proportion non négligeable de modems routeurs répandus qui ne le gèrent pas (la freebox par exemple).

    - l'IPv6 à plus long terme.

    PS: @maldus: Il y a plusieurs erreurs, incohérences et chiffres non vérifiés dans ton premier article sur ton blog. Je te conseille vivement de te renseigner plus avant de poster des choses approximatives.
    Mon projet du moment: BounceBox, un jeu multijoueurs sur Freebox, sur PC et depuis peu sur smartphone/tablette Android.

  8. #8
    Membre régulier

    Profil pro
    Inscrit en
    Août 2006
    Messages
    60
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2006
    Messages : 60
    Points : 90
    Points
    90
    Par défaut
    Effectivement le problème se pose toujours.

    Pardon de t'avoir donné une fausse joie, mais cela ne marche effectivement que pour passer outre firewall etc...

    Sinon en se servant des différentes couches du modèle TCPIP lors de l'encapsulation avec différentes en-tête y'a rien à faire ?

  9. #9
    Modérateur
    Avatar de nouknouk
    Homme Profil pro
    Inscrit en
    Décembre 2006
    Messages
    1 655
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France

    Informations forums :
    Inscription : Décembre 2006
    Messages : 1 655
    Points : 2 161
    Points
    2 161
    Par défaut
    Citation Envoyé par Maldus Voir le message
    Sinon en se servant des différentes couches du modèle TCPIP lors de l'encapsulation avec différentes en-tête y'a rien à faire ?
    Non: en reprenant mon exemple ci-dessus:

    - si 192.168.0.1 veut joindre notre 10.0.0.1, il faut forcément qu'il spécifie une addresse IP à laquelle se connecter. La seule façon pour lui de le faire est de contacter la seule IP pulbique qui se rattache à 10.0.0.1, soit 123.234.123.234

    - or lorsque le modem routeur attaché à 123.234.123.234 va recevoir une demande de connexion pour un port 'x'. Comment peut-il déterminer que cette demande devrait plutôt être routée vers 10.0.0.1 que vers 10.0.0.2 : il ne peut pas le savoir.

    => D'où la notion de redirection de ports. Et donc l'impossibilité de contacter une machine privée derrière un routeur NAT si la redirection de port n'a pas été clairement configurée.

    ^ a noter qu'on parle ici de la couche réseau 'IP' (v4). On ne peut pas descendre en dessous puisqu'on transite sur internet, et que c'est le seul protocole de ce niveau qui est routé sur ce réseau. On est donc obligé defaire avec.
    Mon projet du moment: BounceBox, un jeu multijoueurs sur Freebox, sur PC et depuis peu sur smartphone/tablette Android.

  10. #10
    Membre régulier

    Profil pro
    Inscrit en
    Août 2006
    Messages
    60
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2006
    Messages : 60
    Points : 90
    Points
    90
    Par défaut
    Juste une petite question, j'en profite vu que tu as vraiment l'air de t'y connaitre

    Certains logiciel de torrent permettent leur utilisation sans pour autant rediriger les ports, certes il y a un message disant que la connectivités est limité mais les transfert, bien que plus lent, sont quand même présent.

    Comment cela se fait-il ? Utilisent-ils des serveurs relay ?

    Merci d'avance !

  11. #11
    Modérateur
    Avatar de nouknouk
    Homme Profil pro
    Inscrit en
    Décembre 2006
    Messages
    1 655
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France

    Informations forums :
    Inscription : Décembre 2006
    Messages : 1 655
    Points : 2 161
    Points
    2 161
    Par défaut
    Juste une petite question, j'en profite vu que tu as vraiment l'air de t'y connaitre
    Une écolé d'ingé Télécom aide bien pour connaître les bases

    Citation Envoyé par Maldus Voir le message
    Certains logiciel de torrent permettent leur utilisation sans pour autant rediriger les ports, certes il y a un message disant que la connectivités est limité mais les transfert, bien que plus lent, sont quand même présent.

    Comment cela se fait-il ? Utilisent-ils des serveurs relay ?
    Je ne connais pas le fonctionnement de BitTorrent, mais Google doit logiquement être ton ami et te fournira les renseignements adéquats. De toute façon, il n'y a pas 36 solutions techniques:

    - soit il y a effectivement des serveurs relais (et c'est la seule solution possible si tu arrives à envoyer des fichiers vers les autres). Au passage, 'serveur relais' peut inclure d'autres utilisateurs qui ont -eux- leurs ports ouverts et qui vont donc (en plus d'être client) servir de serveur relais à ceux qui n'ont pas de ports ouverts.

    - soit en tant que client 'inatteignable par les autres utilisateurs', tu ne peux que télécharger chez les autres qui ont - eux - leurs ports redirigés (et donc tu ne peux *pas* émettre).

    Mais en d'autres termes, et au risque de me répéter, si personne n'a de ports ouverts / redirigés, il ne peut y avoir de P2P.

    Comme dit précédemment, l'IPv6 changera la donne puisque chaque ordinateur aura sa propre IP et donc sera 'atteignable' par tout autre utilisateur. Mais d'ici à ce qu'IPv6 devienne la norme, de l'eau aura coulé sous les ponts.
    Mon projet du moment: BounceBox, un jeu multijoueurs sur Freebox, sur PC et depuis peu sur smartphone/tablette Android.

  12. #12
    Membre régulier

    Profil pro
    Inscrit en
    Août 2006
    Messages
    60
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2006
    Messages : 60
    Points : 90
    Points
    90
    Par défaut
    Merci à toi pour toutes ces réponses !

    Bonne journée !

  13. #13
    Rédacteur

    Avatar de Matthieu Brucher
    Profil pro
    Développeur HPC
    Inscrit en
    Juillet 2005
    Messages
    9 810
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Développeur HPC
    Secteur : Industrie

    Informations forums :
    Inscription : Juillet 2005
    Messages : 9 810
    Points : 20 970
    Points
    20 970
    Par défaut
    Citation Envoyé par nicØB Voir le message
    Tu devrais également jeter un oeil à JXTA. C'est un framework pour faire du p2p et il y a des idées bonne à prendre.
    Je dirai même que c'est une bonne solution pour toute application. C'est sponsorisé par Sun, il y a une implémentation Java et C, et j'espère finir une ébauche d'implémentation Python bientôt.

  14. #14
    Modérateur
    Avatar de nouknouk
    Homme Profil pro
    Inscrit en
    Décembre 2006
    Messages
    1 655
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France

    Informations forums :
    Inscription : Décembre 2006
    Messages : 1 655
    Points : 2 161
    Points
    2 161
    Par défaut
    Citation Envoyé par nicØB Voir le message
    Tu devrais également jeter un oeil à JXTA. C'est un framework pour faire du p2p et il y a des idées bonne à prendre.
    Effectivement,

    j'ai jeté un oeil à JXTA que je ne connaissais pas avant, et le projet semble très prometteur.

    Pour revenir à la problématique des serveurs relais, un framework comme JXTA ne te dispensera pas d'avoir des serveurs relais, au cas où aucun de tes clients n'a de ports ouverts (citation d'un tuto sur JXTA):

    Les peers ne sont cependant pas obligés d’avoir des connexions directes avec tous les autres, il existe en effet des peers intermédiaires (appelés relay ou rendezvous peers) qui permettent de router les messages entre des peers séparés. Ceux-ci permettent par exemple de résoudre différents problèmes de configuration réseau tels que le NAT, les firewalls ou les proxys.
    Mon projet du moment: BounceBox, un jeu multijoueurs sur Freebox, sur PC et depuis peu sur smartphone/tablette Android.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. créer une aplication vb à mettre en réseau
    Par cari dans le forum VB 6 et antérieur
    Réponses: 6
    Dernier message: 27/12/2005, 15h22
  2. Créer un réseau par Internet
    Par FoxDeltaSierra dans le forum Administration
    Réponses: 4
    Dernier message: 23/09/2005, 17h29
  3. connection réseau P2P
    Par hogan dans le forum Entrée/Sortie
    Réponses: 2
    Dernier message: 18/07/2005, 02h37
  4. Réponses: 3
    Dernier message: 09/11/2004, 10h44
  5. [Réseau] Créer une connexion Internet
    Par Tranber dans le forum VB 6 et antérieur
    Réponses: 11
    Dernier message: 17/10/2002, 17h01

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