net-spider-rpl-0.4.1.5: NetSpider data model and utility for RPL networks
MaintainerToshio Ito <debug.ito@gmail.com>
Safe HaskellNone
LanguageHaskell2010

NetSpider.RPL

Description

This module defines NetSpider data model and utility for RPL networks. For usage example, see net-spider-rpl-cli package.

RPL ( IPv6 Routing Protocol for Low-Power and Lossy Networks, RFC 6550 ) is a routing protocol for small wireless devices. Each node independently exchanges routing information with its neighbors over low-power wireless channels. Using those information, the nodes form one or more network topologies called DODAG (Destination-Oriented Directed Acyclic Graph) in a distributed manner.

The module NetSpider.RPL.DIO defines NetSpider data model about DIO (DODAG Information Object). DIO is a control packet of RPL that is necessary to form upward routes. FoundNodeDIO type defines DIO-specific information such as "rank". You can input FoundNodeDIOs to NetSpider database to construct the upward network.

The NetSpider.RPL.DAO defines another data model FoundNodeDAO. DAO (Destination Advertisement Object) is a control packet of RPL that is necessary to form downward routes. FoundNodeDAO type defines DAO-specific information. You can input FoundNodeDAO to NetSpider database to construct the downward network.

Because network topologies maintained in FoundNodeDIO and FoundNodeDAO can be different, you have to use different node IDs for them. The module NetSpider.RPL.FindingID exports FindingID that distingushes those two types of topologies. The DIO and DAO topologies are obtained from the NetSpider database as different Snapshot graphs.

The two types of Snapshot graphs can be combined together by upgrading their internal data. NetSpider.RPL.Combined module provides functions to combine those graphs.

The module NetSpider.RPL.ContikiNG (not re-exported by this module) is a utility module to make FoundNodeDIOs and FoundNodeDAOs. It defines utility functions to read and parse log files generated by Contiki-NG applications. Contiki-NG is a tiny operating system for wireless devices that supports RPL.

Documentation