IPv6 sera-t-il universel? Laurent Toutain March 28, 2014 IPv6 Benefits Addresses

32 128 ￿ Larger address space from 2 to 2

• Permanent address ￿ Stateless auto-configuration of hosts

• Layer 3 ”Plug & Play” Protocol ￿ Simple header Efficient routing ⇒ • No checksum • No fragmentation by routers

• Enhanced extension system

￿

￿

￿

￿

Slide 3 Laurent Toutain F´ed´erez 2014 IPv6 Benefits Addresses

32 128 ￿ Larger address space from 2 to 2

• Permanent address ￿ Stateless auto-configuration of hosts

• Layer 3 ”Plug & Play” Protocol ￿ Simple header Efficient routing ⇒ • No checksum • No fragmentation by routers

• Enhanced extension system ￿ end to end, but. . .

￿

￿

￿

Slide 3 Laurent Toutain F´ed´erez 2014 IPv6 Benefits Addresses

32 128 ￿ Larger address space from 2 to 2

• Permanent address ￿ Stateless auto-configuration of hosts

• Layer 3 ”Plug & Play” Protocol ￿ Simple header Efficient routing ⇒ • No checksum • No fragmentation by routers

• Enhanced extension system ￿ end to end, but. . . ￿ Quality of service

￿

￿

Slide 3 Laurent Toutain F´ed´erez 2014 IPv6 Benefits Addresses

32 128 ￿ Larger address space from 2 to 2

• Permanent address ￿ Stateless auto-configuration of hosts

• Layer 3 ”Plug & Play” Protocol ￿ Simple header Efficient routing ⇒ • No checksum • No fragmentation by routers

• Enhanced extension system ￿ end to end, but. . . ￿ Quality of service ￿ Better support of mobility

￿

Slide 3 Laurent Toutain F´ed´erez 2014 IPv6 Benefits Addresses

32 128 ￿ Larger address space from 2 to 2

• Permanent address ￿ Stateless auto-configuration of hosts

• Layer 3 ”Plug & Play” Protocol ￿ Simple header Efficient routing ⇒ • No checksum • No fragmentation by routers

• Enhanced extension system ￿ end to end, but. . . ￿ Quality of service ￿ Better support of mobility ￿ IPsec

Slide 3 Laurent Toutain F´ed´erez 2014 Notation

Slide 4 Laurent Toutain F´ed´erez 2014 IPv6 addresses Addresses

F2C:544:9E::2:EF8D:6B7 F692:: A:1455::A:6E0 D:63:D::4:3A:55F B33:C::F2 7:5059:3D:C0::

9D::9BAC:B8CA:893F:80 1E:DE2:4C83::4E:39:F35:C875 2:: A:FDE3:76:B4F:D9D:: D6::

369F:9:F8:DBF::2 DD4:B45:1:C42F:BE6:75:: 9D7B:7184:EF::3FB:BF1A:D80 FE9::B:3

EC:DB4:B:F:F11::E9:090 83:B9:08:B5:F:3F:AF:B84 E::35B:8572:7A3:FB2 99:F:9:8B76::BC9

D64:07:F394::BDB:DF40:08EE:A79E AC:23:5D:78::233:84:8 F0D:F::F4EB:0F:5C7 E71:F577:ED:E:9DE8::

B::3 1D3F:A0AA:: 70:8EA1::8:D5:81:2:F302 26::8880:7 93:: F::9:0 E:2:0:266B::

763E:C:2E:1EB:F6:F4:14:16 E6:6:F4:B6:A888:979E:D78:09 9:754:5:90:0A78:A1A3:1:7 2:8::

97B:C4::C36 A40:7:5:7E8F:0:32EC:9A:D0 8A52::575 D::4CB4:E:2BF:5485:8CE 07:5::41 6B::A9:C

94FF:7B8::D9:51:26F 2::E:AE:ED:81 8241:: 5F97:: AD5B:259C:7DB8:24:58:552A:: 94:4:9FD:4:87E5::

5A8:2FF:1::CC EA:8904:7C:: 7C::D6B7:A7:B0:8B DC:6C::34:89 6C:1::5 7B3:6780:4:B1::E586

412:2:5E1:6DE5:5E3A:553:3:: 7F0:: B39::1:B77:DB 9D3:1F1:4B:3:B4E6:7681:09:D4A8 61:520::E0

1:28E9:0:095:DF:F2:: 1B61:4::1DE:50A 34BC:99::E9:9EFB E:EF:: BDC:672A:F4C8:A1::4:7:9CB7

C697:56AD:40:8:0::62

Slide 5 Laurent Toutain F´ed´erez 2014 Don’t Worry Addresses

Addresses are not random numbers...they are often easy to handle and even to memorize sometimes

Slide 6 Laurent Toutain F´ed´erez 2014 Notation Addresses

￿ Base format (a 16-octet Global IPv6 Address):

• 2001:0db8:beef:0001:0000:0000:cafe:deca ￿ Compact Format:

2001:db8:beef:1::cafe:deca

1. Remove 0 on the left of each word 2. To avoid ambiguity, substitute ONLY one sequence of zeros by ::

￿ an IPv4 address may also appear : ::ffff:192.0.2.1 Warning: 2001:db8:3::/40 is in fact 2001:db8:0003::/40 and not 2001:db8:0300::/40

Slide 7 Laurent Toutain F´ed´erez 2014 Is it enough for the future ? Addresses

￿ Address length 38 • About 3.4x10 addresses • 60000 trillion trillion addresses per inhabitant on earth • Addresses for every grain of sands in the world • IPv4: 6 addresses per US inhabitant, 1 in Europe, 0.01 in China and 0.001 in India

￿ Justification of a fixed-length address

Warning:

￿ An address for everything on the network and not an address for everything ￿ No addresses for the whole life:

• Depends on your position on the network • ISP Renumbering may be possible

Slide 8 Laurent Toutain F´ed´erez 2014 Addressing scheme

Slide 10 Laurent Toutain F´ed´erez 2014 Addressing scheme Addresses

￿ RFC 4291 defines current IPv6 addresses

• loopback (::1) • link local (fe80::/10) • global unicast (2000::/3) • multicast (ff00::/8) ￿ Use CIDR principles:

• Prefix / prefix length notation • 2001:db8:face::/48 • 2001:db8:face:bed:cafe:deca:dead:beef/64 ￿ Interfaces have several IPv6 addresses

• at least a link-local and a global unicast addresses

Slide 11 Laurent Toutain F´ed´erez 2014 Address Format

Slide 12 Laurent Toutain F´ed´erez 2014 Addressing Space Utilization Addresses

0000::/8 Reserved by IETF [RFC4291] 0100::/8 Reserved by IETF [RFC4291] 0200::/7 Reserved by IETF [RFC4048] 0400::/6 Reserved by IETF [RFC4291] 0800::/5 Reserved by IETF [RFC4291] 1000::/4 Reserved by IETF [RFC4291] 2000::/3 Global Unicast [RFC4291] 4000::/3 Reserved by IETF [RFC4291] 6000::/3 Reserved by IETF [RFC4291] 8000::/3 Reserved by IETF [RFC4291] a000::/3 Reserved by IETF [RFC4291] c000::/3 Reserved by IETF [RFC4291] e000::/4 Reserved by IETF [RFC4291] f000::/5 Reserved by IETF [RFC4291] F800::/6 Reserved by IETF [RFC4291] fc00::/7 Unique Local Unicast [RFC4193] fe00::/9 Reserved by IETF [RFC4291] fe80::/10 Link Local Unicast [RFC4291] fec0::/10 Reserved by IETF [RFC3879] ff00::/8 Multicast [RFC4291]

http://www.iana.org/assignments/ipv6-address-space

Slide 13 Laurent Toutain F´ed´erez 2014 Address Format Addresses

Global Unicast Address:

3 45 16 64

001 Global Prefix SID Interface ID

public topology local topology link address given by the provider assigned by network engineer auto or manual configuration

Link-Local Address:

10 54 64

fe80 0...0 Interface ID

link address auto-configuration

Slide 14 Laurent Toutain F´ed´erez 2014 Interface Identifier Addresses

Interface ID can be selected differently ￿ Derived from a Layer 2 ID (I.e. MAC address) :

• for Link Local address • for Global Address : plug-and-play hosts ￿ Assigned manually :

• to keep same address when card or host is changed • to remember easily the address − 1, 2, 3, ... − last digit of the v4 address − the IPv4 address (for nostalgic system administrators) − ...

Slide 16 Laurent Toutain F´ed´erez 2014 Interface Identifier Addresses

Interface ID can be selected differently ￿ Derived from a Layer 2 ID (I.e. MAC address) :

• for Link Local address • for Global Address : plug-and-play hosts ￿ Assigned manually :

• to keep same address when Ethernet card or host is changed • to remember easily the address − 1, 2, 3, ... − last digit of the v4 address − the IPv4 address (for nostalgic system administrators) − ...

Slide 16 Laurent Toutain F´ed´erez 2014 Interface Identifier Addresses

Interface ID can be selected differently ￿ Random value :

• Changed frequently (e.g, every day, per session, at each reboot...) to guarantee anonymity ￿ Hash of other values (experimental) :

• To link address to other properties • Public key • List of assigned prefixes • ...

Slide 17 Laurent Toutain F´ed´erez 2014 Interface Identifier Addresses

Interface ID can be selected differently ￿ Random value :

• Changed frequently (e.g, every day, per session, at each reboot...) to guarantee anonymity ￿ Hash of other values (experimental) :

• To link address to other properties • Public key • List of assigned prefixes • ...

Slide 17 Laurent Toutain F´ed´erez 2014 Some Well Known Multicast Addresses Addresses

8 4 4 112

ff 0 scope Group ID

ff02:0:0:0:0:0:0:1 All Nodes Address (link-local scope) ff02:0:0:0:0:0:0:2 All Routers Address ff02:0:0:0:0:0:0:5 OSPFIGP ff02:0:0:0:0:0:0:6 OSPFIGP Designated Routers ff02:0:0:0:0:0:0:9 RIP Routers ff02:0:0:0:0:0:0:fb mDNSv6 ff02:0:0:0:0:0:1:2 All-dhcp-agents ff02:0:0:0:0:1:ffxx:xxxx Solicited-Node Address ff05:0:0:0:0:0:1:3 All-dhcp-servers (site-local scope)

http://www.iana.org/assignments/ipv6-multicast-addresses

Slide 26 Laurent Toutain F´ed´erez 2014 Some Well Known Multicast Addresses Addresses

8 4 4 112

ff 0 scope Group ID

ff02:0:0:0:0:0:0:1 All Nodes Address (link-local scope) ff02:0:0:0:0:0:0:2 All Routers Address ff02:0:0:0:0:0:0:5 OSPFIGP ff02:0:0:0:0:0:0:6 OSPFIGP Designated Routers ff02:0:0:0:0:0:0:9 RIP Routers ff02:0:0:0:0:0:0:fb mDNSv6 ff02:0:0:0:0:0:1:2 All-dhcp-agents ff02:0:0:0:0:1:ffxx:xxxx Solicited-Node Address ff05:0:0:0:0:0:1:3 All-dhcp-servers (site-local scope)

http://www.iana.org/assignments/ipv6-multicast-addresses

Slide 26 Laurent Toutain F´ed´erez 2014 IPv6 Header

Slide 29 Laurent Toutain F´ed´erez 2014 IPv6 Packet : Simpler Protocol ￿ IPv6 Header

Definition

￿ IPv6 header follows the same IPv4 principle:

• fixed address size ... but 4 times larger

• alignment on 64 bit words (instead of 32) ￿ Features not used in IPv4 are removed ￿ Minimum MTU 1280 Bytes

• If L2 cannot carry 1280 Bytes, then add an adaptation layer such as AAL5 for ATM or 6LoWPAN (RFC 4944 )forIEEE 802.15.4.

Goal :

￿ Forward packet as fast as possible ￿ Less processing in routers ￿ More features at both ends

Slide 30 Laurent Toutain F´ed´erez 2014 IPv4 Header Protocol ￿ IPv6 Header

0...... 7...... 15...... 23...... 31

Ver. IHL DiffServ Packet Length

Identifier flag Offset

TTL Protocol Checksum

Source Address

Destination Address

Options

Layer 4

Slide 31 Laurent Toutain F´ed´erez 2014 IPv4 Header Protocol ￿ IPv6 Header

0...... 7...... 15...... 23...... 31

Ver. IHL DiffServ Packet Length

Identifier flag Offset

TTL Protocol Checksum

Source Address

Destination Address

Options

Layer 4

Slide 31 Laurent Toutain F´ed´erez 2014 IPv4 Header Protocol ￿ IPv6 Header

0...... 7...... 15...... 23...... 31

Ver. DiffServ Packet Length

Identifier flag Offset

TTL Protocol Checksum

Source Address

Destination Address

Layer 4

Slide 31 Laurent Toutain F´ed´erez 2014 IPv4 Header Protocol ￿ IPv6 Header

0...... 7...... 15...... 23...... 31

Ver. DiffServ Packet Length

TTL Protocol Checksum

Source Address

Destination Address

Layer 4

Slide 31 Laurent Toutain F´ed´erez 2014 IPv4 Header Protocol ￿ IPv6 Header

0...... 7...... 15...... 23...... 31

Ver. DiffServ Packet Length

TTL Protocol

Source Address

Destination Address

Layer 4

Slide 31 Laurent Toutain F´ed´erez 2014 IPv4 Header Protocol ￿ IPv6 Header

0...... 7...... 15...... 23...... 31

6 DiffServ Packet Length

TTL Protocol

Source Address

Destination Address

Layer 4

