+ All Categories
Home > Documents > Networking Layer Protocols for Internet of Things: 6LoWPAN ...jain/cse570-19/ftp/m_12lpn.pdfIPv6...

Networking Layer Protocols for Internet of Things: 6LoWPAN ...jain/cse570-19/ftp/m_12lpn.pdfIPv6...

Date post: 17-Sep-2020
Category:
Upload: others
View: 1 times
Download: 0 times
Share this document with a friend
37
12-1 ©2019 Raj Jain http://www.cse.wustl.edu/~jain/cse570-19/ Washington University in St. Louis Networking Layer Protocols for Internet of Things: 6LoWPAN and RPL Raj Jain Washington University in Saint Louis Saint Louis, MO 63130 [email protected] These slides and audio/video recordings of this class lecture are at: http://www.cse.wustl.edu/~jain/cse570-19/ .
Transcript
Page 1: Networking Layer Protocols for Internet of Things: 6LoWPAN ...jain/cse570-19/ftp/m_12lpn.pdfIPv6 Link-local address = FE80::1 = 1111 1110 1000 0000::1 IEEE 802.15.4 allows nodes to

12-1 ©2019 Raj Jain http://www.cse.wustl.edu/~jain/cse570-19/ Washington University in St. Louis

Networking Layer Protocols for Internet of Things: 6LoWPAN and RPL

Raj Jain Washington University in Saint Louis

Saint Louis, MO 63130 [email protected]

These slides and audio/video recordings of this class lecture are at: http://www.cse.wustl.edu/~jain/cse570-19/

.

Page 2: Networking Layer Protocols for Internet of Things: 6LoWPAN ...jain/cse570-19/ftp/m_12lpn.pdfIPv6 Link-local address = FE80::1 = 1111 1110 1000 0000::1 IEEE 802.15.4 allows nodes to

12-2 ©2019 Raj Jain http://www.cse.wustl.edu/~jain/cse570-19/ Washington University in St. Louis

Overview

6LowPAN Adaptation Layer Address Formation Compression

RPL RPL Concepts RPL Control Messages RPL Data Forwarding

Note: This is part 3 of a series of class lectures on IoT.

Page 3: Networking Layer Protocols for Internet of Things: 6LoWPAN ...jain/cse570-19/ftp/m_12lpn.pdfIPv6 Link-local address = FE80::1 = 1111 1110 1000 0000::1 IEEE 802.15.4 allows nodes to

12-3 ©2019 Raj Jain http://www.cse.wustl.edu/~jain/cse570-19/ Washington University in St. Louis

Recent Protocols for IoT

Ref: Tara Salman, Raj Jain, "A Survey of Protocols and Standards for Internet of Things," Advanced Computing and Communications, Vol. 1, No. 1, March 2017, http://www.cse.wustl.edu/~jain/papers/iot_accs.htm

Sess

ion MQTT, SMQTT, CoRE, DDS,

AMQP , XMPP, CoAP, IEC, IEEE 1888, …

WiFi, Bluetooth Low Energy, Z-Wave, ZigBee Smart, DECT/ULE, 3G/LTE, NFC, Weightless, HomePlug GP, 802.11ah, 802.15.4e, G.9959, WirelessHART, DASH7, ANT+, LTE-A, LoRaWAN, ISA100.11a, DigiMesh, WiMAX, …

Dat

alin

k

Security

IEEE 1888.3, TCG, Oath 2.0, SMACK, SASL, EDSA, ace, DTLS, Dice, …

Management

IEEE 1905, IEEE 1451, IEEE 1377, IEEE P1828, IEEE P1856

Net

wor

k Encapsulation 6LowPAN, 6TiSCH, 6Lo, Thread… Routing RPL, CORPL, CARP

Page 4: Networking Layer Protocols for Internet of Things: 6LoWPAN ...jain/cse570-19/ftp/m_12lpn.pdfIPv6 Link-local address = FE80::1 = 1111 1110 1000 0000::1 IEEE 802.15.4 allows nodes to

12-4 ©2019 Raj Jain http://www.cse.wustl.edu/~jain/cse570-19/ Washington University in St. Louis

IEEE 802.15.4 Wireless Personal Area Network (WPAN) Allows mesh networking.

Full function nodes can forward packets to other nodes. A PAN coordinator (like WiFi Access Point) allows nodes to

join the network. Nodes have 64-bit addresses Coordinator assigns 16-bit short address for use during the

association Maximum frame size is 127 bytes More details in CSE 574 wireless networking course

http://www.cse.wustl.edu/~jain/cse574-14/index.html

Page 5: Networking Layer Protocols for Internet of Things: 6LoWPAN ...jain/cse570-19/ftp/m_12lpn.pdfIPv6 Link-local address = FE80::1 = 1111 1110 1000 0000::1 IEEE 802.15.4 allows nodes to

12-5 ©2019 Raj Jain http://www.cse.wustl.edu/~jain/cse570-19/ Washington University in St. Louis

