.\" -*- coding: UTF-8 -*- .\" Copyright 2000, Andi Kleen .\" Copyright, the authors of the Linux man-pages project .\" .\" SPDX-License-Identifier: Linux-man-pages-1-para .\" .\"******************************************************************* .\" .\" This file was generated with po4a. Translate the source file. .\" .\"******************************************************************* .TH ipv6 7 "8 février 2026" "Linux man\-pages 6.18" .SH NOM ipv6 \- Implémentation Linux du protocole IPv6 .SH SYNOPSIS .nf \fB#include \fP \fB#include \fP .P \fItcp6_socket\fP\fB = socket(AF_INET6, SOCK_STREAM, 0);\fP \fIraw6_socket\fP\fB = socket(AF_INET6, SOCK_RAW, \fP\fIprotocole\fP\fB);\fP \fIudp6_socket\fP\fB = socket(AF_INET6, SOCK_DGRAM, \fP\fIprotocole\fP\fB);\fP .fi .SH DESCRIPTION Linux 2.2 implémente en option le protocole internet version 6 (IPv6). Cette page de manuel contient la description de l'API IPv6 de base, telle qu'implémentée dans le noyau Linux et la glibc 2.1 L'interface est basée sur l'interface des sockets BSD. Consultez \fBsocket\fP(7). .P L'API IPv6 est conçue pour être essentiellement compatible avec l'API IPv4 (consultez \fBip\fP(7)). Seules les différences sont décrites dans cette page de manuel. .P Pour attacher un socket \fBAF_INET6\fP, l'adresse locale doit être copiée dans une variable \fIin6addr_any\fP qui a le type \fIin6_addr\fP. Dans les initialisations statiques, \fBIN6ADDR_ANY_INIT\fP peut servir aussi et se développe en une expression constante. Toutes les valeurs sont dans l'ordre des octets du réseau. .P L'adresse de boucle IPv6 (::1) est disponible dans la variable globale \fIin6addr_loopback\fP. Pour les initialisations, on doit utiliser \fBIN6ADDR_LOOPBACK_INIT\fP. .P Les connexions IPv4 peuvent être traitées avec l'API v6 en utilisant le type d'adresse v4\-projeté\-dans\-v6. Ainsi un programme n'a qu'un seul type d'API à utiliser pour prendre en charge les deux protocoles. C’est géré de manière transparente par les fonctions d'adressage de la bibliothèque C. .P IPv4 et IPv6 partagent l'espace des ports locaux. Lorsqu'une connexion ou un paquet IPv4 est obtenu sur un socket IPv6, son adresse source sera projetée en v6. .SS "Formats d'adresse" .in +4n .EX struct sockaddr_in6 { sa_family_t sin6_family; /* AF_INET6 */ in_port_t sin6_port; /* numéro de port */ uint32_t sin6_flowinfo; /* information de flux IPv6 */ struct in6_addr sin6_addr; /* adresse IPv6 */ uint32_t sin6_scope_id; /* Scope ID (nouveau dans Linux 2.4) */ }; \& struct in6_addr { unsigned char s6_addr[16]; /* adresse IPv6 */ }; .EE .in .P \fIsin6_family\fP est toujours rempli avec \fBAF_INET6\fP\ ; \fIsin6_port\fP est le port du protocole (consultez \fIsin_port\fP dans \fBip\fP(7))\ ; \fIsin6_flowinfo\fP est l'identificateur de flux IPv6, \fIsin6_addr\fP est l'adresse IPv6 sur 128 bits. \fIsin6_scope_id\fP est un identificateur qui dépend de la portée de l'adresse. C'est une nouveauté Linux 2.4. Linux ne le prend en charge que pour les adresses locales lien, dans ce cas \fIsin6_scope_id\fP contient le numéro d'interface (consultez \fBnetdevice\fP(7)). .P IPv6 prend en charge plusieurs types d'adresses\ : unicast pour représenter un hôte unique, multicast pour un groupe d'hôtes, anycast pour indiquer le membre le plus proche d'un groupe d'hôtes (non implémenté sous Linux), IPv4\-on\-IPv6 pour un hôte IPv4 et d'autres types d'adresse réservés. .P La notation d'adresse pour l'IPv6 est un groupe de 8 nombres hexadécimaux sur 4 chiffres, séparés par un deux\-points «\ :\ ». Un «\ ::\ » représente une chaîne de bits\ 0. Les adresses spéciales sont\ ::1 pour le bouclage loopback et\ ::FFFF: pour les projections d'adresses IPv4 sur l'IPv6. .P L'espace des ports de l'IPv6 est partagé avec l'IPv4. .SS "Options de socket" See \fBIPPROTO_IPV6\fP(2const). .SH ERREURS .TP \fBENODEV\fP L'utilisateur a essayé de lier avec \fBbind\fP(2) sur une adresse locale lien IPv6, mais le \fIsin6_scope_id\fP de la structure \fIsockaddr_in6\fP fournie n'est pas un numéro d'interface valable. .SH VERSIONS Linux 2.4 rompt la compatibilité binaire pour la structure \fIsockaddr_in6\fP des hôtes sur 64 bits, en modifiant l'alignement de \fIin6_addr\fP et en ajoutant un champ \fIsin6_scope_id\fP supplémentaire. Les interfaces du noyau restent compatible, mais un programme contenant des \fIsockaddr_in6\fP ou des \fIin6_addr\fP dans d'autres structures ne l'est peut être pas. Ce n'est pas un problème pour les hôtes sur 32 bits comme les i386. .P Le champ \fIsin6_flowinfo\fP est une nouveauté Linux 2.4. Il est écrit/lu de manière transparente par le noyau quand la longueur de l'adresse passée le contient. Certains programmes qui passent un tampon d'adresse plus long et vérifient ensuite la longueur de l'adresse renvoyée peuvent échouer. .SH NOTES La structure \fIsockaddr_in6\fP est plus grande que la structure \fIsockaddr\fP générique. Les programmes qui supposent que tous les types d'adresses peuvent être stockés dans une \fIstruct sockaddr\fP doivent être modifiés pour utiliser \fIstruct sockaddr_storage\fP à la place. .P \fBSOL_IP\fP, \fBSOL_IPV6\fP, \fBSOL_ICMPV6\fP et d'autres options de socket \fBSOL_*\fP sont des variantes non portables de \fBIPPROTO_*\fP. Voir aussi \fBip\fP(7). .SH BOGUES L'API IPv6 étendue, telle que dans la RFC\ 2292, n'est encore que partiellement implémentée. Bien que les noyaux 2.2 ont une prise en charge pratiquement complète des options de réception, les macros déclarant les options IPv6 manquent dans la glibc 2.1. .P La prise en charge IPSec pour les en\-têtes EH et AH manque. .P La gestion des étiquettes de flux n'est pas complète, ni documentée ici. .P Cette page de manuel n'est pas complète. .SH "VOIR AUSSI" \fBIPPROTO_IPV6\fP(2const), \fBip\fP(7) .P RFC\ 2553 : API IPv6 de base, avec laquelle Linux essaye d'être compatible. RFC\ 2460 : spécifications d'IPv6. .PP .SH TRADUCTION La traduction française de cette page de manuel a été créée par Christophe Blaess , Stéphan Rafin , Thierry Vignaud , François Micaux, Alain Portal , Jean-Philippe Guérard , Jean-Luc Coulon (f5ibh) , Julien Cristau , Thomas Huriaux , Nicolas François , Florentin Duneau , Simon Paillard , Denis Barbier , David Prévot et Jean-Pierre Giraud . .PP Cette traduction est une documentation libre ; veuillez vous reporter à la .UR https://www.gnu.org/licenses/gpl-3.0.html GNU General Public License version 3 .UE concernant les conditions de copie et de distribution. Il n'y a aucune RESPONSABILITÉ LÉGALE. .PP Si vous découvrez un bogue dans la traduction de cette page de manuel, veuillez envoyer un message à .MT debian-l10n-french@lists.debian.org .ME .