Se connecter
Se connecter
Inscription
Mot de passe perdu
Connexion:
[Actualités]
Nvidia prévient d'une pénurie de GPU ce trimestre, avec une reprise début 2025
[Actualités]
Les Technos #469 : Un jour sans fin
[Actualités]
Test Farming Simulator 25 (PS5) - Des innovations intéressantes mais des perfor...
[Actualités]
Qualcomm souhaite réduire davantage les prix des PC Windows basés sur ARM
[Actualités]
Finalement, Google préparerait une nouvelle tablette mais la Pixel Tablet 2 ser...
[Actualités]
Windows 10 version 22H2 : erreur de mise à jour et de désinstallation
[Actualités]
OpenAI prépare désormais son propre navigateur
[Actualités]
WhatsApp bat Telegram : les transcriptions des messages vocaux arrivent pour tou...
[Actualités]
Unreal et Unreal Tournament désormais gratuits sur Internet Archive
[Actualités]
Windows 10 : Microsoft affiche des publicités en plein écran pour les PC équi...
[Articles]
Dungeons 4 - Nintendo Switch Edition
[Articles]
The Bridge Curse 2 : The Extrication
[Articles]
Farmagia
[Articles]
I*CHU: Chibi Edition
[Articles]
Farming Simulator 25
[Articles]
Goblin Slayer -Another Adventurer- Nightmare Feast
[Articles]
Deel lance des programmes en marque blanche et pour les revendeurs pour plus de ...
[Articles]
ESET Research : WolfsBane, nouvelle porte dérobée de cyber-espionnage Linux cr...
[Articles]
Devoteam présente son nouveau plan stratégique « AMPLIFY » avec un fort acce...
[Articles]
LEGO Horizon Adventures
Actualités
Lettre d'information
Proposer une actualité
Archives
Actualités
Articles
Programmation
Press Release
Matériel
Logiciels
Livres
Interviews
Derniers commentaires
Jeux Vidéos
XBox One
XBox 360
Wii U
PSP
PS4
PS3
PC
DS
GameCube
3DS
Forum
Derniers messages
Informatique
Fun
Divers
Logithèque
Blogs
Divers
A Propos
Annonceurs
Contact
Recherche
RSS
Editer un article
Titre
Mots Clés
Texte
[size=18] [b]Nom[/b] [/size] ipv6, PF_INET6 - Implémentation Linux du protocole IPv6 [size=18] [b]Résumé[/b] [/size] [b]#include
[/b] [b][/b] [b]#include
[/b] [b][i]tcp6_socket = socket(PF_INET6, SOCK_STREAM, 0);[/i][/b] [b][/b] [b][i]raw6_socket = socket(PF_INET6, SOCK_RAW, protocol );[/i][/b] [b][/b] [b][i]udp6_socket = socket(PF_INET6, SOCK_DGRAM, protocol );[/i][/b] [size=18] [b]Description[/b] [/size] 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. Voir [b]socket (7). [/b] L'API IPv6 est conçue pour être essentiellement compatible avec l'API [b]ip (7) [/b] v4. Seules les différences sont décrites dans cette page de manuel. pour attacher une socket [b]AF_INET6 ,[/b] l'adresse locale doit être copiée dans une variable [b]in6addr_any[/b] qui a le type [b]in6_addr .[/b] Dans les initialisations statiques, [b]IN6ADDR_ANY_INIT[/b] peut servir aussi et se développe en une expression constante. Toutes les valeurs sont dans l'ordre des octets du réseau. L'adresse de boucle IPv6 (::1) est disponible dans la variable globale [b]in6addr_loopback .[/b] Pour les initialisation, on doit utiliser [b]IN6ADDR_LOOPBACK_INIT .[/b] Les connexions IPv4 peuvent être traitée 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 supporter les deux protocoles. Ceci est géré de manière transparente par les fonctions d'adressage de la LibC. IPv4 et IPv6 partagent l'espace des ports locaux. Lorsqu'une connexion IPv4 ou un paquet est obtenu sur une socket IPv6, son adresse source sera projetée en v6. [size=18] [b]Format dadresse[/b] [/size] [table][row][col] [/col][col] .nf .ta 4n 5n 20n struct sockaddr_in6 { u_int16_t sin6_family; /* AF_INET6 */ u_int16_t sin6_port; /* numéro port */ u_int32_t sin6_flowinfo; /* information flux IPv6 */ struct in6_addr sin6_addr; /* adresse IPv6 */ u_int32_t sin6_scope_id; /* Scope id (nouveauté 2.4) */ }; struct in6_addr { unsigned char s6_addr[16]; /* adresse IPv6 */ }; .ta .fi[/col][/row][/table] [b]sin6_family [/b] est toujours rempli avec [b]AF_INET6 ;[/b] [b]sin6_port [/b] est le port du protocole (voir [b]sin_port[/b] dans [b]ip (7));[/b] [b]sin6_flowinfo[/b] est l'identificateur de flux IPv6, [b]sin6_addr[/b] est l'adresse IPv6 sur 128 bits. [b]sin6_scope_id [/b] est un identificateur qui dépend de la portée de l'adresse. C'est une nouveauté Linux 2.4. Linux ne le supporte que pour les adresse ayant une portée liaison, dans ce cas [i]sin6_scope_id[/i] contient le numéro d'interface (voir [b]netdevice (7))[/b] IPv6 supporte 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. La notation d'adresse pour l'IPv6 est un groupe de 16 nombres hexadécimaux sur 2 chiffres, séparés par un deux-points `:'. Un `::' représente une chaîne de zéros. Les adresses spéciales sont ::1 pour le bouclage loopback et ::FFFF:
pour les projections d'adresses IPv4 sur l'IPv6. L'espace des ports de l'IPv6 est partagé avec l'IPv4. [size=18] [b]Options[/b] [/size] IPv6 supporte quelques options des sockets spécifiques du protocole, qui peuvent être fixées avec [b]setsockopt (2)[/b] et consultées avec [b]getsockopt (2).[/b] Le niveau d'option de socket pour l'IPv6 est [b]IPPROTO_IPV6 .[/b] Un entier booléen est faux quand il est nul et vrai sinon. [b]IPV6_UNICAST_HOPS[/b] [table][row][col] [/col][col]Fixe la limite du nombre de sauts (hops) unicast. L'argument est un pointeur sur un entier. La valeur -1 correspond à la valeur par défaut de routage, sinon il doit s'agir d'un entier entre 0 et 255.[/col][/row][/table] [b]IPV6_MULTICAST_HOPS[/b] [table][row][col] [/col][col]Fixe la limite du nombre de sauts (hops) multicast. L'argument est un pointeur sur un entier. La valeur -1 correspond à la valeur par défaut de routage, sinon il doit s'agir d'un entier entre 0 et 255.[/col][/row][/table] [b]IPV6_MULTICAST_IF[/b] [table][row][col] [/col][col]Fixe le périphérique pour les paquets multicasts sortants de la socket. Ceci n'est permis que pour les sockets [i]SOCK_DGRAM[/i] et [b]SOCK_RAW .[/b] L'argument est un pointeur sur un numéro d'interface (voir [b]netdevice (7))[/b] dans un entier.[/col][/row][/table] [b]IPV6_ADDRFORM[/b] [table][row][col] [/col][col]Transformer une socket [i]AF_INET6[/i] en une socket d'une famille d'adresse différente. Seul [i]AF_INET[/i] est actuellement supporté pour cela. Cela n'est autorisé que pour les sockets IPv6 connectées et attachées à une adresse v4-sur-v6. L'argument est un pointeur sur un entier contenant [b]AF_INET. [/b] Cela est utile pour passer des sockets projetées en v4 comme descripteurs à des programmes ne sachant pas manipuler l'API IPv6.[/col][/row][/table] [b]IPV6_PKTINFO[/b] [table][row][col] [/col][col]Fixe la distribution des messages de contrôle [b]IPV6_PKTINFO [/b] des datagrammes entrants. Uniquement autorisé pour les sockets [b]SOCK_DGRAM[/b] ou [b]SOCK_RAW .[/b] L'argument est un pointeur sur une valeur booléenne dans un entier.[/col][/row][/table] [table][row][col] [/col][col].nh [b]IPV6_RTHDR, IPV6_AUTHHDR, IPV6_DSTOPS, IPV6_HOPOPTS, IPV6_FLOWINFO, IPV6_HOPLIMIT[/b] .hy Fixe la distribution des messages de contrôle des datagrammes entrants contenant les en-têtes d'extensions. [i]IPV6_RTHDR[/i] délivre l'en-tête de routage, [i]IPV6_AUTHHDR[/i] délivre l'en-tête d'authentification, [i]IPV6_DSTOPTS[/i] délivre les options de destination, [i]IPV6_HOPOPTS[/i] délivre les options de saut, [i]IPV6_FLOWINFO[/i] délivre un entier contenant l'identificateur de flux, [i]IPV6_HOPLIMIT[/i] délivre un entier contenant le nombre de sauts du paquet. Les messages de contrôle ont le même type que l'option de socket. Toutes ces options d'en-tête peuvent aussi être fixées pour les paquets sortants en mettant le message de contrôle approprié dans le buffer de [b]sendmsg (2).[/b] Uniquement autorisé pour les sockets [b]SOCK_DGRAM[/b] ou [b]SOCK_RAW[/b] L'argument est un pointeur sur une valeur booléenne.[/col][/row][/table] [b]IPV6_MULTICAST_LOOP[/b] [table][row][col] [/col][col]Détermine si la socket voit les paquets multicast qu'elle a elle-même émis. L'argument est un pointeur sur une valeur booléenne.[/col][/row][/table] [b]IPV6_ADD_MEMBERSHIP, IPV6_DROP_MEMBERSHIP[/b] [table][row][col] [/col][col]Détermine l'appartenance aux groupes multicast. L'argument est un pointeur sur une structure [b]struct ipv6_mreq .[/b][/col][/row][/table] [b]IPV6_MTU[/b] [table][row][col] [/col][col]Fixe le MTU à utiliser pour la socket. Le MTU est limité par celui du périphérique ou celui du chemin lorsque la recherche du MTU par chemin est activée. L'argument est un pointeur sur un entier.[/col][/row][/table] [b]IPV6_MTU_DISCOVER[/b] [table][row][col] [/col][col]Commander la recherche du MTU par chemin sur la socket. Voir l'option [i]IP_MTU_DISCOVER[/i] dans [b]ip (7)[/b] pour plus de précisions.[/col][/row][/table] [b]IPV6_RECVERR[/b] [table][row][col] [/col][col]Commande la réception des erreurs asynchrones. Voir [i]IP_RECVERR[/i] dans [b]ip (7)[/b] pour plus de précisions. L'argument est un pointeur sur un booléen.[/col][/row][/table] [b]IPV6_ROUTER_ALERT[/b] [table][row][col] [/col][col]Passer sur cette socket tous les paquets redirigés (forwarded) contenant une option d'alerte du routeur. Uniquement autorisé pour les sockets datagrammes, et pour root. L'argument est un pointeur vers un booléen.[/col][/row][/table] [size=18] [b]Versions[/b] [/size] L'ancienne implémentation IPv6 pour Linux basée sur [i]libinet6[/i] de la LibC5 n'est pas décrite ici, et peut être légèrement différente. Linux 2.4 rompt la compatibilité binaire pour la structure sockaddr_in6 des hôtes sur 64 bits, en modifiant l'alignement de [i]in6_addr [/i] et en ajoutant un champ [i]sin6_scope_id[/i] supplémentaire. Les interfaces du noyau restent compatible, mais un programme contenant des sockaddr_in6 ou des in6_addr 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. Le champ [b]sin6_flowinfo[/b] 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 buffer d'adresse plus long et vérifient ensuite la longueur de l'adresse renvoyée peuvent échouer. [size=18] [b]Notes[/b] [/size] La structure [b]sockaddr_in6[/b] est plus grande que la structure [b]sockaddr[/b] générique. Les programmes qui supposent que tous les types d'adresses peuvent être stockés dans une [b]struct sockaddr[/b] doivent être modifiés pour utiliser [b]struct sockaddr_storage[/b] à la place. [size=18] [b]Bugs[/b] [/size] 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 un support pratiquement complet pour les options de réception, les macros déclarant les options IPv6 manquent dans la GlibC 2.1. Le support IPSec pour les en-têtes EH et AH est manquant. La gestion des étiquettes de flux n'est pas complète, ni documentée ici. Cette page de manuel n'est pas complète. [size=18] [b]Voir aussi[/b] [/size] [b]ip (7),[/b] [b]cmsg (3)[/b] RFC2553: API IPv6 de base, avec laquelle Linux essaye d'être compatible. RFC2460: Spécifications IPv6 [size=18] [b]Traduction[/b] [/size] Christophe Blaess, 2001-2003.
Fichier
Forum
-
Derniers messages
Bavardages
Aujourd'hui, je rénove ou je construis ^^
Software
problème sur windows 10
Réseaux et Télécom
Administrateur Réseau - Cisco
Réseaux et Télécom
Problème wifi (POE)
Software
Postfix - Need help
Bavardages
Oh râge oh désespoir !
Programmation
Enregistrement client et envoi mail
Software
SÉCURITÉ MACBOOK
Hardware
conseil matos réseau?
Hardware
nVidia Shield Android TV
Actualités
-
Archives
Matériel
Nvidia prévient d'une pénurie de GPU ce trimestre, avec une reprise début 2025
Les Technos
Les Technos #469 : Un jour sans fin
Jeux Vidéos
Test Farming Simulator 25 (PS5) - Des innovations intéressantes mais des performances à revoir
Matériel
Qualcomm souhaite réduire davantage les prix des PC Windows basés sur ARM
Tablettes
Finalement, Google préparerait une nouvelle tablette mais la Pixel Tablet 2 serait abandonnée
Ada
CSS
Cobol
CPP
HTML
Fortran
Java
JavaScript
Pascal
Perl
PHP
Python
SQL
VB
XML
Anon URL
DailyMotion
eBay
Flickr
FLV
Google Video
Google Maps
Metacafe
MP3
SeeqPod
Veoh
Yahoo Video
YouTube
6px
8px
10px
12px
14px
16px
18px
Informaticien.be
- © 2002-2024
Akretio
SPRL - Generated via
Kelare
The Akretio Network:
Akretio
-
Freedelity
-
KelCommerce
-
Votre publicité sur informaticien.be ?