EUI64 Addresses Ethernet addresses: 48 bit MAC

IEEE 802.15.4 Addresses: 64 bit Extended Unique Id (EUI)

Local bit was incorrectly assigned. L=1 ⇒ Local but all-broadcast address = all 1’s is not local IETF RFC4291 changed the meaning so that L=0 ⇒ Local The 2nd bit is now called Universal bit (U-bit) ⇒ U-bit formatted EUI64 addresses

Unicast Multicast

Universal Local

Organizationally Unique ID (OUI)

Manufacturer Assigned

1b 1b 22b 24b

Unicast Multicast

Universal Local

Organizationally Unique ID (OUI)

Manufacturer Assigned

1b 1b 22b 40b

Page 6: Networking Layer Protocols for Internet of Things: 6LoWPAN ...jain/cse570-19/ftp/m_12lpn.pdfIPv6 Link-local address = FE80::1 = 1111 1110 1000 0000::1 IEEE 802.15.4 allows nodes to

12-6 ©2019 Raj Jain http://www.cse.wustl.edu/~jain/cse570-19/ Washington University in St. Louis

6LowPAN IPv6 over Low Power Wireless Personal Area Networks How to transmit IPv6 datagrams (elephants)

over low power IoT devices (mice)? Issues: 1. IPv6 address formation: 128-bit IPv6 from 64-bit EUI64 2. Maximum Transmission Unit (MTU): IPv6 at least 1280

bytes vs. IEEE 802.15.4 standard packet size is 127 bytes

3. Address Resolution: 128b or 16B IPv6 addresses. 802.15.4 devices use 64 bit (no network prefix) or 16 bit addresses

4. Optional mesh routing in datalink layer ⇒ Need destination and intermediate addresses.

802.15.4 Header Security Option Payload 25B 21B 81B

Ref: G. Montenegro, et al., “Transmission of IPv6 Packets over IEEE 802.15.4 Networks,” RFC 4944, Sep 2007, http://tools.ietf.org/pdf/rfc4944

Page 7: Networking Layer Protocols for Internet of Things: 6LoWPAN ...jain/cse570-19/ftp/m_12lpn.pdfIPv6 Link-local address = FE80::1 = 1111 1110 1000 0000::1 IEEE 802.15.4 allows nodes to

12-7 ©2019 Raj Jain http://www.cse.wustl.edu/~jain/cse570-19/ Washington University in St. Louis

6LowPAN Adaptation Layer 5. MAC-level retransmissions versus end-to-end: Optional hop-by-hop ack feature of 802.15.4 is used but

the max number of retransmissions is kept low (to avoid overlapping L2 and L4 retransmissions)

6. Extension Headers: 8b or less Shannon-coded dispatch ⇒ header type 102: Mesh addressing header (2-bit dispatch) 11x002: Destination Processing Fragment header (5-bit) 010100002: Hop-by-hop LowPAN Broadcast header (8-

bit) 7. IPv6 and UDP header compression

Frame Control

Seq. #

Adrs [Security] Disp bits

Ext Hdr

IPv6 Payload

Disp bits

Ext Hdr

Disp bits

Ext Hdr

2B 1B 0-20B 0-21B

Ref: O. Hersent, et al., “The Internet of Things: Key Applications and Protocols,” Wiley, 2013, 344 pp., ISBN: 9781119994350 (Safari Book)

Page 8: Networking Layer Protocols for Internet of Things: 6LoWPAN ...jain/cse570-19/ftp/m_12lpn.pdfIPv6 Link-local address = FE80::1 = 1111 1110 1000 0000::1 IEEE 802.15.4 allows nodes to

12-8 ©2019 Raj Jain http://www.cse.wustl.edu/~jain/cse570-19/ Washington University in St. Louis

IPv6 Address Formation Link-Local IPv6 address = FE80::U-bit formatted EUI64 Example:

EUI64 Local Address = 40::1 = 0100 0000::0000 0001 U-bit formatted EUI64 = 0::1 IPv6 Link-local address = FE80::1 = 1111 1110 1000

0000::1 IEEE 802.15.4 allows nodes to have 16-bit short addresses

and each PAN has a 16-bit PAN ID. 1st bit of Short address and PAN ID is Unicast/Multicast The 2nd bit of Short Address and PAN ID is Local/Universal. You can broadcast to all members of a PAN or to all PANs.

IPv6 Link Local Address = FE80 :: PAN ID : Short Address Use 0 if PAN ID is unknown. 2nd bit of PAN ID should always be zero since it is always local. 2nd most significant = 6th bit from right)

Page 9: Networking Layer Protocols for Internet of Things: 6LoWPAN ...jain/cse570-19/ftp/m_12lpn.pdfIPv6 Link-local address = FE80::1 = 1111 1110 1000 0000::1 IEEE 802.15.4 allows nodes to

12-9 ©2019 Raj Jain http://www.cse.wustl.edu/~jain/cse570-19/ Washington University in St. Louis