Slide 31 Laurent Toutain F´ed´erez 2014 IPv4 Header Protocol ￿ IPv6 Header

0...... 7...... 15...... 23...... 31

6 DiffServ Packet Length

TTL Protocol

Source Address

Destination Address

Layer 4

Slide 31 Laurent Toutain F´ed´erez 2014 IPv4 Header Protocol ￿ IPv6 Header

0...... 7...... 15...... 23...... 31

6 DiffServ

Payload Length

TTL Protocol

Source Address

Destination Address

Layer 4

Slide 31 Laurent Toutain F´ed´erez 2014 IPv4 Header Protocol ￿ IPv6 Header

0...... 7...... 15...... 23...... 31

6 DiffServ

Payload Length Next header

TTL

Source Address

Destination Address

Layer 4Layer or extensions 4

Slide 31 Laurent Toutain F´ed´erez 2014 IPv4 Header Protocol ￿ IPv6 Header

0...... 7...... 15...... 23...... 31

6 DiffServ

Payload Length Next header Hop Limit

Source Address

Destination Address

Layer 4Layer or extensions 4

Slide 31 Laurent Toutain F´ed´erez 2014 IPv4 Header Protocol ￿ IPv6 Header

0...... 7...... 15...... 23...... 31

6 DiffServ

Payload Length Next header Hop Limit

Source Address

Destination Address

Layer 4Layer or extensions 4

Slide 31 Laurent Toutain F´ed´erez 2014 IPv6 Header Protocol ￿ IPv6 Header

0...... 7...... 15...... 23...... 31

6 DiffServ Flow Label

Payload Length Next header Hop Limit

Source Address

Destination Address

Layer 4 or extensions

Slide 31 Laurent Toutain F´ed´erez 2014 ICMPv6

Slide 32 Laurent Toutain F´ed´erez 2014 ICMPv6 Protocol ￿ IPv6 Header

￿ ICMPv6 is different from ICMP for IPv4 (RFC 4443 )

• IPv6 (or extension): 58 ￿ Features are extended and better organized ￿ Never filter ICMPv6 messages blindly, be careful to what you do (see RFC 4890 ) Format :

0...... 7...... 15...... 23...... 31

Type Code Checksum

Options

Precision type code nature of the message ICMPv6 code specifies the cause of the message ICMPv6 mandatory checksum used to verify the integrity of ICMP packet

Slide 33 Laurent Toutain F´ed´erez 2014 ICMPv6 : Two Functions Protocol ￿ IPv6 Header

￿ Error occurs during forwarding (value < 128) 1 Destination Unreachable 2 Packet Too Big 3 Time Exceeded 4 Parameter Problem ￿ Management Applications (value > 128) 128 Echo Request 129 Echo Reply 130 Group Membership Query 131 Group Membership Report 132 Group Membership Reduction 133 Router Solicitation 134 Router Advertissement 135 Neighbor Solicitation 136 Neighbor Advertissement 137 Redirect

Slide 34 Laurent Toutain F´ed´erez 2014 Neighbor Discovery

Slide 35 Laurent Toutain F´ed´erez 2014 Neighbor Discovery (RFC 4861 ) Associated Protocols & Mechanisms

￿ IPv6 nodes sharing the same physical medium (link) use Neighbor Discovery (ND) to:

• determine link-layer addresses of their neighbors

− IPv4 : ARP

• Address auto-configuration

− Layer 3 parameters: IPv6 address, default route, MTU and Hop Limit − Only for hosts ! − IPv4 : impossible, mandate a centralized DHCP server

• Duplicate Address Detection (DAD)

− IPv4 : gratuitous ARP

• maintain neighbors reachability information (NUD) ￿ Mainly uses multicast addresses but also takes into account NBMA Networks (eg., ATM) ￿ Protocol packets are transported/encapsulated by/in ICMPv6 messages:

• Router Solicitation: 133 ; Router Advertisement: 134 ; Neighbor Solicitation: 135 ; Neighbor Advertisement: 136 ; Redirect: 137

Slide 36 Laurent Toutain F´ed´erez 2014 Neighbor Discovery (RFC 4861 ) Associated Protocols & Mechanisms

￿ IPv6 nodes sharing the same physical medium (link) use Neighbor Discovery (ND) to:

• determine link-layer addresses of their neighbors

− IPv4 : ARP

• Address auto-configuration

− Layer 3 parameters: IPv6 address, default route, MTU and Hop Limit − Only for hosts ! − IPv4 : impossible, mandate a centralized DHCP server

• Duplicate Address Detection (DAD)

− IPv4 : gratuitous ARP

• maintain neighbors reachability information (NUD) ￿ Mainly uses multicast addresses but also takes into account NBMA Networks (eg., ATM) ￿ Protocol packets are transported/encapsulated by/in ICMPv6 messages:

• Router Solicitation: 133 ; Router Advertisement: 134 ; Neighbor Solicitation: 135 ; Neighbor Advertisement: 136 ; Redirect: 137

Slide 36 Laurent Toutain F´ed´erez 2014 Neighbor Discovery (RFC 4861 ) Associated Protocols & Mechanisms

￿ IPv6 nodes sharing the same physical medium (link) use Neighbor Discovery (ND) to:

• determine link-layer addresses of their neighbors

− IPv4 : ARP

• Address auto-configuration

− Layer 3 parameters: IPv6 address, default route, MTU and Hop Limit − Only for hosts ! − IPv4 : impossible, mandate a centralized DHCP server

• Duplicate Address Detection (DAD)

− IPv4 : gratuitous ARP

• maintain neighbors reachability information (NUD) ￿ Mainly uses multicast addresses but also takes into account NBMA Networks (eg., ATM) ￿ Protocol packets are transported/encapsulated by/in ICMPv6 messages:

• Router Solicitation: 133 ; Router Advertisement: 134 ; Neighbor Solicitation: 135 ; Neighbor Advertisement: 136 ; Redirect: 137

Slide 36 Laurent Toutain F´ed´erez 2014 Neighbor Discovery (RFC 4861 ) Associated Protocols & Mechanisms

￿ IPv6 nodes sharing the same physical medium (link) use Neighbor Discovery (ND) to:

• determine link-layer addresses of their neighbors

− IPv4 : ARP

• Address auto-configuration

− Layer 3 parameters: IPv6 address, default route, MTU and Hop Limit − Only for hosts ! − IPv4 : impossible, mandate a centralized DHCP server

• Duplicate Address Detection (DAD)

− IPv4 : gratuitous ARP

• maintain neighbors reachability information (NUD) ￿ Mainly uses multicast addresses but also takes into account NBMA Networks (eg., ATM) ￿ Protocol packets are transported/encapsulated by/in ICMPv6 messages:

• Router Solicitation: 133 ; Router Advertisement: 134 ; Neighbor Solicitation: 135 ; Neighbor Advertisement: 136 ; Redirect: 137

Slide 36 Laurent Toutain F´ed´erez 2014 Neighbor Discovery (RFC 4861 ) Associated Protocols & Mechanisms

￿ IPv6 nodes sharing the same physical medium (link) use Neighbor Discovery (ND) to:

• determine link-layer addresses of their neighbors

− IPv4 : ARP

• Address auto-configuration

− Layer 3 parameters: IPv6 address, default route, MTU and Hop Limit − Only for hosts ! − IPv4 : impossible, mandate a centralized DHCP server

• Duplicate Address Detection (DAD)

− IPv4 : gratuitous ARP

• maintain neighbors reachability information (NUD) ￿ Mainly uses multicast addresses but also takes into account NBMA Networks (eg., ATM) ￿ Protocol packets are transported/encapsulated by/in ICMPv6 messages:

• Router Solicitation: 133 ; Router Advertisement: 134 ; Neighbor Solicitation: 135 ; Neighbor Advertisement: 136 ; Redirect: 137

Slide 36 Laurent Toutain F´ed´erez 2014 Neighbor Discovery (RFC 4861 ) Associated Protocols & Mechanisms

￿ IPv6 nodes sharing the same physical medium (link) use Neighbor Discovery (ND) to:

• determine link-layer addresses of their neighbors

− IPv4 : ARP

• Address auto-configuration

− Layer 3 parameters: IPv6 address, default route, MTU and Hop Limit − Only for hosts ! − IPv4 : impossible, mandate a centralized DHCP server

• Duplicate Address Detection (DAD)

− IPv4 : gratuitous ARP

• maintain neighbors reachability information (NUD) ￿ Mainly uses multicast addresses but also takes into account NBMA Networks (eg., ATM) ￿ Protocol packets are transported/encapsulated by/in ICMPv6 messages:

• Router Solicitation: 133 ; Router Advertisement: 134 ; Neighbor Solicitation: 135 ; Neighbor Advertisement: 136 ; Redirect: 137

Slide 36 Laurent Toutain F´ed´erez 2014 Stateless Auto-configuration: Basic Principles Associated Protocols & Mechanisms

Slide 37 Laurent Toutain F´ed´erez 2014 Stateless Auto-configuration: Basic Principles Associated Protocols & Mechanisms

t=0

fe80::IID1 α::IID1/64

Time t=0: Router is configured with a link-local address and manually configured with a global address (α::/64 is given by the network administrator)

Slide 37 Laurent Toutain F´ed´erez 2014 Stateless Auto-configuration: Basic Principles Associated Protocols & Mechanisms

t=1 : Node Attachment

fe80::IID1 fe80::IID2 α::IID1/64

Host constructs its link-local address based on the interface MAC address

Slide 37 Laurent Toutain F´ed´erez 2014 Stateless Auto-configuration: Basic Principles Associated Protocols & Mechanisms

t=2

fe80::IID1 fe80::IID2 α::IID1/64

::/0 -> solicited (fe80:IID2) : NS (who has fe80::IID2?)

Host does a DAD (i.e. sends a Neighbor Solicitation to query resolution of its own address (tentative): no answers means no other host has this value).

Slide 37 Laurent Toutain F´ed´erez 2014 Stateless Auto-configuration: Basic Principles Associated Protocols & Mechanisms

t=3

fe80::IID1 fe80::IID2 α::IID1/64

fe80::IID2 -> ff02::2 : RS

Host sends a Router Solicitation to the Link-Local All-Routers Multicast group using the newly link-local configured address

Slide 37 Laurent Toutain F´ed´erez 2014 Stateless Auto-configuration: Basic Principles Associated Protocols & Mechanisms

t=4

fe80::IID1 fe80::IID2 α::IID1/64 fe80::IID1 -> fe80::IID2 RA (α::/64, DHCPv6, MTU=1500, HL=64, bit M=1)

Router directly answers the host using Link-local addresses. The answer may contain a/several prefix(es). Router can also mandate hosts to use DHCPv6 to obtain prefixes (statefull auto-configuration) and/or other parameters (DNS servers. . . ): Bit M = 1.

Slide 37 Laurent Toutain F´ed´erez 2014 Stateless Auto-configuration: Basic Principles Associated Protocols & Mechanisms

t=5

fe80::IID1 fe80::IID2 α::IID1/64

::/0 -> solicited (α:IID2) : NS (who has α::IID2?)

Host does a DAD (i.e. sends a Neighbor Solicitation to query resolution of its own global address: no answers means no other host as this value).

Slide 37 Laurent Toutain F´ed´erez 2014 Stateless Auto-configuration: Basic Principles Associated Protocols & Mechanisms

t=6

fe80::IID1 fe80::IID2 α::IID1/64 α::IID2/64

Host sets the global address and takes answering router as the default router.

Slide 37 Laurent Toutain F´ed´erez 2014 Stateless DHCPv6 (RFC 3736 ): With static parameters Associated Protocols & Mechanisms

fe80::IID1 fe80::IID2 α::IID1/64 α::IID2/64 fe80::IID2 -> ff02::1:2 Information-Request

Host needs only static parameters (DNS, NTP,...). It sends an Information-Request message to All DHCP Agents multicast group. The scope of this address is link-local.

Slide 43 Laurent Toutain F´ed´erez 2014 Stateless DHCPv6 (RFC 3736 ): With static parameters Associated Protocols & Mechanisms

γ :: IID > ff 05 :: 1 : 3 : relay-frw[Information-request] −

fe80::IID1 fe80::IID2 α::IID1/64 α::IID2/64

A relay (generally the router) encapsulates the request into a Forward message and sends it either to the All DHCP Servers site-local multicast group or to a list of pre-defined unicast addresses.

Slide 43 Laurent Toutain F´ed´erez 2014 Stateless DHCPv6 (RFC 3736 ): With static parameters Associated Protocols & Mechanisms

￿ :: IID > γ :: IID : relay-reply[parameters, DNS,...] −

fe80::IID1 fe80::IID2 α::IID1/64 α::IID2/64

The server responds to the relay

Slide 43 Laurent Toutain F´ed´erez 2014 Stateless DHCPv6 (RFC 3736 ): With static parameters Associated Protocols & Mechanisms

fe80::IID1 fe80::IID2 α::IID1/64 α::IID2/64 fe80::IID1 -> fe80::IID2 parameters: DNS,...

The router extracts information from the message to create answer and sends information to the host

Slide 43 Laurent Toutain F´ed´erez 2014 Stateless DHCPv6 (RFC 3736 ): With static parameters Associated Protocols & Mechanisms

DNS

fe80::IID1 fe80::IID2 α::IID1/64 α::IID2/64

Host is now configured to resolve domain names through the DNS

Slide 43 Laurent Toutain F´ed´erez 2014 Stateless vs Stateful

Slide 58 Laurent Toutain F´ed´erez 2014 Auto-configuration: Stateless vs. Stateful Associated Protocols & Mechanisms

