Outils pour utilisateurs

Outils du site


docs:faq:p2p_et_ports (lu 27446 fois)

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentes Révision précédente
Prochaine révision
Révision précédente
docs:faq:p2p_et_ports [09-04-2007 13:48]
111110101011
docs:faq:p2p_et_ports [04-04-2013 22:06] (Version actuelle)
Ligne 1: Ligne 1:
-==== Introduction ====+====== Le P2P et les ports ======
  
-L'un des problèmes les plus fréquents sur les P2P est relatif aux ports (Voir [[wp>Port_(logiciel)]])+===== I - Introduction ===== 
 + 
 +L'un des problèmes les plus fréquents sur les P2P est relatif aux ports (Voir [[wp>Port_(logiciel)]]).
 Lorsque vous utilisez un logiciel qui a besoin d'internet (dont les P2P), il utilise des canaux chacun identifié par un numéro de port. Lorsque vous utilisez un logiciel qui a besoin d'internet (dont les P2P), il utilise des canaux chacun identifié par un numéro de port.
-Le problème, c'est que ces canaux sont parfois bloqués (les ports sont bloqués), et les causes de cela sont multiples. Le but de cet article est donc de vous permettre de vérifier s'il y a blocage, d'identifier les causes du blocage, et d'agir de sorte de les libérer.+Le problème, c'est que ces canaux sont parfois bloqués (les ports sont bloqués), et les causes probables de cela sont multiples. Le but de cet article est donc de vous permettre de vérifier s'il y a blocage, d'identifier les causes du blocage, et d'agir de sorte de les libérer.
  
-==== Théorie ==== 
  
-=== Port entrant et sortant ===+===== II - Théorie ===== 
 + 
 +Une partie théorique qui parle des ports et des pare-feux. Il s'avère que si vous comprenez cela, vous n'aurez pas de mal à comprendre ce que fait un [[wp>routeur]]. 
 + 
 +==== A - Port entrant et sortant ====
 Tout comme l'on peut circuler dans les deux sens sur un canal, un port partage aussi cette propriété. Tout comme l'on peut circuler dans les deux sens sur un canal, un port partage aussi cette propriété.
-Ainsi, on dit qu'un port est sortant lorsque le trafic qui circule dessus se dirige vers le réseau internet (vous émettez des données sur ce port). +Ainsi, on dit qu'un port est [i]sortant[/i] lorsque le trafic qui circule dessus se dirige [i]vers le réseau internet[/i] (vous émettez des données sur ce port). 
-A l'inverse, un port entrant indique que le trafic se dirige vers votre ordinateur (vous recevez des données sur ce port).+A l'inverse, un port [i]entrant[/i] indique que le trafic se dirige [i]vers votre ordinateur[/i] (vous recevez des données sur ce port).
  
-=== Principe général d'un pare-feu ===  +==== B - Principe général d'un pare-feu ====  
-Le pare-feu (firewall) est le dispositif par excellence qui contrôle ce trafic.+Le pare-feu ([i]firewall[/i]) est le dispositif par excellence qui contrôle ce trafic.
 <note>Il n'est en effet pas souhaitable d'avoir un ordinateur relié à internet en laissant les données circuler comme bon leur semblent. Par exemple, certains virus (les vers) utilisent votre connexion internet pour se reproduire. D'autres virus (les troyens, ou trojan) prennent le contrôle de votre ordinateur et communiquent avec un autre ordinateur (qui contrôle ces troyens) sur internet à votre insu. Le pare-feu a pour objectif de bloquer ce trafic néfaste.</note> <note>Il n'est en effet pas souhaitable d'avoir un ordinateur relié à internet en laissant les données circuler comme bon leur semblent. Par exemple, certains virus (les vers) utilisent votre connexion internet pour se reproduire. D'autres virus (les troyens, ou trojan) prennent le contrôle de votre ordinateur et communiquent avec un autre ordinateur (qui contrôle ces troyens) sur internet à votre insu. Le pare-feu a pour objectif de bloquer ce trafic néfaste.</note>
 En règle général, un pare-feu bloque tout, et n'autorise que quelques exceptions. S'il bloquait absolument tout, vous ne pourriez même plus surfer sur internet ! En règle général, un pare-feu bloque tout, et n'autorise que quelques exceptions. S'il bloquait absolument tout, vous ne pourriez même plus surfer sur internet !
  
