Proceedings of NetDev 1.1: The Technical Conference on Linux Networking (February 10th-12th 2016. Seville, Spain) State and Future of Generic 6LoWPAN Branch netdev 1.1 Alexander Aring Pengutronix <aar@pengutronix.de> Slide 1 - http://www.pengutronix.de – 02/10/2016
Proceedings of NetDev 1.1: The Technical Conference on Linux Networking (February 10th-12th 2016. Seville, Spain) 6LoWPAN IPv6 over Low-Power Wireless Personal Area Networks Slide 2 - http://www.pengutronix.de – 02/10/2016
Proceedings of NetDev 1.1: The Technical Conference on Linux Networking (February 10th-12th 2016. Seville, Spain) LoWPAN Properties Examples ● Wireless ● IEEE 802.15.4 ● Low-Range ● Bluetooth Low-Energy ● Low-Rate ● NFC ● Low-Power Slide 3 - http://www.pengutronix.de – 02/10/2016
Proceedings of NetDev 1.1: The Technical Conference on Linux Networking (February 10th-12th 2016. Seville, Spain) 6LoWPAN – Adaptation Application-Layer … Transport-Layer UDP TCP ... Packet-Layer IPv6 Adaptation-Layer 6LoWPAN Link-Layer BTLE/802.15.4/NFC LoWPAN Slide 4 - http://www.pengutronix.de – 02/10/2016
Proceedings of NetDev 1.1: The Technical Conference on Linux Networking (February 10th-12th 2016. Seville, Spain) 6LoWPAN – Adaptation What is 6LoWPAN? IANA 6LoWPAN Headers IPV6 IPHC NHC MESH HC1 Raw IPv6 Addressing IPv6+NH compression Fragmentation FRAG Slide 5 - http://www.pengutronix.de – 02/10/2016
Proceedings of NetDev 1.1: The Technical Conference on Linux Networking (February 10th-12th 2016. Seville, Spain) 6LoWPAN – Adaptation What does 6LoWPAN do? IPv6 Header IPv6 6LoWPAN Compression De-compression Fragmentation Reassembly tx rx 6LoWPAN LoWPAN Header Slide 6 - http://www.pengutronix.de – 02/10/2016
Proceedings of NetDev 1.1: The Technical Conference on Linux Networking (February 10th-12th 2016. Seville, Spain) 6LoWPAN – Adaptation 6LoWPAN headers are defjned originally for 802.15.4 Newly introduced 6LoWPAN adaptations (e.g. BTLE) use them! Slide 7 - http://www.pengutronix.de – 02/10/2016
Proceedings of NetDev 1.1: The Technical Conference on Linux Networking (February 10th-12th 2016. Seville, Spain) 6LoWPAN – Adaptation Example BTLE 6LoWPAN – RFC 7668 “… the IPv6 header compression format specifjed in RFC 6282 MUST be used.” 802.15.4 IPHC 6LoWPAN Slide 8 - http://www.pengutronix.de – 02/10/2016
Proceedings of NetDev 1.1: The Technical Conference on Linux Networking (February 10th-12th 2016. Seville, Spain) 6LoWPAN – Adaptation deprecated Provided by BTLE HC1 May be not IPV6 adapted for FRAG BTLE yet FRAG IPHC NHC MESH BTLE 802.15.4 Shared 6LoWPAN 6LoWPAN Slide 9 - http://www.pengutronix.de – 02/10/2016
Proceedings of NetDev 1.1: The Technical Conference on Linux Networking (February 10th-12th 2016. Seville, Spain) Linux – 6LoWPAN IMPORTANT There are two approaches to provide 6LoWPAN under Linux 1) External Routing Device 2) The full Linux way Slide 10 - http://www.pengutronix.de – 02/10/2016
Proceedings of NetDev 1.1: The Technical Conference on Linux Networking (February 10th-12th 2016. Seville, Spain) Linux – 6LoWPAN Just a “small” routing device What we don't do! Linux External Device … IPv6 6LoWPAN UDP TCP ... LoWPAN IPv6 IPv6 (SLIP) Slide 11 - http://www.pengutronix.de – 02/10/2016
Proceedings of NetDev 1.1: The Technical Conference on Linux Networking (February 10th-12th 2016. Seville, Spain) Linux – 6LoWPAN What we do! Linux Still AF_INET6 … UDP TCP ... IPv6 Transceiver 6LoWPAN LoWPAN Raw LoWPAN (Bus) Slide 12 - http://www.pengutronix.de – 02/10/2016
Proceedings of NetDev 1.1: The Technical Conference on Linux Networking (February 10th-12th 2016. Seville, Spain) Linux – 6LoWPAN Current Kernel Situation ● Supported 6LoWPAN Link-Layers ● IEEE 802.15.4 ● Bluetooth Low-Energy Directories ● Generic 6LoWPAN ● net/6lowpan/ ● Link-Layer 6LoWPAN specifjc ● net/ieee802154/6lowpan/ ● net/bluetooth/6lowpan.c Slide 13 - http://www.pengutronix.de – 02/10/2016
Proceedings of NetDev 1.1: The Technical Conference on Linux Networking (February 10th-12th 2016. Seville, Spain) Linux – Generic 6LoWPAN Provide a 6LoWPAN Framework ● Virtual Userspace ● ARPHRD_6LOWPAN ● Raw IPv6 view 6LoWPAN-Interface ● 1280 bytes MTU ● Framework ... ● Header handling IPv6 ● Interface registration ● Userspace API Generic 6LoWPAN Shared-Layer ● Subscribe packet-layer ● Transmit queueing Link-Layer 6LoWPAN ● Special frame handling, etc. LoWPAN Your $WHATEVER Link-Layer Can be not specified by IETF for 6LoWPAN yet Slide 14 - http://www.pengutronix.de – 02/10/2016
Proceedings of NetDev 1.1: The Technical Conference on Linux Networking (February 10th-12th 2016. Seville, Spain) Linux – Generic 6LoWPAN Example 802.15.4 1280 bytes MTU 802.15.4 Interface based 6LoWPAN-Interface ● All 6LoWPAN Headers IPv6 ● Fragmentation ● IPHC + NHC ToDo ● Builds IPv6 packets Generic 6LoWPAN ● Filter 802.15.4 dataframes 802.15.4 6LoWPAN ● Parse 802.15.4 addresses 802.15.4-Interface 127 bytes MTU 802.15.4 MAC-Layer 802.15.4 Slide 15 - http://www.pengutronix.de – 02/10/2016
Proceedings of NetDev 1.1: The Technical Conference on Linux Networking (February 10th-12th 2016. Seville, Spain) Linux – Generic 6LoWPAN Generic 6LoWPAN Put all 6LoWPAN handling there and make it modular! (T oDo) ● Load necessary modules only ● Small link-layer specifjc handling ● Abstract one userspace API ● One interface type from userspace Slide 16 - http://www.pengutronix.de – 02/10/2016
Proceedings of NetDev 1.1: The Technical Conference on Linux Networking (February 10th-12th 2016. Seville, Spain) Linux – 6LoWPAN Remember this? IPv6 6LoWPAN Needs special LoWPAN 6LoWPAN handling? Is 6LoWPAN an adaptation layer only? Slide 17 - http://www.pengutronix.de – 02/10/2016
Proceedings of NetDev 1.1: The Technical Conference on Linux Networking (February 10th-12th 2016. Seville, Spain) Linux – 6LoWPAN Most parts can be done by adaptation but there exist…, RFC 6775 - Neighbor Discovery Optimization for 6LoWPANs (TODO) Slide 18 - http://www.pengutronix.de – 02/10/2016
Proceedings of NetDev 1.1: The Technical Conference on Linux Networking (February 10th-12th 2016. Seville, Spain) Linux – 6LoWPAN and Ndisc Router Border-Router Node IPv6<=>6LoWPAN New Option-Fields New Messages Image-Source: RFC 6775 - Address Registration Multihop DAD Slide 19 - http://www.pengutronix.de – 02/10/2016
Proceedings of NetDev 1.1: The Technical Conference on Linux Networking (February 10th-12th 2016. Seville, Spain) Linux – 6LoWPAN and Ndisc Don't Worry! We are for a friendly co-existence inside IPv6! 1) T alking with the Maintainers! 2) We need a plan! 3) Kernelspace vs userspace? 4) Roles and kernelspace? Slide 20 - http://www.pengutronix.de – 02/10/2016
Proceedings of NetDev 1.1: The Technical Conference on Linux Networking (February 10th-12th 2016. Seville, Spain) Linux – 6LoWPAN Routing IETF ROLL Group Routing Over Low-Power and Lossy networks Candidate: RPL (pronounced: “ripple”) ● Open Standard (IETF) ● Route over: ICMPv6 based ● OS userspace implementation unstrung.sandelman.ca Slide 21 - http://www.pengutronix.de – 02/10/2016
Proceedings of NetDev 1.1: The Technical Conference on Linux Networking (February 10th-12th 2016. Seville, Spain) Questions? Mailinglists: linux-wpan@vger.kernel.org linux-bluetooth@vger.kernel.org Slide 22 - http://www.pengutronix.de – 02/10/2016
Recommend
More recommend