| rfc9159xml2.original.xml | rfc9159.xml | |||
|---|---|---|---|---|
| <?xml version="1.0" encoding="US-ASCII"?> | <?xml version="1.0" encoding="UTF-8"?> | |||
| <!-- This template is for creating an Internet Draft using xml2rfc, | <!DOCTYPE rfc [ | |||
| which is available here: http://xml.resource.org. --> | <!ENTITY nbsp " "> | |||
| <!DOCTYPE rfc SYSTEM "rfc2629.dtd" [ | <!ENTITY zwsp "​"> | |||
| <!-- One method to get references from the online citation libraries. | <!ENTITY nbhy "‑"> | |||
| There has to be one entity for each item to be referenced. | <!ENTITY wj "⁠"> | |||
| An alternate method (rfc include) is described in the references. --> | ||||
| <!ENTITY RFC2119 SYSTEM "http://xml.resource.org/public/rfc/bibxml/reference.RFC | ||||
| .2119.xml"> | ||||
| <!ENTITY RFC4291 SYSTEM "http://xml.resource.org/public/rfc/bibxml/reference.RFC | ||||
| .4291.xml"> | ||||
| <!ENTITY RFC4861 SYSTEM "http://xml.resource.org/public/rfc/bibxml/reference.RFC | ||||
| .4861.xml"> | ||||
| <!ENTITY RFC4903 SYSTEM "http://xml.resource.org/public/rfc/bibxml/reference.RFC | ||||
| .4903.xml"> | ||||
| <!ENTITY RFC6282 SYSTEM "http://xml.resource.org/public/rfc/bibxml/reference.RFC | ||||
| .6282.xml"> | ||||
| <!ENTITY RFC4193 SYSTEM "http://xml.resource.org/public/rfc/bibxml/reference.RFC | ||||
| .4193.xml"> | ||||
| <!ENTITY RFC6775 SYSTEM "http://xml.resource.org/public/rfc/bibxml/reference.RFC | ||||
| .6775.xml"> | ||||
| <!ENTITY RFC7416 SYSTEM "http://xml.resource.org/public/rfc/bibxml/reference.RFC | ||||
| .7416.xml"> | ||||
| <!ENTITY RFC7668 SYSTEM "http://xml.resource.org/public/rfc/bibxml/reference.RFC | ||||
| .7668.xml"> | ||||
| <!ENTITY RFC8174 SYSTEM "http://xml.resource.org/public/rfc/bibxml/reference.RFC | ||||
| .8174.xml"> | ||||
| <!ENTITY RFC8505 SYSTEM "http://xml.resource.org/public/rfc/bibxml/reference.RFC | ||||
| .8505.xml"> | ||||
| <!ENTITY RFC8928 SYSTEM "http://xml.resource.org/public/rfc/bibxml/reference.RFC | ||||
| .8928.xml"> | ||||
| <!ENTITY I-D.ietf-6man-default-iids SYSTEM "http://xml.resource.org/public/rfc/b | ||||
| ibxml3/reference.I-D.ietf-6man-default-iids.xml"> | ||||
| ]> | ]> | |||
| <?xml-stylesheet type='text/xsl' href='rfc2629.xslt' ?> | ||||
| <!-- used by XSLT processors --> | ||||
| <!-- For a complete list and description of processing instructions (PIs), | ||||
| please see http://xml.resource.org/authoring/README.html. --> | ||||
| <!-- Below are generally applicable Processing Instructions (PIs) that most I-Ds | ||||
| might want to use. | ||||
| (Here they are set differently than their defaults in xml2rfc v1.32) --> | ||||
| <?rfc strict="no" ?> | ||||
| <!-- give errors regarding ID-nits and DTD validation --> | ||||
| <!-- control the table of contents (ToC) --> | ||||
| <?rfc toc="yes"?> | ||||
| <!-- generate a ToC --> | ||||
| <?rfc tocdepth="4"?> | ||||
| <!-- the number of levels of subsections in ToC. default: 3 --> | ||||
| <!-- control references --> | ||||
| <?rfc symrefs="yes"?> | ||||
| <!-- use symbolic references tags, i.e, [RFC2119] instead of [1] --> | ||||
| <?rfc sortrefs="yes" ?> | ||||
| <!-- sort the reference entries alphabetically --> | ||||
| <!-- control vertical white space | ||||
| (using these PIs as follows is recommended by the RFC Editor) --> | ||||
| <?rfc compact="yes" ?> | ||||
| <!-- do not start each main section on a new page --> | ||||
| <?rfc subcompact="no" ?> | ||||
| <!-- keep one blank line between list items --> | ||||
| <!-- end of list of popular I-D processing instructions --> | ||||
| <rfc category="std" docName="draft-ietf-6lo-blemesh-10" ipr="trust200902"> | ||||
| <!-- category values: std, bcp, info, exp, and historic | ||||
| ipr values: trust200902, noModificationTrust200902, noDerivativesTrust200902 | ||||
| , | ||||
| or pre5378Trust200902 | ||||
| you can add the attributes updates="NNNN" and obsoletes="NNNN" | ||||
| they will automatically be output with "(if approved)" --> | ||||
| <!-- ***** FRONT MATTER ***** --> | <rfc xmlns:xi="http://www.w3.org/2001/XInclude" docName="draft-ietf-6lo-blemesh- 10" number="9159" ipr="trust200902" obsoletes="" updates="" submissionType="IETF " category="std" consensus="true" xml:lang="en" tocInclude="true" tocDepth="4" s ymRefs="true" sortRefs="true" version="3"> | |||
| <!-- xml2rfc v2v3 conversion 3.9.1 --> | ||||
| <front> | <front> | |||
| <!-- The abbreviated title is used in the page header - it is only necessary | ||||
| if the | ||||
| full title is longer than 39 characters --> | ||||
| <title abbrev="IPv6 mesh over Bluetooth LE">IPv6 Mesh over BLUETOOTH(R) Low En | <title abbrev="IPv6 Mesh over Bluetooth LE">IPv6 Mesh over BLUETOOTH(R) Low En | |||
| ergy using IPSP</title> | ergy Using the Internet Protocol Support Profile (IPSP)</title> | |||
| <seriesInfo name="RFC" value="9159"/> | ||||
| <author initials='C.G.' surname="Gomez" fullname='Carles Gomez'> | <author initials="C." surname="Gomez" fullname="Carles Gomez"> | |||
| <organization abbrev="Universitat Politecnica de Catalunya">Universitat Poli | <organization abbrev="Universitat Politecnica de Catalunya">Universitat Po | |||
| tecnica de Catalunya</organization> | litecnica de Catalunya</organization> | |||
| <address> | <address> | |||
| <postal> | <postal> | |||
| <street>C/Esteve Terradas, 7</street> | <street>C/Esteve Terradas, 7</street> | |||
| <code>08860</code> | <code>08860</code> | |||
| <city>Castelldefels</city> | <city>Castelldefels</city> | |||
| <country>Spain</country> | <country>Spain</country> | |||
| </postal> | </postal> | |||
| <email>carlesgo@entel.upc.edu</email> | <email>carlesgo@entel.upc.edu</email> | |||
| </address> | </address> | |||
| </author> | </author> | |||
| <author initials="S.M." surname="Darroudi" fullname="Seyed Mahdi Darroudi"> | ||||
| <author initials='S.M.D.' surname="Darroudi" fullname='Seyed Mahdi Darroudi'> | <organization abbrev="Universitat Politecnica de Catalunya">Universitat Po | |||
| <organization abbrev="Universitat Politecnica de Catalunya">Universitat Poli | litecnica de Catalunya</organization> | |||
| tecnica de Catalunya</organization> | <address> | |||
| <address> | <postal> | |||
| <postal> | <street>C/Esteve Terradas, 7</street> | |||
| <street>C/Esteve Terradas, 7</street> | <code>08860</code> | |||
| <code>08860</code> | <city>Castelldefels</city> | |||
| <city>Castelldefels</city> | <country>Spain</country> | |||
| <country>Spain</country> | </postal> | |||
| </postal> | <email>sm.darroudi@entel.upc.edu</email> | |||
| <email>sm.darroudi@entel.upc.edu</email> | </address> | |||
| </address> | </author> | |||
| </author> | <author initials="T." surname="Savolainen" fullname="Teemu Savolainen"> | |||
| <organization abbrev="">Unaffiliated</organization> | ||||
| <author initials='T.S' surname="Savolainen" fullname='Teemu Savolainen'> | <address> | |||
| <organization abbrev="">Unaffiliated</organization> | <postal> | |||
| <address> | <street/> | |||
| <postal> | <city/> | |||
| <street></street> | <code/> | |||
| <city></city> | <country/> | |||
| <code></code> | </postal> | |||
| <country></country> | <email>tsavo.stds@gmail.com</email> | |||
| </postal> | </address> | |||
| <email>tsavo.stds@gmail.com</email> | </author> | |||
| </address> | <author initials="M." surname="Spoerk" fullname="Michael Spoerk"> | |||
| </author> | <organization abbrev="Graz University of Technology">Graz University of Te | |||
| chnology</organization> | ||||
| <author initials='M.S' surname="Spoerk" fullname='Michael Spoerk'> | <address> | |||
| <organization abbrev="Graz University of Technology">Graz University of Techn | <postal> | |||
| ology</organization> | <street>Inffeldgasse 16/I</street> | |||
| <address> | <city>Graz</city> | |||
| <postal> | <code>8010</code> | |||
| <street>Inffeldgasse 16/I</street> | <country>Austria</country> | |||
| <city>Graz</city> | </postal> | |||
| <code>8010</code> | <email>michael.spoerk@tugraz.at</email> | |||
| <country>Austria</country> | </address> | |||
| </postal> | </author> | |||
| <email>michael.spoerk@tugraz.at</email> | <date year="2021" month="November" /> | |||
| </address> | <area>Internet</area> | |||
| </author> | <workgroup>6Lo Working Group</workgroup> | |||
| <keyword>Bluetooth Low Energy</keyword> | ||||
| <date year="2021" /> | <keyword>mesh networks</keyword> | |||
| <keyword>6lowpan</keyword> | ||||
| <area>Internet</area> | <keyword>IPv6</keyword> | |||
| <keyword>Low power</keyword> | ||||
| <workgroup>6Lo Working Group</workgroup> | <keyword>IoT</keyword> | |||
| <keyword>Internet of Things</keyword> | ||||
| <keyword>Bluetooth Low Energy</keyword> | ||||
| <keyword>mesh networks</keyword> | ||||
| <keyword>6lowpan</keyword> | ||||
| <keyword>IPv6</keyword> | ||||
| <keyword>Low power</keyword> | ||||
| <keyword>IoT</keyword> | ||||
| <keyword>Internet of Things</keyword> | ||||
| <abstract> | <abstract> | |||
| <t> | <t> | |||
| RFC 7668 describes the adaptation of 6LoWPAN techniques to enable IPv6 over Bluetooth low energy networks that follow the star topology. | RFC 7668 describes the adaptation of IPv6 over Low-Power Wireless Perso nal Area Network (6LoWPAN) techniques to enable IPv6 over Bluetooth Low Energy ( Bluetooth LE) networks that follow the star topology. | |||
| However, recent Bluetooth specifications allow the formation of extende d topologies as well. This document specifies mechanisms that are needed | However, recent Bluetooth specifications allow the formation of extende d topologies as well. This document specifies mechanisms that are needed | |||
| to enable IPv6 mesh over Bluetooth Low Energy links established by usin g the Bluetooth Internet Protocol Support Profile. | to enable IPv6 mesh over Bluetooth LE links established by using the Bl uetooth Internet Protocol Support Profile (IPSP). | |||
| This document does not specify the routing protocol to be used in an IP v6 mesh over Bluetooth LE links. | This document does not specify the routing protocol to be used in an IP v6 mesh over Bluetooth LE links. | |||
| </t> | </t> | |||
| </abstract> | </abstract> | |||
| </front> | </front> | |||
| <middle> | ||||
| <middle> | <section numbered="true" toc="default"> | |||
| <section title="Introduction"> | <name>Introduction</name> | |||
| <t> | <t> | |||
| Bluetooth Low Energy (hereinafter, Bluetooth LE) was first introduced | Bluetooth Low Energy (hereinafter, Bluetooth LE) was first introduced | |||
| in the Bluetooth 4.0 specification. Bluetooth LE (which has been | in the Bluetooth 4.0 specification. Bluetooth LE (which has been | |||
| marketed as Bluetooth Smart) is a low-power wireless technology | marketed as Bluetooth Smart) is a low-power wireless technology | |||
| designed for short-range control and monitoring applications. | designed for short-range control and monitoring applications. | |||
| Bluetooth LE is currently implemented in a wide range of consumer | Bluetooth LE is currently implemented in a wide range of consumer | |||
| electronics devices, such as smartphones and wearable devices. Given | electronics devices, such as smartphones and wearable devices. Given | |||
| the high potential of this technology for the Internet of Things, the | the high potential of this technology for the Internet of Things, the | |||
| Bluetooth Special Interest Group (Bluetooth SIG) and the IETF have | Bluetooth Special Interest Group (Bluetooth SIG) and the IETF have | |||
| produced specifications in order to enable IPv6 over Bluetooth LE, | produced specifications in order to enable IPv6 over Bluetooth LE, | |||
| such as the Internet Protocol Support Profile (IPSP) [IPSP], and <xref target ="RFC7668">RFC 7668</xref>, respectively. | such as the Internet Protocol Support Profile (IPSP) <xref target="IPSP" form at="default"/> and <xref target="RFC7668" format="default">RFC 7668</xref>, resp ectively. | |||
| Bluetooth 4.0 only supports Bluetooth LE | Bluetooth 4.0 only supports Bluetooth LE | |||
| networks that follow the star topology. As a consequence, <xref target="RFC7 668">RFC 7668</xref> was | networks that follow the star topology. As a consequence, <xref target="RFC7 668" format="default">RFC 7668</xref> was | |||
| specifically developed and optimized for that type of network | specifically developed and optimized for that type of network | |||
| topology. However, the functionality described in <xref target="RFC7668">RFC 7668</xref> is not | topology. However, the functionality described in <xref target="RFC7668" for mat="default">RFC 7668</xref> is not | |||
| sufficient and would fail to enable an IPv6 mesh over Bluetooth LE links. Th is | sufficient and would fail to enable an IPv6 mesh over Bluetooth LE links. Th is | |||
| document specifies mechanisms that are needed to enable IPv6 mesh over Blueto oth LE links. | document specifies mechanisms that are needed to enable IPv6 mesh over Blueto oth LE links. | |||
| This document does not specify the routing protocol to be used in an | This document does not specify the routing protocol to be used in an | |||
| IPv6 mesh over Bluetooth LE links. | IPv6 mesh over Bluetooth LE links. | |||
| </t> | </t> | |||
| <section numbered="true" toc="default"> | ||||
| <section title="Terminology and Requirements Language"> | <name>Terminology and Requirements Language</name> | |||
| <t> | <t> | |||
| The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", | The key words "<bcp14>MUST</bcp14>", "<bcp14>MUST NOT</bcp14>", "<bcp14>REQU | |||
| "SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY", and | IRED</bcp14>", "<bcp14>SHALL</bcp14>", "<bcp14>SHALL | |||
| "OPTIONAL" in this | NOT</bcp14>", "<bcp14>SHOULD</bcp14>", "<bcp14>SHOULD NOT</bcp14>", "<bcp14> | |||
| document are to be interpreted as described | RECOMMENDED</bcp14>", "<bcp14>NOT RECOMMENDED</bcp14>", | |||
| in BCP14 <xref target="RFC2119">RFC 2119</xref>, <xref target="RFC8174 | "<bcp14>MAY</bcp14>", and "<bcp14>OPTIONAL</bcp14>" in this document are to | |||
| ">RFC 8174</xref>, | be interpreted as | |||
| when, and only when, they appear in all capitals, as shown here. | described in BCP 14 <xref target="RFC2119"/> <xref target="RFC8174"/> | |||
| when, and only when, they appear in all capitals, as shown here. | ||||
| </t> | </t> | |||
| <t> | <t> | |||
| The terms 6LoWPAN Node (6LN), 6LoWPAN Router (6LR) and 6LoWPAN Border Router (6LBR) are defined as in [RFC6775], with an addition that Bluetooth LE ce ntral and Bluetooth LE peripheral (see Section 2) can both be adopted by a 6LN, a 6LR or a 6LBR. | The terms "6LoWPAN Node" (6LN), "6LoWPAN Router" (6LR), and "6LoWPAN B order Router" (6LBR) are defined as in <xref target="RFC6775" format="default"/> , with an addition that Bluetooth LE central and Bluetooth LE peripheral (see <x ref target="blue"/>) can both be adopted by a 6LN, a 6LR, or a 6LBR. | |||
| </t> | </t> | |||
| </section> | </section> | |||
| </section> | </section> | |||
| <section title="Bluetooth LE Networks and the IPSP"> | <section numbered="true" toc="default" anchor="blue"> | |||
| <t> | <name>Bluetooth LE Networks and the IPSP</name> | |||
| <t> | ||||
| Bluetooth LE defines two Generic Access Profile (GAP) roles of relevance herein: the Bluetooth LE central role and the Bluetooth LE peripheral role. | Bluetooth LE defines two Generic Access Profile (GAP) roles of relevance herein: the Bluetooth LE central role and the Bluetooth LE peripheral role. | |||
| A device in the central role, which is called central from now on, has t | In Bluetooth 4.0, a device in the central role, which is called "central" from n | |||
| raditionally been able to manage multiple simultaneous connections with a number | ow on, was able to manage multiple simultaneous connections with a number of dev | |||
| of devices in the peripheral role, | ices in the peripheral role, | |||
| called peripherals hereinafter. Bluetooth 4.1 (now deprecated) introduce | called "peripherals" hereinafter. Bluetooth 4.1 (now deprecated) introdu | |||
| d the possibility for a peripheral to be connected to more than one central | ced the possibility for a peripheral to be connected to more than one central | |||
| simultaneously, therefore allowing extended topologies beyond the star t | simultaneously, therefore allowing extended topologies beyond the star t | |||
| opology for a Bluetooth LE network. In addition, a device may simultaneously | opology for a Bluetooth LE network <xref target="BTCorev4.1"/>. In addition, a d | |||
| be a central in a set of link layer connections, as well as a peripheral | evice may simultaneously | |||
| in others. | be a central in a set of link-layer connections, as well as a peripheral | |||
| </t> | in others. | |||
| </t> | ||||
| <t> | <t> | |||
| On the other hand, the IPSP enables discovery of IP-enabled devices | On the other hand, the IPSP enables discovery of IP-enabled devices | |||
| and the establishment of a link layer connection for transporting IPv6 p | and the establishment of a link-layer connection for transporting IPv6 p | |||
| ackets. The IPSP defines the Node and Router roles for devices that | ackets. The IPSP defines the Node and Router roles for devices that | |||
| consume/originate IPv6 packets and for devices that can route IPv6 packe | consume/originate IPv6 packets and for devices that can route IPv6 packe | |||
| ts, respectively. Consistently with Bluetooth 4.1 and subsequent Bluetooth | ts, respectively. | |||
| versions (e.g. Bluetooth 4.2 [BTCorev4.2] or subsequent), a device may i | Consistent with Bluetooth 4.1, Bluetooth 4.2 <xref target="BTCorev4.2" format | |||
| mplement both roles simultaneously. | ="default"/>, and subsequent Bluetooth versions, a device may implement both rol | |||
| </t> | es simultaneously. | |||
| </t> | ||||
| <t> | <t> | |||
| This document assumes a mesh network composed of Bluetooth LE links, whe | This document assumes a mesh network composed of Bluetooth LE links, whe | |||
| re link layer | re link-layer | |||
| connections are established between neighboring IPv6-enabled | connections are established between neighboring IPv6-enabled | |||
| devices (see Section 3.3.2, item 3.b, and an example in Appendix A)). The IP | devices (see <xref target="three-b" format="none">Section 3.3.2, item 3.b,</x | |||
| v6 forwarding devices of the mesh have to implement both IPSP Node and Router ro | ref> and an example in <xref target="Appendix"/>). The IPv6 forwarding devices | |||
| les, while simpler leaf-only nodes can implement only the Node role. In an IPv6 | of the mesh have to implement both IPSP Node and Router roles, while simpler lea | |||
| mesh over Bluetooth LE links, a node is a | f-only nodes can implement only the Node role. In an IPv6 mesh over Bluetooth LE | |||
| neighbor of another node, and vice versa, if a link layer connection | links, a node is a | |||
| neighbor of another node, and vice versa, if a link-layer connection | ||||
| has been established between both by using the IPSP functionality for | has been established between both by using the IPSP functionality for | |||
| discovery and link layer connection establishment for IPv6 packet | discovery and link-layer connection establishment for IPv6 packet | |||
| transport. | transport. | |||
| </t> | </t> | |||
| </section> | ||||
| </section> | <section numbered="true" toc="default" anchor="spec"> | |||
| <name>Specification of IPv6 Mesh over Bluetooth LE Links</name> | ||||
| <section title="Specification of IPv6 mesh over Bluetooth LE links"> | <section numbered="true" toc="default"> | |||
| <section title="Protocol stack"> | <name>Protocol Stack</name> | |||
| <t> | <t> | |||
| <xref target="fig_BLEMeshStack"/> illustrates the protocol stack fo | <xref target="fig_BLEMeshStack" format="default"/> illustrates the | |||
| r IPv6 mesh over Bluetooth LE | protocol stack for IPv6 mesh over Bluetooth LE | |||
| links. The core Bluetooth LE protocol stack comprises two main sections: the | links. The core Bluetooth LE protocol stack comprises two main sections: the | |||
| Controller, and the Host. The former includes the Physical Layer, | Controller and the Host. The former includes the Physical Layer | |||
| and the Link Layer, whereas the latter is composed of the Logical Link Contro l and Adaptation Protocol (L2CAP), the Attribute Protocol (ATT), | and the Link Layer, whereas the latter is composed of the Logical Link Contro l and Adaptation Protocol (L2CAP), the Attribute Protocol (ATT), | |||
| and the Generic Attribute Profile (GATT). The Host and the Controller section s are connected by means of the Host-Controller Interface (HCI). | and the Generic Attribute Profile (GATT). The Host and the Controller section s are connected by means of the Host-Controller Interface (HCI). | |||
| A device that supports the IPSP Node role instantiates one Internet Protocol Support Service (IPSS), which runs atop GATT. | A device that supports the IPSP Node role instantiates one Internet Protocol Support Service (IPSS), which runs atop GATT. | |||
| The protocol stack shown in Figure 1 shows two main differences with the IPv6 | The protocol stack shown in <xref target="fig_BLEMeshStack" format="default"/ | |||
| over | > shows two main differences with the IPv6 over | |||
| Bluetooth LE stack in RFC 7668: a) the adaptation layer below IPv6 | Bluetooth LE stack in <xref target="RFC7668"/>:</t> | |||
| (labelled as "6Lo for IPv6 mesh over Bluetooth LE") is now adapted for | <ol type="%c)"> | |||
| IPv6 mesh over Bluetooth LE links, and b) the protocol stack for IPv6 | <li>the adaptation layer below IPv6 | |||
| mesh over Bluetooth LE links includes IPv6 routing functionality. | (labeled as "6Lo for IPv6 mesh over Bluetooth LE") is now adapted for | |||
| IPv6 mesh over Bluetooth LE links, and</li> | ||||
| <figure title="Protocol stack for IPv6 mesh over Bluetooth LE links." | <li>the protocol stack for IPv6 | |||
| anchor="fig_BLEMeshStack"> | mesh over Bluetooth LE links includes IPv6 routing functionality.</li> | |||
| <artwork><![CDATA[ | </ol> | |||
| <figure anchor="fig_BLEMeshStack"> | ||||
| <name>Protocol Stack for IPv6 Mesh over Bluetooth LE Links</name> | ||||
| <artwork name="" type="" align="left" alt=""><![CDATA[ | ||||
| +------------------------------------+ | +------------------------------------+ | |||
| | Application | | | Application | | |||
| +---------+ +------------------------------------+ | +---------+ +------------------------------------+ | |||
| | IPSS | | UDP/TCP/other | | | IPSS | | UDP/TCP/other | | |||
| +---------+ +------------------------------------+ | +---------+ +------------------------------------+ | |||
| | GATT | | IPv6 |routing| | | | GATT | | IPv6 |routing| | | |||
| +---------+ +------------------------------------+ | +---------+ +------------------------------------+ | |||
| | ATT | | 6Lo for IPv6 mesh over Bluetooh LE | | | ATT | | 6Lo for IPv6 mesh over Bluetooth LE| | |||
| +---------+--+------------------------------------+ | +---------+--+------------------------------------+ | |||
| | Bluetooth LE L2CAP | | | Bluetooth LE L2CAP | | |||
| HCI - - +-------------------------------------------------+ - - | HCI - - +-------------------------------------------------+ - - | |||
| | Bluetooth LE Link Layer | | | Bluetooth LE Link Layer | | |||
| +-------------------------------------------------+ | +-------------------------------------------------+ | |||
| | Bluetooth LE Physical Layer | | | Bluetooth LE Physical Layer | | |||
| +-------------------------------------------------+ | +-------------------------------------------------+ | |||
| ]]></artwork></figure> | ]]></artwork> | |||
| </t> | </figure> | |||
| <t>Bluetooth 4.2 defines a default MTU for Bluetooth LE of 251 bytes. E | ||||
| <t>Bluetooth 4.2 defines a default MTU for Bluetooth LE of 251 bytes. Ex | xcluding the L2CAP header of 4 bytes, a protocol data unit (PDU) | |||
| cluding the L2CAP header of 4 bytes, a protocol data unit (PDU) | size of 247 bytes is available for the layer above L2CAP. (Note: Earlier Blue | |||
| size of 247 bytes is available for the layer above L2CAP. (Note: earlier Blue | tooth LE versions offered a maximum amount of 23 bytes for the layer atop L2CAP. | |||
| tooth LE versions offered a maximum amount of 23 bytes for the layer atop L2CAP. | ) | |||
| ) | ||||
| The L2CAP provides a fragmentation and reassembly solution for transmitting o r receiving larger PDUs. At each link, the IPSP defines means for | The L2CAP provides a fragmentation and reassembly solution for transmitting o r receiving larger PDUs. At each link, the IPSP defines means for | |||
| negotiating a link-layer connection that provides an MTU of 1280 octets or hi gher for the IPv6 layer [IPSP]. | negotiating a link-layer connection that provides an MTU of 1280 octets or hi gher for the IPv6 layer <xref target="IPSP"/>. | |||
| As per the present specification, the MTU size for IPv6 mesh over BLE links i s 1280 octets. | As per the present specification, the MTU size for IPv6 mesh over BLE links i s 1280 octets. | |||
| </t> | </t> | |||
| <t> | <t> | |||
| Similarly to RFC 7668, fragmentation functionality from 6LoWPAN stan dards is | Similarly to <xref target="RFC7668"/>, fragmentation functionality f rom 6LoWPAN standards is | |||
| not used for IPv6 mesh over Bluetooth LE links. Bluetooth LE's fragmentation support provided | not used for IPv6 mesh over Bluetooth LE links. Bluetooth LE's fragmentation support provided | |||
| by L2CAP is used. | by L2CAP is used. | |||
| </t> | </t> | |||
| </section> | </section> | |||
| <section anchor="llroles" numbered="true" toc="default"> | ||||
| <section title="Subnet model" anchor="llroles"> | <name>Subnet Model</name> | |||
| <t> | <t> | |||
| For IPv6 mesh over Bluetooth LE links, a multilink model has been | For IPv6 mesh over Bluetooth LE links, a multilink model has been | |||
| chosen, as further illustrated in Figure 2. As IPv6 over Bluetooth | chosen, as further illustrated in <xref target="fig_SubnetModel"/>. As IPv6 | |||
| LE is intended for constrained nodes, and for Internet of Things use | over Bluetooth | |||
| LE is intended for constrained nodes and for Internet of Things use | ||||
| cases and environments, the complexity of implementing a separate | cases and environments, the complexity of implementing a separate | |||
| subnet on each peripheral-central link and routing between the | subnet on each peripheral-central link and routing between the | |||
| subnets appears to be excessive. In this specification, the benefits | subnets appears to be excessive. In this specification, the benefits | |||
| of treating the collection of point-to-point links between a central | of treating the collection of point-to-point links between a central | |||
| and its connected peripherals as a single multilink subnet rather | and its connected peripherals as a single multilink subnet rather | |||
| than a multiplicity of separate subnets are considered to outweigh | than a multiplicity of separate subnets are considered to outweigh | |||
| the multilink model's drawbacks as described in [RFC4903]. | the multilink model's drawbacks as described in <xref target="RFC4903" format | |||
| With the multilink subnet model, the routers have to take on responsibility f | ="default"/>. | |||
| or tracking multicast state and forwarding | With the multilink subnet model, the routers have to take on the responsibili | |||
| ty of tracking the multicast state and forwarding | ||||
| multicast in a loop-free manner. | multicast in a loop-free manner. | |||
| Note that the route-over functionality defined in [RFC6775] | Note that the route-over functionality defined in <xref target="RFC6775" form | |||
| is essential to enable the multilink subnet model for IPv6 mesh over Bluetoot | at="default"/> | |||
| h LE links. | is essential to enabling the multilink subnet model for IPv6 mesh over Blueto | |||
| oth LE links. | ||||
| <figure title="Example of an IPv6 mesh over a Bluetooth LE network connecte | </t> | |||
| d to the Internet" | <figure anchor="fig_SubnetModel"> | |||
| anchor="fig_SubnetModel"> | <name>Example of an IPv6 Mesh over a Bluetooth LE Network Connected to | |||
| <artwork><![CDATA[ | the Internet</name> | |||
| <artwork name="" type="" align="left" alt=""><![CDATA[ | ||||
| / | / | |||
| / | / | |||
| 6LR 6LN 6LN / | 6LR 6LN 6LN / | |||
| \ \ \ / | \ \ \ / | |||
| \ \ \ / | \ \ \ / | |||
| 6LN ----- 6LR --------- 6LR ------ 6LBR ----- | Internet | 6LN ----- 6LR --------- 6LR ------ 6LBR ----- | Internet | |||
| <--Link--> <---Link--->/<--Link->/ | | <--Link--> <---Link--->/<--Link->/ | | |||
| / / \ | / / \ | |||
| 6LN ---- 6LR ----- 6LR \ | 6LN ---- 6LR ----- 6LR \ | |||
| \ | \ | |||
| \ | \ | |||
| <------------ Subnet -----------------><---- IPv6 connection --> | <------------ Subnet -----------------><---- IPv6 connection --> | |||
| to the Internet | to the Internet | |||
| ]]></artwork> | ||||
| ]]></artwork></figure> | </figure> | |||
| </t> | <t> | |||
| <t> | ||||
| One or more 6LBRs are connected to the Internet. 6LNs are connected to t he network through a 6LR or a 6LBR. | One or more 6LBRs are connected to the Internet. 6LNs are connected to t he network through a 6LR or a 6LBR. | |||
| Note that, in some scenarios, and/or for some time intervals, a 6LR may | Note that in some scenarios and/or for some time intervals, a 6LR may re | |||
| remain at the edge of the network | main at the edge of the network | |||
| (e.g. the top left node in Figure 2). This may happen when a 6LR has no | (e.g., the top left node in <xref target="fig_SubnetModel"/>). This may | |||
| neighboring 6LNs. | happen when a 6LR has no neighboring 6LNs. | |||
| A single Global Unicast prefix is used on the whole subnet. | A single global unicast prefix is used on the whole subnet. | |||
| </t> | </t> | |||
| <t> | <t> | |||
| IPv6 mesh over Bluetooth LE links MUST follow a route-over | IPv6 mesh over Bluetooth LE links <bcp14>MUST</bcp14> follow a route-ove | |||
| r | ||||
| approach. This document does not specify the routing protocol to be | approach. This document does not specify the routing protocol to be | |||
| used in an IPv6 mesh over Bluetooth LE links. | used in an IPv6 mesh over Bluetooth LE links. | |||
| </t> | </t> | |||
| </section> | ||||
| </section> | <section anchor="deviceaddressing" numbered="true" toc="default"> | |||
| <name>Link Model</name> | ||||
| <section title="Link model" anchor="deviceaddressing"> | <section numbered="true" toc="default"> | |||
| <section title="Stateless address autoconfiguration"> | <name>Stateless Address Autoconfiguration</name> | |||
| <t> | <t> | |||
| 6LN, 6LR, and 6LBR IPv6 addresses in an IPv6 mesh over Bluetooth LE link s are | 6LN, 6LR, and 6LBR IPv6 addresses in an IPv6 mesh over Bluetooth LE link s are | |||
| configured as per section 3.2.2 of RFC 7668. | configured as per <xref target="RFC7668" sectionFormat="of" section="3.2.2"/> | |||
| . | ||||
| </t> | ||||
| <t> | ||||
| Multihop Duplicate Address Detection (DAD) functionality as defined in s | ||||
| ection 8.2 of RFC 6775 and updated by RFC 8505, or some substitute mechanism (se | ||||
| e section 3.3.2), MAY be supported. | ||||
| </t> | ||||
| </section> | ||||
| <section title="Neighbor Discovery" anchor="btlemtu"> | </t> | |||
| <t> | <t> | |||
| 'Neighbor Discovery Optimization for IPv6 over Low-Power Wireless Person | Multihop Duplicate Address Detection (DAD) functionality as defined in < | |||
| al Area Networks (6LoWPANs)' [RFC6775], subsequently updated | xref target="RFC6775" sectionFormat="of" section="8.2"/> and updated by <xref ta | |||
| by 'Registration Extensions for IPv6 over Low-Power Wireless Personal A | rget="RFC8505"/>, or some substitute mechanism (see <xref target="btlemtu"/>), < | |||
| rea Network (6LoWPAN) Neighbor Discovery' [RFC8505], | bcp14>MAY</bcp14> be supported. | |||
| </t> | ||||
| </section> | ||||
| <section anchor="btlemtu" numbered="true" toc="default"> | ||||
| <name>Neighbor Discovery</name> | ||||
| <t> | ||||
| "<xref target="RFC6775" format="title"/>" <xref target="RFC6775" format="default | ||||
| "/>, subsequently updated | ||||
| by "<xref target="RFC8505" format="title"/>" <xref target="RFC8505" for | ||||
| mat="default"/>, | ||||
| describes the neighbor discovery functionality adapted for use in sever al 6LoWPAN topologies, including the mesh topology. | describes the neighbor discovery functionality adapted for use in sever al 6LoWPAN topologies, including the mesh topology. | |||
| The route-over functionality of RFC 6775 and RFC 8505 MUST be supported | The route-over functionality of <xref target="RFC6775"/> and <xref targ | |||
| . | et="RFC8505"/> <bcp14>MUST</bcp14> be supported. | |||
| </t> | </t> | |||
| <t> | <t> | |||
| The following aspects of the Neighbor Discovery optimizations for 6LoWPA | The following aspects of the Neighbor Discovery optimizations for 6LoWPA | |||
| N [RFC6775],[RFC8505] are applicable to Bluetooth LE 6LNs: | N <xref target="RFC6775" format="default"/> <xref target="RFC8505" format="defau | |||
| </t> | lt"/> are applicable to Bluetooth LE 6LNs: | |||
| <t> | </t> | |||
| 1. A Bluetooth LE 6LN MUST register its non-link-local addresses with | <ol> | |||
| <li><t> | ||||
| A Bluetooth LE 6LN <bcp14>MUST</bcp14> register its non-link-local addre | ||||
| sses with | ||||
| its routers by sending a Neighbor Solicitation (NS) message with the Extended Address Registration Option (EARO) and process the | its routers by sending a Neighbor Solicitation (NS) message with the Extended Address Registration Option (EARO) and process the | |||
| Neighbor Advertisement (NA) accordingly. | Neighbor Advertisement (NA) accordingly. | |||
| The EARO option includes a Registration Ownership Verifier (ROVR) fi | The EARO option includes a Registration Ownership Verifier (ROVR) fi | |||
| eld [RFC8505]. In the case of Bluetooth LE, by default the ROVR field | eld <xref target="RFC8505" format="default"/>. In the case of Bluetooth LE, by | |||
| is filled with the 48-bit device address used by the Bluetooth LE no | default, the ROVR field | |||
| de converted into 64-bit Modified EUI-64 format [RFC4291]. | is filled with the 48-bit device address used by the Bluetooth LE no | |||
| Optionally, a cryptographic ID (see <xref target="RFC8928">RFC 8928< | de converted into 64-bit Modified EUI-64 format <xref target="RFC4291" format="d | |||
| /xref>) MAY be placed in the ROVR field. If a cryptographic ID is used, | efault"/>. | |||
| address registration and multihop DAD formats and procedures defined | Optionally, a cryptographic ID (see <xref target="RFC8928" format="d | |||
| in RFC 8928 MUST be used, unless | efault">RFC 8928</xref>) <bcp14>MAY</bcp14> be placed in the ROVR field. If a cr | |||
| yptographic ID is used, | ||||
| address registration and multihop DAD formats and procedures defined | ||||
| in <xref target="RFC8928"/> <bcp14>MUST</bcp14> be used unless | ||||
| an alternative mechanism offering equivalent protection is used. | an alternative mechanism offering equivalent protection is used. | |||
| </t> | </t> | |||
| <t> | ||||
| <t> | As per <xref target="RFC8505"/>, a 6LN link-local address does not need | |||
| As per RFC 8505, a 6LN link-local address does not need to be unique in | to be unique in the multilink subnet. A link-local address only needs to be uni | |||
| the multilink subnet. A link-local address only needs to be unique | que | |||
| from the perspective of the two nodes that use it to communicate (e.g., the 6LN and the 6LR in an NS/NA exchange). Therefore, the exchange | from the perspective of the two nodes that use it to communicate (e.g., the 6LN and the 6LR in an NS/NA exchange). Therefore, the exchange | |||
| of EDAR and EDAC messages between the 6LR and a 6LBR, which ensures tha t an address is unique across the domain covered by the 6LBR, does not | of Extended Duplicate Address Request (EDAR) and Extended Duplicate Add ress Confirmation (EDAC) messages between the 6LR and a 6LBR, which ensures that an address is unique across the domain covered by the 6LBR, does not | |||
| need to take place for link-local addresses. | need to take place for link-local addresses. | |||
| </t> | </t> | |||
| <t> | ||||
| <t> | ||||
| If the 6LN registers multiple addresses that are not based on the | If the 6LN registers multiple addresses that are not based on the | |||
| Bluetooth device address using the same compression context, the | Bluetooth device address using the same compression context, the | |||
| header compression efficiency may decrease, since only the last registered ad | header compression efficiency may decrease, since only the last registered ad | |||
| dress can be fully elided (see Section 3.2.4 of RFC 7668). | dress can be fully elided (see <xref target="RFC7668" sectionFormat="of" section | |||
| </t> | ="3.2.4"/>). | |||
| </t></li> | ||||
| <t> | <li><t> | |||
| 2. For sending Router Solicitations and processing Router Advertisements, | For sending Router Solicitations and processing Router Advertisements, the | |||
| the hosts that participate in an IPv6 mesh over BLE MUST, respectively, follow S | hosts that participate in an IPv6 mesh over BLE <bcp14>MUST</bcp14>, respectivel | |||
| ections 5.3 and 5.4 | y, follow Sections <xref target="RFC6775" sectionFormat="bare" section="5.3"/> a | |||
| of [RFC6775], and Section 5.6 of [RFC8505]. | nd <xref target="RFC6775" sectionFormat="bare" section="5.4"/> | |||
| </t> | of <xref target="RFC6775" format="default"/>, and <xref target="RFC8505 | |||
| <t> | " sectionFormat="of" section="5.6"/>. | |||
| 3. The router behavior for 6LRs and 6LBRs is described in Section 6 of RFC | </t></li> | |||
| 6775, and updated by RFC 8505. However, as per this specification: | <li><t> | |||
| The router behavior for 6LRs and 6LBRs is described in <xref target="RFC677 | ||||
| a) Routers SHALL NOT use multicast NSs to discover other routers' link | 5" sectionFormat="of" section="6"/> and updated by <xref target="RFC8505"/>. How | |||
| layer addresses. | ever, as per this specification: | |||
| </t><ol type="a"> | ||||
| <li>Routers <bcp14>SHALL NOT</bcp14> use multicast NSs to discover othe | ||||
| r routers' link-layer addresses.</li> | ||||
| b) As per section 6.2 of RFC 6775, in a dynamic configuration scenario, | <li anchor="three-b">As per <xref target="RFC6775" sectionFormat="of" se | |||
| a 6LR comes up as a non-router and waits to receive a Router Advertisement | ction="6.2"/>, in a dynamic configuration scenario, a 6LR comes up as a non-rout | |||
| for configuring its own interface address first, before setting its i | er and waits to receive a Router Advertisement | |||
| nterfaces to be advertising interfaces and turning into a router. | for configuring its own interface address first before setting its in | |||
| In order to support such operation in an IPv6 mesh over Bluetooth LE | terfaces to advertising interfaces and turning into a router. | |||
| links, a 6LR first uses the IPSP Node role only. Once the 6LR has established | In order to support such an operation in an IPv6 mesh over Bluetooth | |||
| a connection with another node currently running as a router, and rec | LE links, a 6LR first uses the IPSP Node role only. Once the 6LR has established | |||
| eives a Router Advertisement from that router, the 6LR configures its own | a connection with another node currently running as a router and rece | |||
| interface address, it turns into a router, and it runs as an IPSP Rou | ives a Router Advertisement from that router, the 6LR configures its own | |||
| ter. In contrast with a 6LR, a 6LBR uses the IPSP Router role since the 6LBR | interface address, turns into a router, and runs as an IPSP Router. I | |||
| is initialized, that is, the 6LBR uses both the IPSP Node and IPSP Ro | n contrast with a 6LR, a 6LBR uses the IPSP Router role since the 6LBR | |||
| uter roles at all times. See an example in Appendix B.. | is initialized; that is, the 6LBR uses both the IPSP Node and IPSP Ro | |||
| </t> | uter roles at all times. See an example in <xref target="Appendix_B"/>.</li> | |||
| <t> | </ol></li> | |||
| 4. Border router behavior is described in Section 7 of RFC 6775, and updat | <li><t> | |||
| ed by RFC 8505. | Border router behavior is described in <xref target="RFC6775" sectionFormat | |||
| </t> | ="of" section="7"/> and updated by <xref target="RFC8505"/>. | |||
| <t> | </t> | |||
| RFC 6775 defines substitutable mechanisms for distributing prefixes and c | <t> | |||
| ontext information (section 8.1 of RFC 6775), as well as for | <xref target="RFC6775"/> defines substitutable mechanisms for distributin | |||
| Duplicate Address Detection across a route-over 6LoWPAN (section 8.2 of R | g prefixes and context information (<xref target="RFC6775" sectionFormat="of" se | |||
| FC 6775). RFC 8505 updates those mechanisms and the related message formats. | ction="8.1"/>), as well as for | |||
| Implementations of this specification MUST either support the features de | duplicate address detection across a route-over 6LoWPAN (<xref target="RF | |||
| scribed in sections 8.1 and 8.2 of RFC 6775, as updated by RFC 8505, | C6775" sectionFormat="of" section="8.2"/>). <xref target="RFC8505"/> updates tho | |||
| se mechanisms and the related message formats. | ||||
| Implementations of this specification <bcp14>MUST</bcp14> either support | ||||
| the features described in Sections <xref target="RFC6775" sectionFormat="bare" s | ||||
| ection="8.1"/> and <xref target="RFC6775" sectionFormat="bare" section="8.2"/> o | ||||
| f <xref target="RFC6775"/>, as updated by <xref target="RFC8505"/> | ||||
| or some alternative ("substitute") mechanism. | or some alternative ("substitute") mechanism. | |||
| </t> | </t></li> | |||
| </section> | </ol> | |||
| </section> | ||||
| <section title="Header compression" anchor="hc"> | <section anchor="hc" numbered="true" toc="default"> | |||
| <t> | <name>Header Compression</name> | |||
| Header compression as defined in RFC 6282 [RFC6282], which specifies the | <t> | |||
| compression format for IPv6 datagrams on top of IEEE 802.15.4, is REQUIRED as t | Header compression as defined in RFC 6282 <xref target="RFC6282" format= | |||
| he basis for IPv6 header compression on top of Bluetooth LE. All headers MUST be | "default"/>, which specifies the compression format for IPv6 datagrams on top of | |||
| compressed according to RFC 6282 [RFC6282] encoding formats. | IEEE 802.15.4, is <bcp14>REQUIRED</bcp14> as the basis for IPv6 header compress | |||
| </t> | ion on top of Bluetooth LE. All headers <bcp14>MUST</bcp14> be compressed accord | |||
| <t> | ing to RFC 6282 <xref target="RFC6282" format="default"/> encoding formats. | |||
| To enable efficient header compression, when the 6LBR sends a Router Adv | </t> | |||
| ertisement it MAY include a 6LoWPAN Context Option (6CO) [RFC6775] | <t> | |||
| matching each address prefix advertised via a Prefix Information Option | To enable efficient header compression, when the 6LBR sends a Router Adv | |||
| (PIO) [RFC4861] for use in stateless address autoconfiguration. | ertisement, it <bcp14>MAY</bcp14> include a 6LoWPAN Context Option (6CO) <xref t | |||
| Note that 6CO is not needed for context-based compression when context i | arget="RFC6775" format="default"/> | |||
| s pre-provisioned or provided by out-of-band means, | matching each address prefix advertised via a Prefix Information Option | |||
| as in these cases the in-band indication (6CO) becomes superfluous. | (PIO) <xref target="RFC4861" format="default"/> for use in stateless address aut | |||
| oconfiguration. | ||||
| Note that 6CO is not needed for context-based compression when the conte | ||||
| xt is pre-provisioned or provided by out-of-band means | ||||
| as, in these cases, the in-band indication (6CO) becomes superfluous. | ||||
| </t> | </t> | |||
| <t> | <t> | |||
| The specific optimizations of RFC 7668 for header compression, which | The specific optimizations of <xref target="RFC7668"/> for header compre | |||
| exploited the star topology and ARO (note that the latter has been updated by | ssion, which | |||
| EARO as per RFC 8505), cannot be generalized in an IPv6 | exploited the star topology and Address Registration Option (ARO) (note that | |||
| the latter has been updated by EARO as per <xref target="RFC8505"/>), cannot be | ||||
| generalized in an IPv6 | ||||
| mesh over Bluetooth LE links. Still, a subset of those optimizations | mesh over Bluetooth LE links. Still, a subset of those optimizations | |||
| can be applied in some cases in such a network. These cases comprise link-lo cal interactions, non-link-local packet | can be applied in some cases in such a network. These cases comprise link-lo cal interactions, non-link-local packet | |||
| transmissions originated by a 6LN (i.e. the first hop from a 6LN), and non-li nk-local | transmissions originated by a 6LN (i.e., the first hop from a 6LN), and non-l ink-local | |||
| packets intended for a 6LN that are originated or forwarded by a neighbor | packets intended for a 6LN that are originated or forwarded by a neighbor | |||
| of that 6LN (i.e. the last hop toward a 6LN). For all other packet transmiss | of that 6LN (i.e., the last hop toward a 6LN). For all other packet transmis | |||
| ions, context-based compression MAY be used. | sions, context-based compression <bcp14>MAY</bcp14> be used. | |||
| </t> | ||||
| <t> | ||||
| When a device transmits a packet to a neighbor, the sender MUST fully el | ||||
| ide the source IID if the source IPv6 address is the link-local address based on | ||||
| the sender's Bluetooth device address (SAC=0, SAM=11). The sender also MUST ful | ||||
| ly elide the destination IPv6 address if it is the link-local address based on t | ||||
| he neighbor's Bluetooth device address (DAC=0, DAM=11). | ||||
| </t> | ||||
| <t> | </t> | |||
| When a 6LN transmits a packet, with a non-link-local source address | <t> | |||
| When a device transmits a packet to a neighbor, the sender <bcp14>MUST</ | ||||
| bcp14> fully elide the source Interface Identifier (IID) if the source IPv6 addr | ||||
| ess is the link-local address based on the sender's Bluetooth device address (SA | ||||
| C=0, SAM=11). The sender also <bcp14>MUST</bcp14> fully elide the destination IP | ||||
| v6 address if it is the link-local address based on the neighbor's Bluetooth dev | ||||
| ice address (DAC=0, DAM=11). | ||||
| </t> | ||||
| <t> | ||||
| When a 6LN transmits a packet with a non-link-local source address | ||||
| that the 6LN has registered with EARO in the next-hop router for the | that the 6LN has registered with EARO in the next-hop router for the | |||
| indicated prefix, the source address MUST be fully elided if it is | indicated prefix, the source address <bcp14>MUST</bcp14> be fully elided if i t is | |||
| the latest address that the 6LN has registered for the indicated | the latest address that the 6LN has registered for the indicated | |||
| prefix (SAC=1, SAM=11). If the source non-link-local address is not | prefix (SAC=1, SAM=11). | |||
| the latest registered by the 6LN, and the first 48 bits of the IID match | If the source non-link-local address is not | |||
| with the latest address registered by the 6LN, then the last 16 bits of the I | the latest registered by the 6LN and the first 48 bits of the IID match | |||
| ID | the latest address are registered by the 6LN, then the last 16 bits of the II | |||
| SHALL be carried in-line (SAC=1, SAM=10). Otherwise, if the first 48 bits of | D | |||
| the IID do not match, | <bcp14>SHALL</bcp14> be carried inline (SAC=1, SAM=10). Otherwise, if the fir | |||
| then the 64 bits of the IID SHALL be fully carried in-line (SAC=1, SAM=01). | st 48 bits of the IID do not match, | |||
| then the 64 bits of the IID <bcp14>SHALL</bcp14> be fully carried inline (SAC | ||||
| =1, SAM=01). | ||||
| </t> | </t> | |||
| <t> | <t> | |||
| When a router transmits a packet to a neighboring 6LN, with a non- | When a router transmits a packet to a neighboring 6LN with a non-link-loc | |||
| link-local destination address, the router MUST fully elide the | al destination address, the router <bcp14>MUST</bcp14> fully elide the | |||
| destination IPv6 address if the destination address is the latest | destination IPv6 address if the destination address is the latest | |||
| registered by the 6LN with EARO for the indicated context (DAC=1, | registered by the 6LN with EARO for the indicated context (DAC=1, | |||
| DAM=11). If the destination address is a non-link-local address and | DAM=11). If the destination address is a non-link-local address and | |||
| not the latest registered, and the first 48 bits of the IID match to those of | not the latest registered and if the first 48 bits of the IID match those of | |||
| the latest registered address, | the latest registered address, | |||
| then the last 16 bits of the IID SHALL be carried in-line (DAC=1, DAM=10). Ot | then the last 16 bits of the IID <bcp14>SHALL</bcp14> be carried inline (DAC= | |||
| herwise, if the first 48 bits of the IID do not match, | 1, DAM=10). Otherwise, if the first 48 bits of the IID do not match, | |||
| then the 64 bits of the IID SHALL be fully carried in-line (DAC=1, DAM=01). | then the 64 bits of the IID <bcp14>SHALL</bcp14> be fully carried in-line (DA | |||
| </t> | C=1, DAM=01). | |||
| </section> | </t> | |||
| <section title="Unicast and multicast mapping"> | </section> | |||
| <t> | <section numbered="true" toc="default"> | |||
| <name>Unicast and Multicast Mapping</name> | ||||
| <t> | ||||
| The Bluetooth LE Link Layer does not support multicast. Hence, | The Bluetooth LE Link Layer does not support multicast. Hence, | |||
| traffic is always unicast between two Bluetooth LE neighboring nodes. | traffic is always unicast between two Bluetooth LE neighboring nodes. | |||
| If a node needs to send a multicast packet to several neighbors, it has | If a node needs to send a multicast packet to several neighbors, it has | |||
| to replicate the packet and unicast it on each link. However, this may | to replicate the packet and unicast it on each link. However, this may | |||
| not be energy efficient, and particular care must be taken if the node | not be energy efficient, and particular care must be taken if the node | |||
| is battery powered. A router (i.e., a 6LR or a 6LBR) MUST keep track | is battery powered. A router (i.e., a 6LR or a 6LBR) <bcp14>MUST</bcp14> kee | |||
| of neighboring multicast listeners, and it MUST NOT forward multicast | p track | |||
| of neighboring multicast listeners, and it <bcp14>MUST NOT</bcp14> forward mu | ||||
| lticast | ||||
| packets to neighbors that have not registered as listeners for multicast grou ps to which the packets are destined. | packets to neighbors that have not registered as listeners for multicast grou ps to which the packets are destined. | |||
| </t> | </t> | |||
| </section> | </section> | |||
| </section> | </section> | |||
| </section> | </section> | |||
| <section anchor="IANA" numbered="true" toc="default"> | ||||
| <section anchor="IANA" title="IANA Considerations"> | <name>IANA Considerations</name> | |||
| <t> | <t> | |||
| There are no IANA considerations related to this document. | This document has no IANA actions. | |||
| </t> | </t> | |||
| </section> | </section> | |||
| <section anchor="Security" numbered="true" toc="default"> | ||||
| <section anchor="Security" title="Security Considerations"> | <name>Security Considerations</name> | |||
| <t> | <t> | |||
| The security considerations in RFC 7668 apply. | The security considerations in <xref target="RFC7668"/> apply. | |||
| </t> | </t> | |||
| <t> | <t> | |||
| IPv6 mesh over Bluetooth LE links requires a routing protocol to | IPv6 mesh over BLE requires a routing protocol to | |||
| find end-to-end paths. Unfortunately, the routing protocol may | find end-to-end paths. Unfortunately, the routing protocol may | |||
| generate additional opportunities for threats and attacks to the | generate additional opportunities for threats and attacks to the | |||
| network. | network. | |||
| </t> | </t> | |||
| <t> | ||||
| <t> | <xref target="RFC7416" format="default">RFC 7416</xref> provides a systemat | |||
| <xref target="RFC7416">RFC 7416</xref> provides a systematic overview of th | ic overview of threats and | |||
| reats and | ||||
| attacks on the IPv6 Routing Protocol for Low-Power and Lossy Networks | attacks on the IPv6 Routing Protocol for Low-Power and Lossy Networks | |||
| (RPL), as well as countermeasures. In that document, described threats and at tacks comprise threats due to failures to authenticate, threats due to failure t o keep routing information, threats and attacks on integrity, and threats and at tacks on availability. Reported countermeasures comprise | (RPL), as well as countermeasures. In that document, described threats and at tacks comprise threats due to failures to authenticate, threats due to failure t o keep routing information, threats and attacks on integrity, and threats and at tacks on availability. Reported countermeasures comprise | |||
| confidentiality attack, integrity attack, and availability attack countermeasure s. | confidentiality attack, integrity attack, and availability attack countermeasure s. | |||
| </t> | </t> | |||
| <t> | <t> | |||
| While this specification does not | While this specification does not | |||
| state the routing protocol to be used in IPv6 mesh over Bluetooth LE | state the routing protocol to be used in IPv6 mesh over Bluetooth LE | |||
| links, the guidance of RFC 7416 is useful when RPL is used in | links, the guidance of <xref target="RFC7416"/> is useful when RPL is used in | |||
| such scenarios. Furthermore, such guidance may partly apply for | such scenarios. Furthermore, such guidance may partly apply for | |||
| other routing protocols as well. | other routing protocols as well. | |||
| </t> | </t> | |||
| <t> | ||||
| <t> | ||||
| The ROVR can be derived from the Bluetooth device address. However, such a ROVR can be | The ROVR can be derived from the Bluetooth device address. However, such a ROVR can be | |||
| spoofed, and therefore, any node connected to the subnet and aware of | spoofed; therefore, any node connected to the subnet and aware of | |||
| a registered-address-to-ROVR mapping could perform address theft and | a registered-address-to-ROVR mapping could perform address theft and | |||
| impersonation attacks. Use of Address Protected Neighbor Discovery <xref targ et="RFC8928">RFC 8928</xref> provides protection | impersonation attacks. Use of Address Protected Neighbor Discovery <xref targ et="RFC8928" format="default"/> provides protection | |||
| against such attacks. | against such attacks. | |||
| </t> | </t> | |||
| </section> | ||||
| </section> | </middle> | |||
| <back> | ||||
| <section anchor="Contrib" title="Contributors"> | ||||
| <t> | ||||
| Carlo Alberto Boano (Graz University of Technology) contributed to the des | ||||
| ign and validation of this document. | ||||
| </t> | ||||
| </section> | ||||
| <section anchor="Acknowledgements" title="Acknowledgements"> | <references> | |||
| <t> | <name>References</name> | |||
| The Bluetooth, Bluetooth Smart and Bluetooth Smart Ready marks are registe | <references> | |||
| red trademarks owned by Bluetooth SIG, Inc. | <name>Normative References</name> | |||
| </t> | ||||
| <t> | <reference anchor="IPSP" target="https://www.bluetooth.com/specification | |||
| The authors of this document are grateful to all RFC 7668 authors, since t | s/specs/internet-protocol-support-profile-1-0/"> | |||
| his document borrows many concepts (albeit, with necessary extensions) from RFC | <front> | |||
| 7668. | <title>Internet Protocol Support Profile 1.0</title> | |||
| </t> | <author> | |||
| <organization>Bluetooth</organization> | ||||
| </author> | ||||
| <date year="2014" month="December" day="16"/> | ||||
| </front> | ||||
| </reference> | ||||
| <t> | <reference anchor="BTCorev4.2" target="https://www.bluetooth.com/specific | |||
| The authors also thank Alain Michaud, Mark Powell, Martin Turon, Bilhanan | ations/specs/core-specification-4-2/"> | |||
| Silverajan, Rahul Jadhav, Pascal Thubert, Acee Lindem, Catherine Meadows, | <front> | |||
| and Dominique Barthel for their reviews and comments, which helped improve | <title>Core Specification 4.2</title> | |||
| the document. | <author> | |||
| </t> | <organization>Bluetooth</organization> | |||
| </author> | ||||
| <date year="2014" month="December" day="2"/> | ||||
| </front> | ||||
| </reference> | ||||
| <xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.RF | ||||
| C.2119.xml"/> | ||||
| <xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.R | ||||
| FC.4291.xml"/> | ||||
| <xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.R | ||||
| FC.4861.xml"/> | ||||
| <xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.R | ||||
| FC.6282.xml"/> | ||||
| <xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.R | ||||
| FC.6775.xml"/> | ||||
| <xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.R | ||||
| FC.7668.xml"/> | ||||
| <xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.R | ||||
| FC.8505.xml"/> | ||||
| <xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.R | ||||
| FC.8174.xml"/> | ||||
| <xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.R | ||||
| FC.8928.xml"/> | ||||
| </references> | ||||
| <references> | ||||
| <name>Informative References</name> | ||||
| <xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.R | ||||
| FC.4903.xml"/> | ||||
| <xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.R | ||||
| FC.7416.xml"/> | ||||
| <t> | <reference anchor="BTCorev4.1" target="https://www.bluetooth.com/specifi | |||
| Carles Gomez has been supported in part by the Spanish Government Minister | cations/specs/core-specification-4-1/"> | |||
| io de Economia y Competitividad through projects TEC2012-32531, | <front> | |||
| TEC2016-79988-P, PID2019-106808RA-I00 and FEDER, and Secretaria d'Universi | <title>Core Specification 4.1</title> | |||
| tats i Recerca del Departament d'Empresa i Coneixement de la Generalitat | <author> | |||
| de Catalunya 2017 through grant SGR 376. | <organization>Bluetooth</organization> | |||
| </t> | </author> | |||
| </section> | <date year="2013" month="December" day="3"/> | |||
| </front> | ||||
| </reference> | ||||
| </references> | ||||
| </references> | ||||
| <section anchor="Appendix" title="Appendix A: Bluetooth LE connection establishm | <section anchor="Appendix" numbered="true" toc="default"> | |||
| ent example"> | <name>Bluetooth LE Connection Establishment Example</name> | |||
| <t> | ||||
| This appendix provides an example of Bluetooth LE connection establishment | ||||
| and use of IPSP roles in an IPv6 mesh over Bluetooth LE links that uses dynamic | ||||
| configuration. The example follows text in Section 3.3.2, item 3.b). | ||||
| </t> | ||||
| <t> | ||||
| The example assumes a network with one 6LBR, two 6LRs and three 6LNs, as s | ||||
| hown in <xref target="fig_Appendix"/>. Connectivity between the 6LNs and the 6LB | ||||
| R is only possible via the 6LRs. | ||||
| </t> | ||||
| <t> | ||||
| The following text describes the different steps as time evolves, in the e | ||||
| xample. Note that other sequences of events that may lead to the same final scen | ||||
| ario are also possible. | ||||
| </t> | ||||
| <t> | <t> | |||
| At the beginning, the 6LBR starts running as an IPSP Router, whereas the r | This appendix provides an example of Bluetooth LE connection establishment | |||
| est of devices are not yet initialized (Step 1). Next, the 6LRs start running as | and use of IPSP roles in an IPv6 mesh over BLE that uses dynamic configuration. | |||
| IPSP Nodes, i.e., they use Bluetooth LE advertisement packets to announce their | The example follows text in <xref target="three-b" format="none">Section 3.3.2, | |||
| presence and support of IPv6 capabilities (Step 2). | item 3.b</xref>. | |||
| The 6LBR (already running as an IPSP Router) discovers the presence of the | </t> | |||
| 6LRs and establishes one Bluetooth LE connection with each 6LR (Step 3). After | <t> | |||
| establishment of those link layer connections (and after reception of Router Adv | The example assumes a network with one 6LBR, two 6LRs, and three 6LNs, as | |||
| ertisements from the 6LBR), | shown in <xref target="fig_Appendix" format="default"/>. Connectivity between th | |||
| the 6LRs start operating as routers, and also initiate the IPSP Router rol | e 6LNs and the 6LBR is only possible via the 6LRs. | |||
| e (Step 4) (note: whether the IPSP Node role is kept running simultaneously is a | </t> | |||
| n implementation decision). Then, 6LNs start running the IPSP Node role (Step 5) | <t> | |||
| . | The following text describes the different steps in the example as time ev | |||
| Finally, the 6LRs discover presence of the 6LNs and establish connections | olves. Note that other sequences of events that may lead to the same final scena | |||
| with the latter (Step 6). | rio are also possible. | |||
| </t> | </t> | |||
| <t> | ||||
| <figure title="An example of connection establishment and use of IPSP roles i | At the beginning, the 6LBR starts running as an IPSP router, whereas the r | |||
| n an IPv6 mesh over Bluetooth LE links." | est of devices are not yet initialized (<xref target="step1" format="none">Step | |||
| anchor="fig_Appendix"> | 1</xref>). Next, the 6LRs start running as IPSP nodes, i.e., they use Bluetooth | |||
| <artwork><![CDATA[ | LE advertisement packets to announce their presence and support of IPv6 capabili | |||
| ties (<xref target="step2" format="none">Step 2</xref>). | ||||
| The 6LBR (already running as an IPSP router) discovers the presence of the | ||||
| 6LRs and establishes one Bluetooth LE connection with each 6LR (<xref target="s | ||||
| tep3" format="none">Step 3</xref>). After establishment of those link-layer conn | ||||
| ections (and after reception of Router Advertisements from the 6LBR), | ||||
| the 6LRs start operating as routers and also initiate the IPSP Router role | ||||
| (<xref target="step4" format="none">Step 4</xref>). (Note: whether the IPSP Nod | ||||
| e role is kept running simultaneously is an implementation decision). Then, 6LNs | ||||
| start running the IPSP Node role (<xref target="step5" format="none">Step 5</xr | ||||
| ef>). | ||||
| Finally, the 6LRs discover the presence of the 6LNs and establish connecti | ||||
| ons with the latter (<xref target="step6" format="none">Step 6</xref>). | ||||
| </t> | ||||
| <figure anchor="fig_Appendix"> | ||||
| <name>Example of Connection Establishment and Use of IPSP Roles in an IP | ||||
| v6 Mesh over Bluetooth LE Links</name> | ||||
| <artwork anchor="step1" name="" type="" align="left" alt=""><![CDATA[ | ||||
| Step 1 | Step 1 | |||
| ****** | ****** | |||
| 6LBR | 6LBR | |||
| (IPSP: Router) | (IPSP: Router) | |||
| 6LR 6LR | 6LR 6LR | |||
| (not initialized) (not initialized) | (not initialized) (not initialized) | |||
| 6LN 6LN 6LN | 6LN 6LN 6LN | |||
| (not initialized) (not initialized) (not initialized) | (not initialized) (not initialized) (not initialized) | |||
| ]]></artwork> | ||||
| <artwork anchor="step2" name="" type="" align="left" alt=""><![CDATA[ | ||||
| Step 2 | Step 2 | |||
| ****** | ****** | |||
| 6LBR | 6LBR | |||
| (IPSP: Router) | (IPSP: Router) | |||
| 6LR 6LR | 6LR 6LR | |||
| (IPSP: Node) (IPSP: Node) | (IPSP: Node) (IPSP: Node) | |||
| 6LN 6LN 6LN | 6LN 6LN 6LN | |||
| (not initialized) (not initialized) (not initialized) | (not initialized) (not initialized) (not initialized) | |||
| ]]></artwork> | ||||
| <artwork anchor="step3" name="" type="" align="left" alt=""><![CDATA[ | ||||
| Step 3 | Step 3 | |||
| ****** | ****** | |||
| 6LBR | 6LBR | |||
| (IPSP: Router) | (IPSP: Router) | |||
| Bluetooth LE connection --> / \ | Bluetooth LE connection --> / \ | |||
| / \ | / \ | |||
| 6LR 6LR | 6LR 6LR | |||
| (IPSP: Node) (IPSP: Node) | (IPSP: Node) (IPSP: Node) | |||
| 6LN 6LN 6LN | 6LN 6LN 6LN | |||
| (not initialized) (not initialized) (not initialized) | (not initialized) (not initialized) (not initialized) | |||
| ]]></artwork> | ||||
| <artwork anchor="step4" name="" type="" align="left" alt=""><![CDATA[ | ||||
| Step 4 | Step 4 | |||
| ****** | ****** | |||
| 6LBR | 6LBR | |||
| (IPSP: Router) | (IPSP: Router) | |||
| / \ | / \ | |||
| / \ | / \ | |||
| 6LR 6LR | 6LR 6LR | |||
| (IPSP: Router) (IPSP: Router) | (IPSP: Router) (IPSP: Router) | |||
| 6LN 6LN 6LN | 6LN 6LN 6LN | |||
| (not initialized) (not initialized) (not initialized) | (not initialized) (not initialized) (not initialized) | |||
| ]]></artwork> | ||||
| <artwork anchor="step5" name="" type="" align="left" alt=""><![CDATA[ | ||||
| Step 5 | Step 5 | |||
| ****** | ****** | |||
| 6LBR | 6LBR | |||
| (IPSP: Router) | (IPSP: Router) | |||
| / \ | / \ | |||
| / \ | / \ | |||
| 6LR 6LR | 6LR 6LR | |||
| (IPSP: Router) (IPSP: Router) | (IPSP: Router) (IPSP: Router) | |||
| 6LN 6LN 6LN | 6LN 6LN 6LN | |||
| (IPSP: Node) (IPSP: Node) (IPSP: Node) | (IPSP: Node) (IPSP: Node) (IPSP: Node) | |||
| ]]></artwork> | ||||
| <artwork anchor="step6" name="" type="" align="left" alt=""><![CDATA[ | ||||
| Step 6 | Step 6 | |||
| ****** | ****** | |||
| 6LBR | 6LBR | |||
| (IPSP: Router) | (IPSP: Router) | |||
| / \ | / \ | |||
| / \ | / \ | |||
| 6LR 6LR | 6LR 6LR | |||
| (IPSP: Router) (IPSP: Router) | (IPSP: Router) (IPSP: Router) | |||
| / \ / \ | / \ / \ | |||
| / \ / \ | / \ / \ | |||
| / \ / \ | / \ / \ | |||
| 6LN 6LN 6LN | 6LN 6LN 6LN | |||
| (IPSP: Node) (IPSP: Node) (IPSP: Node) | (IPSP: Node) (IPSP: Node) (IPSP: Node) | |||
| ]]></artwork> | ||||
| ]]></artwork></figure> | </figure> | |||
| </section> | ||||
| </section> | <section anchor="Appendix_B" numbered="true" toc="default"> | |||
| <name>Node-Joining Procedure</name> | ||||
| <section anchor="Appendix_B" title="Appendix B: Node joining procedure"> | <t> | |||
| <t> | This appendix provides a diagram that illustrates the node-joining procedu | |||
| This appendix provides a diagram that illustrates the node joining procedu | re. First of all, the joining node advertises its presence in order to allow est | |||
| re. First of all, the joining node advertises its presence in order to allow est | ablishment of Bluetooth LE connections with neighbors that already belong to a n | |||
| ablishing Bluetooth LE connections with neighbors that already belong to a netwo | etwork. The neighbors typically run as a 6LR or as a 6LBR. After Bluetooth LE co | |||
| rk. The latter typically run as a 6LR or as a 6LBR. After Bluetooth LE connectio | nnection establishment, the joining node starts acting as a 6LN. | |||
| n establishment, the joining node starts acting as a 6LN. | </t> | |||
| </t> | <t><xref target="fig_AppendixB" format="default"/> shows the sequence of m | |||
| essages that are exchanged by the 6LN and a neighboring 6LR that already belongs | ||||
| <t><xref target="fig_AppendixB"/> shows the sequence of messages that are exc | to the network after the establishment of a Bluetooth LE connection between bot | |||
| hanged by the 6LN and a neighboring 6LR that already belongs to the network, | h devices. Initially, the 6LN sends a Router Solicitation (RS) message (1). Then | |||
| after the establishment of a Bluetooth LE connection between both devices. | , the 6LR replies | |||
| Initially, the 6LN sends an RS message (1). Then, the 6LR replies | with an RA, which includes the PIO (2). After discovering the non-link-loc | |||
| with an RA, which includes the PIO (2). After discovering the non-link-loc | al prefix in use in the network, the 6LN creates its non-link-local address and | |||
| al prefix in use in the network, the 6LN creates its non-link-local address, reg | registers that address with EARO (3) in the 6LR, and then multihop DAD is perfor | |||
| isters that address with EARO (3) in the 6LR, and multihop DAD is performed (4). | med (4). | |||
| The next step is the transmission of the NA message sent by the 6LR in res ponse to the NS previously sent by the 6LN (5). | The next step is the transmission of the NA message sent by the 6LR in res ponse to the NS previously sent by the 6LN (5). | |||
| If the non-link-local address of the 6LN has been successfully validated, the 6LN can operate as a member of the network it has joined. | If the non-link-local address of the 6LN has been successfully validated, the 6LN can operate as a member of the network it has joined. | |||
| </t> | </t> | |||
| <figure anchor="fig_AppendixB"> | ||||
| <figure title="Message exchange diagram for a joining node" | <name>Message Exchange Diagram for a Joining Node</name> | |||
| anchor="fig_AppendixB"> | <artwork name="" type="" align="left" alt=""><![CDATA[ | |||
| <artwork><![CDATA[ | ||||
| (1) 6LN ----(RS)-------> 6LR | (1) 6LN ----(RS)-------> 6LR | |||
| (2) 6LN <---(RA-PIO)---- 6LR | (2) 6LN <---(RA-PIO)---- 6LR | |||
| (3) 6LN ----(NS-EARO)--> 6LR | (3) 6LN ----(NS-EARO)--> 6LR | |||
| (4) [Multihop DAD procedure] | (4) [Multihop DAD procedure] | |||
| (5) 6LN <---(NA)-------- 6LR | (5) 6LN <---(NA)-------- 6LR | |||
| ]]></artwork> | ||||
| </figure> | ||||
| </section> | ||||
| ]]></artwork></figure> | <section anchor="Acknowledgements" numbered="false" toc="default"> | |||
| <name>Acknowledgements</name> | ||||
| </section> | <t> | |||
| The Bluetooth, Bluetooth Smart, and Bluetooth Smart Ready marks are regist | ||||
| </middle> | ered trademarks owned by Bluetooth SIG, Inc. | |||
| </t> | ||||
| <back> | <t> | |||
| <!-- References split into informative and normative --> | The authors of this document are grateful to all authors of <xref target=" | |||
| RFC7668"/>, since this document borrows many concepts (albeit with necessary ext | ||||
| <!-- There are 2 ways to insert reference entries from the citation libraries | ensions) from <xref target="RFC7668"/>. | |||
| : | </t> | |||
| 1. define an ENTITY at the top, and use "ampersand character"RFC2629; here ( | <t> | |||
| as shown) | The authors also thank <contact fullname="Alain Michaud"/>, <contact ful | |||
| 2. simply use a PI "less than character"?rfc include="reference.RFC.2119.xml | lname="Mark Powell"/>, <contact fullname="Martin Turon"/>, <contact fullname=" | |||
| "?> here | Bilhanan Silverajan"/>, <contact fullname="Rahul Jadhav"/>, <contact fullname= | |||
| (for I-Ds: include="reference.I-D.narten-iana-considerations-rfc2434bis.x | "Pascal Thubert"/>, <contact fullname="Acee Lindem"/>, <contact fullname="Cath | |||
| ml") | erine Meadows"/>, | |||
| and <contact fullname="Dominique Barthel"/> for their reviews and comment | ||||
| Both are cited textually in the same manner: by using xref elements. | s, which helped improve the document. | |||
| If you use the PI option, xml2rfc will, by default, try to find included fil | </t> | |||
| es in the same | <t> | |||
| directory as the including file. You can also define the XML_LIBRARY environ | <contact fullname="Carles Gomez"/> has been supported in part by the Span | |||
| ment variable | ish Government Ministerio de Economia y Competitividad through projects TEC2012- | |||
| with a value containing a set of directories to search. These can be either | 32531, | |||
| in the local | TEC2016-79988-P, PID2019-106808RA-I00, and FEDER and Secretaria d'Universi | |||
| filing system or remote ones accessed by http (http://domain/dir/... ).--> | tats i Recerca del Departament d'Empresa i Coneixement de la Generalitat | |||
| de Catalunya 2017 through grant SGR 376. | ||||
| <references title="Normative References"> | </t> | |||
| <reference anchor="IPSP" target="https://www.bluetooth.org/en-us/specificat | </section> | |||
| ion/adopted-specifications"> | <section anchor="Contrib" numbered="false" toc="default"> | |||
| <front> | <name>Contributors</name> | |||
| <title>Bluetooth Internet Protocol Support Profile Specification Ver | <t> | |||
| sion 1.0.0</title> | <contact fullname="Carlo Alberto Boano"/> (Graz University of Technology) | |||
| <author> | contributed to the design and validation of this document. | |||
| <organization>Bluetooth Special Interest Group</organization> | </t> | |||
| </author> | </section> | |||
| <date year="2014" month="December" day="16"/> | </back> | |||
| </front> | ||||
| </reference> | ||||
| <reference anchor="BTCorev4.2" target="https://www.bluetooth.com/specificat | ||||
| ions/archived-specifications"> | ||||
| <front> | ||||
| <title>Bluetooth Core Specification Version 4.2</title> | ||||
| <author> | ||||
| <organization>Bluetooth Special Interest Group</organization> | ||||
| </author> | ||||
| <date year="2014" month="December" day="2"/> | ||||
| </front> | ||||
| </reference> | ||||
| <!--?rfc include="http://xml.resource.org/public/rfc/bibxml/reference.RFC.2 | ||||
| 119.xml"?--> | ||||
| &RFC2119; | ||||
| &RFC4291; | ||||
| &RFC4861; | ||||
| &RFC6282; | ||||
| &RFC6775; | ||||
| &RFC7668; | ||||
| &RFC8505; | ||||
| &RFC8174; | ||||
| &RFC8928; | ||||
| </references> | ||||
| <references title="Informative References"> | ||||
| <!--?rfc include="http://xml.resource.org/public/rfc/bibxml/reference.RFC.2 | ||||
| 119.xml"?--> | ||||
| &RFC4903; | ||||
| &RFC7416; | ||||
| <reference anchor="BTCorev4.1" target="https://www.bluetooth.org/en-us/spec | ||||
| ification/adopted-specifications"> | ||||
| <front> | ||||
| <title>Bluetooth Core Specification Version 4.1</title> | ||||
| <author> | ||||
| <organization>Bluetooth Special Interest Group</organization> | ||||
| </author> | ||||
| <date year="2013" month="December" day="3"/> | ||||
| </front> | ||||
| </reference> | ||||
| </references> | ||||
| <!-- Change Log | ||||
| v00 2011-03-07 BPa Initial version | ||||
| --> | ||||
| </back> | ||||
| </rfc> | </rfc> | |||
| End of changes. 82 change blocks. | ||||
| 628 lines changed or deleted | 579 lines changed or added | |||
This html diff was produced by rfcdiff 1.48. The latest version is available from http://tools.ietf.org/tools/rfcdiff/ | ||||