Proxys IPv6
Un proxy IPv6 utilise une adresse IPv6 lorsqu’il contacte des sites pour votre compte. L’adresse contient des chiffres et des lettres séparés par des deux-points et peut prendre cette forme : 2001:db8::42. Le site la voit comme l’adresse d’origine de la requête.
Les différences entre les deux versions IP sont présentées dans Proxys IPv4 ou IPv6. Nous expliquons ici comment s’écrit une adresse IPv6 et ce qu’il faut savoir sur les proxys qui utilisent ces adresses.
Que sont IPv6 et les proxys IPv6 ?
IPv6 signifie Internet Protocol version 6, ou protocole Internet version 6. Il définit les règles d’envoi des données entre appareils sur un réseau. Les données circulent dans de petites unités appelées paquets. Chaque paquet contient les adresses IP de l’expéditeur et du destinataire, qui indiquent aux équipements réseau d’où viennent les données et où les envoyer.
Une adresse IPv6 est attribuée à une interface réseau d’un appareil, comme la carte réseau d’un serveur. Une interface peut avoir plusieurs adresses. Celles-ci peuvent être modifiées ; une adresse IP n’est donc pas liée définitivement à un appareil.
Lorsque vous utilisez un proxy, votre application lui envoie d’abord sa requête. Le proxy contacte le site, reçoit sa réponse et la transmet à l’application. Un proxy IPv6 le fait avec une adresse IPv6. Le site peut consigner cette adresse, la confronter à ses règles d’accès ou l’utiliser pour estimer le pays du visiteur.
Comment une adresse IPv6 est-elle structurée ?
Écrite intégralement, une adresse IPv6 comporte huit groupes de quatre chiffres hexadécimaux. Les groupes sont séparés par des deux-points : 2001:0db8:0000:0000:0000:0000:0000:0042. Le schéma présente chaque groupe séparément.
Le système hexadécimal utilise seize symboles : les chiffres 0–9 et les lettres a–f. Les lettres représentent les nombres de dix à quinze et comptent donc aussi comme des chiffres dans cette notation. Ensemble, les chiffres forment une adresse numérique ; ils n’écrivent pas le nom d’un pays ou d’un fournisseur.
Un bit est un chiffre binaire : zéro ou un. Chaque chiffre hexadécimal représente quatre bits, soit seize bits par groupe de quatre chiffres. Huit groupes donnent un total de 128 bits. Chaque groupe peut contenir un nombre de 0000 à ffff. Les deux-points facilitent la lecture des groupes et ne font pas partie de ces 128 bits.
Les listes de proxys présentent généralement une forme abrégée de l’adresse. Certains zéros sont omis selon des règles précises. L’adresse elle-même reste identique : elle comporte toujours huit groupes de 16 bits, même s’ils n’apparaissent pas tous à l’écran.
Adresses abrégées et numéros de port
La première règle consiste à supprimer les zéros au début de chaque groupe. Par exemple, 0db8 devient db8, 0042 devient 42 et 0000 devient un seul 0. Notre adresse s’écrit désormais 2001:db8:0:0:0:0:0:42. Les zéros au milieu ou à la fin d’un groupe doivent rester : les supprimer change le nombre.
La deuxième règle consiste à remplacer des groupes de zéros consécutifs par un double deux-points, ::. Notre exemple comprend cinq groupes de ce type à la suite ; il peut donc s’écrire 2001:db8::42. Un double deux-points ne peut apparaître qu’une fois dans une adresse. Sinon, le logiciel ne pourrait pas savoir combien de groupes ont été omis à chaque emplacement.
Pour abréger une adresse, choisissez la plus longue suite de groupes nuls. Si plusieurs suites ont la même longueur, abrégez la première. Pour une notation cohérente, la norme recommande les lettres minuscules et indique de ne pas remplacer un seul groupe nul par un double deux-points. Les majuscules sont aussi valides et représentent les mêmes nombres. Les formes complètes et abrégées, ou celles dont la casse diffère, peuvent donc toutes désigner la même adresse IP.
Pour écrire un port à côté d’une adresse IPv6, placez l’adresse entre crochets, puis le port après ceux-ci : [2001:db8::42]:8080. Les crochets montrent où se terminent l’adresse et ses deux-points, ce qui permet de lire le port séparément.
Ici, le texte entre crochets est l’adresse IPv6 et 8080 est le numéro de port. Un serveur peut exécuter plusieurs services ; le port identifie celui auquel se connecter. Pour un proxy, c’est le port sur lequel il accepte les connexions clientes. Ni le port ni les crochets ne font partie de l’adresse IPv6. Une chaîne complète précisant le protocole peut prendre cette forme : http://[2001:db8::42]:8080. Si votre application propose des champs d’adresse et de port distincts, saisissez les valeurs séparément en respectant le format requis.
Pourquoi y a-t-il autant d’adresses IPv6 ?
Avec 128 bits, il existe 2128 adresses possibles, soit environ 3,4 × 1038. C’est le nombre total de combinaisons possibles. Toutes ne sont pas destinées à un usage sur Internet : certaines plages sont réservées à des usages particuliers.
Les opérateurs réseau reçoivent de grandes plages IPv6 et en attribuent des parties à leurs clients. Un fournisseur de proxys peut disposer d’une vaste réserve d’adresses inutilisées. Il utilise sa plage pour constituer un pool : l’ensemble des adresses qu’il met à disposition des utilisateurs de proxys. Lorsqu’il faut davantage d’IP, il peut les prélever dans la même plage.
Cette réserve permet à un fournisseur d’élargir plus facilement son pool et d’attribuer des adresses que personne n’a utilisées auparavant. Elle rend aussi possible un prix faible par IP. Un proxy fonctionnel a néanmoins toujours besoin d’un serveur et d’un accès réseau : des adresses disponibles ne remplacent ni le matériel ni une connexion Internet.
Où les fournisseurs obtiennent-ils leurs adresses IPv6 ?
Les registres Internet régionaux distribuent des plages d’adresses aux opérateurs réseau et à d’autres acteurs d’Internet. Un fournisseur de proxys peut obtenir une plage auprès d’un hébergeur, de l’opérateur qui relie ses serveurs à Internet ou d’un registre pour son propre réseau. Il doit utiliser les adresses selon les conditions d’attribution de la plage.
La plage a aussi besoin de routage : des chemins permettant aux données de circuler entre les réseaux. Les équipements réseau doivent acheminer les réponses des sites vers les serveurs proxy qui utilisent ces adresses. Sans routes correctement configurées, les proxys ne peuvent pas échanger de données avec les sites. Une liste d’adresses IPv6 générée au hasard ne fonctionnera pas : les adresses doivent être attribuées au fournisseur et accessibles par son réseau.
Un seul serveur peut avoir de nombreuses adresses IPv6. Le logiciel proxy sélectionne une adresse source lorsqu’il ouvre une connexion à un site. Les requêtes envoyées par cette même connexion TCP conservent son adresse source ; l’adresse utilisée pour une nouvelle connexion dépend des paramètres du service. Mille IP différentes ne signifient donc pas nécessairement mille serveurs : toutes peuvent fonctionner sur une seule machine et partager une seule connexion Internet.
Le libellé IPv6 ne dit pas qui exploite le réseau. Ces adresses sont utilisées par des centres de données, des fournisseurs d’accès domestiques, des organismes et des opérateurs mobiles. Vérifiez le type de réseau et le pays dans l’offre précise ; le format de l’adresse ne permet pas de les connaître.
Qu’est-ce qui détermine le coût des proxys IPv6 ?
Un fournisseur paie les serveurs et la connectivité, configure ses proxys, les surveille et assiste ses clients. Ces dépenses subsistent même lorsque les adresses IPv6 inutilisées sont abondantes. Si un serveur gère un vaste pool, les coûts peuvent être répartis entre de nombreuses IP. C’est pourquoi une longue liste d’adresses peut être relativement peu coûteuse.
Les fournisseurs peuvent facturer de différentes façons : pour une liste fixe d’IP, un volume de trafic, un nombre de requêtes ou l’accès à un pool. Pour estimer vos coûts, vous devez savoir ce que l’offre inclut et ce qui est facturé en supplément. Le seul prix par IP renseigne peu sur le coût total d’exécution de vos tâches.
Le nombre d’adresses et les performances du proxy sont deux choses différentes. Ajouter mille IP au même serveur n’accélère pas son processeur et n’augmente pas sa bande passante réseau. Le nombre de requêtes simultanées qu’il peut traiter dépend du matériel, de la connectivité et des limites de l’offre. Les temps de réponse dépendent aussi de la distance du site et des réseaux qui le séparent du proxy.
Une offre comprenant de nombreuses IP peut donc convenir à des tâches qui nécessitent différentes adresses, mais émettent relativement peu de requêtes. Le traitement de nombreuses requêtes simultanées exige une capacité suffisante des serveurs et du réseau. Lors du choix d’une offre, évaluez séparément le nombre d’IP et la charge de travail qu’elle peut prendre en charge.
Compatibilité avec les sites et les applications
Pour qu’un proxy contacte un site en IPv6, celui-ci doit posséder une adresse IPv6 et accepter les connexions à cette adresse. Elle figure généralement dans le DNS, le système qui associe les noms de domaine aux adresses IP. IPv6 utilise un enregistrement AAAA. Un enregistrement DNS ne suffit pas : le serveur du site doit fonctionner et le réseau du fournisseur de proxys doit pouvoir l’atteindre en IPv6.
Si un site fonctionne uniquement en IPv4, un proxy ne peut pas le contacter directement depuis une adresse IPv6. Certains fournisseurs proposent un accès IPv4 à ces sites : la requête est transmise avec une adresse IPv4, qui est celle vue par le site. Vérifiez auprès du fournisseur s’il propose cette option. Mille adresses IPv6 ne deviennent pas mille adresses IPv4 ; le nombre d’adresses IPv4 disponibles dépend de ce que fournit le prestataire.
Un site peut utiliser des domaines distincts pour sa page d’accueil, la connexion aux comptes et l’API par laquelle les applications demandent des données. Par exemple, la page d’accueil peut être disponible en IPv6 tandis que le serveur de connexion prend uniquement IPv4 en charge. Un proxy qui contacte les sites exclusivement en IPv6 pourrait ouvrir la page d’accueil sans pouvoir terminer la connexion au compte. Testez toute la suite d’actions effectuée par votre application : l’ouverture d’une page ne montre pas que ses autres requêtes fonctionneront.
La façon dont l’application transmet l’adresse du site au proxy compte aussi. HTTP et SOCKS5 sont des protocoles de proxy ; leurs noms ne confirment pas à eux seuls qu’un proxy particulier peut contacter des sites en IPv6. Si l’application envoie un nom de domaine, le proxy peut rechercher son adresse IPv6 par DNS, mais peut choisir IPv4 lorsque les deux sont disponibles. Si l’application envoie uniquement une adresse IPv4, elle demande une connexion à cette adresse. Pour tester spécifiquement IPv6, utilisez un paramètre du service qui sélectionne IPv6 ou transmettez l’adresse IPv6 de la destination lorsque c’est possible, puis vérifiez l’adresse vue par la destination.
L’adresse saisie dans votre application peut différer de celle vue par le site. Par exemple, l’application se connecte au proxy en IPv4 et le proxy contacte le site en IPv6. Cela permet d’utiliser un proxy IPv6 même lorsque votre propre réseau ne dispose pas d’une connectivité IPv6. Si le fournisseur ne propose qu’une adresse IPv6 pour se connecter au proxy lui-même, votre application et votre réseau doivent aussi prendre IPv6 en charge.
Adresses nouvelles, réputation du réseau et restrictions
La vaste réserve IPv6 rend possibles des adresses jamais utilisées, mais ne prouve pas qu’une adresse précise est nouvelle. Un fournisseur peut vous attribuer une IP déjà fournie à un autre client, et ses propres registres d’attribution peuvent ne pas couvrir les usages antérieurs de la plage. Si l’adresse n’a jamais été utilisée, elle n’a pas d’historique propre de requêtes d’un utilisateur précédent. C’est une question distincte de l’historique du réseau environnant.
Un site peut tenir compte à la fois de l’IP individuelle et du réseau auquel elle appartient. Par exemple, une adresse inutilisée peut appartenir à un centre de données dont d’autres adresses ont déjà envoyé des requêtes indésirables à ce site. Dans ce cas, l’absence d’historique sur cette IP ne garantit pas que le site lui fera confiance.
Les blocages peuvent aussi s’appliquer à une plage d’adresses entière. Si un site a bloqué la plage du fournisseur, passer à une autre IP de cette plage ne résoudra pas le problème. Pour la même raison, vous ne pouvez pas supposer que chaque adresse bénéficiera de son propre quota de requêtes : un site peut appliquer une limite partagée à un groupe d’adresses.
Une promesse d’« IP propres » exige une explication du vendeur. Il peut avoir vérifié les adresses dans certaines listes de blocage, tandis que le site dont vous avez besoin applique ses propres restrictions. Une adresse peut être absente des listes consultées tout en ne fonctionnant pas sur un site particulier.
Un vaste pool IPv6 ne signifie pas, à lui seul, une mauvaise réputation. Le nombre d’adresses, leur utilisation passée et les réseaux auxquels elles appartiennent sont des critères distincts. Demandez si le fournisseur attribue des adresses d’une seule plage ou de plusieurs réseaux, et testez les proxys sur les sites dont vous avez besoin.