Homework 12A [8 points] What is the IPv6 Link-Local address for a IEEE 802.15.4

node whose EUI64 address in hex is 0000::0002. Indicate your final answer in hex without using ::

EUI64 in Binary = U-bit EUI64 Binary = U-bit EUI64 Hex = IPv6 Link Local Address =

Page 10: Networking Layer Protocols for Internet of Things: 6LoWPAN ...jain/cse570-19/ftp/m_12lpn.pdfIPv6 Link-local address = FE80::1 = 1111 1110 1000 0000::1 IEEE 802.15.4 allows nodes to

12-10 ©2019 Raj Jain http://www.cse.wustl.edu/~jain/cse570-19/ Washington University in St. Louis

Mesh Addressing Header Dispatch = 102 (2 bits) ⇒ Mesh Addressing Header MAC header contains per-hop source and destination Original source and destination addresses are saved in Mesh

addressing header A 4-bit hops-left field is decremented at each hop

Originator Final P1 P2 P3

Dispatch 10

V F Hops Left

Originator Address

Final Address

V=0 ⇒ Originator address is EUI64, V=1 ⇒ 16bit F=0 ⇒ Final address is EUI64, F=1 ⇒ 16-bit

2b 1b 1b 4b 16b/64b 16b/64bit

Page 11: Networking Layer Protocols for Internet of Things: 6LoWPAN ...jain/cse570-19/ftp/m_12lpn.pdfIPv6 Link-local address = FE80::1 = 1111 1110 1000 0000::1 IEEE 802.15.4 allows nodes to

12-11 ©2019 Raj Jain http://www.cse.wustl.edu/~jain/cse570-19/ Washington University in St. Louis

6LowPAN Broadcast Header For Mesh broadcast/multicast A new sequence number is put in every broadcast message by

the originator

Dispatch 010100002

Sequence Number

8b 8b

Page 12: Networking Layer Protocols for Internet of Things: 6LoWPAN ...jain/cse570-19/ftp/m_12lpn.pdfIPv6 Link-local address = FE80::1 = 1111 1110 1000 0000::1 IEEE 802.15.4 allows nodes to

12-12 ©2019 Raj Jain http://www.cse.wustl.edu/~jain/cse570-19/ Washington University in St. Louis

6LowPAN Fragment Header Dispatch = 11x00 (5 bits) ⇒ Fragment Header Full packet size in the first fragment’s fragment header Datagram tag = sequence number

⇒ Fragments of the same packet Fragment Offset in multiples of 8 bytes

11000 IP Pkt Size Datagram tag Payload

11100 IP Pkt Size Datagram tag Datagram Offset Payload

1st Fragment:

Other Fragments: 5b 11b 16b

5b 11b 16b 8b

Page 13: Networking Layer Protocols for Internet of Things: 6LoWPAN ...jain/cse570-19/ftp/m_12lpn.pdfIPv6 Link-local address = FE80::1 = 1111 1110 1000 0000::1 IEEE 802.15.4 allows nodes to

12-13 ©2019 Raj Jain http://www.cse.wustl.edu/~jain/cse570-19/ Washington University in St. Louis

IP+UDP Header Compression: Stateless Called HC1-HC2 compression (not recommended) IP version field is omitted Flow label field if zero is omitted and C=1 Only 4b UDP ports are sent if between 61616-61631 (F0Bx) UDP length field is omitted. IP addresses are compressed.

Dispatch 01000010

Uncompressed Fields

SA Encoding

DA Encoding

C NH S D L 0

Prefix IID 00 Uncompressed Uncompressed 01 Uncompressed Derived from L2 10 FE80::/80 omitted Uncompressed 11 FE80::/64 omitted Derived from L2

00 Next Hdr inline 01 Next Hdr= 17 (UDP) 10 Next Hdr = 1 (ICMP) 11 Next Hdr = 6 (TCP)

UDP Length omitted UDP Dest Port 61616-61631 UDP Src Port 61616-61631

HC1 Header HC2 Header

Page 14: Networking Layer Protocols for Internet of Things: 6LoWPAN ...jain/cse570-19/ftp/m_12lpn.pdfIPv6 Link-local address = FE80::1 = 1111 1110 1000 0000::1 IEEE 802.15.4 allows nodes to

12-14 ©2019 Raj Jain http://www.cse.wustl.edu/~jain/cse570-19/ Washington University in St. Louis

Context Based Compression HC1 works only with link-local addresses Need globally routable IPv6 addresses for outside nodes IPHC uses a 3b dispatch code and a 13-bit base header

Ref: O. Hersent, et al., “The Internet of Things: Key Applications and Protocols,” Wiley, 2013, 344 pp., ISBN: 9781119994350 (Safari Book)

Hop Limit

Disp 011

TF NH CID SAC SAM M DAC DAM SCI DCI Uncompressed IPv6 fields

Next Header uses LowPAN_NHC

Predefined hop limit = uncompressed (00), 1, 64, 255