Stateless Stateful (DHCPv6) Pro: Pro: ￿ Reduce manual configuration ￿ Control of addresses on the ￿ No server, no state (the router LAN provides all information) ￿ Control of address format Cons: Cons: ￿ Non-obvious addresses ￿ Requires an extra server ￿ No control on addresses on the LAN ￿ Still needs RA mechanism ￿ Clients to be deployed

￿ Stateless: Typically, for Plug-and-Play networks (Home Network) ￿ Stateful: Typically, for administrated networks (enterprise, institution)

Slide 59 Laurent Toutain F´ed´erez 2014 Wireless Sensor Network IETF Working Groups

￿ Allow end-to-end communication.

• Not the main feature. ￿ L2 Independant ￿ Reduce interconnection costs ￿ IPv6, ... but:

• IPv6 packet are too big

− Compress them

• IPv6 is not energy aware

− Reduce packet size and control plane traffic

• IPv6 link is not well defined

− Neighbor Discovery Protocol must be improved

• IPv6 routing protocols (even Manet) are too expensive

− Define a new routing protocol for LoWPAN

• IPv6 End-to-end is insecure

− Define standard ALG to relay messages, based on REST

Slide 61 Laurent Toutain F´ed´erez 2014 Wireless Sensor Network IETF Working Groups

￿ Allow end-to-end communication.

• Not the main feature. ￿ L2 Independant ￿ Reduce interconnection costs ￿ IPv6, ... but:

• IPv6 packet are too big

− Compress them

• IPv6 is not energy aware

− Reduce packet size and control plane traffic

• IPv6 link is not well defined

− Neighbor Discovery Protocol must be improved

• IPv6 routing protocols (even Manet) are too expensive

− Define a new routing protocol for LoWPAN

• IPv6 End-to-end is insecure

− Define standard ALG to relay messages, based on REST

Slide 61 Laurent Toutain F´ed´erez 2014 Wireless Sensor Network IETF Working Groups

￿ Allow end-to-end communication.

• Not the main feature. ￿ L2 Independant ￿ Reduce interconnection costs ￿ IPv6, ... but:

• IPv6 packet are too big

− Compress them

• IPv6 is not energy aware

− Reduce packet size and control plane traffic

• IPv6 link is not well defined

− Neighbor Discovery Protocol must be improved

• IPv6 routing protocols (even Manet) are too expensive

− Define a new routing protocol for LoWPAN

• IPv6 End-to-end is insecure

− Define standard ALG to relay messages, based on REST

Slide 61 Laurent Toutain F´ed´erez 2014 Wireless Sensor Network IETF Working Groups

￿ Allow end-to-end communication.

• Not the main feature. ￿ L2 Independant ￿ Reduce interconnection costs ￿ IPv6, ... but:

• IPv6 packet are too big

− Compress them

• IPv6 is not energy aware

− Reduce packet size and control plane traffic

• IPv6 link is not well defined

− Neighbor Discovery Protocol must be improved

• IPv6 routing protocols (even Manet) are too expensive

− Define a new routing protocol for LoWPAN

• IPv6 End-to-end is insecure

− Define standard ALG to relay messages, based on REST

Slide 61 Laurent Toutain F´ed´erez 2014 Wireless Sensor Network IETF Working Groups

￿ Allow end-to-end communication.

• Not the main feature. ￿ L2 Independant ￿ Reduce interconnection costs ￿ IPv6, ... but:

• IPv6 packet are too big

− Compress them

• IPv6 is not energy aware

− Reduce packet size and control plane traffic

• IPv6 link is not well defined

− Neighbor Discovery Protocol must be improved

• IPv6 routing protocols (even Manet) are too expensive

− Define a new routing protocol for LoWPAN

• IPv6 End-to-end is insecure

− Define standard ALG to relay messages, based on REST

Slide 61 Laurent Toutain F´ed´erez 2014 Wireless Sensor Network IETF Working Groups

￿ Allow end-to-end communication.

• Not the main feature. ￿ L2 Independant ￿ Reduce interconnection costs ￿ IPv6, ... but:

• IPv6 packet are too big

− Compress them

• IPv6 is not energy aware

− Reduce packet size and control plane traffic

• IPv6 link is not well defined

− Neighbor Discovery Protocol must be improved

• IPv6 routing protocols (even Manet) are too expensive

− Define a new routing protocol for LoWPAN

• IPv6 End-to-end is insecure

− Define standard ALG to relay messages, based on REST

Slide 61 Laurent Toutain F´ed´erez 2014 Wireless Sensor Network IETF Working Groups

￿ Allow end-to-end communication.

• Not the main feature. ￿ L2 Independant ￿ Reduce interconnection costs ￿ IPv6, ... but:

• IPv6 packet are too big

− Compress them

• IPv6 is not energy aware

− Reduce packet size and control plane traffic

• IPv6 link is not well defined

− Neighbor Discovery Protocol must be improved

• IPv6 routing protocols (even Manet) are too expensive

− Define a new routing protocol for LoWPAN

• IPv6 End-to-end is insecure

− Define standard ALG to relay messages, based on REST

Slide 61 Laurent Toutain F´ed´erez 2014 Wireless Sensor Network IETF Working Groups

￿ Allow end-to-end communication.

• Not the main feature. ￿ L2 Independant ￿ Reduce interconnection costs ￿ IPv6, ... but:

• IPv6 packet are too big

− Compress them

• IPv6 is not energy aware

− Reduce packet size and control plane traffic

• IPv6 link is not well defined

− Neighbor Discovery Protocol must be improved

• IPv6 routing protocols (even Manet) are too expensive

− Define a new routing protocol for LoWPAN

• IPv6 End-to-end is insecure

− Define standard ALG to relay messages, based on REST

Slide 61 Laurent Toutain F´ed´erez 2014 Wireless Sensor Network IETF Working Groups

￿ Allow end-to-end communication.

• Not the main feature. ￿ L2 Independant ￿ Reduce interconnection costs ￿ IPv6, ... but:

• IPv6 packet are too big

− Compress them

• IPv6 is not energy aware

− Reduce packet size and control plane traffic

• IPv6 link is not well defined

− Neighbor Discovery Protocol must be improved

• IPv6 routing protocols (even Manet) are too expensive

− Define a new routing protocol for LoWPAN

• IPv6 End-to-end is insecure

− Define standard ALG to relay messages, based on REST

Slide 61 Laurent Toutain F´ed´erez 2014 Wireless Sensor Network IETF Working Groups

￿ Allow end-to-end communication.

• Not the main feature. ￿ L2 Independant ￿ Reduce interconnection costs ￿ IPv6, ... but:

• IPv6 packet are too big

− Compress them

• IPv6 is not energy aware

− Reduce packet size and control plane traffic

• IPv6 link is not well defined

− Neighbor Discovery Protocol must be improved

• IPv6 routing protocols (even Manet) are too expensive

− Define a new routing protocol for LoWPAN

• IPv6 End-to-end is insecure

− Define standard ALG to relay messages, based on REST

Slide 61 Laurent Toutain F´ed´erez 2014 IPv6 too big IETF Working Groups ￿ 6LoWPAN

￿ and L2 frames are too small.

With IPv6 header Compression Router Advertissement Discr. IPHC HC values ICMPv6 < 67 3b 13b variable 16 No Compression Router Advertissement Discr. IPv6 ICMPv6 < 45 1 40 16

Frame Sequence Addressing FCS Control Number Field 2 1 4to20 2

0to127 preamble SDFLen.

4 1 1

Slide 62 Laurent Toutain F´ed´erez 2014 Discriminator values IETF Working Groups ￿ 6LoWPAN

￿ 01 000001 Uncompressed IPv6 ￿ 01 000010 Compressed IPv6 (obsolete) ￿ 01 010000 Broadcast

• Used to suppress routing loops ￿ 01 1 Compressed header (new version) ￿ 10 xxxxxx MESH

• Kind of tunnel to carry source and destination addresses ￿ 11 000xxx Fragmentation (first)? ￿ 11 100xxx Fragmentation (subsequent) Discriminator cannot be used to identify Zigbee traffic.

Slide 63 Laurent Toutain F´ed´erez 2014 2 models IETF Working Groups ￿ 6LoWPAN

￿ Mesh-Under

• L2 allows relaying between nodes • From IPv6, network appears as a link • 6LoWPAN adds two Dispatch values (Mesh and Broadcast) ￿ Route-Over

• Routing (L3) is running on some nodes • Change for traditional IPv6 link model (no routers) ￿ Terminology:

• 6LBR: Border Router (between LoWPAN and Internet) • 6LR: Node with routing protocol • 6LN: Node without routing/forwarding capabilities

Slide 64 Laurent Toutain F´ed´erez 2014 6LoWPAN IETF Working Groups ￿ 6LoWPAN

1 2

Slide 65 Laurent Toutain F´ed´erez 2014 6LoWPAN IETF Working Groups ￿ 6LoWPAN

1 2 Star

Slide 65 Laurent Toutain F´ed´erez 2014 6LoWPAN IETF Working Groups ￿ 6LoWPAN

5 Mesh 6 Under

1 2 7

4

3 Slide 65 Laurent Toutain F´ed´erez 2014 6LoWPAN IETF Working Groups ￿ 6LoWPAN

5 Mesh 6 Under

IPv6 1 2 7

4

3 Slide 65 Laurent Toutain F´ed´erez 2014 6LoWPAN IETF Working Groups ￿ 6LoWPAN

5 Mesh 6 Under

IPv6 6LP 1 2 7

4

3 Slide 65 Laurent Toutain F´ed´erez 2014 6LoWPAN IETF Working Groups ￿ 6LoWPAN

5 Mesh 6 Under L2 Mesh

1 2 1 7 → → IPv6 6LP 1 2 7

4

3 Slide 65 Laurent Toutain F´ed´erez 2014 6LoWPAN IETF Working Groups ￿ 6LoWPAN

5 Mesh 6 Under L2 Mesh

1 2 1 7 → → IPv6 6LP 6LP IPv6 1 2 7 L2 Mesh L2 Mesh

2 4 1 7 4 7 1 7 → → → →

4

3 Slide 65 Laurent Toutain F´ed´erez 2014 6LoWPAN IETF Working Groups ￿ 6LoWPAN

5 Mesh 6 Under L2 Mesh

1 2 1 7 → → IPv6 6LP 6LP IPv6 1 2 7 Mesh Under: L2 Mesh L2 Mesh 2 4 1 7 4 7 1 7 - L2 is viewed as a link (single→ → prefix)→ → - Lot of Broadcasts (high energy consumption) - How to build bridging table4 ? (not IETF business)

3 Slide 65 Laurent Toutain F´ed´erez 2014 Example : Simple AODV (LOAD) IETF Working Groups ￿ 6LoWPAN

s

Slide 66 Laurent Toutain F´ed´erez 2014 Example : Simple AODV (LOAD) IETF Working Groups ￿ 6LoWPAN

s

Rreq s? Rreq

s?

Slide 66 Laurent Toutain F´ed´erez 2014 Example : Simple AODV (LOAD) IETF Working Groups ￿ 6LoWPAN

s

s?

Rreq s? s?

Rreq

s?

Slide 66 Laurent Toutain F´ed´erez 2014 Example : Simple AODV (LOAD) IETF Working Groups ￿ 6LoWPAN

s

s?

Rreq Rreq s? Rreq s?

s? s?

s?

Slide 66 Laurent Toutain F´ed´erez 2014 Example : Simple AODV (LOAD) IETF Working Groups ￿ 6LoWPAN

s

Rreq s? Rreq

s? Rreq s? Rreq

Rreq s? s? s?

s? s?

s?

Slide 66 Laurent Toutain F´ed´erez 2014 Example : Simple AODV (LOAD) IETF Working Groups ￿ 6LoWPAN

s

Rresp Rresp

Rresp Rresp

Slide 66 Laurent Toutain F´ed´erez 2014 6LoWPAN: broadcast IETF Working Groups ￿ 6LoWPAN

5 Mesh 6 Under

IPv6 ( )6LP →∗ 1 2 7

4

3 Slide 67 Laurent Toutain F´ed´erez 2014 6LoWPAN: broadcast IETF Working Groups ￿ 6LoWPAN

5

Broad IPv6 6 Mesh 123 1 →∗ Under

Broad IPv6 IPv6 ( ) →∗6LP 123 1 1 →∗ 2 7

Broad IPv6

123 1 →∗ 4

3 Slide 67 Laurent Toutain F´ed´erez 2014 6LoWPAN: broadcast IETF Working Groups ￿ 6LoWPAN

5 Broad IPv6 123 1 →∗ Broad IPv6 6 Mesh 123 1 Broad IPv6 →∗ Broad IPv6 Under 123 1 123 1 →∗ →∗ Broad IPv6 IPv6 ( ) →∗6LP 123 1 1 →∗ 2 7 Broad IPv6 Broad IPv6

Broad IPv6 Broad IPv6 123 1 123 1 →∗ →∗ 123 1 123 1 →∗ →∗ Broad IPv6 4 123 1 →∗ 3 Slide 67 Laurent Toutain F´ed´erez 2014 6LoWPAN: Route Over IETF Working Groups ￿ 6LoWPAN

5

6

1 2 7

4

3 Slide 68 Laurent Toutain F´ed´erez 2014 6LoWPAN: Route Over IETF Working Groups ￿ 6LoWPAN

5

6

IPv6 1 2 7

4

3 Slide 68 Laurent Toutain F´ed´erez 2014 6LoWPAN: Route Over IETF Working Groups ￿ 6LoWPAN

5

6

IPv6 6LP 1 2 7

4

