routing in 6lowpan (in french)

16
Rapport [Routing in 6LoWPAN] 2016-2017 BENAMAR Abed Zine-Eddine KORICHI Abdessamie Master 2 / ReSM Université d’Oran 1

Upload: abed-zine-eddine-benamar

Post on 13-Apr-2017

44 views

Category:

Technology


0 download

TRANSCRIPT

Page 1: Routing in 6lowpan (in French)

Rapport

[Routing in 6LoWPAN]

20

16

-20

17

BENAMAR Abed Zine-Eddine

KORICHI Abdessamie

Master 2 / ReSM

Université d’Oran 1

Page 2: Routing in 6lowpan (in French)

1

Table des matières

I. Introduction……. …...…...………………………………………...……… 3

II. Pourquoi l’IPv6 ? …….……….……………............................................... 3 II.1 Internet Protocol version 4 ………………….…………………………...… 3

II.2 Internet Protocol version 6……………..….…………….…………….. ….. 4 III Le Standard 802.15.4 …………..…………………………………..……… 5

III.1 Principe de fonctionnement ………..……...….......…..……………………. 5

III.2 Caractéristiques du 802.15.4 …..…...………………………........................ 6

III.3 Problème soulevé ……………….…………………...………….……….… 6

IV. Les réseaux 6lowpan ……………………………….………………............ 6

IV.1 Couche d’adaptation de 6lowpan ………………………………………….. 7

IV.1.1 Compression de l’en-tête IPv 6……………………..………………..…….. 7

IV.1.2 Compression d’autres en-têtes ……………………..…………….……….. 8

V. Routage dans 6LoWPAN ……………………………………….............… 8

V.1 Routage basé sur l’approche MANET ……………………………………. 9

V.1.1 Routage mesh-under ……………………………………………………. .. 9

V.1.2 Routage route-over ………………………………………………………. 10

V.2 Taxonomie des protocoles de routage 6LoWPAN ………………………. 11

V.3 Exigences du routage dans 6LoWPAN …………………………………... 11

V.4 Les protocoles 6LoWPAN existants ……………………………………… 12

VI. Conclusion……………………………………………………………….. 14

Références …………………………………………………………………...15

Page 3: Routing in 6lowpan (in French)

2

Liste des figures

Figure 1 : En-tête IPV6.….......………...……………………..….……………..

Figure 2 : Topologie de 802.15.4……………………………………………….

Figure 3 : Architecture 6LOWPAN.…………...….……...………………………..

Figure 4 : Compression d’en-tête avec 6LoWPAN ……………….……………...

Figure 5 : Routage Mesh-under.………………………………..……...………..

Figure 6 : Routage Route-over………………………………………………….

Figure 7 : La classification des protocoles de routage 6LoWPAN……………..

Figure 8 : Les exigences de routages dans 6LoWPAN …………………….…..

Figure 9 : Echange des messages dans le protocole LOAD ………..…….……..

Figure 10 : Les différents types des nœuds utilisés dans HILOW……………….

4

5

7

8

9

10

11

12

13

14

Liste des tableaux

Tableau 1 : Comparaison entre les protocoles de routage 6LoWPAN………………14

Page 4: Routing in 6lowpan (in French)

3

I. Introduction :

L’émergence de l’Internet des objets ouvre de nouvelles perspectives dans le domaine des

réseaux de capteurs sans fil avec comme objectif de connecter ces derniers au web pour

partager des mesures en temps réel. A l’aide de la norme IEEE 802.15.4, un nœud est capable

de communiquer au niveau 2 lorsqu’il se déplace à travers de multiples réseaux sans fil.

Cependant, sans protocole adéquat, les communications d’un nœud mobile sont limitées au

réseau dans lequel il se trouve. Le protocole IPv6 est utilisé pour interconnecter les

équipements à Internet. Le support d’IPv6 permettrait aux réseaux de capteurs sans fil de

communiquer directement avec tout équipement connecté à un réseau IPv6 Après la

présentation du protocole IPv6, nous mettrons en avant les différentes limitations liées à son

utilisation au sein de réseaux de capteurs sans fil. Nous détaillerons ensuite les adaptations

standardisées par l’Internet Engineering Task Force (IETF) [1] pour utiliser IPv6 dans les

réseaux de capteurs sans fil en tenant compte de leurs contraintes. De cette standardisation