Multicast Destination Source/Dest Context IDs if CID=1

3b 2b 1b 2b 1b 1b 2b 1b 1b 2b 4b 4b

S AC D AC

SAM DAM

Address

0 00 No compression 0 01 First 64 - bits omitted 0 10 First 112 bits omitted 0 11 128 bits omitted. Get from L2 1 00 Unspecified Address :: 1 01 First 64 bit s from context 1 10 First 112 bits from context 1 11 1 28 bits from context and L2

Source Adr Compression Source Adr Mode

00 ECN+DSCP+4 b pad+ 2 0b Flow label (4 Bytes)

01 ECN +2 b pad + 12b Flow label (2 Bytes), DSCP omitted

10 ECN+DSCP (1B), Flow l abel omitted 11 ECN+DSCP+Flow label omitted

Traffic Class, Flow Label

Page 15: Networking Layer Protocols for Internet of Things: 6LoWPAN ...jain/cse570-19/ftp/m_12lpn.pdfIPv6 Link-local address = FE80::1 = 1111 1110 1000 0000::1 IEEE 802.15.4 allows nodes to

12-15 ©2019 Raj Jain http://www.cse.wustl.edu/~jain/cse570-19/ Washington University in St. Louis

Context Based Compression (Cont) If the next header uses LowPAN_NHC

For IPv6 base extension headers:

Ref: J. Hui and P. Thubert, “Compression Format for IPv6 Datagrams over IEEE 802.15.4-Based Networks,” IETF RFC 6282, Sep 2011, http://tools.ietf.org/pdf/rfc6282

1110 IPv6 Ext Hdr ID (EID)

NH

4b 3b 1b 0 = Uncompressed 1 = LowPAN_NHC encoded

Uncompressed Fields

Next Hdr

LowPAN_NHC UDP Header:

11110 C

EID Header 0 IPv 6 Hop - by - Hop Options 1 IPv 6 Routing 2 IPv 6 Fragment 3 IPv 6 Destination Options 4 IPv 6 Mobility Header 5 Rese rved 6 Reserved 7 IPv6 Header

P 5b 1b 2b

Checksum omitted

00 All 16 - bits in line 01 1 st 8 - bits of dest port omitted 10 1 st 8 - bits of src port omitted 11 1 st 12 - bits of src & dest omitted

Page 16: Networking Layer Protocols for Internet of Things: 6LoWPAN ...jain/cse570-19/ftp/m_12lpn.pdfIPv6 Link-local address = FE80::1 = 1111 1110 1000 0000::1 IEEE 802.15.4 allows nodes to

12-16 ©2019 Raj Jain http://www.cse.wustl.edu/~jain/cse570-19/ Washington University in St. Louis

6LowPAN: Summary

3 New Headers: Mesh addressing: Intermediate addresses Hop-by-Hop: Mesh broadcasts Destination processing: Fragmentation

Address Formation: 128-bit addresses by prefixing FE80:: Header compression:

HC1+HC2 header for link-local IPv6 addresses IPHC compression for all IPv6 addresses

Page 17: Networking Layer Protocols for Internet of Things: 6LoWPAN ...jain/cse570-19/ftp/m_12lpn.pdfIPv6 Link-local address = FE80::1 = 1111 1110 1000 0000::1 IEEE 802.15.4 allows nodes to

12-17 ©2019 Raj Jain http://www.cse.wustl.edu/~jain/cse570-19/ Washington University in St. Louis

Routing Protocol for Low-Power and Lossy Networks (RPL)

Developed by IETF Routing over Low-Power and Lossy Networks (ROLL) working group

Low-Power and Lossy Networks (LLN) Routers have constraints on processing, memory, and energy. ⇒ Can’t use OSPF, OLSR, RIP, AODV, DSR, etc

LLN links have high loss rate, low data rates, and instability ⇒ expensive bits, dynamically formed topology

Covers both wireless and wired networks Requires bidirectional links. May be symmetric/asymmetric.

Ideal for n-to-1 (data sink) communications, e.g., meter reading 1-to-n and 1-to-1 possible with some extra work.

Multiple LLN instances on the same physical networks Ref: T. Winder, Ed., et al., "RPL: IPv6 Routing Protocol for Low-Power and Lossy Networks," IETF RFC 6550, Mar 2012, https://ietf.org/doc/rfc6550/

Page 18: Networking Layer Protocols for Internet of Things: 6LoWPAN ...jain/cse570-19/ftp/m_12lpn.pdfIPv6 Link-local address = FE80::1 = 1111 1110 1000 0000::1 IEEE 802.15.4 allows nodes to

12-18 ©2019 Raj Jain http://www.cse.wustl.edu/~jain/cse570-19/ Washington University in St. Louis

RPL Concepts Directed Acyclic Graph (DAG): No cycles Root: No outgoing edge Destination-Oriented DAG (DODAG): Single

root Up: Towards root Down: Away from root Objective Function: Minimize energy, latency, … Rank: Distance from root using specified objective RPL Instance: One or more DODAGs.