3 Slide 68 Laurent Toutain F´ed´erez 2014 6LoWPAN: Route Over IETF Working Groups ￿ 6LoWPAN

5

6

IPv6

IPv6 6LP 1 7 1 → 2 7

4

3 Slide 68 Laurent Toutain F´ed´erez 2014 6LoWPAN: Route Over IETF Working Groups ￿ 6LoWPAN

5

6

IPv6

IPv6 6LP 1 7 6LP 1 → 2 7

4

3 Slide 68 Laurent Toutain F´ed´erez 2014 6LoWPAN: Route Over IETF Working Groups ￿ 6LoWPAN

5

6

IPv6

IPv6 6LP 1 7 6LP 1 → 2 7

4

3 Slide 68 Laurent Toutain F´ed´erez 2014 6LoWPAN: Route Over IETF Working Groups ￿ 6LoWPAN

5

6

IPv6

IPv6 6LP 1 7 6LP 1 → 6LP2 7

4

3 Slide 68 Laurent Toutain F´ed´erez 2014 6LoWPAN: Route Over IETF Working Groups ￿ 6LoWPAN

5

6

IPv6

IPv6 6LP 1 7 6LP 1 → 6LP2 7

4

3 Slide 68 Laurent Toutain F´ed´erez 2014 6LoWPAN: Route Over IETF Working Groups ￿ 6LoWPAN

5

6

IPv6

IPv6 6LP 1 7 6LP IPv6 1 → 6LP2 6LP7 IPv6 IPv6

1 7 1 7 → →

6LP6LP 4

3 Slide 68 Laurent Toutain F´ed´erez 2014 6LoWPAN: Route Over IETF Working Groups ￿ 6LoWPAN

5

6

IPv6

IPv6 6LP 1 7 6LP IPv6 1 → 6LP2 6LP7 Route Over: IPv6 IPv6 1 7 1 7 - ad-hoc network (addresses→ not prefixes)→

- May avoid boradcast 6LP6LP - Routing protocol (IETF scope) RPL 4 ⇒

3 Slide 68 Laurent Toutain F´ed´erez 2014 6LoWPAN IETF Working Groups ￿ 6LoWPAN

￿ 6LoWPAN (RFC4944) or draft:

• Compression of the IPv6 header

011 TF NH HLIM

CID SAC SAM M DAC DAM

Header fields. . .

￿ Create contexts for well-known prefixes

Slide 69 Laurent Toutain F´ed´erez 2014 Bitmap IETF Working Groups ￿ 6LoWPAN

￿ TF:DiffServ Field (DSCP: 6 bits), the Explicit Congestion Notification (ECN: 2 bits) and the flow label (20 bits) ￿ NH:0sentininHeaderfield,1L4DispatchafterHeader (allow L4 compression) ￿ HLIM:wellknowvalues ￿ CID: Add a context to allow 16 source and destination prefixes

Slide 70 Laurent Toutain F´ed´erez 2014 SAC and SAM: Source Address Compression IETF Working Groups ￿ 6LoWPAN SAC 00 01 10 11 SAM \ IID 64 first pre- 112 first pre- 128 are elided fix bits are fix bits are elided, IID is elided, last 16 fully sent IID bits are sent

0: Address is send com- prefix is FE80::/64 prefix is prefix is FE80::/64 pletely (Link Local FE80::0:ff:fe00: and IID is taken from LL and Global) /112 L2 source address. 1: Unspecified address prefix is given by the prefix is given prefix is given by the (::/0 (fully elided)) context by the context, contect and IID is Global IID starts with taken from L2 source 0000:00ff:fe00: address. and 16 bits inline

Slide 71 Laurent Toutain F´ed´erez 2014 M, DAC and DAM: Dest. Address Compression IETF Working Groups ￿ 6LoWPAN

M-DAC 00 01 10 11 DAM \ 00 Address is send com- prefix is FE80::/64 prefix is prefix is FE80::/64 Link pletely (Link Local FE80::0:ff:fe00: and IID is taken from Local and Global) /112 L2 source address.

01 reserved prefix is given by the prefix is given prefix is given by the Global context by the context, contect and IID is IID starts with taken from L2 source 0000:00ff:fe00: address. and 16 bits inline

10 lo- Address is send com- 48 bits are sent 32 bits are sent 8bitsaresentin- cal Mul- pletely in-line and are spread in-line and are spread line and are spread ticast in a multicast address in a multicast address in a multicast ad- the following way the following way dress the following FFXX::00XX:XXXX: FFXX::00XX:XXXX way FF02::00XX XXXX

11 48 bits are sent. They reserved reserved reserved Global are used for large Multi- scale multicast as de- cast fined in RFC 3956 .Contextvalue contains the Rendez- vous Point address

Slide 72 Laurent Toutain F´ed´erez 2014 Example: Compress IETF Working Groups ￿ 6LoWPAN

6 e 0 0 0 0 0 0 0 0 4 0 3 a f f f e 8 0 0 0 0 0 0 0 0 0 0 0 0 0 011 TF NH HLIM 0 2 0 1 6 4 f f f e 2 f f c 0 a CID SAC SAM M DAC DAM f f 0 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 Header fields. . . 8 6 0 0 8 b a 3 4 0 0 0 0 7 0 8 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 1 0 0 0 1 6 4 2 f f c 0 a 0 5 0 1 0 0 0 0 0 0 0 0 0 5 d c 0 3 0 4 4 0 c 0 0 0 2 7 8 d 0 0 0 0 0 9 3 a 8 0 0 0 0 0 0 0 0 0 2 0 0 1 0 6 6 0 7 3 0 1 3 7 2 8 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0

Slide 73 Laurent Toutain F´ed´erez 2014 Example: Compress IETF Working Groups ￿ 6LoWPAN

version

6 e 0 0 0 0 0 0 0 0 4 0 3 a f f f e 8 0 0 0 0 0 0 0 0 0 0 0 0 0 011 TF NH HLIM 0 2 0 1 6 4 f f f e 2 f f c 0 a CID SAC SAM M DAC DAM f f 0 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 Header fields. . . 8 6 0 0 8 b a 3 4 0 0 0 0 7 0 8 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 1 0 0 0 1 6 4 2 f f c 0 a 0 5 0 1 0 0 0 0 0 0 0 0 0 5 d c 0 3 0 4 4 0 c 0 0 0 2 7 8 d 0 0 0 0 0 9 3 a 8 0 0 0 0 0 0 0 0 0 2 0 0 1 0 6 6 0 7 3 0 1 3 7 2 8 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0

Slide 73 Laurent Toutain F´ed´erez 2014 Example: Compress IETF Working Groups ￿ 6LoWPAN

version Flow Label DS 6 e 0 0 0 0 0 0 0 0 4 0 3 a f f f e 8 0 0 0 0 0 0 0 0 0 0 0 0 0 011 TF NH HLIM 0 2 0 1 6 4 f f f e 2 f f c 0 a CID SAC SAM M DAC DAM f f 0 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 Header fields. . . 8 6 0 0 8 b a 3 4 0 0 0 0 7 0 8 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 1 0 0 0 1 6 4 2 f f c 0 a 0 5 0 1 0 0 0 0 0 0 0 0 0 5 d c 0 3 0 4 4 0 c 0 0 0 2 7 8 d 0 0 0 0 0 9 3 a 8 0 0 0 0 0 0 0 0 0 2 0 0 1 0 6 6 0 7 3 0 1 3 7 2 8 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0

Slide 73 Laurent Toutain F´ed´erez 2014 Example: Compress IETF Working Groups ￿ 6LoWPAN

version Flow Label DS Length 6 e 0 0 0 0 0 0 0 0 4 0 3 a f f f e 8 0 0 0 0 0 0 0 0 0 0 0 0 0 011 TF NH HLIM 0 2 0 1 6 4 f f f e 2 f f c 0 a CID SAC SAM M DAC DAM f f 0 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 Header fields. . . 8 6 0 0 8 b a 3 4 0 0 0 0 7 0 8 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 1 0 0 0 1 6 4 2 f f c 0 a 0 5 0 1 0 0 0 0 0 0 0 0 0 5 d c 0 3 0 4 4 0 c 0 0 0 2 7 8 d 0 0 0 0 0 9 3 a 8 0 0 0 0 0 0 0 0 0 2 0 0 1 0 6 6 0 7 3 0 1 3 7 2 8 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0

Slide 73 Laurent Toutain F´ed´erez 2014 Example: Compress IETF Working Groups ￿ 6LoWPAN

version Flow Label proto = ICMPv6 DS Length 6 e 0 0 0 0 0 0 0 0 4 0 3 a f f f e 8 0 0 0 0 0 0 0 0 0 0 0 0 0 011 TF NH HLIM 0 2 0 1 6 4 f f f e 2 f f c 0 a CID SAC SAM M DAC DAM f f 0 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 Header fields. . . 8 6 0 0 8 b a 3 4 0 0 0 0 7 0 8 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 1 0 0 0 1 6 4 2 f f c 0 a 0 5 0 1 0 0 0 0 0 0 0 0 0 5 d c 0 3 0 4 4 0 c 0 0 0 2 7 8 d 0 0 0 0 0 9 3 a 8 0 0 0 0 0 0 0 0 0 2 0 0 1 0 6 6 0 7 3 0 1 3 7 2 8 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0

Slide 73 Laurent Toutain F´ed´erez 2014 Example: Compress IETF Working Groups ￿ 6LoWPAN

version Flow Label proto = ICMPv6 DS Length HLim 6 e 0 0 0 0 0 0 0 0 4 0 3 a f f f e 8 0 0 0 0 0 0 0 0 0 0 0 0 0 011 TF NH HLIM 0 2 0 1 6 4 f f f e 2 f f c 0 a CID SAC SAM M DAC DAM f f 0 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 Header fields. . . 8 6 0 0 8 b a 3 4 0 0 0 0 7 0 8 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 1 0 0 0 1 6 4 2 f f c 0 a 0 5 0 1 0 0 0 0 0 0 0 0 0 5 d c 0 3 0 4 4 0 c 0 0 0 2 7 8 d 0 0 0 0 0 9 3 a 8 0 0 0 0 0 0 0 0 0 2 0 0 1 0 6 6 0 7 3 0 1 3 7 2 8 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0

Slide 73 Laurent Toutain F´ed´erez 2014 Example: Compress IETF Working Groups ￿ 6LoWPAN

version Flow Label proto = ICMPv6 DS Length HLim 6 e 0 0 0 0 0 0 0 0 4 0 3 a f f f e 8 0 0 0 0 0 0 0 0 0 0 0 0 0 011 TF NH HLIM Source 0 2 0 1 6 4 f f f e 2 f f c 0 a Address CID SAC SAM M DAC DAM f f 0 2 0 0 0 0 0 0 0 0 0 0 0 0 Dest. 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 Address Header fields. . . 8 6 0 0 8 b a 3 4 0 0 0 0 7 0 8 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 1 0 0 0 1 6 4 2 f f c 0 a 0 5 0 1 0 0 0 0 0 0 0 0 0 5 d c 0 3 0 4 4 0 c 0 0 0 2 7 8 d 0 0 0 0 0 9 3 a 8 0 0 0 0 0 0 0 0 0 2 0 0 1 0 6 6 0 7 3 0 1 3 7 2 8 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0

Slide 73 Laurent Toutain F´ed´erez 2014 Example: Compress IETF Working Groups ￿ 6LoWPAN

version Flow Label proto = ICMPv6 DS Length HLim 6 e 0 0 0 0 0 0 0 0 4 0 3 a f f f e 8 0 0 0 0 0 0 0 0 0 0 0 0 0 011 TF NH HLIM Source 0 2 0 1 6 4 f f f e 2 f f c 0 a Address CID SAC SAM M DAC DAM f f 0 2 0 0 0 0 0 0 0 0 0 0 0 0 Dest. 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 Address Header fields. . . 8 6 0 0 8 b a 3 4 0 0 0 0 7 0 8 Data 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 1 0 0 0 1 6 4 2 f f c 0 a 0 5 0 1 0 0 0 0 0 0 0 0 0 5 d c 0 3 0 4 4 0 c 0 0 0 2 7 8 d 0 0 0 0 0 9 3 a 8 0 0 0 0 0 0 0 0 0 2 0 0 1 0 6 6 0 7 3 0 1 3 7 2 8 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0

Slide 73 Laurent Toutain F´ed´erez 2014 Example: Compress IETF Working Groups ￿ 6LoWPAN

version Flow Label proto = ICMPv6 DS Length HLim 6 e 0 0 0 0 0 0 0 0 4 0 3 a f f f e 8 0 0 0 0 0 0 0 0 0 0 0 0 0 011011 10TF NH HLIM Source 0 2 0 1 6 4 f f f e 2 f f c 0 a Address CID SAC SAM M DAC DAM f f 0 2 0 0 0 0 0 0 0 0 0 0 0 0 Dest. 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 Address HeaderE0 fields. . . 8 6 0 0 8 b a 3 4 0 0 0 0 7 0 8 Data 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 1 0 0 0 1 6 4 2 f f c 0 a 0 5 0 1 0 0 0 0 0 0 0 0 0 5 d c 0 3 0 4 4 0 c 0 0 0 2 7 8 d 0 0 0 0 0 9 3 a 8 0 0 0 0 0 0 0 0 0 2 0 0 1 0 6 6 0 7 3 0 1 3 7 2 8 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0

Slide 73 Laurent Toutain F´ed´erez 2014 Example: Compress IETF Working Groups ￿ 6LoWPAN