sont nés les réseaux sans fil personnels à basse consommation IPv6 over LowPower Wireless

Personal Area Networks (6 LoWPAN). Dans cet exposé nous détaillerons d'abord les

caractéristiques de chacun des standards IPv6 et IEEE 802.15.4 pour ensuite aborder les

travaux en cours sur 6LoWPAN qui tente de rendre les deux compatibles.

II. Pourquoi l’IPv6 ?

II.1 Internet Protocol version 4 :

Adresse IPv4 : C’est la version la plus utilisée actuellement, sur 32 bits soit 4 octets ; elle

est généralement représentée en notation décimale avec quatre nombres compris entre 0 et

255, séparés par des points, exemple : 192.168.1.11

Problèmes d’IPv4 :

La taille de l’Internet double tous les 6 mois.

Une saturation de l’espace d’adressage est prévue prochainement.

Explosion de la taille des tables de routage.

Qualité de service insuffisante pour les nouvelles applications multimédia.

Sécurité insuffisante (ex : chiffrement).

Passage de L’IPv4 vers L’IPv6:

Avec la croissance actuelle d’Internet et la volonté d’y connecter les objets de notre quotidien

(l’Internet des Objets), le nombre d’adresses IPv4 disponibles s’épuise très rapidement. Par

rapport à IPv4, IPv6 multiplie par 4 la taille des adresses, passant ainsi de 32 bits à 128 bits.

Cela permettra d’obtenir 3. 4*10^38 adresses et de s’affranchir ainsi de mécanisme NAT qui

regroupe derrière une adresse IP publique plusieurs équipements mais de ce fait complexifie

le fonctionnement d’applications. Le passage au protocole IPv6 a permis de simplifier le

format de l’en-tête IPv6 (retrait de champs qui ne sont plus utilisés). Il dispose désormais

d’une taille fixe : les options d’IPv4 sont devenues des extensions pour IPv6.

Page 5: Routing in 6lowpan (in French)

4

II.2 Internet Protocol version 6 :

Le protocole IPv6 [2] est le successeur du protocole IPv4 [3] actuellement utilisé sur Internet.

Ce nouveau protocole a été standardisé avec pour objectif : de pallier la pénurie d’adresse (le

nombre d’adresse IPv4 disponibles est proche de zéro) et d’améliorer le support des extensions

en anticipant sur les besoins futurs tels que la mobilité ou la sécurité.

Objectifs d’IPv6 :

Rendre l’espace d’adressage IP plus grand.

Eliminer les problèmes d’IPv4 déjà cités.

Améliorer les performances.

Prévoir les besoins futurs.

Favoriser la modernisation.

Représentation des adresses :

Les adresses IPv6 sont affectées à des interfaces plutôt qu’à des nœuds. La représentation

textuelle de ces adresses se fait en découpant le mot de 128 bits de l'adresse en 8 mots de 16

bits « x :x :x :x :x :x :x :x » où chaque x est égal à quatre chiffres hexadécimaux séparés par

le caractère « : », chacun d'eux étant représenté en hexadécimal. Par exemple :

2001 :0DB8 :0000 :0000 :0400 :A987 :6543 :210F

Un préfixe IPv6 est donc représenté par la notation suivante: adresse-IPv6/longueur-du-

préfixe-en-bits.

L’en-tête IPV6 : La taille d'un en-tête IPv6 est de 40 octets et est fixe (20 pour IPv4), il ne

contient plus le champ checksum comme dans IPv4. Par contre, les protocoles de niveau

supérieur doivent mettre en œuvre un mécanisme de checksum de bout en bout.

Figure 1: En-tête IPV6.

Page 6: Routing in 6lowpan (in French)

5

Explication de l’en-tête :

Le champ Version est codé sur 4 bits et vaut toujours 6.

L’octet Traffic Class sur un octet permet de signifier un niveau de service.

Le champ Flow Label codé sur 20 bits contient un numéro unique choisi par la

source, qui a pour but de faciliter le travail des routeurs et la mise en œuvre des fonctions de

qualité de service.

La longueur de la charge utile est sur 2 octets ; elle ne contient que la taille des

données utiles.

Le champ Next Header occupe un octet. Ce champ identifie le prochain en-tête.