A node may belong to multiple RPL instances. DODAG ID: IPv6 Adr of the root DODAG Version: Current version of the

DODAG. Every time a new DODAG is computed with the same root, its version incremented.

Up

Root

DAG

DODAG

Rank=1 Rank=2

One RPL Instance

Page 19: Networking Layer Protocols for Internet of Things: 6LoWPAN ...jain/cse570-19/ftp/m_12lpn.pdfIPv6 Link-local address = FE80::1 = 1111 1110 1000 0000::1 IEEE 802.15.4 allows nodes to

12-19 ©2019 Raj Jain http://www.cse.wustl.edu/~jain/cse570-19/ Washington University in St. Louis

RPL Concepts (Cont) Goal: Reachability goal, e.g., connected to

database Grounded: Root can satisfy the goal Floating: Not grounded. Only in-DODAG

communication. Parent: Immediate successor towards the root Sub-DODAG: Sub tree rooted at this node Storing: Nodes keep routing tables for sub-

DODAG Non-Storing: Nodes know only parent.

Do not keep a routing table.

Page 20: Networking Layer Protocols for Internet of Things: 6LoWPAN ...jain/cse570-19/ftp/m_12lpn.pdfIPv6 Link-local address = FE80::1 = 1111 1110 1000 0000::1 IEEE 802.15.4 allows nodes to

12-20 ©2019 Raj Jain http://www.cse.wustl.edu/~jain/cse570-19/ Washington University in St. Louis

RPL Control Messages 1. DODAG Information Object (DIO):

Downward RPL instance multicasts Allows other nodes to discover an RPL

instance and join it 2. DODAG Information Solicitation (DIS):

Link-Local multicast request for DIO (neighbor discovery). Do you know of any DODAGs?

3. Destination Advertisement Object (DAO): From child to parents or root. Can I join you as a child on DODAG #x?

4. DAO Ack: Yes, you can! Or Sorry, you cant! 5. Consistency Check: Challenge/response

messages for security

Old New

DIS DIO

DAO DAO-Ack

New DIS

Ref: S. Kuryla, “RPL:IPv6 Routing Protocol for Low Power and Lossy Networks,” http://cnds.eecs.jacobs-university.de/courses/nds-2010/kuryla-rpl.pdf

Page 21: Networking Layer Protocols for Internet of Things: 6LoWPAN ...jain/cse570-19/ftp/m_12lpn.pdfIPv6 Link-local address = FE80::1 = 1111 1110 1000 0000::1 IEEE 802.15.4 allows nodes to

12-21 ©2019 Raj Jain http://www.cse.wustl.edu/~jain/cse570-19/ Washington University in St. Louis

DODAG Formation Example 1. A multicasts DIOs that it’s member of

DODAG ID itself with Rank 0. 2. B, C, D, E hear and determine that

their rank (distance) is 1, 1, 3, 4, respectively from A

3. B, C, D, E send DAOs to A. 4. A accepts all 5. B and C multicast DIOs 6. D hears those and determines that its

distance from B and C is 1, 2 7. E hears both B, C and determines that

its distance from B and C is 2, 1 8. D sends a DAO to B

E sends a DAO to C 9. B sends a DAO-Ack to D

C sends a DAO-Ack to E

A

B C

D E

A

B C

D E

A

B C

D E

A

B C

D E

A

B C

D E

A

B C

D E

DIO DAO

DAO-Ack

DIO DAO DAO

A

B C

D E

A

B C

D E DAO-Ack

1 3

4

5 8

9

1 1 4 3

1 1 2

Rank 2 Rank 2

Rank 3 Rank 4

Rank 1 Rank 1

Page 22: Networking Layer Protocols for Internet of Things: 6LoWPAN ...jain/cse570-19/ftp/m_12lpn.pdfIPv6 Link-local address = FE80::1 = 1111 1110 1000 0000::1 IEEE 802.15.4 allows nodes to

12-22 ©2019 Raj Jain http://www.cse.wustl.edu/~jain/cse570-19/ Washington University in St. Louis

RPL Data Forwarding Case 1: To the root (n-to-1)

Address to root and give to parent Case 2: A to B

2A: Storing (Everyone keeps a routing table) Forward up from A to common parent Forward down from common parent to B

2B: Non-storing (No routing tables except at root) Forward up from A to root Root puts a source route and forwards down

Case 2: Broadcast from the root (1-to-n) 2A: Storing (everyone knows their children)

Broadcast to children 2B: Non-Storing (Know only parents but not children)

Root puts a source route for each leaf and forwards

A B E

R C D

Page 23: Networking Layer Protocols for Internet of Things: 6LoWPAN ...jain/cse570-19/ftp/m_12lpn.pdfIPv6 Link-local address = FE80::1 = 1111 1110 1000 0000::1 IEEE 802.15.4 allows nodes to