-===  Schémas de déroulement d'une communication === + 
 +==== C - Schémas de déroulement d'une communication ==== 
 Un programme (un logiciel, une application) est souvent configuré pour utiliser un ou plusieurs ports précis. Un programme (un logiciel, une application) est souvent configuré pour utiliser un ou plusieurs ports précis.
-Nous envisagerons deux cas, le logiciel pourra souhaiter établir une connexion sortante, ou souhaiter attendre d'être contacté (établir une connexion entrante).+Nous envisagerons cas, le logiciel pourra... 
 +  * souhaiter établir une connexion sortante 
 +  * souhaiter attendre d'être contacté (établir une connexion entrante).
  
-== Etablir une connexion sortante ==+=== a) Etablir une connexion sortante ===
 Le logiciel souhaite contacter un ordinateur sur internet. Le logiciel souhaite contacter un ordinateur sur internet.
 Exemple : votre navigateur internet souhaite joindre un site web. Exemple : votre navigateur internet souhaite joindre un site web.
 Pour cela, votre navigateur utilise le port sortant numéro 80. Pour cela, votre navigateur utilise le port sortant numéro 80.
-Pour recevoir la réponse du site web, un autre port est utilisé, mais cette fois-ci il s'agira d'un port entrant. Techniquement, le numéro de ce port importe peu, le principal c'est de recevoir ce qu'on a demandé, alors le port est choisi dynamiquement (c'est à dire un peu au hasard, par exemple : 3146).+Pour recevoir la réponse du site web, un autre port est utilisé, mais cette fois-ci il s'agira d'un port entrant. Techniquement, le numéro de ce port importe peu, le principal c'est de recevoir ce qu'on a demandé, alors le port est choisi dynamiquement 
 +(c'est à dire un peu au hasard, par exemple : 3146).((Un pare-feu bâtira ses règles de fonctionnement sur ce qu'il y a de fixe. Il ne cherchera pas à bloquer les ports dynamiques pour deux raisons : 
 +D'une part, les ports étant justement dynamiques, ils sont choisis aléatoirement et changent à chaque fois, et puisque nous ne pouvons pas les deviner nous-mêmes, nous ne créons pas de règles dessus. 
 +D'autre part, les ports sont utilisés suite à une communication qui a déjà été vérifiée, et qui dispose donc du feu vert pour faire ce qu'elle veut. 
 +Cela explique pourquoi, [b]bien qu'une communication aille dans les 2 sens, il suffit de n'autoriser explicitement qu'un seul sens pour que ça marche[/b]. 
 +))
  
-== Etablir une connexion entrante ==+=== b) Etablir une connexion entrante (Etre à l'écoute d'une connexion) ===
 Le logiciel peut ne pas avoir besoin de communiquer tout de suite, mais juste dire qu'il sera joignable et attendra qu'un autre ordinateur cherche à le contacter. Pour cela, il utilisera un port entrant (par exemple : 4561). Aucune communication n'est encore établie sur ce port, on dit qu'il est "en écoute" ("listening"). Le logiciel peut ne pas avoir besoin de communiquer tout de suite, mais juste dire qu'il sera joignable et attendra qu'un autre ordinateur cherche à le contacter. Pour cela, il utilisera un port entrant (par exemple : 4561). Aucune communication n'est encore établie sur ce port, on dit qu'il est "en écoute" ("listening").
 Il attendra qu'un autre ordinateur désire joindre le notre, il pourra alors nous joindre sur ce port sans que nous ne prenions l'initiative d'engager nous même la connexion. Il attendra qu'un autre ordinateur désire joindre le notre, il pourra alors nous joindre sur ce port sans que nous ne prenions l'initiative d'engager nous même la connexion.
 Pour aider à comprendre, une analogie : Pour aider à comprendre, une analogie :