On trouve ensuite le champ Hop Limit sur un octet. Il est décrémenté à chaque

nœud traversé.

Suivent les champs Adresse source et destination sur 128 bits.

Vient ensuite un en-tête d’Extensions ou la charge des données utiles.

III. Le Standard 802.15.4 :

Ratifié en 2003 par l’organisme de standardisation IEEE, la norme 802.15.4 spécifie la couche

physique et la couche MAC pour les réseaux privés sans fil à faible débit. Ces réseaux ont

plusieurs points en commun avec les réseaux de capteurs sans fil. Les équipements qui

composent ces réseaux ont de faibles débits et de faibles coûts de production. De plus, ils sont

alimentés par batterie et disposent donc d’une quantité énergie limitée. La version ratifiée en

2006 complète la définition de la couche MAC et étend les capacités des fréquences existantes

(868 MHz, 915 MHz et 2,4 GHz).

III.1 Principe de fonctionnement :

Deux principaux types d’acteurs entrent en jeu au sein de la norme 802.15.4 : les Full Function

Device (FFD) et les Reduced Function Device (RFD). Un RFD est conçu pour des applications

simples telles qu’activer ou non une lumière ou récupérer de manière passive la température

d’une zone. En raison de leurs limitations, les RFD peuvent uniquement communiquer avec

des FFD et sont, par conséquent, les équipements terminaux du réseau. A l’opposé, les FFD

sont les équipements principaux du réseau et implémentent une version complète de la norme.

Un FFD initiant le réseau en deviendra l’équipement central et est nommé coordinateur de

réseau (Personal Area Network (PAN) Coordinator). Le coordinateur joue le même rôle que

le puits dans les réseaux de capteurs sans fil. De plus, pour permettre aux équipements de les

différencier, chaque réseau dispose d’un identifiant unique dans le voisinage.

Figure 2: Topologie de 802.15.4

Page 7: Routing in 6lowpan (in French)

6

III.2 Caractéristiques du 802.15.4 :

3 bandes de fréquences : 868 MHz(Europe), 915 MHz (USA) et 2450 MHz

(mondial).

Débits de 250 kb/s, 100kb/s, 40 kb/s et 20 kb/s.

Adressage court sur 16 bits ou étendu sur 64 bits (IEEE EUI64).

Allocation d’intervalles de temps garantie.

Accès au canal utilisant CSMA-CA.

Protocole avec acquittement pour les transferts afin d’assurer la fiabilité.

Basse consommation.

Indication sur la qualité de la liaison.

III.3 Problème soulevé :

La taille maximale d’une trame contenant d’un paquet IPv6 est de 1280 octets. En général,

au sein d’un réseau de capteurs sans fil, la taille maximale des trames qu’il est possible de

transmettre dans ces réseaux est bien inférieure à 1280 octets (la norme IEEE 802.15.4 définit

une taille maximale de trame de 127 octets [23]). La surcharge imposée par les en-têtes

multiples limitera l’espace disponible pour les données applicatives. Par exemple, une trame

de données est composée au minimum des en-têtes MAC, IPv6 et UDP. Ainsi avec la norme

IEEE 802.15.4, 25 octets sont utilisés par l’en-tête MAC laissant seulement 102 octets pour

les en-têtes de niveau supérieur et les données applicatives. En ajoutant les 40 octets requis

par l’en-tête IPv6 et les 8 octets de l’entête UDP, la trame résultante ne laisse que 54 octets

pour les données applicatives. L’IETF propose une solution à ce problème en introduisant les

réseaux sans fil personnels à basse consommation, 6LoWPAN.

IV. Les réseaux 6lowpan :

Un réseau 6LoWPAN [4] est un réseau de communication simple, à bas coût, permettant

d’avoir une connectivité sans fil utilisant une adaptation du protocole IPv6. Il est formé par

des équipements, en général compatibles avec le standard IEEE 802.15.4, qui sont caractérisés

par une courte portée, un faible débit, peu de mémoire et un faible coût. Contrairement aux

réseaux IP standards, un réseau 6LoWPAN est organisé comme un arbre. Il est possible de

distinguer trois acteurs dans un réseau 6LoWPAN le routeur de bordure, le routeur et l’hôte.

Le routeur de bordure (6LBR) est la racine d’un réseau 6LoWPAN. Il connecte le réseau au

