L’un des problèmes les plus fréquents sur les P2P est relatif aux ports (Voir 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. 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.
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 routeur.
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). A l’inverse, un port entrant indique que le trafic se dirige vers votre ordinateur (vous recevez des données sur ce port).
Le pare-feu (firewall) est le dispositif par excellence qui contrôle ce trafic.
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 !
Un programme (un logiciel, une application) est souvent configuré pour utiliser un ou plusieurs ports précis. Nous envisagerons 2 cas, le logiciel pourra…
Le logiciel souhaite contacter un ordinateur sur internet. Exemple : votre navigateur internet souhaite joindre un site web. 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).1)
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. 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.
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. 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.
Pour compliquer (mais pas trop non plus !), on distingue les ports TCP et UDP. Ce qui les distingue est une caractéristique technique non essentielle2). 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.
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.
Votre système d'exploitation est capable de connaitre, lorsqu’une application est lancée, quel(s) port(s) celle-ci souhaite utiliser. Cette 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 ports. Cela 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 dit, vous “ajouterez eMule sur la liste des exceptions”). Les pare-feux qui ne s’interessent pas aux ports mais aux applications sont qualifiés de applicatifs.
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. 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 P2P, vous pourrez spécifier vous-même quel(s) port(s) l’application utilisera. Il est bon de le connaitre, non seulement car cela peut vous aider à configurer votre pare-feu, mais aussi car les ports entrants sont ceux auxquels votre routeur devra s’intéresser. Un bon complément de cette partie théorique qui s’interesse davantage aux routeurs est l’article Comprendre un modem routeur.
Vous la trouverez ici.
En écoute, supérieur à 1024.
Norton, Jetico, McAffee, ISafer, etc…
Dans les entreprises, les universités…
— auteur 111110101011