version Flow Label proto = ICMPv6 DS Length HLim 6 e 0 0 0 0 0 0 0 0 4 0 3 a f f f e 8 0 0 0 0 0 0 0 0 0 0 0 0 0 011011 10TF NH0 HLIM Source 0 2 0 1 6 4 f f f e 2 f f c 0 a Address CID SAC SAM M DAC DAM f f 0 2 0 0 0 0 0 0 0 0 0 0 0 0 Dest. 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 Address HeaderE0 fields.3A . . 8 6 0 0 8 b a 3 4 0 0 0 0 7 0 8 Data 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 1 0 0 0 1 6 4 2 f f c 0 a 0 5 0 1 0 0 0 0 0 0 0 0 0 5 d c 0 3 0 4 4 0 c 0 0 0 2 7 8 d 0 0 0 0 0 9 3 a 8 0 0 0 0 0 0 0 0 0 2 0 0 1 0 6 6 0 7 3 0 1 3 7 2 8 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0

Slide 73 Laurent Toutain F´ed´erez 2014 Example: Compress IETF Working Groups ￿ 6LoWPAN

version Flow Label proto = ICMPv6 DS Length HLim 6 e 0 0 0 0 0 0 0 0 4 0 3 a f f f e 8 0 0 0 0 0 0 0 0 0 0 0 0 0 011011 10TF NH0 HLIM11 Source 0 2 0 1 6 4 f f f e 2 f f c 0 a Address CID SAC SAM M DAC DAM f f 0 2 0 0 0 0 0 0 0 0 0 0 0 0 Dest. 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 Address HeaderE0 fields.3A . . 8 6 0 0 8 b a 3 4 0 0 0 0 7 0 8 Data 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 1 0 0 0 1 6 4 2 f f c 0 a 0 5 0 1 0 0 0 0 0 0 0 0 0 5 d c 0 3 0 4 4 0 c 0 0 0 2 7 8 d 0 0 0 0 0 9 3 a 8 0 0 0 0 0 0 0 0 0 2 0 0 1 0 6 6 0 7 3 0 1 3 7 2 8 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0

Slide 73 Laurent Toutain F´ed´erez 2014 Example: Compress IETF Working Groups ￿ 6LoWPAN

version Flow Label proto = ICMPv6 DS Length HLim 6 e 0 0 0 0 0 0 0 0 4 0 3 a f f f e 8 0 0 0 0 0 0 0 0 0 0 0 0 0 011011 10TF NH0 HLIM11 Source 0 2 0 1 6 4 f f f e 2 f f c 0 a Address CID SAC SAM M DAC DAM f f 0 2 0 0 0 0 0 0 0 0 0 0 0 0 0 Dest. 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 Address HeaderE0 fields.3A . . 8 6 0 0 8 b a 3 4 0 0 0 0 7 0 8 Data 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 1 0 0 0 1 6 4 2 f f c 0 a 0 5 0 1 0 0 0 0 0 0 0 0 0 5 d c 0 3 0 4 4 0 c 0 0 0 2 7 8 d 0 0 0 0 0 9 3 a 8 0 0 0 0 0 0 0 0 0 2 0 0 1 0 6 6 0 7 3 0 1 3 7 2 8 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0

Slide 73 Laurent Toutain F´ed´erez 2014 Example: Compress IETF Working Groups ￿ 6LoWPAN

version Flow Label proto = ICMPv6 DS Length HLim 6 e 0 0 0 0 0 0 0 0 4 0 3 a f f f e 8 0 0 0 0 0 0 0 0 0 0 0 0 0 011011 10TF NH0 HLIM11 Source 0 2 0 1 6 4 f f f e 2 f f c 0 a Address CID SAC SAM M DAC DAM f f 0 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 11 Dest. 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 Address HeaderE0 fields.3A . . 8 6 0 0 8 b a 3 4 0 0 0 0 7 0 8 Data 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 1 0 0 0 1 6 4 2 f f c 0 a 0 5 0 1 0 0 0 0 0 0 0 0 0 5 d c 0 3 0 4 4 0 c 0 0 0 2 7 8 d 0 0 0 0 0 9 3 a 8 0 0 0 0 0 0 0 0 0 2 0 0 1 0 6 6 0 7 3 0 1 3 7 2 8 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0

Slide 73 Laurent Toutain F´ed´erez 2014 Example: Compress IETF Working Groups ￿ 6LoWPAN

version Flow Label proto = ICMPv6 DS Length HLim 6 e 0 0 0 0 0 0 0 0 4 0 3 a f f f e 8 0 0 0 0 0 0 0 0 0 0 0 0 0 011011 10TF NH0 HLIM11 Source 0 2 0 1 6 4 f f f e 2 f f c 0 a Address CID SAC SAM M DAC DAM f f 0 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 11 1 0 11 Dest. 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 Address HeaderE0 fields.3A . . 02 8 6 0 0 8 b a 3 4 0 0 0 0 7 0 8 Data 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 1 0 0 0 1 6 4 2 f f c 0 a 0 5 0 1 0 0 0 0 0 0 0 0 0 5 d c 0 3 0 4 4 0 c 0 0 0 2 7 8 d 0 0 0 0 0 9 3 a 8 0 0 0 0 0 0 0 0 0 2 0 0 1 0 6 6 0 7 3 0 1 3 7 2 8 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0

Slide 73 Laurent Toutain F´ed´erez 2014 Example: Compress IETF Working Groups ￿ 6LoWPAN

version Flow Label proto = ICMPv6 DS Length HLim 6 e 0 0 0 0 0 0 0 0 4 0 3 a f f f e 8 0 0 0 0 0 0 0 0 0 0 0 0 0 011011 10TF NH0 HLIM11 Source 0 2 0 1 6 4 f f f e 2 f f c 0 a Address CID SAC SAM M DAC DAM f f 0 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 11 1 0 11 Dest. 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 Address HeaderE0 fields.3A . . 02 8 6 0 0 8 b a 3 4 0 0 0 0 7 0 8 Data 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 40 Bytes to 5 Bytes 0 1 0 1 0 0 0 1 6 4 2 f f c 0 a 0 5 0 1 0 0 0 0 0 0 0 0 0 5 d c 0 3 0 4 4 0 c 0 0 0 2 7 8 d 0 0 0 0 0 9 3 a 8 0 0 0 0 0 0 0 0 0 2 0 0 1 0 6 6 0 7 3 0 1 3 7 2 8 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0

Slide 73 Laurent Toutain F´ed´erez 2014 Example: Compress IETF Working Groups ￿ 6LoWPAN

6 0 0 0 0 0 0 0 0 3 a 9 0 6 4 0 2 0 0 1 0 6 6 0 7 3 0 1 3 7 2 8 011 TF NH HLIM 0 2 2 3 d f f f f e a 9 f 7 a c CID SAC SAM M DAC DAM 2 a 0 0 1 4 5 0 4 0 0 7 0 8 0 3 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 4 Header fields. . . e b 0 8 0 0 5 0 1 0 e a 5 9 f 5 3 b 1 a 5 e 5 a 8 0 1 8 8 0 5 5 f 6 a 0 0 0 0 0 0 1 0 1 0 8 0 a 0 3 e 7 6 0 7 2 7 8 a a 8 0 5 d 4 7 4 5 5 4 2 0 2 f 5 f 5 f 7 5 7 4 6 d 2 e 6 7 6 9 6 6 3 f 7 5 7 4 6 d 7 7 7 6 3 d 3 5 2 e 3 4 2 e 3 4 2 6 7 5 7 4 6 d 7 3 3 d 3 3 3 0 3 7 2 6 7 5 7 4 6 d 6 e 3 d 3 2

Slide 74 Laurent Toutain F´ed´erez 2014 Example: Compress IETF Working Groups ￿ 6LoWPAN

version Flow Label proto = ICMPv6 DS Length HLim 6 0 0 0 0 0 0 0 0 3 a 9 0 6 4 0 2 0 0 1 0 6 6 0 7 3 0 1 3 7 2 8 011011 TF NH HLIM Source 0 2 2 3 d f f f f e a 9 f 7 a c Address CID SAC SAM M DAC DAM 2 a 0 0 1 4 5 0 4 0 0 7 0 8 0 3 Dest. 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 4 Address Header fields. . . e b 0 8 0 0 5 0 1 0 e a 5 9 f 5 3 b 1 a 5 e 5 a 8 0 1 8 8 0 5 5 f 6 a 0 0 0 0 0 0 1 0 1 0 8 0 a 0 3 e 7 6 0 7 2 7 8 a a 8 0 5 d 4 7 4 5 5 4 2 0 2 f 5 f 5 f 7 5 7 4 6 d 2 e 6 7 6 9 6 6 3 f 7 5 7 4 6 d 7 7 7 6 3 d 3 5 2 e 3 4 2 e 3 4 2 6 7 5 7 4 6 d 7 3 3 d 3 3 3 0 3 7 2 6 7 5 7 4 6 d 6 e 3 d 3 2

Slide 74 Laurent Toutain F´ed´erez 2014 Example: Compress IETF Working Groups ￿ 6LoWPAN

version Flow Label proto = ICMPv6 DS Length HLim 6 0 0 0 0 0 0 0 0 3 a 9 0 6 4 0 2 0 0 1 0 6 6 0 7 3 0 1 3 7 2 8 011011 11TF NH HLIM Source 0 2 2 3 d f f f f e a 9 f 7 a c Address CID SAC SAM M DAC DAM 2 a 0 0 1 4 5 0 4 0 0 7 0 8 0 3 Dest. 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 4 Address Header fields. . . e b 0 8 0 0 5 0 1 0 e a 5 9 f 5 3 b 1 a 5 e 5 a 8 0 1 8 8 0 5 5 f 6 a 0 0 0 0 0 0 1 0 1 0 8 0 a 0 3 e 7 6 0 7 2 7 8 a a 8 0 5 d 4 7 4 5 5 4 2 0 2 f 5 f 5 f 7 5 7 4 6 d 2 e 6 7 6 9 6 6 3 f 7 5 7 4 6 d 7 7 7 6 3 d 3 5 2 e 3 4 2 e 3 4 2 6 7 5 7 4 6 d 7 3 3 d 3 3 3 0 3 7 2 6 7 5 7 4 6 d 6 e 3 d 3 2

Slide 74 Laurent Toutain F´ed´erez 2014 Example: Compress IETF Working Groups ￿ 6LoWPAN

version Flow Label proto = ICMPv6 DS Length HLim 6 0 0 0 0 0 0 0 0 3 a 9 0 6 4 0 2 0 0 1 0 6 6 0 7 3 0 1 3 7 2 8 011011 11TF NH0 HLIM Source 0 2 2 3 d f f f f e a 9 f 7 a c Address CID SAC SAM M DAC DAM 2 a 0 0 1 4 5 0 4 0 0 7 0 8 0 3 Dest. 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 4 Address Header06 fields. . . e b 0 8 0 0 5 0 1 0 e a 5 9 f 5 3 b 1 a 5 e 5 a 8 0 1 8 8 0 5 5 f 6 a 0 0 0 0 0 0 1 0 1 0 8 0 a 0 3 e 7 6 0 7 2 7 8 a a 8 0 5 d 4 7 4 5 5 4 2 0 2 f 5 f 5 f 7 5 7 4 6 d 2 e 6 7 6 9 6 6 3 f 7 5 7 4 6 d 7 7 7 6 3 d 3 5 2 e 3 4 2 e 3 4 2 6 7 5 7 4 6 d 7 3 3 d 3 3 3 0 3 7 2 6 7 5 7 4 6 d 6 e 3 d 3 2

Slide 74 Laurent Toutain F´ed´erez 2014 Example: Compress IETF Working Groups ￿ 6LoWPAN

version Flow Label proto = ICMPv6 DS Length HLim 6 0 0 0 0 0 0 0 0 3 a 9 0 6 4 0 2 0 0 1 0 6 6 0 7 3 0 1 3 7 2 8 011011 11TF NH0 HLIM10 Source 0 2 2 3 d f f f f e a 9 f 7 a c Address CID SAC SAM M DAC DAM 2 a 0 0 1 4 5 0 4 0 0 7 0 8 0 3 Dest. 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 4 Address Header06 fields. . . e b 0 8 0 0 5 0 1 0 e a 5 9 f 5 3 b 1 a 5 e 5 a 8 0 1 8 8 0 5 5 f 6 a 0 0 0 0 0 0 1 0 1 0 8 0 a 0 3 e 7 6 0 7 2 7 8 a a 8 0 5 d 4 7 4 5 5 4 2 0 2 f 5 f 5 f 7 5 7 4 6 d 2 e 6 7 6 9 6 6 3 f 7 5 7 4 6 d 7 7 7 6 3 d 3 5 2 e 3 4 2 e 3 4 2 6 7 5 7 4 6 d 7 3 3 d 3 3 3 0 3 7 2 6 7 5 7 4 6 d 6 e 3 d 3 2

Slide 74 Laurent Toutain F´ed´erez 2014 Example: Compress IETF Working Groups ￿ 6LoWPAN

version Flow Label proto = ICMPv6 DS Length HLim 6 0 0 0 0 0 0 0 0 3 a 9 0 6 4 0 2 0 0 1 0 6 6 0 7 3 0 1 3 7 2 8 011011 11TF NH0 HLIM10 Source 0 2 2 3 d f f f f e a 9 f 7 a c Address CID SAC SAM M DAC DAM 2 a 0 0 1 4 5 0 4 0 0 7 0 8 0 3 0 Dest. 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 4 Address Header06 fields. . . e b 0 8 0 0 5 0 1 0 e a 5 9 f 5 3 b 1 a 5 e 5 a 8 0 1 8 8 0 5 5 f 6 a 0 0 0 0 0 0 1 0 1 0 8 0 a 0 3 e 7 6 0 7 2 7 8 a a 8 0 5 d 4 7 4 5 5 4 2 0 2 f 5 f 5 f 7 5 7 4 6 d 2 e 6 7 6 9 6 6 3 f 7 5 7 4 6 d 7 7 7 6 3 d 3 5 2 e 3 4 2 e 3 4 2 6 7 5 7 4 6 d 7 3 3 d 3 3 3 0 3 7 2 6 7 5 7 4 6 d 6 e 3 d 3 2