-Avec un téléphone, si vous attendez sa sonnerie (êtes à l'écoute de celui-ci), alors qqn pourra vous appeler et vous répondrez. Si au contraire vous ne cherchez pas à écouter la sonnerie en vous bouchant les oreilles, alors vous serez injoignable (et si vous décidez d'appeler la personne, on retombe dans le cas a) +Avec un téléphone, si vous attendez sa sonnerie (êtes à l'écoute de celui-ci), alors qqn pourra vous appeler et vous répondrez. Si au contraire vous ne cherchez pas à écouter la sonnerie en vous bouchant les oreilles, alors vous serez injoignable. 
-Il y a une distinction, c'est que pour le téléphone, plusieurs personnes peuvent écouter et attendre la même sonnerie, tandis qu'en informatique, 2 applications ne peuvent pas écouter simultanément sur le même port.+<note importante>Il y a une distinction, c'est que pour le téléphone, plusieurs personnes peuvent écouter et attendre la même sonnerie, tandis qu'en informatique, [b]2 applications ne peuvent pas écouter simultanément sur le même port[/b].</note> 
 + 
 +=== c) Globalement === 
 +Notons que les deux cas précédents se complètent : nous ne pouvons établir une connexion sortante vers un ordinateur [b]que[/b] si ce dernier souhaite établir une connexion entrante. 
 +Notons également qu'un même numéro de port peut servir indifféremment à une connexion entrante ou sortante. 
 +L'utilisation de ports entrants ou sortant dépends de ce que l'application cherche à faire. Il se peut qu'elle ait besoin d'écouter sur un ou plusieurs port(s), voir aucun ! Idem pour les ports sortants. <note importante>Une application peut donc utiliser autant de ports entrants ou sortants qu'elle le souhaite.</note> 
 + 
 +==== D - TCP et UDP ==== 
 +Pour compliquer (mais pas trop non plus !), on distingue les ports TCP et UDP. Ce qui les distingue est une caractéristique technique non essentielle((TCP et UDP sont ce que l'on appelle des protocoles. Leur principale distinction est que TCP est "orienté connexion" et assure une certaine fiabilité, ce qui n'est pas le cas d'UDP)). C'est comme si chacun des canaux avait lui même 2 sous-canaux. Pensez donc à connaitre le protocole (TCP ou UDP) utilisé par l'application, la plupart du temps, il s'agit de TCP. 
 + 
 +==== E - Relation entre port et application ==== 
 + 
 +=== a) Une relation conventionnelle === 
 +Vous aurez peut être remarqué que l'on a tendance à associer une application précise (par expl: le navigateur internet) à un port précis (ici: le 80). Il en va de même pour la plupart des applications. Plusieurs faits établissent cette correspondance entre une application (ou plus précisément un service), et un numéro de port. 
 +  * Le [[http://www.iana.org/assignments/port-numbers|IANA]] est chargé d'officialiser cette correspondance pour certains services 
 +  * Pour les autres services, ce sont les personnes à l'origine du projet qui conseillent un port par défaut 
 +  * Dans certains cas, c'est vous-même qui configurerez le logiciel pour qu'il utilise toujours le même port
  
-== Globalement == +=== b) Une relation connue du système d'exploitation === 
-Notons que les deux cas précédents se complètent : nous ne pouvons établir une connexion sortante vers un ordinateur QUE si ce dernier souhaite établir une connexion entrante. +Votre [[wp>Système_d'exploitation|système d'exploitation]] est capable de connaitre, lorsqu'une application est lancée, quel(s) port(s) celle-ci souhaite utiliserCette capacité est exploitée par les pare-feux. A la base, un pare-feu ne fait que se fier au numéro de ports, et il indique "le port entrant x est autorisé" ou "le port sortant y n'est pas autorisé". Désormais, avec cette capacité, il va pouvoir établir des règles en fonction de l'application plutôt que sur les portsCela simplifie grandement la tâche, par expl: si vous souhaitez autoriser le trafic internet d'eMule, vous aurez juste à spécifier au pare-feu que emule.exe est autorisé (autrement ditvous "ajouterez eMule sur la liste des exceptions"). Les pare-feux qui ne s'interessent pas aux ports mais aux applications sont qualifiés de [i]applicatifs[/i].
-Notons également qu'un même numéro de port peut servir indifférement à une connexion entrante ou sortante. +
-L'utilisation de ports entrants ou sortant dépends de ce que l'application cherche à faireIl se peut qu'elle n'ait besoin d'écouter sur un ou plusieurs port(s)voir aucun ! Idem pour les ports sortants.+
  
-=== Pare-feu et ports dynamiques === +==== F Conclusion ==== 
-Un pare-feu bâtira ses règles de fonctionnement sur ce qu'il y a de fixe+Selon le type de pare-feu dont vous disposez, sa configuration demandera le nom du fichier .exe (éxécutable) de l'application que vous souhaitez autoriser, ou le(s) numéro(s) de port(s) utilisé(s) par cette application
-Il ne cherchera pas à bloquer les ports dynamiques pour deux raisons : +La plupart des P2P ont besoin d'être joignables sur un port (c'est à dire d'écouter). Dans les paramètres (options/préférences) de ces P2Pvous pourrez spécifier vous-même quel(s) port(s) l'application utilisera. Il est bon de le connaitrenon seulement car cela peut vous aider à configurer votre pare-feumais aussi car les [b]ports entrants[/b] sont ceux auxquels votre routeur devra s'intéresser
-d'une part, les ports étant justement dynamiquesils sont choisis aléatoirementet nous mêmes ne pouvons pas les deviner car ça change à chaque fois +Un bon complément de cette partie théorique qui s'interesse davantage aux routeurs est l'article [[docs:network:routeur|Comprendre un modem routeur]].
-d'autre part, les ports sont utilisés suite à une communication qui a déjà été vérifiée, et qui dispose donc du feu vert pour faire ce qu'elle veut+
-Cela explique pourquoi, bien qu'une communication aille dans les 2 sens, il suffit de n'autoriser explicitement qu'un seul sens pour que ça marche.+
  
-=== TCP et UDP === 
-Pour compliquer (mais pas trop non plus !), on distingue les ports TCP et UDP. Ce qui les distingue est une caractéristique technique non essentielle ici (principalement, TCP est "orienté connexion" et assure une certaine fiabilité, ce qui n'est pas le cas d'UDP). Ce qui nous interesse, c'est qu'un même numéro de port peut en même temps être utilisé pour du trafic TCP, et du trafic UDP. On peut par exemple bloquer le port 1234 en TCP, mais le laisser libre en UDP. De même, une application peut écouter sur le port TCP 1234, et une autre application pourra écouter sur le port UDP 1234 (même s'il n'est pas judicieux d'utiliser le même numéro de port). 
  
 +===== III - Pratique =====
  
-Ainsi, il y a juste à connaitre quel port sortant utilise l'application pour joindre l'exterieur (internet), et quel port entrant utilise l'application pour être joignable. +==== A - Les P2P et les ports ====
-Il n'est pas systématique qu'une application ait besoin d'un unique port sortant et d'un unique port entrant. Une application utilisera autant de ports que nécessaire, peut être aucun (ou plusieurs) port(s) entrant(s), idem pour les ports sortants. +
-* 2 types de pare-feu+
  
 +=== 1) Liste des ports communément utilisés par les P2P ===
 +Vous la trouverez ici.
  
------------- +=== 2) Sur quel port mon P2P écoute ? ===
-------------+
  
-Il faudra parler de : +== aOù aller ? ==
-- routeurs, en les listant et en renvoyant à la partie "modem" du wifi +
-- firewalls, en mentionnant celui d'XP, et les autres (Norton, Jetico, McAffee, ISafer, etc...) +
-- port mapping, en mentionnant ICS, les wingates, les proxys ...+
  
-Pour le moment, cette page est identique à cette question du FAQ : http://aide.p2pfr.com/faq.php?categ=4#C4Q21+  * Dans les préférences du logiciel. 
 +  * Utiliser une commande windows (Quel processus pour quel socket, pas netstat, une autre ...
 +  * Logiciels de monitoring (TCPView)
  
-Les problèmes de connexion peuvent être dûs a une indisponibilité du serveur (auquel votre P2P tente de se connecter)mais plus fréquemment à un problème relatif à votre réseau, en voici quelques sources :+== b) Choisir un numéro de port == 
 +En écoutesupérieur à 1024.
  
-- Firewall, désactivez-le pour tester si ça marche sans (risqué à long terme compte tenu du nombre de virus/vers qui circulent sur internet, et les failles de Windows), ou configurez-le pour autoriser les ports utilisés par le P2P (certains firewalls comme ZoneAlarm vous proposeront de laisser le P2P agir en tant que serveur et client, ce que vous devrez faire). +=== 3) Tester si le port de mon P2P est accessible === 
-Note: Windows XP intègre un firewall, il se peut qu'il soit activé sans que vous le sachiez (Aller dans le panneau de configuration pour vérifier cela). +== aTest intégré au logiciel == 
-Certains logiciels P2P vous permettent de choisir le port que vous souhaitez utiliser, ou vous proposent d'utiliser le port 80 en alternative (à essayer : et si ça marche cela veut dire que votre problème venait de la configuration de votre réseau, vous pouvez alors continuer à utiliser le port 80 ou reconfigurer votre réseau/firewall/proxy...).+== bSites web testant vos ports ==
  
