6LoWPAN Info
Welcome to the project page for the Berkeley IP implementation for sensor networks.
Project Status
We have developed an implementation of IPv6 for TinyOS. It uses 6lowpan/HC-00 header compression, and includes IPv6 neighbor discovery, default route selection, point-to-point routing, and network programming support. It has been tested on micaz, telosb, and epic platforms. Standard tools like ping6, tracert6, and nc6 can be used to interact and troubleshoot a network of b6lowpan devices, and pc-side code is written using the standard BSD sockets API (or any other kernel-provided networking interface). A sensor network can also be easily mapped into the public subnet to provide global connectivity. The current codebase is usable for experimentation, and as of the current release the application interface has stabilized somewhat. The UDP interface should remain constant.
Getting Started
The first step is to get the code, by checking it out of tinyos-2.x-contrib, or if you have access to our subversion repository, from there. The Code section has more information on how to do that. Building the code requires having a tinyos-2.x build environment set up, using a reasonably recent version from CVS. Once 2.1 is released, you should be able to use that; check tinyos.net for instructions on this. Instructions on building and running the tree can be found in code/b6lowpan/trunk/README; some more documentation is available below.
Releases
- code/b6lowpan/tags/release-8-25-2008
- Single-phase UDP and IP interfaces
- Elimination of buffer pool
- Fragment forwarding without hop-by-hop reassembly
- Improved header structure to allow easy insertion/deletion
- Network programming support using TFTP-like protocol along with parts of deluge (will be come TFTP in the future).
- code/b6lowpan/tags/release-7-15-2008
- initial release
Docs
- code/b6lowpan/trunk/README - setup instructions
- code/b6lowpan/trunk/HACKING - code layout
- code/b6lowpan/trunk/README-NWPROG - network programming instructions
- b6loWPAN/Design - design notes
- b6loWPAN/PublicIP - connecting a sensor network to the public IPv6 internet
- b6loWPAN/Addressing - address fields of a 6lowpan packet
- b6loWPAN/UDP - an overview of UDP
Code
Releases are stored in tinyos-2.x-contrib/berkeley/b6lowpan/.
Users with accounts at Berkeley can access the development copy from subversion on smote.cs.berkeley.edu.
trunk can be checked out by people at Berkeley using
# svn co svn+ssh://username@smote.cs.berkeley.edu/code/b6lowpan/trunk/