Slide 74 Laurent Toutain F´ed´erez 2014 Example: Compress IETF Working Groups ￿ 6LoWPAN

version Flow Label proto = ICMPv6 DS Length HLim 6 0 0 0 0 0 0 0 0 3 a 9 0 6 4 0 2 0 0 1 0 6 6 0 7 3 0 1 3 7 2 8 011011 11TF NH0 HLIM10 Source 0 2 2 3 d f f f f e a 9 f 7 a c Address CID SAC SAM M DAC DAM 2 a 0 0 1 4 5 0 4 0 0 7 0 8 0 3 0 1 00 0 1 00 Dest. 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 4 Address Header06 fields. . . e b 0 8 0 0 5 0 1 0 e a 5 9 f 5 3 b 1 a 5 e 5 a 8 0 1 8 8 0 5 5 2 0 0 1 0 6 6 0 7 3 0 1 3 7 2 8 f 6 a 0 0 0 0 0 0 1 0 1 0 8 0 a 0 2 2 3 d f f f f e a 9 f 7 a c 0 3 e 7 6 0 7 2 7 8 a a 8 0 5 d 2 a 0 0 1 4 5 0 4 0 0 7 0 8 0 3 4 7 4 5 5 4 2 0 2 f 5 f 5 f 7 5 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 4 7 4 6 d 2 e 6 7 6 9 6 6 3 f 7 5 7 4 6 d 7 7 7 6 3 d 3 5 2 e 3 4 2 e 3 4 2 6 7 5 7 4 6 d 7 3 3 d 3 3 3 0 3 7 2 6 7 5 7 4 6 d 6 e 3 d 3 2

Slide 74 Laurent Toutain F´ed´erez 2014 Example: Compress IETF Working Groups ￿ 6LoWPAN

version Flow Label proto = ICMPv6 DS Length HLim 6 0 0 0 0 0 0 0 0 3 a 9 0 6 4 0 2 0 0 1 0 6 6 0 7 3 0 1 3 7 2 8 011011 11TF NH0 HLIM10 Source 0 2 2 3 d f f f f e a 9 f 7 a c Address CID SAC SAM M DAC DAM 2 a 0 0 1 4 5 0 4 0 0 7 0 8 0 3 0 1 00 0 1 00 Dest. 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 4 Address Header06 fields. . . e b 0 8 0 0 5 0 1 0 e a 5 9 f 5 3 b 1 a 5 e 5 a 8 0 1 8 8 0 5 5 2 0 0 1 0 6 6 0 7 3 0 1 3 7 2 8 f 6 a 0 0 0 0 0 0 1 0 1 0 8 0 a 0 2 2 3 d f f f f e a 9 f 7 a c 0 3 e 7 6 0 7 2 7 8 a a 8 0 5 d 2 a 0 0 1 4 5 0 4 0 0 7 0 8 0 3 4 7 4 5 5 4 2 0 2 f 5 f 5 f 7 5 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 4 7 4 6 d 2 e 6 7 6 9 6 6 3 f 7 5 7 4 6 d 7 7 7 6 3 d 3 5 2 e 3 4 2 e 3 4 2 6 7 5 7 4 6 d 7 3 3 d 3 3 3 0 3 7 2 6 7 5 7 4 6 d 6 e 3 d 3 2 40 Bytes to 35 Bytes

Slide 74 Laurent Toutain F´ed´erez 2014 Neighbor Discovery

Slide 75 Laurent Toutain F´ed´erez 2014 Neighbor Discovery Protocol For LoWPAN IETF Working Groups ￿ 6LoWPAN

Limitations: ￿ radio range is limited, all the nodes cannot talk directly. ￿ range change ￿ Bidirectional traffic cannot be always guaranteed. ￿ The link definition is not clear ￿ Energy consumption must be limited ￿ Implementation must be kept as simple as possible

Slide 76 Laurent Toutain F´ed´erez 2014 Neighbor Discovery Protocol For LoWPAN IETF Working Groups ￿ 6LoWPAN

Two models: ￿ Mesh-Under model: L3 multicast address mapped into a L2 broadcast address. No change ￿ Route-Over networks NBMA: control done by a server. ≈ • Multicast only allowed to discover neighbor routers:

− Once the address of a router is learned, the trafficwillbesend in unicast. − No periodic RA

• NDP do not, by construction, cross routers since original:

− NDP for 6LoWPAN introduces the concept of Multi-Hop prefixes ￿ LL addresses are based on the EUI-64

• unique: no need for DAD or NS

Slide 77 Laurent Toutain F´ed´erez 2014 NDP options IETF Working Groups ￿ 6LoWPAN

￿ 6LoWPAN uses RA, RS, NS and NA ￿ Only RS is sent in multicast: FF02::2 ￿ Standard and new options are used:

• SLLAO: Source Link-layer Address • PIO: Prefix Information • 6CO: 6LoWPAN Context Number • ABRO: Announcing Border Router

• ARO: Address Registration ￿ If IID is based on MAC (or from DHCP): no DAD ￿ Currently there is no 6LoWPAN Compression for NDP messages.

Slide 78 Laurent Toutain F´ed´erez 2014 LL address IETF Working Groups ￿ 6LoWPAN

IID1 IID2 Traditional NDP

NS FE80 :: IID2?

IID IID2 NA FE80 :: 2 ⇒

IID 1 IID2 FE80 :: → | IID1 FE80 :: → IID2

Slide 79 Laurent Toutain F´ed´erez 2014 LL address IETF Working Groups ￿ 6LoWPAN

IID1 IID2 NDP for LoWPAN

IID 1 IID2 FE80 :: → | IID1 FE80 :: → IID2

Slide 79 Laurent Toutain F´ed´erez 2014 NDP for Global Addresses: Star IETF Working Groups ￿ 6LoWPAN

6LBR 6LR Node LL1 LL2 LL3