reste de l’Internet et est responsable de la propagation des préfixes IPv6 au sein du réseau

6LoWPAN. Les routeurs (6LR) sont des équipements intermédiaires dont le but est d’étendre

la superficie du réseau. Finalement, les hôtes sont les équipements feuilles du réseau.

Page 8: Routing in 6lowpan (in French)

7

Figure3: Architecture 6LOWPAN.

Afin de permettre l’utilisation IPv6 tout en préservant de l’espace pour les données

applicatives, l’IETF a défini une couche d’adaptation. Cette couche d’adaptation a pour

objectif de réduire la surcharge de l’en-tête IPv6 et se place entre la couche MAC et la couche

réseau.

IV.1 Couche d’adaptation de 6lowpan :

La couche d’adaptation de 6LoWPAN est chargée de réduire la taille des en-têtes en utilisant

la compression. Elle propose également des en-têtes supplémentaires lui permettant de

fragmenter un paquet IPv6 si ce dernier ne peut pas contenu dans une trame MAC.

IV.1.1 Compression de l’en-tête IPv6 :

Un premier mécanisme de compression nommé HC1 a été proposé. Pour réduire la taille de

l’en-tête IPv6, HC1 omet des champs spécifiques de l’en-tête IPv6 car ils sont considérés

comme implicites (par exemple le champ version a toujours pour valeur 6). En rompant la

règle principale du modèle OSI, qui implique que chaque couche doit être indépendante des

autres, HC1 peut réutiliser les informations des autres couches (par exemple la longueur peut

être calculée à partir de l’en-tête MAC). Seul le champ hop limit de l’en-tête IPv6 reste

toujours non compressé.

Page 9: Routing in 6lowpan (in French)

8

Figure4 : Compression d’en-tête avec 6LoWPAN

IV.1.2 Compression d’autres en-têtes :

La couche d’adaptation proposée par 6LoWPAN propose également de compresser l’en-tête

UDP. Il permet de réduire la taille cet en-tête de 8 octets à 2 octets au maximum. Il supprime

obligatoirement le champ longueur et donne la possibilité de supprimer la somme de contrôle.

V. Routage dans 6LoWPAN :

Dans 6LoWPAN , deux approches sont utilisés pour regrouper les protocoles de routage

l’approche MANET et l’approche ROLL :

L’approche MANET (Mobile Adhoc NETwork) : le groupe MANET à mis en place

plusieurs protcole de routage, basant sur la technique de routage, il peuvent être classés en

deux catégories (Vecteur à distance, état de lien) , basant sur la decouverte de chemin

(Proactif, réactif), les protcoles qui sont actuellement utilisés pour les MANETs sont le

protcole AODV (Adhoc On-demand Distance Vector) , DYMO (Dynamic Manet On-

demand) et OLSR (Optimised Link State Routing) , ces protcoles doivent être modifiés pour

les utiliser dans les 6LoWPAN (réduire l’overhead).

L’approche ROLL (Routing Over Low power Lossy networks) : un groupe IETF chargé

developpé des protocoles pour les réseaux à faible énergie (LLN : Low Lossy Network) , ce

groupe a standarisé un protcole nommé RPL (Routing Protocol for Low power and Lossy

Networks)

Page 10: Routing in 6lowpan (in French)

9

V.1 Routage basé sur l’approche MANET :

Pour acheminer les paquets vers leur destination, les réseaux 6LoWPAN utilisent un protocole

de routage. À la différence des réseaux traditionnels dans lequel le routage est effectué

uniquement au niveau 3, il peut être effectué à deux niveaux différents : [5]

V.1.1 Routage mesh-under :

Dans un premier temps, un réseau 6LoWPAN peut utiliser un routage de niveau 2.

Directement intégré à la couche d’adaptation de 6LoWPAN, ce routage, nommé mesh-under,

met tous les hôtes à un saut IP du 6LBR même si plusieurs sauts physiques sont nécessaires.

Pour router les paquets sans les décompresser, un en-tête mesh va être ajouté avant le paquet

IPv6.

Il va contenir l’adresse au niveau 2 du nœud ayant créé le paquet, l’adresse au niveau 2 du

destinataire et une limite de sauts (14 au maximum). Ces adresses de niveau 2 peuvent être

codées sur 64 ou 16 bits. 6LoWPAN ne définit que l’en-tête mesh.

