Further tweaks to 6LoWPAN sphinx

This commit is contained in:
Tommaso Pecorella
2013-12-12 11:34:28 +01:00
parent 1951adcd6c
commit 46f613cb48
3 changed files with 19 additions and 15 deletions

View File

@@ -1,13 +1,13 @@
.. include:: replace.txt
.. highlight:: cpp
PageBreak
6LoWPAN: Transmission of IPv6 Packets over IEEE 802.15.4 Networks
-----------------------------------------------------------------
This chapter describes the implementation of |ns3| model for the
compression of IPv6 packets over IEEE 802.15.4-Based Networks
as specified by RFC 4944 and RFC 6262.
as specified by [RFC4944]_ and [RFC6282]_.
Model Description
*****************
@@ -21,8 +21,9 @@ The model design does not follow strictly the standard from an architectural
standpoint, as it does extend it beyond the original scope by supporting also
other kinds of networks.
Other than that, the module strictly follows RFCs 4944 and 6262, with the
Other than that, the module strictly follows RFCs 4944 and 6282, with the
following exceptions:
* MESH and LOWPAN_BC0 dispatch types are not supported
* HC2 encoding is not supported
* IPHC's SAC and DAC are not supported
@@ -31,7 +32,7 @@ The MESH and LOWPAN_BC0 are not supported as they do apply only to mesh-under
architecture, which is not one of the goals of the module development.
The HC2 encoding is not supported, as it has been superseded by IPHC and NHC
compression type (RFC 6262).
compression type (RFC 6282).
IPHC SAC and DAC are not yet supported, as they do require RFC 6775 for full
compliance. It is planned to support them in the future.
@@ -49,6 +50,7 @@ GetMtu behaviour. It will always return *at least* 1280 bytes, as is the minumum
The module does provide some attributes and some tracesources.
The attributes are:
* Rfc6282 (boolean, default true), used to activate HC1 (RFC 4944) or IPHC (RFC 6282) compression.
* OmitUdpChecksum (boolean, default true), used to activate UDP checksum compression in IPHC.
* FragmentReassemblyListSize (integer, default 0), indicating the number of packets that can be reassembled at the same time. If the limit is reached, the oldest packet is discarded. Zero means infinite.
@@ -59,7 +61,7 @@ The attributes are:
The last two attributes are needed to use the module with a NetDevice other than 802.15.4, as
neither IANA or IEEE did reserve an EtherType for 6LoWPAN. As a consequence there might be a
conflict with the L2 multiplexer/demultiplexer which is based on EtherType. The default
value is 0xFFFF, which is reserved by IEEE.
value is 0xFFFF, which is reserved by IEEE (see [IANA802]_ and [Ethertype]_).
The default module behaviour is to not change the EtherType, however this would not work with
any NetDevice actually understanding and using the EtherType.
@@ -75,6 +77,7 @@ Wireshark dissectors will not even try to decode 6LoWPAN headers on top of proto
802.15.4.
The Trace sources are:
* Tx - exposing packet (including 6LoWPAN header), SixLoWPanNetDevice Ptr, interface index.
* Rx - exposing packet (including 6LoWPAN header), SixLoWPanNetDevice Ptr, interface index.
* Drop - exposing DropReason, packet (including 6LoWPAN header), SixLoWPanNetDevice Ptr, interface index.
@@ -86,7 +89,7 @@ invoked when a packet (or a fragment) is discarded.
Scope and Limitations
=====================
Future versions of this module will support RFC 6775, however no timeframe is guaranteed.
Future versions of this module will support [RFC6775]_, however no timeframe is guaranteed.
Using 6LoWPAN with IPv4 (or other L3 protocols)
###############################################
@@ -106,10 +109,11 @@ not been tested.
References
==========
* RFC 4944, "Transmission of IPv6 Packets over IEEE 802.15.4 Networks".
* RFC 6282, "Compression Format for IPv6 Datagrams over IEEE 802.15.4-Based Networks".
* http://www.iana.org/assignments/ieee-802-numbers/ieee-802-numbers.xml
* http://standards.ieee.org/develop/regauth/ethertype/eth.txt
.. [RFC4944] RFC 4944, "Transmission of IPv6 Packets over IEEE 802.15.4 Networks": http://www.ietf.org/rfc/rfc4944.txt
.. [RFC6282] RFC 6282, "Compression Format for IPv6 Datagrams over IEEE 802.15.4-Based Networks": http://www.ietf.org/rfc/rfc6282.txt
.. [RFC6775] RFC 6775, "Neighbor Discovery Optimization for IPv6 over Low-Power Wireless Personal Area Networks (6LoWPANs)": http://www.ietf.org/rfc/rfc6775.txt
.. [IANA802] IANA, assigned IEEE 802 numbers: http://www.iana.org/assignments/ieee-802-numbers/ieee-802-numbers.xml
.. [Ethertype] IEEE Ethertype numbers: http://standards.ieee.org/develop/regauth/ethertype/eth.txt
Usage
*****

View File

@@ -562,7 +562,7 @@ std::ostream & operator<< (std::ostream & os, SixLowPanFragN const &header);
/**
* \ingroup sixlowpan
* \brief LOWPAN_IPHC base Encoding - see RFC 6262
* \brief LOWPAN_IPHC base Encoding - see RFC 6282
\verbatim
0 1
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5
@@ -920,7 +920,7 @@ std::ostream & operator<< (std::ostream & os, SixLowPanIphc const &header);
/**
* \ingroup sixlowpan
* \brief LOWPAN_NHC Extension Header Encoding - see RFC 6262
* \brief LOWPAN_NHC Extension Header Encoding - see RFC 6282
\verbatim
0 1 2 3 4 5 6 7
+---+---+---+---+---+---+---+---+
@@ -1065,7 +1065,7 @@ std::ostream & operator<< (std::ostream & os, SixLowPanNhcExtension const &heade
/**
* \ingroup sixlowpan
* \brief UDP LOWPAN_NHC Extension Header Encoding - see RFC 6262
* \brief UDP LOWPAN_NHC Extension Header Encoding - see RFC 6282
\verbatim
0 1 2 3 4 5 6 7
+---+---+---+---+---+---+---+---+

View File

@@ -39,11 +39,11 @@ class Node;
/**
* \defgroup sixlowpan 6LoWPAN
* \brief Performs 6LoWPAN compression of IPv6 packets as specified by RFC 4944 and RFC 6262
* \brief Performs 6LoWPAN compression of IPv6 packets as specified by RFC 4944 and RFC 6282
*
* This module acts as a shim between IPv6 and a generic NetDevice.
*
* The module implements RFCs 4944 and 6262, with the following exceptions:
* The module implements RFCs 4944 and 6282, with the following exceptions:
* <ul>
* <li> MESH and LOWPAN_BC0 dispatch types are not supported </li>
* <li> HC2 encoding is not supported </li>