Consulter la source sur GitHub
OpenThread offre à la fois une fonctionnalité de serveur et de client SRP, permettant aux appareils d'enregistrer des services basés sur DNS à l'aide de la mise à jour DNS standard envoyée sous forme de paquets unicast. Cette fonctionnalité active la détection de services basée sur DNS.
Ce guide fournit des tâches de base qui utilisent certaines des commandes srp server
et srp client
les plus courantes.
Commandes du serveur SRP
Pour obtenir la liste des commandes srp server
, saisissez help
:
srp server help
addrmode
auto
disable
domain
enable
help
host
lease
seqnum
service
state
Done
Commandes du client SRP
Pour obtenir la liste des commandes srp client
, saisissez help
:
srp client help
autostart
callback
help
host
keyleaseinterval
leaseinterval
service
start
state
stop
ttl
Done
Documentation de référence sur les commandes CLI
Pour obtenir la description et la syntaxe de toutes les commandes, reportez-vous à la documentation de référence sur les commandes CLI. Les commandes du serveur SRP commencent par ordre alphabétique (srp server (enable,disable). Les commandes du client SRP commencent par ordre alphabétique : srp client autostart (get).
Atelier de programmation sur le routeur de bordure Thread
L'atelier de programmation sur le routeur de bordure OpenThread fournit des informations sur la configuration de l'appareil final du client SRP.
Présentation de certaines commandes SRP de base
Les commandes du serveur et du client SRP peuvent être utilisées dans l'ordre pour effectuer des tâches SRP classiques:
-
srp server enable
active le serveur SRP une fois que vous avez créé le réseau Thread. -
srp client host name
définit le nom d'hôte que le client doit utiliser.srp client host address (set)
active le mode d'adresse du client hôte automatique ou définit explicitement la liste des adresses du client hôte.srp client service add
ajoute un service avec un nom d'instance, un nom de service et un numéro de port donnés.srp client autostart enable
active le mode de démarrage automatique. Vous pouvez également démarrer le client manuellement en exécutantsrp client start
.
-
srp client host
etsrp client service
indiquent l'état indiquant si l'hôte et le service client ont bien été enregistrés sur le nœud client.srp server host
etsrp server service
fournissent l'état de l'hôte et du service sur le nœud de serveur.
-
srp client service remove
supprime un service, mais conserve son nom. Supprimez les noms d'hôte et de service.
srp client host remove
supprime l'hôte et tous les services enregistrés.
Exemples d'utilisation du serveur SRP et des commandes client
Ces exemples utilisent des commandes CLI de base pour configurer un réseau Thread, démarrer le serveur et le client SRP, vérifier l'état du serveur et supprimer un service. Les exemples de données sont utilisés à titre d'illustration uniquement.
Démarrer le serveur SRP
Démarrez le nœud de serveur SRP:
./output/simulation/bin/ot-cli-ftd 1
Configurez un réseau Thread, puis activez le serveur SRP en exécutant la commande
srp server enable
:dataset init new
Donedataset
Active Timestamp: 1 Channel: 22 Channel Mask: 0x07fff800 Ext PAN ID: 8d6ed7a05a28fb3b Mesh Local Prefix: fded:5114:8263:1fe1::/64 Network Key: 7fcbae4153cc2955c28440c15d4d4219 Network Name: OpenThread-f7af PAN ID: 0xf7af PSKc: b658e40f174e3a11be149b302ef07a0f Security Policy: 672, onrc Donedataset commit active
Doneifconfig up
Donethread start
Donestate
leader Doneipaddr
fded:5114:8263:1fe1:0:ff:fe00:fc00 fded:5114:8263:1fe1:0:ff:fe00:c000 fded:5114:8263:1fe1:68bc:ec03:c1ad:9325 fe80:0:0:0:a8cd:6e23:df3d:4193 Donesrp server enable
Done
Démarrer le client SRP
Démarrez le nœud du client SRP:
./output/simulation/bin/ot-cli-ftd 2
Rejoignez le réseau Thread, définissez le nom et l'adresse de l'hôte du client, puis enregistrez un service:
dataset networkkey 7fcbae4153cc2955c28440c15d4d4219
Donedataset commit active
Doneifconfig up
Donethread start
Donestate
child Doneipaddr
fded:5114:8263:1fe1:0:ff:fe00:c001 fded:5114:8263:1fe1:44f9:cc06:4a2d:534 fe80:0:0:0:38dd:fdf7:5fd:24e Donesrp client host name my-host
Donesrp client host address fded:5114:8263:1fe1:44f9:cc06:4a2d:534
Donesrp client service add my-service _ipps._tcp 12345
Donesrp client autostart enable
DoneComme indiqué ci-dessus, utilisez la commande
srp client autostart enable
pour activer le mode de démarrage automatique sur le client. Le client surveille les données réseau pour détecter les serveurs SRP disponibles dans le réseau Thread, puis démarre automatiquement.Si vous démarrez manuellement le client, exécutez la commande suivante, et incluez l'adresse et le port SRP:
srp client start fded:5114:8263:1fe1:68bc:ec03:c1ad:9325 49154
DoneDans l'exemple ci-dessus, le port UDP d'écoute du serveur SRP est
c002(49154)
.
Vérifier l'état du service
Vérifiez si l'hôte et le service ont bien été enregistrés sur le nœud client:
srp client host
name:"my-host", state:Registered, addrs:[fded:5114:8263:1fe1:44f9:cc06:4a2d:534] Donesrp client service
instance:"my-service", name:"_ipps._tcp", state:Registered, port:12345, priority:0, weight:0 DoneAssurez-vous que le résultat affiche
state:Registered
pour les commandes d'hôte et de service, comme dans l'exemple ci-dessus.Vérifiez l'hôte et le service sur le nœud du serveur:
srp server host
my-host.default.service.arpa. deleted: false addresses: [fded:5114:8263:1fe1:44f9:cc06:4a2d:534] Donesrp server service
my-service._ipps._tcp.default.service.arpa. deleted: false port: 12345 priority: 0 weight: 0 ttl: 7200 lease: 7200 key-lease: 1209600 TXT: [] host: my-host.default.service.arpa. addresses: [fded:5114:8263:1fe1:44f9:cc06:4a2d:534] DoneAssurez-vous que le résultat affiche
deleted: false
pour les commandessrp server host
etsrp server service
, comme dans l'exemple ci-dessus.
Supprimer le service
Supprimez le service via le nœud client:
srp client service remove my-service _ipps._tcp
DoneVia le nœud de serveur, vérifiez que le service a bien été supprimé:
srp server service
my-service._ipps._tcp.default.service.arpa. deleted: true DoneL'entrée de service figure dans la sortie, car le nom du service n'est pas supprimé.
Supprimer les noms d'hôte et de service
Supprimez l'hôte et tous ses services enregistrés:
srp client host remove 1
DoneVérifiez sur le nœud du serveur qu'aucune entrée d'hôte ou de service n'est listée:
srp server host
Donesrp server service
Done >