Left: | ||
Right: |
OLD | NEW |
---|---|
(Empty) | |
1 PageBreak | |
2 | |
3 Transmission of IPv6 Packets over IEEE 802.15.4 Networks (6LoWPAN) | |
4 ------------------------------------------------------------------ | |
5 | |
6 This chapter describes the implementation of ns-3 model for the | |
7 compression of IPv6 packets over IEEE 802.15.4-Based Networks· | |
8 as specified by RFC 4944 and RFC 6262. | |
9 | |
10 Model Description | |
11 ***************** | |
12 | |
13 The source code for the sixlowpan module lives in the directory ``src/sixlowpan` `. | |
14 | |
15 Design | |
16 ====== | |
17 | |
18 The model design does not follow strictly the standard from an architectural· | |
19 standpoint, as it does extend it beyond the original scope by supporting also | |
20 other kinds of networks. | |
21 | |
22 Other than that, the module does strictly follow RFCs 4944 and 6262, with the· | |
23 following exceptions: | |
24 * MESH and LOWPAN_BC0 dispatch types are not supported | |
25 * HC2 encoding is not supported | |
26 * IPHC's SAC and DAC are not supported | |
27 | |
28 The MESH and LOWPAN_BC0 are not supported as they do apply only to mesh-under | |
29 architecture, which is not one of the goals of the module development. | |
30 | |
31 The HC2 encoding is not supported, as it has been superseeded by IPHC and NHC | |
Tom Henderson
2013/07/25 16:24:55
superseded
| |
32 compression type (RFC 6262). | |
33 | |
34 IPHC SAC and DAC are not yet supported, as they do require RFC 6775 for full· | |
35 compliance. It is planned to support them in the future.· | |
36 | |
37 NetDevice | |
38 ######### | |
39 | |
40 The whole module is developed as a transparent NetDevice, which can act as a | |
41 proxy between IPv6 and any NetDevice. | |
42 | |
43 The module does provide some attributes and some tracesources. | |
44 The attributes are: | |
45 * Rfc6282 (boolean), used to activate HC1 (RFC 4944) or IPHC (RFC 6282) compress ion. | |
46 * ElideUdpCecksum (boolean), used to activate UDP checksum compression in IPHC. | |
Tom Henderson
2013/07/25 16:24:55
Checksum
| |
47 * FragmentReassemblyListSize (integer), indicating the number of packets that ca n be reassembled at the same time. If the limit is reached, the oldest packet is discarded. | |
48 * FragmentExpirationTimeout (Time), being the timeout to wait for further fragme nts before discarding a partial packet. | |
49 * ForceEtherType (boolean), and | |
50 * EtherType (unsigned 16 bits integer), to force a particular L2 EtherType. | |
51 | |
52 The last two attributes are needed to use the module with a NetDevice other than 802.15.4, as | |
53 neither IANA or IEEE did reserve an EtherType for 6LoWPAN. As a consequence ther e might be a | |
54 conflict with the L2 multiplexer/demultiplexer which is based on EtherType. The default· | |
55 value is 0xFFFF, which is reserved by IEEE. | |
56 The default module behaviour is to not change the EtherType, however this would not work with | |
57 any NetDevice actually understanding and using the EtherType. | |
58 | |
59 The Trace suorces are: | |
60 * Tx | |
61 * Rx | |
62 * Drop | |
63 | |
64 Scope and Limitations | |
65 ===================== | |
66 | |
67 Future versions of this module will support RFC 6775, however no timeframe is gu aranteed. | |
68 | |
69 References | |
70 ========== | |
71 | |
72 * RFC 4944, "Transmission of IPv6 Packets over IEEE 802.15.4 Networks". | |
73 * RFC 6282, "Compression Format for IPv6 Datagrams over IEEE 802.15.4-Based Netw orks". | |
74 * http://www.iana.org/assignments/ieee-802-numbers/ieee-802-numbers.xml | |
75 * http://standards.ieee.org/develop/regauth/ethertype/eth.txt | |
76 | |
77 Usage | |
78 ***** | |
79 | |
80 Enabling sixlowpan | |
81 ================ | |
82 | |
83 Add ``sixlowpan`` to the list of modules built with ns-3. | |
84 | |
85 Helper | |
86 ====== | |
87 | |
88 The helper is patterned after other device helpers.· | |
89 | |
90 Examples | |
91 ======== | |
92 | |
93 The following examples have been written, which can be found in ``src/sixlowpan/ examples/``: | |
94 | |
95 * ``example-sixlowpan.cc``: A simple example showing end-to-end data transfer. | |
96 | |
97 In particular, the example enables a very simplified end-to-end data | |
98 transfer scenario, with a CSMA network forced to carry 6LoWPAN compressed packet s. | |
99 | |
100 | |
101 Tests | |
102 ===== | |
103 | |
104 No tests are available. | |
105 | |
106 Validation | |
107 ********** | |
108 | |
109 The model has been validated against WireShark, checking whatever the packets ar e correctly | |
110 interpreted and validated. | |
111 | |
112 | |
OLD | NEW |