12-23 ©2019 Raj Jain http://www.cse.wustl.edu/~jain/cse570-19/ Washington University in St. Louis

Homework 12B [10 points] A. Which of the following is not a DODAG and why? B. What is the direction of Link A? (Up or Down): C. Assuming each link has a distance of 1, what is the rank of node B? D. Show the paths from B to C if the DODAG is non-storing. E. Show the paths from D to E if the DODAG is storing.

A

B D E

C

Page 24: Networking Layer Protocols for Internet of Things: 6LoWPAN ...jain/cse570-19/ftp/m_12lpn.pdfIPv6 Link-local address = FE80::1 = 1111 1110 1000 0000::1 IEEE 802.15.4 allows nodes to

12-24 ©2019 Raj Jain http://www.cse.wustl.edu/~jain/cse570-19/ Washington University in St. Louis

RPL Summary

1. An RPL instance consists of one or more DODAGs 2. DIO are broadcast downward,

DAOs are requests to join upward DIS are DIO solicitations DAO-ack are responses to DAO

3. Non-storing nodes do not keep any routing table and send everything upwards toward the root

Page 25: Networking Layer Protocols for Internet of Things: 6LoWPAN ...jain/cse570-19/ftp/m_12lpn.pdfIPv6 Link-local address = FE80::1 = 1111 1110 1000 0000::1 IEEE 802.15.4 allows nodes to

12-25 ©2019 Raj Jain http://www.cse.wustl.edu/~jain/cse570-19/ Washington University in St. Louis

Summary

1. 6LowPAN is designed for IPv6 over IEEE 802.15.4 Frame size and address sizes are primary issues Header compression is the key mechanism

2. RPL is designed primarily for data collection No assumption about IEEE 802.15.4 or wireless or frame size Routing is the primary issue Forming a spanning tree like DODAG is the solution

Page 26: Networking Layer Protocols for Internet of Things: 6LoWPAN ...jain/cse570-19/ftp/m_12lpn.pdfIPv6 Link-local address = FE80::1 = 1111 1110 1000 0000::1 IEEE 802.15.4 allows nodes to

12-26 ©2019 Raj Jain http://www.cse.wustl.edu/~jain/cse570-19/ Washington University in St. Louis

Reading List O. Hersent, et al., “The Internet of Things: Key Applications and Protocols,”

Wiley, 2013, 344 pp., ISBN: 9781119994350 (Safari Book) G. Montenegro, et al., “Transmission of IPv6 Packets over IEEE 802.15.4

Networks,” RFC 4944, Sep 2007, http://tools.ietf.org/pdf/rfc4944 J. Hui and P. Thubert, “Compression Format for IPv6 Datagrams over IEEE

802.15.4-Based Networks,” IETF RFC 6282, Sep 2011, http://tools.ietf.org/pdf/rfc6282

T. Winder, Ed., et al., "RPL: IPv6 Routing Protocol for Low-Power and Lossy Networks," IETF RFC 6550, Mar 2012, https://ietf.org/doc/rfc6550/

S. Kuryla, “RPL: IPv6 Routing Protocol for Low Power and Lossy Networks,” http://cnds.eecs.jacobs-university.de/courses/nds-2010/kuryla-rpl.pdf

Page 27: Networking Layer Protocols for Internet of Things: 6LoWPAN ...jain/cse570-19/ftp/m_12lpn.pdfIPv6 Link-local address = FE80::1 = 1111 1110 1000 0000::1 IEEE 802.15.4 allows nodes to

12-27 ©2019 Raj Jain http://www.cse.wustl.edu/~jain/cse570-19/ Washington University in St. Louis

Wikipedia Links http://en.wikipedia.org/wiki/6LoWPAN http://en.wikipedia.org/wiki/IEEE_802.15.4 http://en.wikipedia.org/wiki/MAC_address http://en.wikipedia.org/wiki/IPv6 http://en.wikipedia.org/wiki/IPv6_address http://en.wikipedia.org/wiki/Organizationally_unique_identifier http://en.wikipedia.org/wiki/IPv6_packet http://en.wikipedia.org/wiki/Link-local_address

Page 28: Networking Layer Protocols for Internet of Things: 6LoWPAN ...jain/cse570-19/ftp/m_12lpn.pdfIPv6 Link-local address = FE80::1 = 1111 1110 1000 0000::1 IEEE 802.15.4 allows nodes to

12-28 ©2019 Raj Jain http://www.cse.wustl.edu/~jain/cse570-19/ Washington University in St. Louis

References N. Kushalnagar, et al., "IPv6 over Low-Power Wireless Personal Area

Networks (6LoWPANs): Overview, Assumptions, Problem Statement, and Goals", IETF RFC 4919, Aug 2007, http://www.rfc-editor.org/rfc/pdfrfc/rfc4919.txt.pdf

G. Montenegro, N. Kushalnagar, J. Hui, D. Culler, "Transmission of IPv6 Packets over IEEE 802.15.4 Networks," IETF RFC 4944, https://tools.ietf.org/pdf/rfc4944