-La procédure générale pour configurer son firewall est donc la suivante : +==== B Les pare-feux ====
-reperez le port utilisé par votre logiciel (dans les options d'eMule, de Kazaa ou ailleurs). Si aucun port par défaut n'est configuré (la mention "0" à la place du port apparait généralement), précisez-le à la main en choisissant un numéro superieur à 1024 (aux alentours de 2000 par exemple) +
-- allez ensuite dans la configuration de votre firewall, et ajoutez ce numéro de port en faisant en sorte que les connexions soient autorisées sur ce port.+
  
-- Proxy / Wingate. Si vous constatez que votre ordinateur est configuré pour utiliser un proxy (à vérifier dans : Panneau de configuration > Options internet > Connexions > Paramètres > Serveur Proxy ), alors vous devrez le signaler aussi à votre logiciel P2P s'il dispose d'une option pour configurer cela (ce qui est probablement le cas). Vous devrez aussi probablement jeter un oeil à la configuration de votre Proxy pour ajouter les ports utilisés par les P2P.+=== 1Windows XP === 
 +  * Configurer celui du SP1 
 +  * Configurer celui du SP2
  
-- Routeur, Partage de connexion (ou ICS), ICS est le mécanisme de partage de connexion utilisé par Windows (le nom ICS vous est peut être inconnumais si vous avez activé ce partage de connexion Windows vous l'utilisez sans le savoir). Les outils Wingate ou Winroute peuvent aussi assurer un partage de connexion et sont peut être plus simples à configurerou mappez (redirigez en associant un numéro de port à une adresse IP) votre port manuellement (quelques recherches sur google vous seront sans doute nécessairesen tapant ICS suivi de votre version de windows). +=== 2Autres logiciels === 
-Certains modems aDSL ont une fonctionnalité de routeur, et à ce titre doivent être configurés pour faire fonctionner les P2PLa procédure de configuration est similaire à celle du firewall (choix d'un port depuis le logiciel P2P, puis configuration du routeur pour qu'il transmette les données de ce port vers la bonne machine)+NortonJeticoMcAffeeISaferetc...
  
-Si les notions de firewall et de port vous sont étrangèresconsultez le dossier sur la sécurité+=== 3) Mis en place par l'administrateur réseau === 
 +Dans les entreprisesles universités...
  
-Pour avoir une idée des ports utilisés par défaut par les P2P, vous pouvez consulter le topic sur le forum "Liste des ports utilisés par les P2P"+==== C - Le partage de connexion ====
  
-Si vous avez Windows XP et le Service Pack 2 d'installé (SP2), vous pouvez consulter ce topic, vos problèmes y sont peut être liés. +=== 1Par routeur ===
-(Avec SP2, il est parfois difficile d'obtenir de bonnes performances sur certains P2P, voir même difficile de s'y connecter)+
  
-Assurez vous également à ce que votre connexion internet ne soit pas trop sollicitée par d'autres programmes (sourtout vrai pour les possesseurs de connexion internet bas débit)si votre connexion est déjà occupée ailleurs, vous ne réussirez pas à établir une connexion tant le débit d'informations reçues sera insuffisant, le délai qui est imparti pour l'établissement de celle-ci sera dépassé et la connexion sera rompue. (Timeout)+=== 2) Par ICS (Internet Connection Sharing, de Windows===
  
-Il ne faut pas non plus oublier la nature du serveur auquel vous êtes connecté, dans les P2P décentralisés, ce sont des utilisateurs tout comme vous (supernodes/ultrapeers), qui sont donc susceptibles de se déconnecter et de ne plus assurer la transition entre votre ordinateur et celui des autres.+ --- //auteur [[user:111110101011|111110101011]]//
docs/faq/p2p_et_ports.1176119334.txt.gz · Dernière modification: 04-04-2013 22:05 (modification externe)