Further tweaks to 6LoWPAN sphinx
This commit is contained in:
@@ -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
|
||||
*****
|
||||
|
||||
@@ -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
|
||||
+---+---+---+---+---+---+---+---+
|
||||
|
||||
@@ -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>
|
||||
|
||||
Reference in New Issue
Block a user