Le calcul des routes ainsi que leur maintenance est effectuée par d’autres mécanismes. Dans

les protocoles mesh-under, tout nœud peut être susceptible de router un paquet.

Ratifié en 2009 par l’IETF, le protocole 802.15.5 est un protocole de routage mesh-under

libre. Ce protocole utilise un arbre d’adressage pour router les données sans avoir besoin de

table de routage. Initialement, la racine dispose d’une série d’adresses. Elle va ensuite répartir

ces adresses de manière contigüe à ses fils en fonction du nombre de fils de chacun, et ainsi

de suite. Pour router les paquets, il suffit à un nœud de comparer l’adresse du destinataire avec

les adresses dont il dispose. Si l’adresse n’en fait pas partie, il transfère le paquet à son père.

Dans le cas contraire, il transfère le paquet vers son fils disposant de la plage d’adresse

contenant celle du destinataire. Si le paquet compressé est trop grand pour être contenu dans

une trame, il sera fragmenté en plusieurs morceaux. Cette fragmentation est effectuée par la

couche d’adaptation du nœud créant le paquet IPv6. Dans un routage mesh-under, seul le

destinataire du paquet IPv6 (ou le 6LBR) le reconstruit. La perte de l’un des fragments est

l’inconvénient de ce mécanisme car il sera impossible au destinataire de reconstruire le paquet

IPv6.

Figure 5 : Routage Mesh-under.

Page 11: Routing in 6lowpan (in French)

10

V.1.2 Routage route-over :

Le routage peut être effectué au sein de la couche réseau (niveau 3). Ces protocoles de routage,

de type route-over, génèrent un nombre de sauts IP équivalent au nombre de transmissions

physiques requises. Contrairement aux protocoles de routage mesh-under, seul les 6LR ou le

6LBR sont autorisés à router des paquets. La présence de 6LR est donc nécessaire pour étendre

la zone couverte par le réseau 6LoWPAN. Comme le routage est effectué au-dessus de la

couche d’adaptation, les paquets fragmentés sont reconstitués à chaque saut, ce qui rend ces

protocoles plus robustes face aux pertes de fragments. Nous pouvons citer comme exemple le

protocole RPL défini par le groupe de travail Routing Over Low power and Lossy networks

de l’IETF. Ce protocole de routage utilise des vecteurs de distance pour construire un graphe

orienté acyclique et s’en servir pour router les paquets au sein du réseau.

Figure 6 : Routage Route-over

Page 12: Routing in 6lowpan (in French)

11

V.2 Taxonomie des protocoles de routage 6LoWPAN :

Les protocoles de routage dans les 6LoWPAN peuvent être classés selon plusieurs aspects,

le schéma suivant montre ces classes différentes :

Figure 7 : La classification des protocoles de routage 6LoWPAN

V.3 Exigences du routage dans 6LoWPAN :

Il existe quatre conditions de base pour le routage dans 6LoWPAN : [6]

(i) Le nœud doit supporter le mode « sleep » pour l’économie d’énergie.

(ii) La génération des packets overhead doit être minimisée.

(iii) Messages de contrôle pour le routage doit être minimisé.

(iv) Faible coût de traitement, calcul, et mémoire.

Page 13: Routing in 6lowpan (in French)

12

Le schéma suivant montre toutes les conditions qu’il faut vérifier pour mettre en place un

protocole de routage adéquat pour le 6LoWPAN : [7]

Figure 8 : Les exigences de routages dans 6LoWPAN

V.4 Les protocoles 6LoWPAN existants :

Selon les besoins des applications, les protocoles de routage peuvent être divisé en : routage

donnée-aware (data-aware routing), routage probabiliste, routage géographique, routage

contrôlé par évènement, routage basé sur les requêtes, et le routage hiérarchique. Les

différents protocoles de routage de 6LoWPAN sont : LOAD, MLOAD, DYMO-Low, Hi-

Low, Extended Hi-Low, S-AODV. [7]

LOAD (6LoWPAN Ad-Hoc On-demand Distance Vector Routing):

Le protocole LOAD est un protocole de routage à la demande simplifié basé sur AODV [8] :

LOAD utilise le routage mesh-under (MAC 16 ou MAC 64).

Il n’utilise pas le numéro de séquence de la destination.

