Archive 07/10/2020.

Generic Address 2001:db8::1

solognot

La commande:
m3-1;ifconfig 7 add 2001:db8::1

semble assigner une adresse globale IPv6 specfique au premier noeud.

Les autres noeuds #2 et #3 ont au contraire une adresse IPv6 individuelle unique.

Cela semble paradoxal: d’autres experiences auront leur premier noeud avec la même adressse IPv6 globale ‘2001:db8::1’?

vmath54

J’ai la même interrogation

vmath54

Je pense avoir une explication:
Ce n’est pas parce qu’on a ajouté une adresse ipv6 globale (2001:db8::1) au noeud racine qu’il peut communiquer à l’extérieur.
Même si d’autres expériences utilisent la même adresse ipv6 globale, ca ne rentre pas en conflit, car les autres expériences utilisent un autre couple CHANNEL - PAN-ID

J’ai juste ?

vandaele

C’est juste. C’est le tirage aléatoire de ces valeurs en début de notebook, qui devrait isoler les expériences de chacun.

CHANNEL évite d’entendre ceux qui ne sont pas sur le même canal.
PAN ID ignore au niveau protocolaire les messages avec un PAN ID différent dans les en-têtes

solognot

@vandaele Le CHANNEL correspond à la couche physique - la radio - le PAN ID correspond à la couche protocole - les messages -, mais le IPv6 correspond à la couche réseau IP: l’adressage sur internet.
IPv6 permet en principe à chaque intrument connecté sur internet de recevoir une adresse globale unique permettant precisement aux IoT de communiquer indépendamment du support physique - radio ou non - ou du type de communication TCP, UDP ou autre.

La question correspond á la manière particuliére dont le noeud racine est configuré avec une adressse globale IPv6 qui semble être un prefixe pour le site de grenoble?

vandaele

Oui, pardon, je n’avais pas répondu sur la question de l’adresse IPv6.

Effectivement c’est une erreur dans le TP. J’ai repris des exemples des tutoriels RIOT où 2001:db8::1 est une adresse globale utilisée pour leurs exemples. J’aurais du ici la remplacer par une adresse privée comme fd00::1. Dans l’idéal les différents apprenants devraient en utiliser des différents. Je vais essayer d’améliorer ce TP en prenant ceci en compte.

Merci pour vos remarques.

PS: j’ai supprimé la réponse de @fsaintma qui est arrivée entre temps pour ne pas amener de confusion car elle traite du cas de l’utilisation d’un Border Router ce qui n’est pas la cas dans le TP13.

michel_billaud

Le préfixe 2001:db8::/32 est le préfixe réservé expressément pour les exemples dans les documentations.

Ça évite les gags qui n’ont pas manqué de se produire quand les gens apprenaient à configurer des réseaux IPv4 en suivant bêtement les adresses trouvées dans des tutoriels.

On peut utiliser librement ces adresses pour des essais à l’intérieur d’un réseau, les opérateurs ne les laissent pas passer vers le reste du monde. A l’intérieur d’un réseau, c’est la responsabilité de chacun.

Ici il faudrait voir ce que ça donne si plusieurs expériences utilisent le même canal+id, ce qui n’est pas totalement improbable (celui de l’exemple).

On doit pouvoir suggérer un préfixe 2001:db8:xxxx:yyyy::/32
ça laisse 32 bits de latitude pour xxxx et yyyy. Les 32 derniers bits du temps en microsecondes, faudrait vraiment pas avoir de chance :slight_smile:

https://tools.ietf.org/html/rfc3849

PS: quelque chose dans ce goût là :

from datetime import datetime
d = datetime.now()
h = hex(d.microsecond + 1000000* (d.second + 60*d.minute + 3600*d.hour + 24*3600*d.day))
print ('2001:db8:'+h[-8:-4]+":" +h[-4:])

A vérifier.