6LoWPAN IPv6 sur IEE 802.15.4 Lanteri Isabelle NFP215 CNAM 2008-2009 De IPv4 à IPv6 ● ● ● IPv6 est né d'une probable pénurie d'adresses due à la croissance de l'Internet et à la structure en classes de l'adressage IPv4. En 1992 l'IETF (Internet Engineering Task Force), organisme qui gère la standardisation de l'Internet, lance un appel à propositions à la communauté mondiale pour définir les caractéristiques de l'IP de nouvelle génération (IPng). En 2002, fin de la standardisation. De IPv4 à IPv6 ● ● ● ● Interopérabilité IPv4 à IPv6. Adressage IPv6 sur 128 bits (32 bits pour IPv4) et utilisation de la notion d'interface. Taille minimale des MTU(Maximum Transmission Unit) de 1 280 octets (576 pour IPv4). Simplification des en-têtes, suppression du champ checksum et taille d'en-tête fixe (40 octets) pour simplifier le routage. IPv6: adressage ● La représentation textuelle d'une adresse IPv6 se fait en découpant le mot de 128 bits en 8 mots de 16 bits séparés par le caractère :, chacun d'eux étant représenté en hexadécimal. Par exemple : FEDC:BA98:7654:3210:EDBC:A987:6543:210F ● ● 3 types d'adressage sont possibles: unicast, multicast, anycast. Notion de portée: adresses locales, adresses globales. IPv6: adressage ● ● ● Les adresses peuvent être décomposées en 3 parties: préfixe de site, ID de sous-réseau et ID d'interface. Les adresses de liaison locales sont utilisées pour communiquer d'hôte à hôte sur un même lien. Elles sont préfixées FE80::/10. Suit l'identifiant d'interface dérivé en général de l'adresse MAC 48 bits ou EUI-64. IPv6: adressage ● ● Une adresse multicast se compose principalement d'un préfixe multicast (FF00::/8) et d'un identifiant de groupe (32 bits). Cet identifiant peut être dynamique ou pas. Certaines adresses IPv6 multicast sont assignées de façon permanente par l'IANA (Internet Assigned Numbers Authority). Une adresse anycast identifie également un groupe d'interfaces mais un seul membre du groupe reçoit le paquet (le plus proche topologiquement parlant). IPv6: adressage ● Une adresse globale unicast se compose d'un préfixe de routage ou de site (unique) sur 48 bits, d'un ID de sous-réseau (unique sur le site) sur 16 bits et d'un identifiant d'interface (unique sur le lien) de 64 bits. IPv6: adressage ● ● ● On dispose d'environ 3,4 × 1038 adresses, soit 340 282 366 920 938 463 463 374 607 431 768 211 456, soit encore, pour reprendre l'image usuelle, plus de 667 millions de milliards d'adresses par millimètre carré de surface terrestre. L'Internet IPv6 est défini comme étant le sous-réseau 2000::/3. Les adresses 6to4 (2002::/16) permettent d'acheminer le trafic IPv6 via un ou plusieurs réseaux IPv4. IPv6: les en-têtes ● ● IPv6 définit un nouveau format d'en-tête. Plutôt que des options, un en-tête a des extensions, ce qui améliore de beaucoup les performances des routeurs. Un en-tête d'extension a toujours une longueur multiple de huit. On trouve des en-têtes d'extension Fragmentation, Hop-by-Hop, Authentication, Encapsulating security Payload,... L'en-tête de base a une longueur de 40 octets. IPv6: les en-têtes IPv6: les en-têtes ● ● ● ● Le champ Version vaut toujours 6. Les champs Classe de Trafic et Identificateur de flux sont utilisés par les routeurs. La longueur des données est celle des données utiles du paquet. Le nombre de sauts est décrémenté à la traversée d'un routeur. S'il atteint 0, le paquet est abandonné. IPv6: les en-têtes ● ● Le champ « Next Header » identifie l'en-tête suivant : en-tête d'extension ou de protocole. Valeur 0 43 44 50 51 59 60 136 UDP-lite IPv6: la détection des voisins ● ● ● Le protocole de détection des voisins utilise ICMPv6 (Internet Message Control Protocol) Les noeuds voisins sont des noeuds situés sur le même lien. Détection de routeur, détection de préfixe, configuration automatique d'adresse, détermination du prochain saut, détection d'inaccessibilité voisin, détection d'adresses dupliquées, redirection, route par défaut... IPv6: configuration automatique ● ● IPv6 permet à une machine nouvellement connectée sur le réseau de s'autoconfigurer soit déterminer son adresse lien-local et vérifier son unicité. IPv6 permet également la détermination d'adresses unicast globales. Deux méthodes pour celà: avec ou sans état. La méthode avec état plus stricte utilise DHCPv6 (Dynamic Host Configuration Protocol for IPv6). IPv6: les protocoles de niveau 4 ● ● ● UDP et TCP: Les modifications apportées aux protocoles de niveau 4 UDP et TCP sont minimes. L'un des pré-requis à la mise en œuvre d'IPv6 était de laisser en l'état aussi bien TCP (Transmission Control Protocol) qu'UDP (User Datagram Protocol). UDP-lite permet de remonter aux couches supérieures des données erronées sans supprimer un bloc complet (multimédia). SCTP(Stream Control Transmission Protocol) gère la multidomiciliation. IPv6: les protocoles de niveau 4 ● ● ● UDP et TCP: Les modifications apportées aux protocoles de niveau 4 UDP et TCP sont minimes. L'un des pré-requis à la mise en œuvre d'IPv6 était de laisser en l'état aussi bien TCP (Transmission Control Protocol) qu'UDP (User Datagram Protocol). UDP-lite permet de remonter aux couches supérieures des données erronées sans supprimer un bloc complet (multimédia). SCTP((Stream Control Transmission Protocol) gère la multidomiciliation. IPv6: groupes de travail IEEE 802.15.4 ● ● Protocole de l'IEEE (Institute of Electrical and Electronics Engineers) destiné aux réseaux sans fil de la famille des LR WPAN(Low Rate Wireless Personal Area Network) IEEE 802.15.4 correspond aux couches basses de ZigBee soit la couche physique et la couche MAC (Medium Access Control) IEEE 802.15.4 ● IEEE 802.15.4 ● ● ● ● ● ● Bas coût et ressources limitées. Basse consommation et détection de l'énergie. Faible portée et courtes distances. Interconnecter des unités embarquées avec peu de ressources comme des capteurs. Les unités sont en sommeil la plupart du temps. Taux d'erreur et de perte assez élevé. IEEE 802.15.4 ● ● ● ● Trois bandes de fréquence: 868 MHz (Europe), 915 MHz (USA) et 2450 MHz (mondial). Trois canaux dans la bande 868 MHz, 30 canaux dans la bande 915 MHz et 16 canaux dans la bande 2,4 GHz. (2006) Débits de 250 kb/s, 100 kb/s, 40 kb/s et 20 kb/s Quatre couches physiques différentes: à 2,4 GHz, étalement de spectre et modulation OQPSK. IEEE 802.15.4 ● ● Deux modes pour l'accès au médium: le mode CSMA/CA (Carrier Sense Multiple Access with Collision Avoidance)) et le mode balise (beacon). Deux types d'adressage: court sur 16 bits ou étendu sur 64 bits (IEEE EUI64). ● Indication sur la qualité de la liaison (LQI). ● Possibilité de GTS (Guaranteed Time Slot). ● Détection du niveau d'énergie (ED). IEEE 802.15.4 ● ● ● Deux types d'entités réseau: FFD (Full Function Device) qui peut être coordinateur et RFD (Reduced Function Device). Les RFD ne peuvent communiquer entre eux. Topologies réseau: étoile et point à point. Zigbee introduit le réseau maillé (mesh) au niveau de la couche réseau. ZigBee: topologies réseau ● ZigBee: pile protocole ● IEEE 802.15.4 ● 4 types de trames: ● Les trames balise. ● Les trames de données. ● Les trames d'acquittement. ● Les trames de commande MAC. IEEE 802.15.4 ● Format de la trame MAC IEEE 802.15.4 ● ● La trame PHY IEEE 802.15.4: le mode beacon ● Dans ce mode, le coordinateur envoit périodiquement des trames balises pour synchroniser les noeuds du réseau. Ce mode permet les meilleures performances sur le plan énergétique. L'espace temporel entre deux trames balises est appelé supertrame. La supertrame peut comprendre une portion active et une portion inactive( le coordinateur dort). IEEE 802.15.4: la supertrame ● ● ● Il y a deux modes d'accès à la supertrame: Mode CAP (Contention Access Period): situé en début de supertrame. Le mode est CSMA/CA Mode CFP (Contention Free Period): le coordinateur alloue un ou plusieurs slots à un noeud. On a des GTS (Guaranted Time Slots) alloués en fin de trame. Le début reste disponible en CAP. IEEE 802.15.4:la supertrame ● La supertrame est divisée en 16 intervalles de temps. Le premier slot est la trame beacon. Elle est utilisée pour synchroniser les équipements, identifier le PAN et décrire la structure de la supertrame . 6LoWPAN ● ● ● ● Transmettre des paquets IPv6 sur des réseaux IEEE802.15.4. Une couche d'adaptation est nécessaire pour passer d'un MTU de 1280 octets à un MTU de 127. Cette couche doit effectuer fragmentation et ré-assemblage des paquets. Compression des en-têtes. Utiliser l'identifiant IEEE64 pour obtenir un identifiant d'interface IPv6. 6LoWPAN:les avantages d'IP ● Interopérabilité extensive (WiFi, Ethernet, GPRS, ATM,...). ● Sécurité : authentification, pare-feux,... ● Adressage, nommage, routage éprouvés ● ● ● Services réseau de haut niveau: équilibrage de la charge, cache, mobilité, NAT. Services applicatifs de haut niveau: HTTP/XML/HTTP/FTP/SOAP/REST Outils de supervision réseau: ping, SNMP, Traceroute. 6LoWPAN 6LoWPAN 6LoWPAN Types d'en-tête Code 00 01 01 01 01 10 11 11 xxxxxx 000001 000010 010000 111111 xxxxxx 000xxx 100xxx Type d'en-tête NALP IPv6 Adresses Ipv6 non compressées LOWPAN_HC1 Ipv6 compressé LOWPAN_BCO Broadcast ESC Additional Dispatch byte follows MESH Mesh header FRAG1 Fragmentation Header (first) FRAGN Fragmentation Header 6LoWPAN ● ● ● ● 6LoWPAN reprend le principe des en-têtes d'extension de IPv6 en empilant les en-têtes. L'en-tête Fragmentation est utilisé chaque fois que la charge utile ne peut être transportée dans une unique trame IEEE. L'en-tête Mesh est utilisée lorsque des trames IEEE sont transmises avec de multiples sauts radio. L'en-tête HC1_LOWPAN indique un en-tête de compression. 6LoWPAN ● Lorsque la charge utile ne peut être contenue dans une trame 802.15.4, on doit la fragmenter et chaque fragment doit être préfixé de l'en-tête de fragmentation. 6LoWPAN:Fragmentation Header ● ● ● ● ● Tous les fragments sauf le dernier doivent être des multiples de 8 octets. Le premier en-tête ne contient pas d'offset et est préfixé 110. Les suivants sont préfixés 111 et l'offset (8 bits) est en incréments de 8 octets.. La taille du datagramme (11 bits) est celle de la charge utile avant fragmentation. Le tag (16 bits) est commun à tous les fragments d'une même charge utile. 6LoWPAN ● ● L'en-tête Mesh est utilisé pour envoyer des charges utiles avec de multiples sauts. 6LoWPAN:Mesh Header ● ● ● Les bits 2 et 3 indiquent si les adresses source et destination sont des adresses courtes sur 16 bits ou des adresses IEEE étendues sur 64 bits. Le champ de 4 bits est décrémenté à chaque saut et le paquet est supprimé s'il vaut zéro. Les adresses source et destination peuvent être sur 16 ou 64 bits. 6LoWPAN ● ● 6LoWPAN utilise un principe de compression des en-têtes optimisé pour le liaison locale et appelé HC1. 6LoWPAN ● ● ● ● HC1compresse le préfixe réseau 64 bits en un seul bit s'il s'agit du préfixe bien connu de la liaison locale. Le champ Next Header sur 2 bits indique si suit un paquet UDP, TCP ou ICMPv6. La redondance intercouches permet de supprimer plusieurs champs (PayLoad Length, Interface Identifier, ...). Le champ Version est toujours supprimé car il vaut toujours 6. 6LoWPAN ● ● Lorsque le bit HC2 est à 1, les 8 bits suivants spécifient comment l'en-tête UDP est compressé.HC2 utilise un ensemble de ports bien connus (61616-61631). Si un port appartient à cet intervalle, les 12 bits de poids le plus fort sont supprimés. 6LoWPAN 6LoWPAN ● ● ● ● La compression HC1 est adaptée pour les communications unicast sur la liaison locale. L'Internet Draft « 6LoWPAN Compression of IPv6 Datagrams » définit une méthode de compression plus globale nommée IPHC qui utilise la notion de contexte partagé. Ce contexte peut être par exemple un préfixe global de routage pour tout le réseau ou CPR (Common Routing Prefix). IPHC compresse le préfixe en un identifiant de 4 bits. 6LoWPAN ● ● ● ● ● IPHC peut stocker jusqu'à 16 contextes différents. Les 3 premiers bits (001) sont le type et indiquent IPHC. Le bit TF indique si les champs Traffic Class et/ou Flow Label sont compressés. Le bit HLIM concerne le champ Hop_by_Hop. Le champ M (Multicast) précise si l'adresse destination est unicast ou multicast. 6LoWPAN ● ● Les bits 8 à 15 indiquent les méthodes de compression pour les adresses source et destination. Si le champ CID (Context Identifier) est à zéro, on utilise le contexte par défaut. S'il est à 1, les 4 bits suivants indiquent quel contexte utiliser. Le bit NH (Next Header) indique si l'en-tête suivant est compressé. 6LoWPAN ● ● ● Les champs SAC (Source Adress Compression) et SAM (Source Adress Mode) précisent le type de compression et le type de codage de l'adresse destination. Les champs DAC et DAM sont identiques aux champs SAC et SAM pour la destination. 6LoWPAN 6LoWPAN IPSO Alliance ● ● IPSO Alliance: Internet Protocol for Smart Objects vise à promouvoir IP comme protocole réseau pour connecter les « choses ». Membres : Atmel, EDF, Bosch, Ericsson, Sun, Intel, Freescale, Sensinode, Cisco, Arch Rock.... 6LoWPAN: produits Arch Rock ● ● IP Sensor Node est un équipement sans fil 802.15.4 avec des capteurs intégrés de température, humidité et luminosité. Il rejoint automatiquement un réseau IP maillé, a une interface de gestion Web et des services UDP/TCP/Shell. Phynet Router est une passerelle. 6LoWPAN: produits Sensinode ● NanoStack et NanoRouter. 6LoWPan: implémentation ● ● ● ● Contiki: The Operating System for Embedded Smart Objects- the internet of Things. Contiki est un système d'exploitation open source offrant des communications Ipv4 et Ipv6. Développé au Swedish Institute of Computer Sciences. http://www.sics.se/contiki 6LoWPAN: implémentation ● ● Le projet b6lowpan devenu blip implémente les principales fonctionalités de 6LowPAN dans TinyOS soit compression HC-01 des en-têtes, protocole de découverte des voisins, routage de bout en bout,.... http://smote.cs.berkeley.edu:8000/tracenv/wi ki/blip 6LoWPAN: documents de référence ● ● ● RFC4944-Transmission of IPv6 Packets over IEEE 802.15.4 Networks. RFC4919- IPv6 over Low-Power Wireless Personal Area Networks (6LowPans): Overview, Assumptions, Problem Statements and Goals. Internet-Drafts: -Compression Format for IPv6 Datagrams in 6LoWPAN Networks. -Design and Application Spaces for 6 LoWPANs. -Neighbour Discovery for 6LoWPAN. -Problem Statement and Requirements for 6 LoWPAN Routing. 6LoWPAN:documents de référence ● IEEE Std 802.15.4-2006 (Revision of IEEE Std 802.15.4-2003) ● RFC4862 IPv6 Stateless Adress Autoconfiguration. ● RFC4861 Neighbor Discovery for IP version 6 (IPv6). ● RFC4291 IP Version 6 Addressing Architecture. ● ● ● RFC4941 Privacy Extensions for Stateless Address Autoconfiguration in IPv6 RFC2460 Internet Protocol, Version 6 (IPv6) Specification. RFC2464 Transmission of IPv6 Packets over Ethernet Networks. 6LoWPAN:webographie ● IEEE 802.15 WPAN™ Task Group 4 (TG4) à www.ieee802.org/15/pub/TG4.html ● http://www.ietf.org/ ● http://www.cs.berkeley.edu/~jwhui/ ● http://www.ipso-alliance.org/ ● ● http://lara.inria.fr/ipv6/ IPv6 applicability to Intelligent Transport Systems(ITS). http://www.g6.asso.fr/ Ipv6 Task Force France.
© Copyright 2025 ExpyDoc