Bonjour,
Rarement actif sur cette mailing liste, je me permets d'intervenir
furtivement sur ce thread devenu inopinément semi-technique :)
On 07/30/2014 07:31 PM, fr...@jack.fr.eu.org wrote:
Si ton application (niveau 7) se soucie du niveau 4, c'est que tu es
programmeur de bien piètre qualité.
Un exemple de code venant de toi (aka "programmeur de qualité
supérieure") serait bienvenu pour illustrer ce propos. Par exemple un
code C de quelques lignes permettant de créer un socket, le binder, et
l'ouvrir en écoute. Cela sans *aucune* spécificité IPv4/IPv6. Bien
entendu ceci fonctionnant sur tout système POSIX, et indépendamment de
la disponibilité d'un stack IPv6.
Sans cela, ton commentaire ne représente que méchanceté gratuite et
infondée.
Pour info, AF_INET ne permet que l'IPv4, alors que AF_INET6 inclue les
deux protocoles.
On peut donc dire que AF_INET6 inclue AF_INET.
Et qui peut le plus, peut le moins.
C'est une demi-vérité un peu simpliste.
1. sur un système sans support IPv6, un appel socket() sur AF_INET6
n'ouvrira rien du tout (exemple: la distribution ARM "Raspbian" en
configuration par défaut)
2. sur un système où IPV6_BINDV6ONLY est actif (cas par défaut par ex.
sur FreeBSD), un appel AF_INET6 n'ouvrira un socket que sur IPv6,
rendant ainsi l'application injoignable en IPv4. Bien sur ceci est
modifiable en runtime via un appel setsockopt(), mais l'hypothèse étant
"qu'une application ne doit pas se soucier du niveau 4", la tâche
devient quelque peu compliquée.
Mateusz
---------------------------
Liste de diffusion du FRnOG
http://www.frnog.org/