J. Hui, Ed., P. Thubert, "Compression Format for IPv6 Datagrams over IEEE 802.15.4-Based Networks," IETF RFC 6282, Sept 2011, https://tools.ietf.org/html/rfc6282

E. Kim, et al., "Design and Application Spaces for IPv6 over Low-Power Wireless Personal Area Networks (6LoWPANs)," IETF RFC 6568, Apr 2012, http://www.rfc-editor.org/rfc/pdfrfc/rfc6568.txt.pdf

E. Kim, et al., "Problem Statement and Requirements for IPv6 over Low-Power Wireless Personal Area Network (6LoWPAN) Routing," IETF RFC 6606, May 2012, http://www.rfc-editor.org/rfc/pdfrfc/rfc6606.txt.pdf

Z. Shelby, et al., "Neighbor Discovery Optimization for IPv6 over Low-Power Wireless Personal Area Networks (6LoWPANs), IETF RFC 6775, Nov. 2012, http://www.rfc-editor.org/rfc/pdfrfc/rfc6775.txt.pdf

Page 29: Networking Layer Protocols for Internet of Things: 6LoWPAN ...jain/cse570-19/ftp/m_12lpn.pdfIPv6 Link-local address = FE80::1 = 1111 1110 1000 0000::1 IEEE 802.15.4 allows nodes to

12-29 ©2019 Raj Jain http://www.cse.wustl.edu/~jain/cse570-19/ Washington University in St. Louis

References (Cont) "Routing Requirements for Urban Low-Power and Lossy Networks," IETF

RFC 5548, May 2009, https://ietf.org/doc/rfc5548/ "Industrial Routing Requirements in Low-Power and Lossy Networks,"

IETF RFC 5673, Oct 2009, https://ietf.org/doc/rfc5673/ "Home Automation Routing Requirements in Low-Power and Lossy

Networks," IETF RFC 5826, Apr 2010, https://ietf.org/doc/rfc5826/ "Building Automation Routing Requirements in Low-Power and Lossy

Networks," IETF RFC 5867, Jun 2010, https://ietf.org/doc/rfc5867/ "The Trickle Algorithm," IETF RFC 6206, Mar 2011,

https://ietf.org/doc/rfc6206/ "RPL: IPv6 Routing Protocol for Low-Power and Lossy Networks," IETF

RFC 6550, Mar 2012, https://ietf.org/doc/rfc6550/ "Routing Metrics Used for Path Calculation in Low-Power and Lossy

Networks," IETF RFC 6551, Mar 2012, https://ietf.org/doc/rfc6551/ "Objective Function Zero for the Routing Protocol for Low-Power and

Lossy Networks (RPL)," IETF RFC 6552, Mar 2012, https://ietf.org/doc/rfc6552/

Page 30: Networking Layer Protocols for Internet of Things: 6LoWPAN ...jain/cse570-19/ftp/m_12lpn.pdfIPv6 Link-local address = FE80::1 = 1111 1110 1000 0000::1 IEEE 802.15.4 allows nodes to

12-30 ©2019 Raj Jain http://www.cse.wustl.edu/~jain/cse570-19/ Washington University in St. Louis

References (Cont) "The Minimum Rank with Hysteresis Objective Function," IETF RFC 6719,

Sep 2012, https://ietf.org/doc/rfc6719/ "Reactive Discovery of Point-to-Point Routes in Low-Power and Lossy

Networks," IETF RFC 6997, Aug 2013, https://ietf.org/doc/rfc6997/ "A Mechanism to Measure the Routing Metrics along a Point-to-Point Route

in a Low-Power and Lossy Network," IETF RFC 6998, Aug 2013, https://ietf.org/doc/rfc6998/

Page 31: Networking Layer Protocols for Internet of Things: 6LoWPAN ...jain/cse570-19/ftp/m_12lpn.pdfIPv6 Link-local address = FE80::1 = 1111 1110 1000 0000::1 IEEE 802.15.4 allows nodes to

12-31 ©2019 Raj Jain http://www.cse.wustl.edu/~jain/cse570-19/ Washington University in St. Louis

Acronyms 6LowPAN IPv6 over Low Power Wireless Personal Area Network AODV Ad-hoc On-demand Distance Vector AQMP Advanced Queueing Message Protocol ARC-EM4 Name of a product ARM Acorn RISC Machine CC Consistency Check CID Context ID CoAP Constrained Application Protocol CoRE Constrained Restful Environment DA Destination Address DAC Destination Address Compression DAG Directed Acyclic Graph DAM Destination Address Mode DAO DODAG Advertisement Object DCI Destination Context ID DDS Data Distribution Service

Page 32: Networking Layer Protocols for Internet of Things: 6LoWPAN ...jain/cse570-19/ftp/m_12lpn.pdfIPv6 Link-local address = FE80::1 = 1111 1110 1000 0000::1 IEEE 802.15.4 allows nodes to

