6LoWPAN - IPv6 over Low‑Power Wireless Personal Area Networks =============================================================== .. panels:: :container: container pb-4 :column: col-lg-12 p-2 :card: shadow .. panels:: :container: container pb-4 :column: col-lg-12 p-2 :card: shadow **What is 6LoWPAN?** 6LoWPAN stands for **IPv6 over Low-Power Wireless Personal Area Networks**. It is a communication protocol that allows IPv6 packets to be sent and received over IEEE 802.15.4-based low-power wireless networks, commonly used in Internet of Things (IoT) applications. .. panels:: :container: container pb-4 :column: col-lg-12 p-2 :card: shadow **Why is 6LoWPAN useful?** * Enables **IPv6 connectivity** on low-power, low-bandwidth wireless devices. * Facilitates **end-to-end IP communication** in constrained networks. * Supports **mesh networking**, ideal for wide-area sensor networks. * Allows **interoperability** between IoT devices and the broader internet. * Enables **scalability** and **low-cost deployment** of large device networks. .. panels:: :container: container pb-4 :column: col-lg-12 p-2 :card: shadow **How it works?** * 6LoWPAN provides an **adaptation layer** between the IPv6 network layer and the IEEE 802.15.4 MAC/PHY layers. * It performs **header compression**, **fragmentation**, and **packet reassembly** to fit IPv6 packets into the small frame sizes of 802.15.4. * Devices communicate using standard IPv6 addressing, enabling integration with traditional IP networks. * Routing can be achieved using protocols like RPL (Routing Protocol for Low-Power and Lossy Networks). .. panels:: :container: container pb-4 :column: col-lg-12 p-2 :card: shadow **Where is 6LoWPAN used?** * In **smart homes** and **smart cities** (lighting, thermostats, alarms). * **Industrial automation** and **monitoring systems**. * **Environmental sensing** (air quality, temperature, humidity sensors). * **Wearables** and **medical devices**. * **Agriculture and farming** (soil sensors, irrigation systems). .. panels:: :container: container pb-4 :column: col-lg-12 p-2 :card: shadow **Which OSI layer does this protocol belong to?** * 6LoWPAN functions primarily at the **Network Layer (Layer 3)** as it handles IPv6 communication. * It also includes an **adaptation layer** that sits between Layer 2 (Data Link) and Layer 3. .. panels:: :container: container pb-4 :column: col-lg-12 p-2 :card: shadow **IS 6LoWPAN Windows specific?** * No, 6LoWPAN is **not Windows-specific**. * It is typically implemented on **embedded systems**, microcontrollers, and IoT devices, not on traditional Windows computers. .. panels:: :container: container pb-4 :column: col-lg-12 p-2 :card: shadow **IS 6LoWPAN Linux Specific?** * No, 6LoWPAN is **not Linux-specific**, but Linux does support it through networking stacks like **Contiki-NG**, **RIOT OS**, or **Linux Kernel with 6LoWPAN modules**. .. panels:: :container: container pb-4 :column: col-lg-12 p-2 :card: shadow **Which Transport Protocol is used by 6LoWPAN?** * 6LoWPAN itself operates at the network layer and can support **both TCP and UDP** at the transport layer over IPv6. * UDP is more common due to lower overhead, which suits constrained environments. .. panels:: :container: container pb-4 :column: col-lg-12 p-2 :card: shadow **Which Port is used by 6LoWPAN?** * 6LoWPAN does **not use a specific port**. * It encapsulates standard **IPv6 packets**, which may use various ports depending on the application protocol (e.g., CoAP on UDP port 5683). .. panels:: :container: container pb-4 :column: col-lg-12 p-2 :card: shadow **Is 6LoWPAN using Client server model?** * 6LoWPAN itself is a **network protocol** and does not impose any specific application model. * Applications built over 6LoWPAN (e.g., using CoAP) may use **client-server**, **peer-to-peer**, or **publish-subscribe** models. .. panels:: :container: container pb-4 :column: col-lg-12 p-2 :card: shadow Topics in this section, * :ref:`Learnings in this section <6LoWPAN_step1>` * :ref:`Terminology <6LoWPAN_step2>` * :ref:`Version Info <6LoWPAN_step3>` * :ref:`6LoWPAN Version&IEEE Details <6LoWPAN_step5>` * :ref:`6LoWPAN Basic Setup on Ubuntu using IPv4 <6LoWPAN_step18>` * :ref:`6LoWPAN Basic Setup on Ubuntu using IPv6 <6LoWPAN_step19>` * :ref:`6LoWPAN Protocol Packet Details <6LoWPAN_step6>` * :ref:`6LoWPAN Usecases <6LoWPAN_step7>` * :ref:`6LoWPAN Basic Features <6LoWPAN_step8>` * :ref:`Reference links <6LoWPAN_step17>` .. _6LoWPAN_step1: .. tab-set:: .. tab-item:: Learnings in this section * In this section, you are going to learn .. _6LoWPAN_step2: .. tab-set:: .. tab-item:: Terminology * Terminology .. _6LoWPAN_step3: .. tab-set:: .. tab-item:: Version Info * Version Info .. _6LoWPAN_step5: .. tab-set:: .. tab-item:: 6LoWPAN Version&RFC Details * rfc details .. _6LoWPAN_step18: .. tab-set:: .. tab-item:: 6LoWPAN Basic Setup on Ubuntu using IPv4 * setup .. _6LoWPAN_step19: .. tab-set:: .. tab-item:: 6LoWPAN Basic Setup on Ubuntu using IPv6 * setup .. _6LoWPAN_step6: .. tab-set:: .. tab-item:: 6LoWPAN Protocol Packet Details * packet details .. _6LoWPAN_step7: .. tab-set:: .. tab-item:: 6LoWPAN Usecases * usecases .. _6LoWPAN_step8: .. tab-set:: .. tab-item:: 6LoWPAN Basic Features * features .. _6LoWPAN_step17: .. tab-set:: .. tab-item:: Reference links * Reference links