Port automatisant 4900 Accès pour les applications peer-to-peer
De nombreuses applications entre pairs (P2P) reposent sur des ports spécifiques, comme le port 4900, pour la communication. Cependant, les routeurs bloquent souvent l'accès à ces ports, ce qui entrave la fonctionnalité P2P. Ce guide décrit comment activer automatiquement l'accès.
L'établissement de la connectivité p2p nécessite ces étapes:
- Obtenez des adresses IP locales: Identifiez toutes les adresses IP locales de votre appareil. Pour chaque adresse, créez une socket UDP écoutant sur le port 4900.
- Découvrez la mappage IP et le port externe: utilisez un serveur Stun ou Turn pour déterminer votre adresse IP externe et mapper votre port interne 4900 sur un port externe (potentiellement différent).
- Partagez la liste des candidats: diffuser la liste des paires IP et port (vos candidats) via un service de rendez-vous ou une communication directe avec d'autres pairs.
- Établissement de poignée de main et de connexion: Les pairs échangent des listes de candidats et envoient des messages de test UDP pour établir un chemin de communication fiable. Une paire IP / Port appropriée est ensuite sélectionnée pour le transfert de données.
Plusieurs technologies aident à surmonter les limitations de Nat et de pare-feu:
- étourdissement (sessions de traversée de session pour NAT): aide les clients à découvrir leur adresse IP publique et leurs mappages de port.
- tour (Traversal à l'aide de relais autour de NAT): fournit des services de relais pour les connexions p2p lorsque les connexions directes échouent.
- Ice (Interactive Connectivity Centabsemment): Un protocole standardisé gérant l'utilisation étourdissante et tournez pour les connexions p2p.
- webrtc: Une implémentation de glace avec des bibliothèques facilement disponibles pour créer des applications p2p.
- upnp (Universal Plug and Play): fonctionne avec le protocole de périphérique de passerelle Internet pour configurer automatiquement les mappages de port.
- libnice: Une implémentation de glace open source pour les systèmes Linux.
- libjingle: une bibliothèque de glace C de google.
- pjnath: une pile de glace de pjsip.