12-32 ©2019 Raj Jain http://www.cse.wustl.edu/~jain/cse570-19/ Washington University in St. Louis

Acronyms (Cont) DECT Digital Enhanced Cordless Telecommunication DIO DODAG Information Object DIS DODAG Information Solicitation DODAG Destination Oriented Directed Acyclic Graph DSCP Differentiated Services Control Point DSR Dynamic Source Routing DTLS Datagram Transport Level Security ECN Explicit Congestion Notification EID IPv6 Extension Header ID EUI Extended Unique Id GP GreenPHY HC Header Compression HC1-HC2 Header Compression 1 and Header Compression 2 ICMP IP Control Message Protocol ID Identifier IEEE Institution of Electrical and Electronic Engineers

Page 33: Networking Layer Protocols for Internet of Things: 6LoWPAN ...jain/cse570-19/ftp/m_12lpn.pdfIPv6 Link-local address = FE80::1 = 1111 1110 1000 0000::1 IEEE 802.15.4 allows nodes to

12-33 ©2019 Raj Jain http://www.cse.wustl.edu/~jain/cse570-19/ Washington University in St. Louis

Acronyms (Cont)

IETF Internet Engineering Task Force IID Interface Identifier IoT Internet of Things IP Internet Protocol IPHC IP Header Compression IPv6 Internet Protocol Version 6 ISASecure Security certification by LLN Low-Power and Lossy Networks LoRaWAN Long Range Wide Area Network LTE Long-Term Evolution MAC Media Access Control MTU Maximum Transmission Unit NFC Near Field Communication NH Next Header NHC Next Header Compression OLSR On-Demand Link State Routing

Page 34: Networking Layer Protocols for Internet of Things: 6LoWPAN ...jain/cse570-19/ftp/m_12lpn.pdfIPv6 Link-local address = FE80::1 = 1111 1110 1000 0000::1 IEEE 802.15.4 allows nodes to

12-34 ©2019 Raj Jain http://www.cse.wustl.edu/~jain/cse570-19/ Washington University in St. Louis

Acronyms (Cont) OSPF Open Shortest Path Forwarding PAN Personal Area Network RFC Request for Comments RIP Routing Information Protocol ROLL Routing over Low-Power and Lossy Networks RPL Routing Protocol for Low-Power and Lossy Networks SA Source Address SAC Source Address Compression SAM Source Address Mode SASL Simple Authentication and Security Layer SCI Source Context ID SMACK Simplified Mandatory Access Control Kernel TCG Trusted Computing Group TCP Transmission Control Protocol TF Traffic Class, Flow Label TinyOS Tiny Operating System

Page 35: Networking Layer Protocols for Internet of Things: 6LoWPAN ...jain/cse570-19/ftp/m_12lpn.pdfIPv6 Link-local address = FE80::1 = 1111 1110 1000 0000::1 IEEE 802.15.4 allows nodes to

12-35 ©2019 Raj Jain http://www.cse.wustl.edu/~jain/cse570-19/ Washington University in St. Louis

Acronyms (Cont) UDP User Datagram Protocol ULE Ultra Low Energy WiFi Wireless Fidelity WirelessHART Wireless Highway Addressable Remote Transducer Protocol WPAN Wireless Personal Area Network

Page 36: Networking Layer Protocols for Internet of Things: 6LoWPAN ...jain/cse570-19/ftp/m_12lpn.pdfIPv6 Link-local address = FE80::1 = 1111 1110 1000 0000::1 IEEE 802.15.4 allows nodes to

12-36 ©2019 Raj Jain http://www.cse.wustl.edu/~jain/cse570-19/ Washington University in St. Louis

Scan This to Download These Slides

Raj Jain http://rajjain.com

Page 37: Networking Layer Protocols for Internet of Things: 6LoWPAN ...jain/cse570-19/ftp/m_12lpn.pdfIPv6 Link-local address = FE80::1 = 1111 1110 1000 0000::1 IEEE 802.15.4 allows nodes to

12-37 ©2019 Raj Jain http://www.cse.wustl.edu/~jain/cse570-19/ Washington University in St. Louis

Related Modules

Video Podcasts of Prof. Raj Jain's Lectures, https://www.youtube.com/channel/UCN4-5wzNP9-ruOzQMs-8NUw

CSE473S: Introduction to Computer Networks (Fall 2011), https://www.youtube.com/playlist?list=PLjGG94etKypJWOSPMh8Azcgy5e_10TiDw

Wireless and Mobile Networking (Spring 2016), https://www.youtube.com/playlist?list=PLjGG94etKypKeb0nzyN9tSs_HCd5c4wXF

CSE567M: Computer Systems Analysis (Spring 2013), https://www.youtube.com/playlist?list=PLjGG94etKypJEKjNAa1n_1X0bWWNyZcof

CSE571S: Network Security (Fall 2011), https://www.youtube.com/playlist?list=PLjGG94etKypKvzfVtutHcPFJXumyyg93u


Recommended