Le RREP est envoyé par la destination seulement.

En cas de rupture de lien, un nœud intermédiaire peut réparer le problème localement

(local repair) sinon un message RERR est envoyé seulement à la source avec la cause du

problème.

Il est utilisé seulement dans les FFDs (Full Function Device).

Il utilise le champ LQI (Link Quality Indicator) de la couche 6LoWPAN MAC pour

déterminer la route la plus forte (strongest route).

Un ACK est envoyé après chaque transmission d’un packet data, il est appelé LLN

(Link Layer Notification).

Page 14: Routing in 6lowpan (in French)

13

La figure 9 montre comment les messages sont échangés dans LOAD :

Figure 9 : Echange des messages dans le protocole LOAD

Pour plus de détails sur le protocole LOAD, il faut consulter le RFC [8].

DYMO-low (Dynamic M ANET On-Demand for 6LoWPAN Routing) :

C’est un protocole réactif comme l’AODV, il représente une version légère du

protocole DYMO (pour consommer l’énergie).

Il implémente la structure RM (Routing Message) pour représenter les message

RREQ et RREP.

La métrique utilisée pour le choix du meilleure chemin est le champ LQI plus le coût

de la route.

Taille de numéro de séquence est réduite de 32 bits à 16 bits pour optimiser. [9]

HILOW (Hierarhical Routing) : ce protocole pour la scalabilité des réseaux

6LowPAN, par contre au AODV ou LOAD qui utilisent une adresse de 64 bits, le

HILOW utilise seulement une adresse de 16 bits pour économiser la mémoire, il

fonctionne avec une architecture Père-Fils, chaque dans le réseau découvre son Père

par l’envoi d’un signal en broadcast, s’il trouve un Père dans sa POS (Personal

Operating Space) alors il devient un nœud membre de réseau 6LowPAN à lequel ce

père appartient , sinon il configure lui-même comme un Père d’un nouveau

6LowPAN, chaque Père a un nombre maximal de Fils (MC : Maximum number of

Childs).

Page 15: Routing in 6lowpan (in French)

14

Figure 10 : Les différents types des nœuds utilisés dans HILOW

Le tableau 1 montre une comparaison entre ces différents protocoles :

Tableau 1 : Comparaison entre les protocoles de routage 6LoWPAN

VI. Conclusion :

Dans ce rapport, on a entamé la technologie 6LoWPAN et ses différentes caractéristiques,

c’est une solution idéale pour les applications de IoT, il offre l’interopérabilité entre les

nœuds capteurs à faible énergie et les nœuds IP qui existe déjà, les protocoles de routage

utilisés dans les 6LowPAN ont des avantages et des inconvénients entre eux selon

l’application.

Page 16: Routing in 6lowpan (in French)

15

Références :

[1] Internet Engineering Task Force. http://www.ietf.org/.

[2] S. Deering and R. Hinden, “Internet Protocol, Version6 (IPv6) Specification.” RFC 2460 (Draft

Standard), Décembre 1998.

[3] J. Postel, “Internet Protocol.” RFC 791 (Standard), Septembre 1981.

[4] G. Montenegro, N. Kushalnagar, J. Hui, and D. Culler, “Transmission of IPv6 Packets

over IEEE 802.15.4 Networks.” IETF Request for Comments (RFC) 4944, Septembre 2007.

[5] Damien Roth , « Gestion de la mobilité dans les réseaux de capteurs sans fil » Thèse

pour l’obtention de doctorat, 2012, L’université de Strasbourg.

[6] E. Kim, D. Kaspar, C. Gomez, and C. Bormann, “Problem Statement and

Requirements for 6LoWPAN Routing,” draft-ietf-6lowpan-routing-requirements-10,

November 2011.

[7] Routing in IPv6 over Low-Power Wireless Personal Area Networks (6LoWPAN): A

Survey by Vinay Kumar and Sudarshan Tiwari, Department of Electronics and

Communication Engineering, Motilal Nehru National Institute of Technology,

Allahabad 211004, India.

[8] 6LoWPAN Ad Hoc On-Demand Distance Vector Routing (LOAD)

draft-daniel-6lowpan-load-adhoc-routing-03

[9] Dynamic MANET On-demand for 6LoWPAN (DYMO-low) Routing

draft-montenegro-6lowpan-dymo-low-routing-03