FF 02 :: 2 LL2 → RS(SLLAO) LL1 LL → 2 RA(SLLAO ,PIO 6CO | ,ABRO) LL2 LL1 → ) NS(SLLAO,ARO LL1 NS → LL2 (ARO)

Slide 80 Laurent Toutain F´ed´erez 2014 NDP for Global Addresses: Mesh IETF Working Groups ￿ 6LoWPAN

6LBR 6LR Node LL1 LL2 LL3

FF 02 :: 2 LL2 → RS(SLLAO) LL1 LL → 2 RA(SLLAO ,PIO 6CO | ,ABRO) LL2 LL1 → ) NS(SLLAO,ARO LL1 NS LL2 (ARO→ ) FF 02 :: 2 LL2 ) RS→(SLLAO LL RA 1 LL (SLLAO→ 2 ,PIO 6 | CO,ABRO )

DAR LL1 2 ) LL → ,ARO DAC NS(SLLAO LL NS 1 LL (ARO→ 2 )

Slide 80 Laurent Toutain F´ed´erez 2014 NDP for Global Addresses: Mesh IETF Working Groups ￿ 6LoWPAN

6LBR 6LR Node LL1 LL2 LL3

FF 02 :: 2 LL2 → RS(SLLAO) LL1 LL → 2 RA(SLLAO ,PIO 6CO | ,ABRO) LL2 LL1 → ) NS(SLLAO,ARO LL1 NS LL2 (ARO→ ) FF 02 :: 2 LL2 ) RS→(SLLAO LL RA 1 LL (SLLAO→ 2 ,PIO 6 | CO,ABRO )

DAR LL1 2 ) LL → ,ARO DAC NS(SLLAO LL NS 1 LL (ARO→ 2 )

Slide 80 Laurent Toutain F´ed´erez 2014 ISA 100 IETF Working Groups ￿ 6LoWPAN

Slide 81 Laurent Toutain F´ed´erez 2014 ISA 100 IETF Working Groups ￿ 6LoWPAN

Transit Data network

Slide 81 Laurent Toutain F´ed´erez 2014 Backbone router IETF Working Groups ￿ 6LoWPAN

Router Backbone

BR1 BR2 BR3

Slide 82 Laurent Toutain F´ed´erez 2014 Backbone router IETF Working Groups ￿ 6LoWPAN

Router Backbone

BR1 BR2 BR3

DAR

NS(SLLAO,EARO)

ARO +Trans.ID+UniqueID

Slide 82 Laurent Toutain F´ed´erez 2014 Backbone router IETF Working Groups ￿ 6LoWPAN

Router DAD(EARO) Backbone

BR1 BR2 BR3

Slide 82 Laurent Toutain F´ed´erez 2014 Backbone router IETF Working Groups ￿ 6LoWPAN

Router No response Backbone

BR1 BR2 BR3

Slide 82 Laurent Toutain F´ed´erez 2014 Backbone router IETF Working Groups ￿ 6LoWPAN

Router Backbone

BR1 p BR2 BR3

OK =

Status

DAC

NA

Slide 82 Laurent Toutain F´ed´erez 2014 Backbone router IETF Working Groups ￿ 6LoWPAN

Router Backbone

BR1 p BR2 BR3

Slide 82 Laurent Toutain F´ed´erez 2014 Backbone router IETF Working Groups ￿ 6LoWPAN

Router DAD(EARO) Backbone

BR1 p BR2 BR3

DAR

NSsameTID

Slide 82 Laurent Toutain F´ed´erez 2014 Backbone router IETF Working Groups ￿ 6LoWPAN

NAbitO=0 Router Backbone

BR1 p BR2 BR3

Slide 82 Laurent Toutain F´ed´erez 2014 Backbone router IETF Working Groups ￿ 6LoWPAN

Router Backbone

BR1 p BR2 s BR3

OK =

Status

DAC

NA

Slide 82 Laurent Toutain F´ed´erez 2014 Backbone router IETF Working Groups ￿ 6LoWPAN

Router Backbone

BR1 p BR2 s BR3

Slide 82 Laurent Toutain F´ed´erez 2014 Backbone router IETF Working Groups ￿ 6LoWPAN

NS Router Backbone

BR1 p BR2 s BR3

Slide 82 Laurent Toutain F´ed´erez 2014 Backbone router IETF Working Groups ￿ 6LoWPAN

NA Router BR2 NA Backbone

BR1 p BR2 s BR3

Slide 82 Laurent Toutain F´ed´erez 2014 Backbone router IETF Working Groups ￿ 6LoWPAN

Router BR2 Backbone

BR1 p BR2 s BR3

Slide 82 Laurent Toutain F´ed´erez 2014 Backbone router IETF Working Groups ￿ 6LoWPAN

Router BR2 Backbone

BR1 p BR2 s BR3

Slide 82 Laurent Toutain F´ed´erez 2014 Backbone router IETF Working Groups ￿ 6LoWPAN

Router BR2 DAD(EARO) Backbone

BR1 p BR2 s BR3

DAR

NSTID++

Slide 82 Laurent Toutain F´ed´erez 2014 Backbone router IETF Working Groups ￿ 6LoWPAN

Router BR2 DAD(EARO) Backbone

BR1 p BR2 s BR3

DAR

NSTID++

Slide 82 Laurent Toutain F´ed´erez 2014 Backbone router IETF Working Groups ￿ 6LoWPAN

Router BR2 Backbone

BR1 p BR2 s BR3

Slide 82 Laurent Toutain F´ed´erez 2014 Backbone router IETF Working Groups ￿ 6LoWPAN

Router BR3 Backbone

BR1 p BR2 s BR3 p

OK

=

Status

DAC NA

Slide 82 Laurent Toutain F´ed´erez 2014 Internet of Things ? IETF Working Groups ￿ 6LoWPAN

Internet of Things

Slide 83 Laurent Toutain F´ed´erez 2014 Internet of Things ? IETF Working Groups ￿ 6LoWPAN

Internet of Things

Internet Protocols • Simplified Internet Protocols • Interoperability with Internet (e2e, URI, . . . ) • Open Standards • Always on •

Slide 83 Laurent Toutain F´ed´erez 2014 Internet of Things ? IETF Working Groups ￿ 6LoWPAN

Internet of Things

Internet Protocols RFID • Simplified Internet Protocols • NFC • Interoperability with Internet (e2e, URI, . . . ) • Wireless Sensor (and Actuator) Networks • Open Standards • Smart Grids • Always on • Cars • • ... •

Slide 83 Laurent Toutain F´ed´erez 2014 History repeating? IETF Working Groups ￿ 6LoWPAN

￿ 80’s: IP as a word wide protocol

• other alternatives: CLNP, X.25, Frame Relay, ATM • IP: Best Effort, no reservation, fixed address size, ... ￿ 80’s: IP in entreprise network

• Other alternatives: IPX, NetBios • IP: no d’auto-configuration, no service discovery ￿ 90’s IP in telephony ￿ 00’s IP in TV

• Other alternatives: IEEE 1394/ATM/Hiperlan

Conclusion

￿ Network Value comes from Interconnection ￿ Interconnection is based on Open Protocols

Slide 84 Laurent Toutain F´ed´erez 2014 ZigBee SE 2.0 IETF Working Groups ￿ 6LoWPAN

Advanced Metering Energy Infrastructure Portal Service Energy Price

Slide 85 Laurent Toutain F´ed´erez 2014 ZigBee SE 2.0 IETF Working Groups ￿ 6LoWPAN

Advanced Metering Energy Infrastructure Portal Service Energy Price

Multi L2 Technologies: IEEE 802.15.4 • G3-PLC, IEEE P1901.2 • Bluetooth Low Energy • CAT-iq (DECT) • Dash7 • Slide 85 Laurent Toutain F´ed´erez 2014 ZigBee SE 2.0 IETF Working Groups ￿ 6LoWPAN

Advanced Auto-Configuration Metering Energy Infrastructure Portal Service Energy Price

Multi L2 Technologies: IEEE 802.15.4 • G3-PLC, IEEE P1901.2 • Bluetooth Low Energy • CAT-iq (DECT) • Dash7 • Slide 85 Laurent Toutain F´ed´erez 2014 ZigBee SE 2.0 IETF Working Groups ￿ 6LoWPAN

￿ ZigBee had its own stack ￿ Smart Energy Profile move to IPv6

ZSE APP APP 1.1 ZDO

APS SSP NWK

MAC (IEEE 802.15.4)

Physical (radio)

adapted from: ZigBee Alliance www.zigbee.org/imwp/download.asp?ContentID=18995;

Slide 86 Laurent Toutain F´ed´erez 2014 ZigBee SE 2.0 IETF Working Groups ￿ 6LoWPAN

￿ ZigBee had its own stack ￿ Smart Energy Profile move to IPv6

ZSE ZSE APP APP APP APP 1.1 2.0 ZDO RPL APS UDP/CoAP or TCP/HTTP SSP NWK 6LoWPAN IPv6

MAC (IEEE 802.15.4) 802.15.4 PLC Ethernet Physical (radio) Radio Phy

adapted from: ZigBee Alliance www.zigbee.org/imwp/download.asp?ContentID=18995;

Slide 86 Laurent Toutain F´ed´erez 2014 Interconnection at HTTP level IETF Working Groups ￿ 6LoWPAN

IPv6

IPv6 IPv4

IPv6

Slide 88 Laurent Toutain F´ed´erez 2014 Client Server: REST IETF Working Groups ￿ 6LoWPAN

Client Server

Slide 89 Laurent Toutain F´ed´erez 2014 Client Server: REST IETF Working Groups ￿ 6LoWPAN

Client Server

Slide 89 Laurent Toutain F´ed´erez 2014 Client Server: REST IETF Working Groups ￿ 6LoWPAN

Client GET uri Server value

Slide 89 Laurent Toutain F´ed´erez 2014 Client Server: REST IETF Working Groups ￿ 6LoWPAN

Client GET uri Server value

PUT uri value ack

Slide 89 Laurent Toutain F´ed´erez 2014 Client Server: REST IETF Working Groups ￿ 6LoWPAN

Client GET uri Server value

PUT uri value ack

POST uri value ack

Slide 89 Laurent Toutain F´ed´erez 2014 Client Server: REST IETF Working Groups ￿ 6LoWPAN

Client GET uri Server value

PUT uri value ack

POST uri value ack

DELETE uri ack

Slide 89 Laurent Toutain F´ed´erez 2014 Client Server: REST IETF Working Groups ￿ 6LoWPAN

Client Proxy Server

Slide 89 Laurent Toutain F´ed´erez 2014 Client Server: REST IETF Working Groups ￿ 6LoWPAN

Client Proxy Server

HTTP/TCP/IPv4 CoAP/UDP/IPv6

Slide 89 Laurent Toutain F´ed´erez 2014 Client Server: REST IETF Working Groups ￿ 6LoWPAN

Client Proxy Server GET uri GET uri

value value

HTTP/TCP/IPv4 CoAP/UDP/IPv6

Slide 89 Laurent Toutain F´ed´erez 2014 Client Server: REST IETF Working Groups ￿ 6LoWPAN

Client Proxy Server GET uri GET uri

value value GET uri

HTTP/TCP/IPv4 CoAP/UDP/IPv6

Slide 89 Laurent Toutain F´ed´erez 2014 Client Server: REST IETF Working Groups ￿ 6LoWPAN

Client Proxy Server GET uri GET uri

value value GET uri Observe: value HTTP/TCP/IPv4 CoAP/UDP/IPv6

Slide 89 Laurent Toutain F´ed´erez 2014 Client Server: REST IETF Working Groups ￿ 6LoWPAN

MIB ∼ Client Proxy Server GET uri GET uri

value value GET uri Observe: value HTTP/TCP/IPv4 CoAP/UDP/IPv6

Slide 89 Laurent Toutain F´ed´erez 2014 ARESA2 Project IETF Working Groups ￿ 6LoWPAN

￿ ANR Verso 2009 project ￿ Urban Wireless Sensor Networks

• AMI, Smart Grid, M2M. . . ￿ One of the challenges: IPv6

• Mesh network. • Minimize code footprint, minimize energy consumption.

Slide 91 Laurent Toutain F´ed´erez 2014 SensOrLab IETF Working Groups ￿ 6LoWPAN

Slide 92 Laurent Toutain F´ed´erez 2014 SensOrLab Network IETF Working Groups ￿ 6LoWPAN

Slide 93 Laurent Toutain F´ed´erez 2014 Principle 1: Do not allocate prefixes

Slide 94 Laurent Toutain F´ed´erez 2014 IPv6

6LBR

IPv6 ? 6LBR 6LBR

IPv6

Slide 95 Laurent Toutain F´ed´erez 2014 IPv6

6LBR

IPv6

6LN 6LR 6LBR

6LBR

IPv6

Slide 95 Laurent Toutain F´ed´erez 2014 IPv6

6LBR

IPv6

6LN 6LR FE80::IID 6LBR

6LBR

IPv6

Slide 95 Laurent Toutain F´ed´erez 2014 IPv6

6LBR

RASLLAO,PIO 6CO,ABRO IPv6 | 6LN 6LR FE80::IID 6LBR

6LBR

IPv6

SLLAO:SourceLink-layerAddress,PIO:PrefixInformation,6CO:6LoWPANContext,ABRO:AuthoritativeBorderRouter

Slide 95 Laurent Toutain F´ed´erez 2014 IPv6

6LBR

RSSLLAO IPv6

6LN 6LR FE80::IID 6LBR

6LBR

IPv6

SLLAO:SourceLink-layerAddress,PIO:PrefixInformation,6CO:6LoWPANContext,ABRO:AuthoritativeBorderRouter

Slide 95 Laurent Toutain F´ed´erez 2014 IPv6

6LBR

ABRO 6CO, IPv6 ,PIO RASLLAO | 6LN 6LR FE80::IID 6LBR

6LBR

IPv6

SLLAO:SourceLink-layerAddress,PIO:PrefixInformation,6CO:6LoWPANContext,ABRO:AuthoritativeBorderRouter

Slide 95 Laurent Toutain F´ed´erez 2014 IPv6

6LBR

IPv6 NSSLLAO 6LN 6LR FE80::IID 6LBR

6LBR

IPv6

Slide 95 Laurent Toutain F´ed´erez 2014 IPv6

6LBR

IPv6

6LN 6LR DAR FE80::IID 6LBR

6LBR

IPv6

DAR:DuplicateAddressRequest

Slide 95 Laurent Toutain F´ed´erez 2014 IPv6

6LBR

IPv6

6LN 6LR DAC FE80::IID 6LBR

6LBR

IPv6

DAC:DuplicateAddressConfirmation

Slide 95 Laurent Toutain F´ed´erez 2014 IPv6

6LBR

IPv6 Status RAARO+ 6LN 6LR FE80::IID 6LBR

6LBR

IPv6

Slide 95 Laurent Toutain F´ed´erez 2014 IPv6

6LBR

IPv6

6LN 6LR FE80::IID 6LBR α::IID 6LBR

IPv6

Slide 95 Laurent Toutain F´ed´erez 2014 α IPv6

6LBR

IPv6

6LN 6LR β FE80::IID 6LBR α::IID β::IID 6LBR

IPv6

Slide 95 Laurent Toutain F´ed´erez 2014 α IPv6

6LBR

RPL DIS IPv6

6LN 6LR β FE80::IID 6LBR α::IID β::IID 6LBR

IPv6

RPL:RoutingProtocolforLowpowerandlossynetworks,DIS:DODAG(DestinationOrientedDirected Acyclic Graph) Information Solicitation

Slide 95 Laurent Toutain F´ed´erez 2014 α IPv6

6LBR

IPv6

6LN 6LR β FE80::IID 6LBR α::IID β::IID α::IID dest 6LBR →

IPv6

Slide 95 Laurent Toutain F´ed´erez 2014 α IPv6

6LBR

IPv6

6LN 6LR β FE80::IID 6LBR α::IID β::IID α::IID dest 6LBR →

IPv6

Assigning prefix is quite complex Still Multi-homing problem ⇒

Slide 95 Laurent Toutain F´ed´erez 2014 α IPv6

6LBR

IPv6

6LN 6LR β FE80::IID 6LBR ::IID/64 6LBR

IPv6

Slide 96 Laurent Toutain F´ed´erez 2014 α IPv6

6LBR

RPL DIS IPv6

6LN 6LR β FE80::IID 6LBR ::IID/64 6LBR

IPv6

RPL:RoutingProtocolforLowpowerandlossynetworks,DIS:DODAG(DestinationOrientedDirected Acyclic Graph) Information Solicitation

Slide 96 Laurent Toutain F´ed´erez 2014 α IPv6

6LBR

IPv6 DIO 6LN 6LR β FE80::IID 6LBR ::IID/64 6LBR

IPv6

Slide 96 Laurent Toutain F´ed´erez 2014 α IPv6

6LBR

dest IPv6 ::IID→ 6LN 6LR β FE80::IID 6LBR ::IID/64 6LBR

IPv6

Implicit well-known source context for 6LoWPAN compression

Slide 96 Laurent Toutain F´ed´erez 2014 α IPv6

6LBR

dest IPv6 ::IID→ 6LN 6LR β FE80::IID 6LBR α::IID dest → ::IID/64 6LBR

IPv6

NPTv6: ::IID α::IID (L4 checksum adjusted) ⇒

Slide 96 Laurent Toutain F´ed´erez 2014 α IPv6

6LBR

dest β::IIDIPv6dest ::IID→ → 6LN 6LR β FE80::IID 6LBR α::IID dest → ::IID/64 6LBR

IPv6

Slide 96 Laurent Toutain F´ed´erez 2014 α IPv6

6LBR

dest β::IIDIPv6dest ::IID→ → 6LN 6LR β FE80::IID 6LBR α::IID dest → ::IID/64 6LBR

IPv6

IID can be used to identify sender

Slide 96 Laurent Toutain F´ed´erez 2014 Principle 2: Flexible IPv6 headers

Slide 97 Laurent Toutain F´ed´erez 2014 L7

IP

L2

Slide 98 Laurent Toutain F´ed´erez 2014 IP IP IPIP IP IP IP IP IP IPIPIPIP IPIPIPIP IP IPIPIP IP IPIPIPIP IPIP IP IP IPIPIPIPIP IPIP IPIP IP IP IPIPIPIP IP IP IP IPIPIPIP IP IPIP IPIPIP IP IP IP IP IP IPIPIP IPIP IP IPIPIP IP IP IP IP IPIPIP IP IP IPIPIPIPIP IPIP IPIPIPIPIPIPIP IP IPIP IPIP IP IPIP IP IPIP IP IPIPIPIP IP IP IP IPIPIPIPIPIPIPIPIP IPIPIPIPIP IP IPIP IPIPIPIP IP IPIP IPIP IP IPIPIPIP IP IP IP IP IP IPIPIP IP IP IP IP IP IPIP IP IPIP IP IPIPIP IPIPIPIPIPIP IP IPIPIP IPIPIP IPIP IP IP IP IPIP IP IP IPIPIP IP IPIP IPIP IPIP IP IPIP IPIPIPIP IPIPIPIP IP IPIP IPIPIP IP IPIP IPIPIP IP IPIP IPIP IP IP IPIPIPIPIPIP IP IP IP IP IPIP IP IPIPIP IPIPIPIPIP IP IPIPL7 IP IPIPIP IPIP IPIPIPIP IPIPIP IPIPIP IPIPIPIPIPIP IP IP IP IP IP IPIP IPIPIP IP IP IP IPIPIPIPIP IPIPIPIPIP IP IPIPIPIPIPIPIPIP IPIPIPIPIPIPIPIPIP IPIPIP IPIPIP IP IPIPIPIPIPIPIPIPIPIPIP IP IPIPIP IP IP IP IP IP IPIPIP IPIP IP IPIPIPIP IPIP IPIP IPIPIPIP IP IPIPIPIPIP IPIPIP IPIPIPIPIP IPIP IPIPIP IP IPIPIPIPIP IPIP IP IP IPIP IPIP IP IP IP IP IP IP IPIPIP IP IPIP IP IP IP IPIPIPIPIP IPIPIP IPIPIP IP IPIPIP IP IPIPIP IP IPIPIPIP IP IPIPIP IPIP IPIPIP IPIPIP IPIP IP IPIPIPIP IPIP IPIPIP IP IP IPIPIPIPIPIP IP IPIPIP IP IP IP IPIPIPIPIPIPIP IPIP IP IPIP IPIP IPIP IP IP IPIPIP IPIP IPIPIPIP IP IPIP IPIP IP IP IP IPIPIP IPIPIP IP IPIPIP IP IPIP IP IPIPIP IPIPIP IPIP IPIPIPIPIPIP IPIPIP IPIPIP IP IPIP IP IP IPIP IPIP IP IPIPIP IPIP IP IPIP IPIPIP IPIPIPIPIPIPIP IP IP IPIP IP IP IP IPIP IP IPIP IPIPIP IPIPIP IPIPIPIPIP IPIP IPIPIPIPIP IPIP IPIPIP IP IP IPIP IPIP IPIPIP IP IP IPIP IPIP IPIPIPIPIPIP IPIPIPIPIPIPIPIPIPIPIPIPIP IP IP IP IPIP IP IP IP IPIPIP IP IPIP IP IPIPIPIPIP IPIPIPIPIPIP IPIPIP IPIPIPIP IPIPIPIP IP IPIPIPIPIP IP IPIPIPIPIP IP IPIPIPIP IP IP IP IPIPIP IPIP IPIP IPIP IPIPIP IP IPIP IPIPIPIPIP IP IP IPIP IPIP IP IP IP IP IPIPIP IPIP IPIPIPIPIP IP IP IPIP IPIPIPIP IPIP IPIP IPIPL2IPIP IPIPIP IPIP IPIPIP IP IPIP IPIPIPIPIP IPIP IP IP IP IPIPIPIPIP IP IP IP IPIPIPIPIPIPIPIPIPIP IPIP IPIP IP IP IP IPIPIPIP IP IPIPIPIP IP IPIP IPIP IP IPIPIPIPIP IPIP IP IP IPIPIP IP IP IPIPIPIPIPIP IP IP IP IPIPIP IPIPIPIP IPIPIP IP IPIPIPIP IPIPIP IPIP IPIPIPIP IPIP IPIP IP IP IP IP IPIP IPIP IPIPIPIPIP IPIPIP IP IPIP IPIPIP IP IP IPIP IPIP IPIP IP IPIP IPIPIP IP IP IPIPIPIPIP IP IP IP IPIP IP IP IPIP IP IPIPIP IPIPIP IP IP IP IP IP IP IP IPIPIPIP IP IP IPIPIP IP IP IPIP IPIP IPIPIP IPIPIPIPIPIPIP

Slide 98 Laurent Toutain F´ed´erez 2014 @ @@@ @@ @ @@ @ @ @ @ @ @@ @@ @@ @@ @@@@@@ @@@@@ @ @@@@ @ @@ @ @@ @@@ @@ @ @@@ @@ @ @ @@@ @@ @@@@ @ @@ @@ @ @ @@ @ @ @@ @@ @ @ @@@ @@ @ @ @@ @@ @ @@@@ @@ @@ @@@@@ @ @@ @@ @ @ @ @ @@@ @ @ @ @@ @@@ @@@@@ @ @ @@ @@ @ @ @@ @ @@@ @ @@@@ @ @ @ @@ @@@@@ @@@@ @@ @@@ @@ @ @@@@ @@@ @@@@@ @@ @ @ @ @ @@ @ @@ @ @ @@ @@@@@@@@@ @ @@ @ @@ @@@@ @ @@@ @ @@@ @ @@@ @@ @@@ @@ @ @@ @@ @ @@ @@@@@ @@@@ @ @@@ @ @ @ @@ @ @ @ @ @ @@ @@ @ @@@ L7@@@ @ @ @@@ @@@ @ @ @ @@ @@@ @ @ @@@ @ @ @ @ @ @ @ @ @@ @@ @ @ @@ @ @ @ @ @@ @@@ @ @ @@@@@ @@@ @@@ @@@@@@@@@ @@@ @ @ @ @ @@@ @ @@ @ @ @@ @@ @ @ @ @@@ @@ @@ @ @@@@ @ @ @ @ @@ @@ @ @ @ @@ @@@@ @@@@@@ @@ @@@@@ @@@ @ @@@@@ @ @ @@ @ @ @@@@ @ @ @@ @@@ @@ @@ @ @ @ @@@@@ @@ @@ @@@@ @@@ @@ @ @ @ @ @ @ @@ @ @ @ @@ @@ @ @@ IP @@@ @ @ @@ @ @ @@@ @@@ @ @@ @ @ @@ @ @ @ @@@ @@ @@ @ @ @@@ @ @@@ @@ @@@ @ @ @ @@@ @ @ @ @@ @ @@@ @@ @@ @ @ @@@ @@@@ @@ @@@ @@ @ @@ @ @ @@ @@@@ @ @ @@ @ @ @ @@ @ @ @@@@@ @@@ @@ @@@ @ @@ @@@ @ @@ @ @@ @ @ @@@ @@ @@ @@ @@@ @ @@ @ @@ @@@ @@ @ @ @ @@@ @@@@ @@ @ @ @ @@@ @ @ @@ @ @ @ @ @@@@ @@ @ @@@@@@ @ @ @@@@@ @ @ @ @ @@ @ @ @ @ @ @@ @@@ @ @ @ @ @ @ @ @@ @ @ @@ @ @@@ @ @@ @@ @@ @ @ @@@ @@@ @@ @ @@ @@@ @@ @@ @ @ @@ @ @ @ L2@ @@ @ @@ @ @ @@ @ @ @ @ @@ @ @ @ @ @ @@@@@ @ @ @@ @ @ @@@@ @@ @ @@ @@ @ @ @@@ @@@ @ @ @ @ @ @@ @@ @@ @ @ @ @@ @ @ @ @ @@ @ @@ @ @@ @ @ @ @@@ @@@ @ @@@@@@ @@ @ @ @ @ @ @ @ @ @ @ @ @ @ @@@ @ @ @@@@@@ @ @ @ @ @ @@ @@ @ @ @@ @@ @ @@@ @ @ @@ @ @ @@ @ @ @@@@ @@@ @@@@ @@ @@ @ @@ @ @ @ @@@ @ @ @@@ @ @ @ @ @@ @ @ @

Slide 99 Laurent Toutain F´ed´erez 2014 Ethernet IPv6

Destination Address

Source Address

Protocol

Slide 100 Laurent Toutain F´ed´erez 2014 Ethernet IPv6

6 DiffServ Flow Label Payload Length Next header Hop Limit Destination Address Source Address

Source Address Destination Address

Protocol

Slide 100 Laurent Toutain F´ed´erez 2014 Ethernet IPv6

6 DiffServ Flow Label Payload Length Next header Hop Limit Destination Address Source Address

Source Address Destination Address

Protocol

Minimum Information

Slide 100 Laurent Toutain F´ed´erez 2014 Ethernet IPv6

6 DiffServ Flow Label Payload Length Next header Hop Limit Destination Address Source Address

Source Address Destination Address

Protocol

Minimum Information

May Evolve though other stan- dards: - IEEE 802.11, IEEE 802.16, ... -MACinMAC

Slide 100 Laurent Toutain F´ed´erez 2014 Ethernet IPv6

6 DiffServ Flow Label Payload Length Next header Hop Limit Destination Address Source Address

Source Address Destination Address

Protocol

Minimum Information

May Evolve though other stan- Fixed header, no evolution. dards: - Extensions are designed for this ! - IEEE 802.11, IEEE 802.16, ... Wrong design ? -MACinMAC -Internetisnomorehomogeneous⇒

Slide 100 Laurent Toutain F´ed´erez 2014 0...... 7...... 15...... 23...... 31

6 DiffServ Flow Label

Payload Length Next header Hop Limit

Source Address

Destination Address

Layer 4 or extensions

Slide 101 Laurent Toutain F´ed´erez 2014 0...... 7...... 15...... 23...... 31

6 DiffServ Flow Label

Payload Length Next header Hop Limit

Source Address

Destination Address

Layer 4 or extensions

011 TF NH HLIM CID SAC SAM M DAC DAM

Remaining header data

Slide 101 Laurent Toutain F´ed´erez 2014 0...... 7...... 15...... 23...... 31

6 DiffServ Flow Label

Payload Length Next header Hop Limit

Source Address

Destination Address

Layer 4 or extensions

Mesh Header Fragmentation Header

011 TF NH HLIM CID SAC SAM M DAC DAM

Remaining header data

Slide 101 Laurent Toutain F´ed´erez 2014 IPv6 R 6LoWPAN

Slide 102 Laurent Toutain F´ed´erez 2014 IPv6 R 6LoWPAN Extensions

Slide 102 Laurent Toutain F´ed´erez 2014 RFC 2460: With one exception, extension headers are not examined or processed by any node along a packet’s delivery path ,until the packet reaches the node (or each of the set of nodes, in the case of multicast) identified in the Destination Address field of the IPv6 header.

IPv6 R 6LoWPAN Extensions

Slide 102 Laurent Toutain F´ed´erez 2014 Upward traffic: DoDAG Breaking the Hourglass

11 Preferred Parent 21 22

31 32 33

41 42 43 44

51 52 53 54 55

Slide 103 Laurent Toutain F´ed´erez 2014 Upward traffic: DoDAG Breaking the Hourglass

11 Preferred Parent IPv6 21 22

Hop by forwarding plan Hop 31 32 33

L4 41 42 43 44

51 52 53 54 55

Slide 103 Laurent Toutain F´ed´erez 2014 IPv6 R 6LoWPAN

Slide 104 Laurent Toutain F´ed´erez 2014 IPv6 R Tunnel: IPv6+ext6LoWPAN + orig IPv6

Slide 104 Laurent Toutain F´ed´erez 2014 0...... 7...... 15...... 23...... 31

6 DiffServ Flow Label

Payload Length Next header Hop Limit

Source Address

Destination Address

Layer 4 or extensions

011 TF NH HLIM CID SAC SAM M DAC DAM

Remaining header data

Slide 105 Laurent Toutain F´ed´erez 2014 0...... 7...... 15...... 23...... 31

6 DiffServ Flow Label

Payload Length Next header Hop Limit

Source Address

Destination Address

Layer 4 or extensions

Mesh Header Fragmentation Header

Local Extensions

011 TF NH HLIM CID SAC SAM M DAC DAM

Remaining header data

Slide 105 Laurent Toutain F´ed´erez 2014 Principle 3: Include DNS

Slide 106 Laurent Toutain F´ed´erez 2014 Client

DIS DoDAG Prio.

DoDAG backup pIPv6 LBR1 LBR2 DNS

router

Slide 107 Laurent Toutain F´ed´erez 2014 Client

DoDAG Prio.

DoDAG backup DIOpriopIPv6=1

LBR1 DIOprio=2 LBR2 DNS

router

Slide 107 Laurent Toutain F´ed´erez 2014 Client

DoDAG Prio.

DoDAG backup pIPv6 LBR1 DAO + name LBR2 DNS

router

Slide 107 Laurent Toutain F´ed´erez 2014 Client

DoDAG Prio.

RIP α :: IID￿/128 DoDAG backup pIPv6 LBR1 LBR2 DNS

α :: IID /128 LBR2 router ￿ →

Slide 107 Laurent Toutain F´ed´erez 2014 Client

DoDAG Prio.

DoDAG backup pIPv6

LBR1 LBR2 DNS name AAAA α :: IID￿

DU name AAAA α :: IID￿

α :: IID /128 LBR2 router ￿ →

Slide 107 Laurent Toutain F´ed´erez 2014 Client

DoDAG Prio.

DNS: name ? DoDAG backup pIPv6

LBR1 LBR2 DNS name AAAA α :: IID￿

α :: IID /128 LBR2 router ￿ →

Slide 107 Laurent Toutain F´ed´erez 2014 Client

DoDAG Prio.

DoDAG backup pIPv6

LBR1 LBR2 DNS name AAAA α :: IID￿

α :: IID /128 LBR2 router ￿ →

Slide 107 Laurent Toutain F´ed´erez 2014 Client

β :: 1 DIS DoDAG Prio. proxy

DoDAG backup pIPv6 LBR1 LBR2 DNS

router

Slide 108 Laurent Toutain F´ed´erez 2014 Client

DoDAG Prio. β :: 1 proxy

DoDAG backup DIOpriopIPv6=1

LBR1 DIOprio=2 LBR2 DNS

router

Slide 108 Laurent Toutain F´ed´erez 2014 Client

DoDAG Prio. β :: 1 proxy

DoDAG backup pIPv6 LBR1 DAO + name LBR2 DNS

router

Slide 108 Laurent Toutain F´ed´erez 2014 Client

DoDAG Prio. β :: 1 proxy

RIP α :: IID￿/128 DoDAG backup pIPv6 LBR1 LBR2 DNS

α :: IID /128 LBR2 router ￿ →

Slide 108 Laurent Toutain F´ed´erez 2014 Client

DoDAG Prio. β :: 1 proxy

DoDAG backup pIPv6 name AAAA :: IID name AAAA β :: 1 LBR1 LBR2 DNS DU name AAAA :: IID

α :: IID /128 LBR2 router ￿ →

Slide 108 Laurent Toutain F´ed´erez 2014 Client

GET /resource β :: 1 proxy DoDAG Prio. Host: name

DoDAG backup pIPv6 name AAAA :: IID name AAAA β :: 1 LBR1 LBR2 DNS

α :: IID /128 LBR2 router ￿ →

Slide 108 Laurent Toutain F´ed´erez 2014 Client

DoDAG Prio. β :: 1 proxy

DoDAG backup pIPv6 name AAAA :: IID name AAAA β :: 1 LBR1 LBR2 DNS

α :: IID /128 LBR2 router ￿ →

Slide 108 Laurent Toutain F´ed´erez 2014 Conclusion

Slide 109 Laurent Toutain F´ed´erez 2014 Conclusion Breaking the Hourglass

￿ IPv6 is to rigid for constrained devices;

• 6LoWPAN helps, ... but not enough; ￿ Alternative:

• Use Proxies:

− CoAP, − ETSI M2M, oneM2M

• Risk: IPv6 only necessary in island where relaying is mandatory ￿ IPv6 must evolve in a flexible way to allow end-to-end

Slide 110 Laurent Toutain F´ed´erez 2014