Messagerie instantanée sans serveur, possible ?

Messagerie instantanée sans serveur, possible ? - Chat, visio et voix - Réseaux grand public / SoHo

Marsh Posté le 15-12-2010 à 17:56:28    

Bonjour,
 
En regardant au fonctionnement des systèmes de messageries instantanées, je suis arrivé à ces conclusions :
Avec des protocoles style msn, tout passe par un serveur en ce qui concerne la connexion et transmission de donnée. Ce qui veut dire qu'on est limité par ce que permet le serveur (bande passante, filtrage de contenu,...).
Avec des protocoles style XMPP, on utilise toujours une architecture client-serveur mais à la différence où tout est décentralisé et l'on peut donc utiliser son propre serveur sans trop de soucis.
 
Je me demandais donc si on ne pouvait pas pousser le raisonnement encore plus loin et arriver à une situation où l'on se passe de serveur.
 
Après réflexion voici le mieux que j'ai imaginé :
Façon P2P, chacun est à la fois client et serveur. La connexion entre pairs pourrait se faire par un système d'échange de clés publique (façon oneswarm) que l'on peut se transmettre par n'importe quel moyen. On garantirait en plus la confidentialité.
La liste des pairs connectés peut être partagée via une hashtable distribuée, pas besoin de centralisation de ce coté là.
La connexion entre deux contacts est directe via l'adresse IP récupérée dans la hashtable sans passer par d'intermédiaires.
 
Seulement je bloque sur quelques points :  
D'abord l'initialisation de l'échange de la liste des pairs connectés pour savoir si un de ses contacts est en ligne.
On peut imaginer que l'utilisateur possède une liste de pairs préférés auxquels il peut tenter de se connecter pour récupérer une partie de la liste. Seulement soit l'utilisateur obtient par un moyen privé (mail, clef usb,...) cette liste pour faire un réseau privé, soit il se connecte à un serveur qui lui donne cette liste de pairs. La première solution n'est pas idéale en raison de la difficulté de la distribution.
 
Si l'on continue dans la logique d'accéder à ce serveur seulement pour communiquer sa présence, l'on peut imaginer comme pour un tracker torrent la possibilité d'être "lié" à plusieurs serveurs pour ne pas restreindre les groupes.
 
Idéalement il faudrait inclure un système pour garantir qu'un utilisateur est unique. Via la clé publique ? Mais alors comment faire une recherche de contact ? Si je veux rajouter mon ami dans la liste de mes contacts, je préfèrerais ne pas avoir à faire un copier-coller de sa clé publique (pas très user friendly) mais plutôt introduire un identifiant. La seule solution que je vois alors serait de passer encore par un ou plusieurs serveur externe (style format adresse email).
 
Et puis comment permettre d'utiliser son compte sur plusieurs pc différents ? A moins de transporter physiquement sa clef privée et liste de contacts, encore une fois il faudrait passer par un prestataire externe.
 
Il serait donc impossible d'avoir une vrai architecture décentralisée ou j'ai loupé une étape ?
 
Merci

Reply

Marsh Posté le 15-12-2010 à 17:56:28   

Reply

Marsh Posté le 15-12-2010 à 18:00:35    

en plus c'est sans compter qu'en IPv4 on est quasiment toujours NATé, donc il faut faire une translation d'adresse sur le routeur (ce qui n'est pas toujours possible).
 
Bref à mon avis, dans l'état actuel des choses XMPP est déjà suffisamment décentralisé pour moi :D


---------------
Que va-t-il se passer cette gelgamar ? vous le découvrirez janamont à 20h
Reply

Marsh Posté le 15-12-2010 à 18:23:27    

Mais pour les systèmes de messagerie instantanée actuels (xmpp, msn, skype,...) ou n'importe quelle solution de P2P c'est aussi la même situation.
J'avais en tête que c'était résolu par une redirection de port. (Par exemple, pour me contacter aller sur 87.67.84.120:4356 et pour contacter mon coloc derrière le même NAT aller sur 87.67.84.120:4357)
 
Enfin je ne vois pas trop en quoi ce système serait différent d'un système avec XMPP point de vue NAT.
 
Bon après faut voir comment l'IPv6 va être implémentée mais il deviendra sans doute bientôt (d'ici un an ou deux) raisonnable de ne plus prévoir pour l'IPv4.
 
(après oui pour moi aussi XMPP est déjà bien suffisant mais je trouve intéressant de voir ce qui serait possible, et puis qui sait, si un jour j'ai quelques mois de libre, l'implémenter ^^)

Message cité 1 fois
Message édité par Rizzen Virnn le 15-12-2010 à 18:25:42
Reply

Marsh Posté le 15-12-2010 à 19:00:16    

Rizzen Virnn a écrit :

 

Enfin je ne vois pas trop en quoi ce système serait différent d'un système avec XMPP point de vue NAT.

 

parce qu'avec XMPP les clients n'ont pas besoin d'un forwarding pour fonctionner, contrairement à un système où ils se connecteraient directement les uns aux autres.


Message édité par Misssardonik le 15-12-2010 à 22:38:44

---------------
Que va-t-il se passer cette gelgamar ? vous le découvrirez janamont à 20h
Reply

Marsh Posté le 15-12-2010 à 22:37:51    

Ok je crois que je commence à saisir le problème avec les NAT
Linux journal - Developing P2P Protocols across NAT

 

Plus compliqué en effet, la technique dont ils parlent (UDP hole punching) a besoin d'un serveur externe.

 

Vivement l'IPv6...


Message édité par Rizzen Virnn le 15-12-2010 à 22:51:18
Reply

Marsh Posté le 12-01-2011 à 01:31:03    

Désolé, je n'ai pas lu ton message principal, trop long.
Mais SIP ne permettrait-il pas de faire ce que tu veux avec une connexion p2p entre les deux clients et l'utilisation d'une fonction text ?

Reply

Marsh Posté le 12-01-2011 à 07:26:47    

pourquoi tu ne fait pas mode simple , tu a un programme nommer DC++ , tu crée un serveur , ou seule ceux qui on le passe peuvent y aller , et la tu a le chois entre communication public (tous le monde) genre tchat , et communication en mp (privée) , tu peut meme partage des fichier entre les diffèrent pc
 
au début un peut galère après ca vas tous seule , il suffit de changer régulièrement le mots de passe du serveur pour éviter le piratage , genre 1 x par semaine , en envoyant au utilisateur par mail , ou par un message automatique sur le canal de tchat indiquant : un nouveau mots de passe est attribuer lundi , veuillez appeler le service ..... etc
 
tu a même les option ban d'ip dans ce système, et nombreuse autre chose genre vitesse maximum de transfère , nombre de connecter simultané ....  
 
perso on l'utilise au taf , et vue ca passe par un port specifique on a reglée le qos pour reduire a maxi 10% de la bande passante
 


---------------
L'urbex : faire découvrir le patrimoine oublié / Mes albums urbex : https://www.flickr.com/photos/14695 [...] 5272741566 et https://www.flickr.com/photos/20070 [...] 0316987281
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed