RFC 8691
Basic Support for IPv6 Networks Operating Outside the Context of a Basic Service Set over IEEE Std 802.11
Basic Support for IPv6 Networks Operating Outside the Context of a Basic Service Set over IEEE Std 802.11 ๐๐จ
okay bestie, the title block is giving very official vibes so let me spill the tea ๐ซถ This is RFC 8691 ๐, published December 2019 as a Standards Track document ๐ . The authors are N. Benamar (Moulay Ismail University of Meknes), J. Hรคrri (EURECOM), J. Lee (Sangmyung University), and T. Ernst (YoGoKo) โจ. It's an ISSN 2070-1721 doc, and it doesn't obsolete or update any other RFCs, so it's a clean, standalone glow-up ๐ฆ.
The whole point is giving IPv6 a place to live on 802.11-OCB links, the vehicular-friendly flavour of Wi-Fi where cars and roadside units talk to each other without a Basic Service Set ๐๐ธ.
Abstract
okay so the vibe here is: this doc gives you methods and settings to use IPv6 between nodes that are in range of each other over a single IEEE 802.11-OCB link ๐ฃ๏ธ. The best part? Existing stacks need minimal changes ๐. It also spills the limitations of doing it this way ๐. Fancier stuff like optimizations and IPv6 over more complicated setups is NOT covered here and is saved for future work ๐ฎ.
Status of This Memo
this is an Internet Standards Track document ๐.
It's a product of the IETF, it represents community consensus, got public review, and was approved by the IESG ๐. If you want more on Internet Standards, check out Section 2 of RFC 7841 ๐. The current status, errata, and feedback info live at https://www.rfc-editor.org/info/rfc8691 ๐.
Copyright Notice
Copyright (c) 2019 IETF Trust and the document authors, all rights reserved โญ. This doc is subject to BCP 78 and the IETF Trust's Legal Provisions, so read those carefully because they spell out your rights ๐ง. If you extract Code Components from it, they need Simplified BSD License text (see Section 4.e of the Trust Legal Provisions) and come with no warranty ๐ซถ.
Table of Contents
1. Introduction
2. Terminology
3. Communication Scenarios Where IEEE 802.11-OCB Links Are Used
4. IPv6 over 802.11-OCB
4.1. Maximum Transmission Unit (MTU)
4.2. Frame Format
4.3. Link-Local Addresses
4.4. Stateless Autoconfiguration
4.5. Address Mapping
4.5.1. Address Mapping -- Unicast
4.5.2. Address Mapping -- Multicast
4.6. Subnet Structure
5. Security Considerations
5.1. Privacy Considerations
5.1.1. Privacy Risks of Meaningful Information in Interface
IDs
5.2. MAC Address and Interface ID Generation
5.3. Pseudonymization Impact on Confidentiality and Trust
6. IANA Considerations
7. References
7.1. Normative References
7.2. Informative References
Appendix A. 802.11p
Appendix B. Aspects Introduced by OCB Mode to 802.11
Appendix C. Changes Needed on an 802.11a Software Driver to Become
an 802.11-OCB Driver
Appendix D. Protocol Layering
Appendix E. Design Considerations
Appendix F. IEEE 802.11 Messages Transmitted in OCB Mode
Appendix G. Examples of Packet Formats
G.1. Capture in Monitor Mode
G.2. Capture in Normal Mode
Appendix H. Extra Terminology
Appendix I. Neighbor Discovery (ND) Potential Issues in Wireless
Links
Acknowledgements
Contributors
Authors' Addresses
1. Introduction โจ
okay so this doc is a baseline for using IPv6 between nodes in range of each other over a single IEEE 802.11-OCB link [IEEE-802.11-2016] (aka 802.11p, see Appendices A, B, and C) ๐ฆ. It keeps changes to existing stacks minimal and calls out the limitations ๐. Concretely, it describes layering IPv6 on top of the IEEE Std 802.11 MAC layer, or on an IEEE Std 802.3 MAC layer with a frame translation underneath ๐ง. The resulting stack is derived from IPv6 over Ethernet [RFC2464] but runs over 802.11-OCB to give at least P2P (point-to-point) connectivity using IPv6 Neighbor Discovery (ND) and link-local addresses ๐ฆ.
The IPv6 network layer works on 802.11-OCB the same way it works on Ethernet, with these exceptions ๐:
- ๐ Exceptions because IPv6 network layer behaves differently on 802.11 than on Ethernet. How IP works on Ethernet is described in [RFC1042] and [RFC2464].
- ๐ธ Exceptions because 802.11-OCB is OCB, unlike plain 802.11. This affects security, privacy, subnet structure, and movement detection ๐. Security and privacy recommendations are discussed in Sections 4.4 and 5 ๐. The subnet structure is in Section 4.6 ๐. Movement detection on OCB links is NOT described in this document ๐. Likewise, ND extensions and IP Wireless Access in Vehicular Environments (IPWAVE) optimizations for vehicular communications are out of scope here ๐. The expectation is that further specs will cover more complex vehicular networking scenarios ๐ฎ.
The reader can check [IPWAVE] for an overview of problems with running IPv6 over 802.11-OCB ๐. Reiterating those problems is out of scope for this doc ๐ซถ.
2. Terminology ๐
The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY", and "OPTIONAL" in this document are to be interpreted as described in BCP 14 [RFC2119] [RFC8174] when, and only when, they appear in all capitals, as shown here ๐ .
The doc uses these terms ๐:
IP-OBU (Internet Protocol On-Board Unit): an IP-OBU is a computer sitting in a vehicle like a car, bicycle, or similar ๐ฒ. It has at least one IP interface that runs in mode OCB of 802.11 and has an "OBU" transceiver. See the definition of "OBU" in Appendix H โจ.
IP-RSU (IP Roadside Unit): an IP-RSU sits along the road ๐ฃ๏ธ. It has at least two distinct IP-enabled interfaces. The wireless PHY/MAC layer of at least one of those interfaces is configured to operate in 802.11-OCB mode ๐. An IP-RSU talks to the IP-OBU over an 802.11 wireless link operating in OCB mode ๐ก. It's similar to an Access Network Router (ANR), defined in [RFC3753], and a Wireless Termination Point (WTP), defined in [RFC5415] ๐ง.
OCB (outside the context of a Basic Service Set - BSS): a mode where a station (STA) is not a member of a BSS and does not use IEEE Std 802.11 authentication, association, or data confidentiality ๐.
802.11-OCB: the mode specified in IEEE Std 802.11-2016 when the MIB attribute dot11OCBActivited is 'true' ๐.
3. Communication Scenarios Where IEEE 802.11-OCB Links Are Used ๐
IEEE 802.11-OCB networks are used for vehicular communications as 'Wireless Access in Vehicular Environments' ๐ธ. Check out [IPWAVE] for scenarios and requirements for IP in Intelligent Transportation Systems (ITS) ๐.
The link model is: STA --- 802.11-OCB --- STA ๐ฆ. In vehicular networks, STAs can be IP-RSUs and/or IP-OBUs ๐. All links are assumed to be P2P, and multiple links can sit on one radio interface ๐. While 802.11-OCB is clearly specified and a legacy IPv6 stack can operate on these links, the vehicular operating environment brings in new perspectives ๐.
4. IPv6 over 802.11-OCB โจ
4.1. Maximum Transmission Unit (MTU)
The default MTU for IP packets on 802.11-OCB is inherited from [RFC2464], so it's 1500 octets ๐. As noted in [RFC8200], every link on the Internet MUST have a minimum MTU of 1280 octets and MUST follow the other recommendations, especially about fragmentation ๐.
4.2. Frame Format ๐
IP packets MUST be transmitted over 802.11-OCB media as QoS data frames whose format is specified in an IEEE 802.11 spec [IEEE-802.11-2016] ๐ .
The IPv6 packet sent over 802.11-OCB is immediately preceded by a Logical Link Control (LLC) header and an 802.11 header ๐ง. In the LLC header, and following EtherType Protocol Discrimination (EPD; see Appendix D), the Type field MUST be set to 0x86DD (IPv6) ๐. The mapping to the 802.11 data service SHOULD use a 'priority' value of 1 (QoS with a 'Background' user priority), reserving higher priority values for safety-critical and time-sensitive traffic, including the ones listed in [ETSI-sec-archi] ๐จ.
To simplify the API between the operating system and the 802.11-OCB media, device drivers MAY implement IPv6 over Ethernet as per [RFC2464], then do a frame translation from 802.3 to 802.11 to minimize code changes ๐ ๏ธ.
4.3. Link-Local Addresses ๐ฆ
There are several types of IPv6 addresses [RFC4291] [RFC4193] that MAY be assigned to an 802.11-OCB interface ๐ธ. Among these, only IPv6 link-local addresses can be formed using an EUI-64 identifier, particularly during transition time (the period before an interface starts using an address different from the LL one) ๐.
If the IPv6 link-local address is formed using an EUI-64 identifier, the mechanism for forming it is the same one used to form an IPv6 link-local address on Ethernet links ๐. Regardless of whether the interface identifier is derived from the EUI-64 identifier, its length is 64 bits, as is the case for Ethernet [RFC2464] ๐ซถ.
okay that's part 1 of 8 bestie ๐ ๐ more parts are coming, so stay tuned ๐โจ
4.4. Stateless Autoconfiguration โจ
okay so the steps a host takes to autoconfigure its IPv6 interfaces are all spelled out in [RFC4862] ๐ this section is about how the Interface Identifiers (IIDs) get formed for 'Global' or 'Unique Local' IPv6 addresses. the IIDs for 'link-local' addresses get their own section, which is Section 4.3 ๐ซถ
the RECOMMENDED way to form stable IIDs is described in [RFC8064] โจ the method from Section 4 of [RFC2464] MAY be used during the transition period, especially for IPv6 link-local addresses ๐ธ and no matter which method you use, the IID is 64 bits long, same as IPv6 over Ethernet [RFC2464] ๐
the bits in the IID don't have any specific meaning, so the identifier should be treated as an opaque value ๐ฆ BUT the 'Universal' and 'Group' bits in the identifier of an 802.11-OCB interface are significant, because that identifier is an IEEE link-layer address. the details of that are in [RFC7136] ๐
semantically opaque IIDs, instead of meaningful IIDs derived from a valid and meaningful MAC address ([RFC2464], Section 4), help avoid certain privacy risks (see the risks mentioned in Section 5.1.1) ๐ if you need semantically opaque IIDs, they may be generated using the method for generating semantically opaque IIDs with IPv6 Stateless Address Autoconfiguration given in [RFC7217]. typically, an opaque IID is formed starting from identifiers different from the MAC addresses and from cryptographically strong material. so privacy-sensitive information is absent from Interface IDs, because it is impossible to calculate back the initial value that the Interface ID was first generated from ๐ฅ
some applications that use IPv6 packets on 802.11-OCB links (among other link types) may benefit from IPv6 addresses whose IIDs don't change too often ๐ง it is RECOMMENDED to use the mechanisms described in [RFC7217] to permit the use of stable IIDs that do not change within one subnet prefix. a possible source for the Net_Iface parameter is a virtual interface name or logical interface name that is decided by a local administrator ๐
4.5. Address Mapping ๐
unicast and multicast address mapping MUST follow the procedures specified for Ethernet interfaces described in Sections 6 and 7 of [RFC2464]. no skipping, bestie ๐
4.5.1. Address Mapping -- Unicast
this document is scoped for Address Resolution (AR) and Duplicate Address Detection (DAD) per [RFC4862] โจ
4.5.2. Address Mapping -- Multicast
the multicast address mapping is performed according to the method specified in Section 7 of [RFC2464]. the meaning of the value "33-33" mentioned there is defined in Section 2.3.1 of [RFC7042] ๐ฆ
transmitting IPv6 packets to multicast destinations over 802.11 links proved to have some performance issues [IEEE802-MCAST] ๐ญ these issues may be exacerbated in OCB mode. future improvement to this specification should consider solutions for these problems ๐ซถ
4.6. Subnet Structure ๐๐จ
when vehicles are in close range, a subnet may be formed over 802.11-OCB interfaces (not by their in-vehicle interfaces) ๐ a Prefix List conceptual data structure ([RFC4861], Section 5.1) is maintained for each 802.11-OCB interface.
the IPv6 Neighbor Discovery protocol (ND) requires reflexive properties (bidirectional connectivity), which is generally, though not always, the case for P2P OCB links. ND also requires transitive properties for DAD and AR, so an IPv6 subnet can be mapped on an OCB network only if all nodes in the network share a single physical broadcast domain ๐ the extension to IPv6 ND operating on a subnet that covers multiple OCB links and does not fully overlap (i.e., non-broadcast multi-access (NBMA)) is not in scope of this document. finally, ND requires permanent connectivity of all nodes in the subnet to defend their addresses. in other words, very stable network conditions ๐ฅบ
the structure of this subnet is ephemeral, since it is strongly influenced by the mobility of vehicles. hidden terminal effects appear, and the 802.11 networks in OCB mode may be considered ad hoc networks with an addressing model, as described in [RFC5889] ๐ช๏ธ on the other hand, the structure of the internal subnets in each vehicle is relatively stable ๐ซง
as recommended in [RFC5889], when the timing requirements are very strict (e.g., fast-drive-through IP-RSU coverage), no on-link subnet prefix should be configured on an 802.11-OCB interface. in those cases, the exclusive use of IPv6 link-local addresses is RECOMMENDED ๐๏ธ
even if the timing requirements are not very strict (e.g., the moving subnet formed by two following vehicles is stable, and a fixed IP-RSU is absent), the subnet is disconnected from the Internet (i.e., a default route is absent), and the addressing peers are equally qualified (that is, it is impossible to determine whether some vehicle owns and distributes addresses to others). in that situation, the use of link-local addresses is RECOMMENDED ๐
the baseline ND protocol [RFC4861] MUST be supported over 802.11-OCB links โจ transmitting ND packets may prove to have some performance issues, as mentioned in Section 4.5.2 and Appendix I. these issues may be exacerbated in OCB mode. solutions for these problems should consider the OCB mode of operation, and future solutions to OCB should consider solutions for avoiding broadcast ๐ก the best of current knowledge indicates the kinds of issues that may arise with ND in OCB mode, and they are described in Appendix I ๐
protocols like Mobile IPv6 [RFC6275] [RFC3963] and DNAv6 [RFC6059], which depend on timely movement detection, might need additional tuning work to handle the lack of link-layer notifications during handover. this topic is left for further study ๐ฎ
5. Security Considerations ๐
any security mechanism at the IP layer or above that may be implemented for the general case of IPv6 may also be implemented for IPv6 operating over 802.11-OCB ๐
the OCB operation does not use existing 802.11 link-layer security mechanisms. there is no encryption applied below the network layer running on 802.11-OCB. at the application layer, the IEEE 1609.2 document [IEEE-1609.2] provides security services for certain applications to use, but application-layer mechanisms are out of scope of this document. on the other hand, a security mechanism provided at the networking layer, such as IPsec [RFC4301], may provide data security protection to a wider range of applications ๐ก๏ธ
802.11-OCB does not provide any cryptographic protection, because it operates outside the context of a BSS (no Association Request/Response or Challenge messages). therefore, an attacker can sniff or inject traffic while within range of a vehicle or IP-RSU (by setting an interface card's frequency to the proper range). also, an attacker may not adhere to the legal limits for radio power and can use a very sensitive directional antenna. if attackers wish to attack a given exchange, they do not necessarily need to be in close physical proximity. hence, such a link is less protected than commonly used links (a wired link or the aforementioned 802.11 links with link-layer security) ๐ฑ
therefore, any node can join a subnet and directly communicate with any nodes on the subset, including potentially impersonating another node. this design allows for a number of threats outlined in Section 3 of [RFC6959] ๐ while not widely deployed, SEND [RFC3971] [RFC3972] is a solution that can address spoof-based attack vectors ๐งฏ
5.1. Privacy Considerations ๐
as with all Ethernet and 802.11 interface identifiers [RFC7721], the identifier of an 802.11-OCB interface may involve privacy, MAC address spoofing, and IP hijacking risks. a vehicle embarking an IP-OBU whose egress interface is 802.11-OCB may expose itself to eavesdropping and subsequent correlation of data. this may reveal data considered private by the vehicle owner, and there is a risk of being tracked ๐ญ
in outdoor public environments, where vehicles typically circulate, the privacy risks are greater than in indoor settings. it is highly likely that attacker sniffers are deployed along routes that listen for IEEE frames, including IP packets, of vehicles passing by ๐ for this reason, in 802.11-OCB deployments, there is a strong necessity to use protection tools such as dynamically changing MAC addresses (Section 5.2), semantically opaque Interface Identifiers, and stable Interface Identifiers (Section 4.4) ๐ก๏ธ an example of a change policy is to change the MAC address of the OCB interface each time the system boots up. this may help mitigate privacy risks to a certain level ๐ธ
furthermore, for privacy concerns, [RFC8065] recommends using an address-generation scheme rather than generating addresses from a fixed link-layer address. however, there are some specificities related to vehicles ๐ since roaming is an important characteristic of moving vehicles, the use of the same Link-Local Address over time can indicate the presence of the same vehicle in different places, and thus lead to location tracking. hence, a vehicle should get hints about a change of environment (e.g., engine running, GPS, etc.) and renew the IID in its LLAs ๐
5.1.1. Privacy Risks of Meaningful Information in Interface IDs
the privacy risks of using MAC addresses displayed in Interface Identifiers are important ๐จ IPv6 packets can be captured easily on the Internet and on-link on public roads. for this reason, an attacker may realize many attacks on privacy. one such attack on 802.11-OCB is to capture, store, and correlate company ID information present in the MAC addresses of a large number of cars (e.g., listening for Router Advertisements or other IPv6 application data packets, and recording the value of the source address in these packets) ๐๐๐ further correlation of this information with other data captured by other means, or with other visual information (e.g., car color), may constitute privacy risks ๐จ
5.2. MAC Address and Interface ID Generation ๐ญ
in 802.11-OCB networks, the MAC addresses may change during well-defined renumbering events โจ at the moment the MAC address is changed on an 802.11-OCB interface, all the Interface Identifiers of IPv6 addresses assigned to that interface MUST change ๐
implementations should use a policy dictating when the MAC address is changed on the 802.11-OCB interface. for more information on the motivation of this policy, please refer to the privacy discussion in Appendix B ๐
a 'randomized' MAC address has the following characteristics:
- The "Local/Global" bit is set to "locally administered".
- The "Unicast/Multicast" bit is set to "Unicast".
- The 46 remaining bits are set to a random value using a random number generator that meets the requirements of [RFC4086].
to meet the randomization requirements for the 46 remaining bits, a hash function may be used ๐ง for example, the hash function defined in [SHA256] may be used with the input of a 256-bit local secret, the 'nominal' MAC address of the interface, and a representation of the date and time of the renumbering event ๐
a randomized Interface ID has the same characteristics of a randomized MAC address, except for the length in bits ๐
5.3. Pseudonymization Impact on Confidentiality and Trust ๐
okay bestie, so vehicle and driver privacy ๐ is lowkey built on pseudonymization, like the stuff we just went through in Section 5.2 ๐ฆ. which means upper-layer protocols and applications SHOULD NOT rely on layer-2 or layer-3 addresses to decide whether the other participant can be trusted ๐. a pseudonym is not a trust badge, periodt ๐
6. IANA Considerations ๐ธ
no cap, this document has no IANA actions ๐ซถ nothing to register, nothing to update, we're literally just chillin โจ
7. References ๐
7.1. Normative References ๐
here's the full reference list, every single entry, exactly as it's written ๐
[IEEE-802.11-2016]
IEEE, "IEEE Standard for Information technology -
Telecommunications and information exchange between
systems Local and metropolitan area networks--Specific
requirements - Part 11: Wireless LAN Medium Access Control
(MAC) and Physical Layer (PHY) Specifications", IEEE
Standard 802.11-2016, December 2016,
<https://standards.ieee.org/findstds/
standard/802.11-2016.html>.
[RFC1042] Postel, J. and J. Reynolds, "Standard for the transmission
of IP datagrams over IEEE 802 networks", STD 43, RFC 1042,
DOI 10.17487/RFC1042, February 1988,
<https://www.rfc-editor.org/info/rfc1042>.
[RFC2119] Bradner, S., "Key words for use in RFCs to Indicate
Requirement Levels", BCP 14, RFC 2119,
DOI 10.17487/RFC2119, March 1997,
<https://www.rfc-editor.org/info/rfc2119>.
[RFC2464] Crawford, M., "Transmission of IPv6 Packets over Ethernet
Networks", RFC 2464, DOI 10.17487/RFC2464, December 1998,
<https://www.rfc-editor.org/info/rfc2464>.
[RFC4086] Eastlake 3rd, D., Schiller, J., and S. Crocker,
"Randomness Requirements for Security", BCP 106, RFC 4086,
DOI 10.17487/RFC4086, June 2005,
<https://www.rfc-editor.org/info/rfc4086>.
[RFC4191] Draves, R. and D. Thaler, "Default Router Preferences and
More-Specific Routes", RFC 4191, DOI 10.17487/RFC4191,
November 2005, <https://www.rfc-editor.org/info/rfc4191>.
[RFC4193] Hinden, R. and B. Haberman, "Unique Local IPv6 Unicast
Addresses", RFC 4193, DOI 10.17487/RFC4193, October 2005,
<https://www.rfc-editor.org/info/rfc4193>.
[RFC4291] Hinden, R. and S. Deering, "IP Version 6 Addressing
Architecture", RFC 4291, DOI 10.17487/RFC4291, February
2006, <https://www.rfc-editor.org/info/rfc4291>.
[RFC4301] Kent, S. and K. Seo, "Security Architecture for the
Internet Protocol", RFC 4301, DOI 10.17487/RFC4301,
December 2005, <https://www.rfc-editor.org/info/rfc4301>.
[RFC4861] Narten, T., Nordmark, E., Simpson, W., and H. Soliman,
"Neighbor Discovery for IP version 6 (IPv6)", RFC 4861,
DOI 10.17487/RFC4861, September 2007,
<https://www.rfc-editor.org/info/rfc4861>.
[RFC4862] Thomson, S., Narten, T., and T. Jinmei, "IPv6 Stateless
Address Autoconfiguration", RFC 4862,
DOI 10.17487/RFC4862, September 2007,
<https://www.rfc-editor.org/info/rfc4862>.
[RFC5415] Calhoun, P., Ed., Montemurro, M., Ed., and D. Stanley,
Ed., "Control And Provisioning of Wireless Access Points
(CAPWAP) Protocol Specification", RFC 5415,
DOI 10.17487/RFC5415, March 2009,
<https://www.rfc-editor.org/info/rfc5415>.
[RFC6059] Krishnan, S. and G. Daley, "Simple Procedures for
Detecting Network Attachment in IPv6", RFC 6059,
DOI 10.17487/RFC6059, November 2010,
<https://www.rfc-editor.org/info/rfc6059>.
[RFC6275] Perkins, C., Ed., Johnson, D., and J. Arkko, "Mobility
Support in IPv6", RFC 6275, DOI 10.17487/RFC6275, July
2011, <https://www.rfc-editor.org/info/rfc6275>.
[RFC7042] Eastlake 3rd, D. and J. Abley, "IANA Considerations and
IETF Protocol and Documentation Usage for IEEE 802
Parameters", BCP 141, RFC 7042, DOI 10.17487/RFC7042,
October 2013, <https://www.rfc-editor.org/info/rfc7042>.
[RFC7136] Carpenter, B. and S. Jiang, "Significance of IPv6
Interface Identifiers", RFC 7136, DOI 10.17487/RFC7136,
February 2014, <https://www.rfc-editor.org/info/rfc7136>.
[RFC7217] Gont, F., "A Method for Generating Semantically Opaque
Interface Identifiers with IPv6 Stateless Address
Autoconfiguration (SLAAC)", RFC 7217,
DOI 10.17487/RFC7217, April 2014,
<https://www.rfc-editor.org/info/rfc7217>.
[RFC8064] Gont, F., Cooper, A., Thaler, D., and W. Liu,
"Recommendation on Stable IPv6 Interface Identifiers",
RFC 8064, DOI 10.17487/RFC8064, February 2017,
<https://www.rfc-editor.org/info/rfc8064>.
[RFC8174] Leiba, B., "Ambiguity of Uppercase vs Lowercase in RFC
2119 Key Words", BCP 14, RFC 8174, DOI 10.17487/RFC8174,
May 2017, <https://www.rfc-editor.org/info/rfc8174>.
[RFC8200] Deering, S. and R. Hinden, "Internet Protocol, Version 6
(IPv6) Specification", STD 86, RFC 8200,
DOI 10.17487/RFC8200, July 2017,
<https://www.rfc-editor.org/info/rfc8200>.
7.2. Informative References โจ
okay bestie, now we're in the "for your reading pleasure" list ๐ these are the extra sources the doc points to, and the references are kept exactly as they were ๐ซถ
[CFR-90]e-CFR, "Electronic Code of Federal Regulations", Title 47, Part 90 - PRIVATE LAND MOBILE RADIO SERVICES,https://www.ecfr.gov/cgi-bin/text-idx?node=pt47.5.90&rgn=div5.[CFR-90.7]e-CFR, "Electronic Code of Federal Regulations", Title 47, CFR 90.7 - Definitions,https://www.ecfr.gov/cgi-bin/text-idx?node=pt47.5.90&rgn=div5#se47.5.90_17.[CFR-95]e-CFR, "Electronic Code of Federal Regulations", Title 47, CFR 95 - PERSONAL RADIO SERVICES,https://www.ecfr.gov/cgi-bin/text-idx?node=pt47.5.95&rgn=div5.[ETSI-sec-archi]"Intelligent Transport Systems (ITS); Security; ITS communications security architecture and security management", ETSI TS 102 940 V1.2.1, November 2016,http://www.etsi.org/deliver/etsi_ts/102900_102999/102940/01.02.01_60/ts_102940v010201p.pdf.[IEEE-1609.2]IEEE, "IEEE Standard for Wireless Access in Vehicular Environments--Security Services for Applications and Management Messages", DOI 10.1109/IEEESTD.2016.7426684, IEEE Standard 1609.2-2016, March 2016,http://ieeexplore.ieee.org/document/7426684.[IEEE-1609.3]IEEE, "IEEE Standard for Wireless Access in Vehicular Environments (WAVE) -- Networking Services", DOI 10.1109/IEEESTD.2016.7458115, IEEE Standard 1609.3-2016, April 2016,http://ieeexplore.ieee.org/document/7458115.[IEEE-1609.4]IEEE, "IEEE Standard for Wireless Access in Vehicular Environments (WAVE) -- Multi-Channel Operation", DOI 10.1109/IEEESTD.2016.7435228, IEEE Standard 1609.4-2016, March 2016,http://ieeexplore.ieee.org/document/7435228.[IEEE-802.11-2007]IEEE, "IEEE Standard for Information Technology - Telecommunications and Information Exchange Between Systems - Local and Metropolitan Area Networks - Specific Requirements - Part 11: Wireless LAN Medium Access Control (MAC) and Physical Layer (PHY) Specifications", DOI 10.1109/IEEESTD.2007.373646, IEEE Standard 802.11-2007, June 2007,https://ieeexplore.ieee.org/document/4248378.[IEEE-802.11-2012]IEEE, "IEEE Standard for Information technology-- Telecommunications and information exchange between systems Local and metropolitan area networks--Specific requirements Part 11: Wireless LAN Medium Access Control (MAC) and Physical Layer (PHY) Specifications", DOI 10.1109/IEEESTD.2012.6178212, IEEE Standard 802.11-2012, March 2012,https://ieeexplore.ieee.org/document/6419735.[IEEE-802.11p-2010]IEEE, "IEEE Standard for Information technology - Telecommunications and information exchange between systems - Local and metropolitan area networks - Specific requirements, Part 11: Wireless LAN Medium Access Control (MAC) and Physical Layer (PHY) Specifications, Amendment 6: Wireless Access in Vehicular Environments", DOI 10.1109/IEEESTD.2010.5514475, IEEE Standard 802.11p-2010, July 2010,https://standards.ieee.org/standard/802_11p-2010.html.[IEEE-802.3-2012]IEEE, "IEEE Standard for Ethernet", DOI 10.1109/IEEESTD.2012.6419735, IEEE Standard 802.3-2012, December 2012,https://ieeexplore.ieee.org/document/6419735.[IEEE802-MCAST]Perkins, C., McBride, M., Stanley, D., Kumari, W., and J. Zuniga, "Multicast Considerations over IEEE 802 Wireless Media", Work in Progress, Internet-Draft, draft-ietf-mboned-ieee802-mcast-problems-11, 11 December 2019,https://tools.ietf.org/html/draft-ietf-mboned-ieee802-mcast-problems-11.[IPWAVE]Jeong, J., "IP Wireless Access in Vehicular Environments (IPWAVE): Problem Statement and Use Cases", Work in Progress, Internet-Draft, draft-ietf-ipwave-vehicular-networking-12, 3 October 2019,https://tools.ietf.org/html/draft-ietf-ipwave-vehicular-networking-12.[RFC3753]Manner, J., Ed. and M. Kojo, Ed., "Mobility Related Terminology", RFC 3753, DOI 10.17487/RFC3753, June 2004,https://www.rfc-editor.org/info/rfc3753.[RFC3963]Devarapalli, V., Wakikawa, R., Petrescu, A., and P. Thubert, "Network Mobility (NEMO) Basic Support Protocol", RFC 3963, DOI 10.17487/RFC3963, January 2005,https://www.rfc-editor.org/info/rfc3963.[RFC3971]Arkko, J., Ed., Kempf, J., Zill, B., and P. Nikander, "SEcure Neighbor Discovery (SEND)", RFC 3971, DOI 10.17487/RFC3971, March 2005,https://www.rfc-editor.org/info/rfc3971.[RFC3972]Aura, T., "Cryptographically Generated Addresses (CGA)", RFC 3972, DOI 10.17487/RFC3972, March 2005,https://www.rfc-editor.org/info/rfc3972.[RFC5889]Baccelli, E., Ed. and M. Townsley, Ed., "IP Addressing Model in Ad Hoc Networks", RFC 5889, DOI 10.17487/RFC5889, September 2010,https://www.rfc-editor.org/info/rfc5889.[RFC6959]McPherson, D., Baker, F., and J. Halpern, "Source Address Validation Improvement (SAVI) Threat Scope", RFC 6959, DOI 10.17487/RFC6959, May 2013,https://www.rfc-editor.org/info/rfc6959.[RFC7721]Cooper, A., Gont, F., and D. Thaler, "Security and Privacy Considerations for IPv6 Address Generation Mechanisms", RFC 7721, DOI 10.17487/RFC7721, March 2016,https://www.rfc-editor.org/info/rfc7721.[RFC8065]Thaler, D., "Privacy Considerations for IPv6 Adaptation-Layer Mechanisms", RFC 8065, DOI 10.17487/RFC8065, February 2017,https://www.rfc-editor.org/info/rfc8065.[RFC8505]Thubert, P., Ed., Nordmark, E., Chakrabarti, S., and C. Perkins, "Registration Extensions for IPv6 over Low-Power Wireless Personal Area Network (6LoWPAN) Neighbor Discovery", RFC 8505, DOI 10.17487/RFC8505, November 2018,https://www.rfc-editor.org/info/rfc8505.[SHA256]National Institute of Standards and Technology, "Secure Hash Standard (SHS)", DOI 10.6028/NIST.FIPS.180-4, FIPS 180-4, August 2015,https://csrc.nist.gov/publications/detail/fips/180/4/final.
Appendix A. 802.11p ๐ฆ
okay so "802.11p" is the OG name, and it's an earlier definition ๐ฐ๏ธ the behavior of "802.11p" networks got rolled into [IEEE-802.11-2016], and in that doc the term "802.11p" just disappears ๐ป instead, every 802.11p feature is controlled by the IEEE Management Information Base (MIB) attribute OCBActivated [IEEE-802.11-2016] ๐
whenever OCBActivated is set to true, the IEEE Std 802.11-OCB state is activated โจ for example, an 802.11 STAtion operating outside the context of a BSS has the OCBActivated flag set ๐ธ and a station like that, once the flag is set, uses a BSS identifier equal to ff:ff:ff:ff:ff:ff ๐ซถ
Appendix B. Aspects Introduced by OCB Mode to 802.11 ๐โจ
okay so in IEEE 802.11-OCB mode, every node in wireless range can talk directly to every other node ๐ซถ no authentication or association procedures needed, no cap. The channel stuff is simpler than BSS mode, but there's a catch. At the link layer, you have to statically set the same channel number (or frequency) on two stations that wanna communicate (in BSS mode, that happens automatically during 'scanning'). How stations set their channel number in OCB mode isn't specified in this document ๐คทโโ๏ธ. STA1 and STA2 can exchange IP packets only if they're set to the same channel. At the IP layer, they find each other using the IPv6 Neighbor Discovery protocol. And the allocation of a particular channel for a particular use is defined statically in standards by ETSI in Europe, the FCC in the United States of America, and similar organizations in South Korea, Japan, and other parts of the world ๐.
Briefly, the IEEE 802.11-OCB mode has the following properties:
- The use by each node of a 'wildcard' BSS identifier (BSSID) (i.e., each bit of the BSSID is set to 1).
- No IEEE 802.11 beacon frames are transmitted.
- No authentication is required in order to be able to communicate.
- No association is needed in order to be able to communicate.
- No encryption is provided in order to be able to communicate.
- Flag
dot11OCBActivatedis set to"true".
All the nodes in the radio communication range (IP-OBU and IP-RSU) receive all the messages transmitted (IP-OBU and IP-RSU) within the radio communication range. The MAC CDMA function resolves any eventual conflict(s). ๐
The message exchange diagram in Figure 1 shows a comparison between traditional 802.11 and 802.11 in OCB mode. The 'Data' messages can be IP packets such as HTTP or others. Other 802.11 management and control frames (non-IP) may be transmitted, as specified in the 802.11 standard. The names of these messages, as currently specified by the 802.11 standard, are listed in Appendix F. ๐
STA AP STA1 STA2
| | | |
|<------ Beacon -------| |<------ Data -------->|
| | | |
|---- Probe Req. ----->| |<------ Data -------->|
|<--- Probe Res. ------| | |
| | |<------ Data -------->|
|---- Auth Req. ------>| | |
|<--- Auth Res. -------| |<------ Data -------->|
| | | |
|---- Asso Req. ------>| |<------ Data -------->|
|<--- Asso Res. -------| | |
| | |<------ Data -------->|
|<------ Data -------->| | |
|<------ Data -------->| |<------ Data -------->|
(i) 802.11 Infrastructure mode (ii) 802.11-OCB mode
Figure 1: Difference between Messages Exchanged on 802.11 (Left)
and 802.11-OCB (Right)
The 802.11-OCB interface was specified in [IEEE-802.11p-2010], Amendment 6: Wireless Access in Vehicular Environments, as an amendment to [IEEE-802.11-2007]. Since then, this amendment has been integrated into [IEEE-802.11-2012] and [IEEE-802.11-2016]. ๐
In [IEEE-802.11p-2010], anything qualified specifically as "OCBActivated" or "outside the context of a basic service" that is set to be "true" actually refers to OCB aspects introduced to 802.11. ๐ง
To tell apart the aspects introduced by 802.11-OCB to 802.11, we refer to the earlier [IEEE-802.11p-2010]. The amendment is concerned with vehicular communications, where the wireless link is similar to that of Wireless LAN (using a PHY layer specified by 802.11a/b/g/n) but needs to cope with the high mobility factor inherent in scenarios of communications between moving vehicles and between vehicles and fixed infrastructure deployed along roads. While 'p' is a letter identifying the Amendment, just like 'a', 'b', 'g', and 'n' are, 'p' is concerned more with MAC modifications and is slightly concerned with PHY modifications; the others are mainly about PHY modifications. It is possible in practice to combine a 'p' MAC with an 'a' PHY by operating outside the context of a BSS with Orthogonal Frequency Division Multiplexing (OFDM) at 5.4 GHz and 5.9 GHz. ๐๐จ
The 802.11-OCB links are specified to be as compatible as possible with the behavior of 802.11a/b/g/n and future generation IEEE WLAN links. From the IP perspective, an 802.11-OCB MAC layer offers practically the same interface to IP as 802.11a/b/g/n and 802.3. A packet sent by an IP-OBU may be received by one or multiple IP-RSUs. The link-layer resolution is performed by using the IPv6 Neighbor Discovery protocol. ๐
To back up this similarity (IPv6 is layered on top of LLC on top of 802.11-OCB in the same way that IPv6 is layered on top of LLC on top of 802.11a/b/g/n (for WLAN) or on top of LLC on top of 802.3 (for Ethernet)), it's useful to analyze the differences between the 802.11-OCB and 802.11 specifications. While doing this, we notice that whereas 802.11-OCB lists relatively complex and numerous changes to the MAC layer (and very few to the PHY layer), there are only a few characteristics that may be important for an implementation transmitting IPv6 packets on 802.11-OCB links. ๐
The most important 802.11-OCB aspect that influences IPv6 functioning is the OCB characteristic. An additional, less direct influence is the maximum bandwidth afforded by the PHY modulation/demodulation methods and channel access specified by 802.11-OCB. The maximum bandwidth theoretically possible in 802.11-OCB is 54 Mbit/s (when using, for example, the following parameters: a 20 MHz channel; modulation of 64-QAM; a coding rate R of 3/4). With regard to IP over 802.11-OCB, in practice, a commonly observed figure is 12 Mbit/s, and this bandwidth allows the operation of a wide range of protocols relying on IPv6. ๐
- Operation outside the context of a BSS (OCB): The 802.11-OCB links (previously 802.11p) are operated without a BSS. This means that IEEE 802.11 beacon, Association Request/Response, Authentication Request/Response, and similar frames are not used. The used identifier of BSS (BSSID) always has a hexadecimal value of
0xffffffffffff(48 '1' bits, represented as MAC addressff:ff:ff:ff:ff:ff; otherwise, the 'wildcard' BSSID), as opposed to an arbitrary BSSID value set by an administrator (e.g., 'My-Home-AccessPoint'). The OCB operation (namely, the lack of beacon-based scanning and lack of authentication) should be taken into account when the Mobile IPv6 protocol [RFC6275] and the protocols for IP layer security [RFC4301] are used. The way these protocols adapt to OCB is not described in this document. This one is a big deal, bestie ๐ - Timing Advertisement: This is a new message defined in 802.11-OCB that does not exist in 802.11a/b/g/n. This message is used by stations to inform other stations about the value of time. It is similar to the time delivered by a Global Navigation Satellite System (GNSS) (e.g., Galileo, GPS, etc.) or by a cellular system. This message is optional for implementation. โฐ
- Frequency range: This is a characteristic of the PHY layer; it has almost no impact on the interface between MAC and IP. However, it is worth considering that the frequency range is regulated by a regional authority (ARCEP, ECC/CEPT based on ENs from ETSI, FCC, etc.); as part of the regulation process, specific applications are associated with specific frequency ranges. In the case of 802.11-OCB, the regulator associates a set of frequency ranges or slots within a band to the use of applications of vehicular communications in a band known as "5.9 GHz". The 5.9 GHz band is different from the 2.4 GHz and 5 GHz bands used by Wireless LAN. However, as with Wireless LAN, the operation of 802.11-OCB in 5.9 GHz bands does not require a license in the EU (in the US, the 5.9 GHz is a licensed band of spectrum; for the fixed infrastructure, explicit FCC authorization is required; for an on-board device, a 'licensed-by-rule' concept applies, where rule certification conformity is required). Technical conditions are different from those of the "2.4 GHz" or "5 GHz" bands. The allowed power levels and, implicitly, the maximum allowed distance between vehicles is 33 dBm for 802.11-OCB (in Europe) compared to 20 dBm for Wireless LAN 802.11a/b/g/n; this leads to a maximum distance of approximately 1 km compared to approximately 50 m. Additionally, specific conditions related to congestion avoidance, jamming avoidance, and radar detection are imposed on the use of DSRC (in the US) and on the use of frequencies for Intelligent Transportation Systems (in the EU) compared to Wireless LAN (802.11a/b/g/n). ๐ก
- 'Half-rate' encoding: As with the frequency range, this parameter is related to PHY and thus does not have much impact on the interface between the IP layer and the MAC layer. ๐งฉ
- In vehicular communications using 802.11-OCB links, there are strong privacy requirements with respect to addressing. While the 802.11-OCB standard does not specify anything in particular with respect to MAC addresses, in these settings, there is a strong need for a dynamic change of these addresses (as opposed to the non-vehicular settings -- real wall protection -- where fixed MAC addresses do not currently pose privacy risks). This is further described in Section 5. A relevant function is described in [IEEE-1609.3] and [IEEE-1609.4]. ๐๐ฆ
Appendix C. Changes Needed on an 802.11a Software Driver to Become an 802.11-OCB Driver โจ
okay so the 802.11p amendment changes both the physical and MAC layers of the 802.11 stack ๐ but honestly? All of those changes can be pretty easily made by starting from an existing 802.11a ad hoc stack ๐ซถ
For 802.11a hardware to be compliant with 802.11-OCB, these are the conditions:
- The PHY entity shall be an OFDM system. It must support the frequency bands where the regulator recommends ITS communications. For example, the 802.11-OCB layer uses 5875 MHz to 5925 MHz in France. ๐ซ๐ท
- The OFDM system must provide a "half-clocked" operation using 10 MHz channel spacings.
- The chip transmit spectrum mask must be compliant with the "Transmit spectrum mask" from the IEEE 802.11p amendment. (Experimental environments do not require compliance, though ๐งช)
- The chip should be able to transmit up to 44.8 dBm when used in the United States and up to 33 dBm in Europe. Other regional conditions apply. ๐
Now, the changes needed on the network stack in OCB mode:
- Physical layer:
- Orthogonal frequency-division multiple access The chip must use the Orthogonal Frequency Division Multiple Access (OFDMA) encoding mode. ๐
- The chip must be set to half-mode rate mode (the internal clock frequency is divided by two). โฑ๏ธ
- The chip must use dedicated channels and should allow the use of higher emission powers. This may require modifications to the local computer file that describes regulatory domains rules, if it is used by the kernel to enforce local specific restrictions. Such modifications to the local computer file must respect the location-specific regulatory rules. ๐
- MAC layer:
- All management frames (beacons, join, leave, and others) emission and reception must be disabled, except for frames of subtype Action and Timing Advertisement (defined below). ๐ซ
- No encryption key or method must be used. ๐
- Packet emission and reception must be performed as in ad hoc mode using the wildcard BSSID (
ff:ff:ff:ff:ff:ff). ๐ก - The functions related to joining a BSS (Association Request/Response) and authentication (Authentication Request/Reply, Challenge) are not called. ๐ โโ๏ธ
- The beacon interval is always set to 0 (zero). 0๏ธโฃ
- Timing Advertisement frames, defined in the amendment, should be supported. The upper layer should be able to trigger such frame emission and retrieve information contained in the received Timing Advertisements. โฐ
Appendix D. Protocol Layering ๐ง
okay, this is the more theoretical, detailed view of how the layers stack up and how the IP layer talks to the 802.11-OCB layers ๐ค It's shown in Figure 2. The IP layer sits on top of EtherType Protocol Discrimination (EPD), which is described in [IEEE-802.3-2012]. The interface between IPv6 and EPD is the LLC_SAP (Link Layer Control Service Access Point). ๐
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| IPv6 |
+-+-+-+-+-+-{ }+-+-+-+-+-+-+-+
{ LLC_SAP } 802.11-OCB
+-+-+-+-+-+-{ }+-+-+-+-+-+-+-+ Boundary
| EPD | | |
| | MLME | |
+-+-+-{ MAC_SAP }+-+-+-| MLME_SAP |
| MAC Sublayer | | | 802.11-OCB
| and ch. coord. | | SME | Services
+-+-+-{ PHY_SAP }+-+-+-+-+-+-+-| |
| | PLME | |
| PHY Layer | PLME_SAP |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Figure 2: EtherType Protocol Discrimination
Appendix E. Design Considerations ๐
the networks defined by 802.11-OCB are in a lot of ways similar to other members of the 802.11 family ๐ฏโโ๏ธ In theory, carrying IPv6 over 802.11-OCB could be really similar to running IPv6 over those other 802.11 networks. BUT the high mobility, strong link asymmetry, and very short connections make the 802.11-OCB link significantly different from the rest ๐ญ Automotive applications also have their own specific requirements for reliability, security, and privacy, which add even more to what makes the 802.11-OCB link so particular. ๐โจ
Appendix F. IEEE 802.11 Messages Transmitted in OCB Mode ๐จ
at the time of writing, this is the list of IEEE 802.11 messages that may be transmitted in OCB mode, meaning when dot11OCBActivated is true in a STA ๐
- The STA may send management frames of subtype Action and, if the STA maintains a TSF Timer, subtype Timing Advertisement. ๐ฃ
- The STA may send control frames except those of subtype PS-Poll, CF-End, and CF-End plus CFAck. ๐
- The STA MUST send data frames of subtype QoS Data. ๐
Appendix G. Examples of Packet Formats ๐ฆ
this section walks through an example of an IPv6 packet captured over an IEEE 802.11-OCB link ๐ต๏ธโโ๏ธ
by way of example, we show that the headers are not modified when they're transmitted over 802.11-OCB networks. They travel just like any other 802.11 and Ethernet packets, no cap ๐งข
here's the experiment for capturing an IPv6 packet on an 802.11-OCB link. In the topology in Figure 3, the packet is an IPv6 Router Advertisement, emitted by a router on its 802.11-OCB interface. The packet is captured on the host with a network protocol analyzer (e.g., Wireshark). The capture is done in two different modes: direct mode and monitor mode. The topology used during the capture is shown below. ๐ฆ
The host here is an IP-OBU that has an 802.11 interface in Peripheral Component Interconnect (PCI) Express format (an Industrial Technology Research Institute (ITRI) product). The kernel runs the ath5k software driver with modifications for OCB mode. The capture tool is Wireshark, and the file format for saving and analyzing is .pcap. The packet is generated by the router, which is an IP-RSU (also an ITRI product). ๐๏ธ
+--------+ +-------+
| | 802.11-OCB Link | |
---| Router |--------------------------------| Host |
| | | |
+--------+ +-------+
Figure 3: Topology for Capturing IP Packets on 802.11-OCB
during several capture runs, lasting from a few moments to several hours, no messages relevant to the BSSID contexts were captured (Association Request/Response, Authentication Req/Resp, or beacon) ๐ This shows that 802.11-OCB operates outside the context of a BSSID. That's the tea โ
Overall, the captured message is identical to a capture of an IPv6 packet emitted on an 802.11b interface. The contents are exactly the same. ๐ธ
G.1. Capture in Monitor Mode โจ
okay so this one is my favourite bit, bestie ๐ซถ we're looking at an IPv6 RA packet as it gets caught in monitor mode ๐ The Radiotap header is basically the extra info your stack and OS stick on the front of the packet before it reaches userland, and it's NOT actually on the air ๐ It's implementation-dependent, but it's SO useful because it lets you piggyback PHY info from the chip's registers (power levels, data rate, signal-to-noise ratio, the whole vibe) ๐
The packet that IS on the air is made of four headers: the IEEE 802.11 Data header, the Logical Link Control header, the IPv6 Base header, and the ICMPv6 header ๐ฆ
Figure 4: Radiotap Header v0
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|Header Revision| Header Pad | Header Length |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Present Flags |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Data Rate | Pad |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Figure 5: IEEE 802.11 Data Header
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Type/Subtype and Frame Ctrl | Duration |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Receiver Address...
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
... Receiver Address | Transmitter Address...
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
... Transmitter Address |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| BSS ID...
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
... BSS ID | Frag Number and Seq Number |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Figure 6: Logical Link Control Header
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| DSAP |I| SSAP |C| Control Field | Org. Code...
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
... Organizational Code | Type |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Figure 7: IPv6 Base Header
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|Version| Traffic Class | Flow Label |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Payload Length | Next Header | Hop Limit |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| |
+ +
| |
+ Source Address +
| |
+ +
| |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| |
+ +
| |
+ Destination Address +
| |
+ +
| |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Figure 8: Router Advertisement
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Type | Code | Checksum |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Cur Hop Limit |M|O| Reserved | Router Lifetime |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Reachable Time |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Retrans Timer |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Options ...
+-+-+-+-+-+-+-+-+-+-+-+-
The value of the Data Rate field in the Radiotap header is set to 6 Mb/s. This indicates the rate at which this RA was received ๐
The value of the Transmitter Address in the IEEE 802.11 Data header is set to a 48-bit value. The value of the destination address is 33:33:00:00:00:1 (all-nodes multicast address) ๐ Careful, that one is written exactly as the original has it, with only five groups after the first. The value of the BSS ID field is ff:ff:ff:ff:ff:ff, which the network protocol analyzer recognizes as "broadcast" ๐ก The Fragment number and Sequence number fields together are set to 0x90C6 ๐ง
The value of the Organization Code field in the Logical Link Control header is set to 0x0, recognized as "Encapsulated Ethernet" ๐ The value of the Type field is 0x86DD (hexadecimal 86DD; otherwise, #86DD), recognized as "IPv6" ๐
A Router Advertisement is periodically sent by the router to multicast group address ff02::1. It is ICMP packet type 134. The IPv6 Neighbor Discovery's Router Advertisement message contains an 8-bit field reserved for single-bit flags, as described in [RFC4861] ๐ธ
The IPv6 header contains the link-local address of the router (source) configured via the EUI-64 algorithm, and the destination address is set to ff02::1 โจ
The Ethernet Type field in the Logical Link Control header is set to 0x86dd, which indicates that the frame transports an IPv6 packet ๐ In the IEEE 802.11 data, the destination address is 33:33:00:00:00:01, which is the corresponding multicast MAC address ๐ฆ The BSS ID is a broadcast address of ff:ff:ff:ff:ff:ff ๐ก Due to the short link duration between vehicles and the roadside infrastructure, there is no need in IEEE 802.11-OCB to wait for the completion of association and authentication procedures before exchanging data ๐๐จ IEEE 802.11-OCB enabled nodes use the wildcard BSSID (a value of all 1s) and may start communicating as soon as they arrive on the communication channel ๐
G.2. Capture in Normal Mode โจ
same IPv6 Router Advertisement packet as before, but this time it's been captured on the host in normal mode ๐ Here's what it looks like:
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Destination...
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
...Destination | Source...
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
...Source |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Type |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Figure 9: Ethernet II Header
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|Version| Traffic Class | Flow Label |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Payload Length | Next Header | Hop Limit |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| |
+ +
| |
+ Source Address +
| |
+ +
| |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| |
+ +
| |
+ Destination Address +
| |
+ +
| |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Figure 10: IPv6 Base Header
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Type | Code | Checksum |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Cur Hop Limit |M|O| Reserved | Router Lifetime |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Reachable Time |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Retrans Timer |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Options ...
+-+-+-+-+-+-+-+-+-+-+-+-
Figure 11: Router Advertisement
One notices that the Radiotap header, the IEEE 802.11 Data header, and the Logical Link Control headers are NOT present ๐ On the other hand, a new header named the Ethernet II header is present ๐ง
The Destination and Source addresses in the Ethernet II header contain the same values as the Receiver Address and Transmitter Address fields present in the IEEE 802.11 Data header in the monitor mode capture ๐ซถ
The value of the Type field in the Ethernet II header is 0x86DD (recognized as "IPv6"); this value is the same as the value of the Type field in the Logical Link Control header in the monitor mode capture ๐
The knowledgeable experimenter will no doubt notice the similarity of this Ethernet II header with a capture in normal mode on a pure Ethernet cable interface ๐ค
A frame translation is inserted on top of a pure IEEE 802.11 MAC layer in order to adapt packets before delivering the payload data to the applications ๐ It adapts 802.11 LLC/MAC headers to Ethernet II headers. Specifically, this adaptation consists of the elimination of the Radiotap, 802.11, and LLC headers and the insertion of the Ethernet II header. In this way, IPv6 runs straight over LLC over the 802.11-OCB MAC layer; this is further confirmed by the use of the unique Type 0x86DD ๐
Okay so bestie, this is the final stretch of RFC 8691 and it's giving glossary-plus-bonus-round energy ๐ ๐
Appendix H. Extra Terminology โจ
okay so these terms are defined outside the IETF ๐ธ They're used to define the main terms in the terminology section (Section 2), so they're kind of the foundation for everything earlier in the doc ๐ง
DSRC (Dedicated Short Range Communication): okay so this is the US Federal Communications Commission (FCC) version of Dedicated Short Range Communication, defined in the Code of Federal Regulations (CFR) 47, Parts 90 [CFR-90] and 95 [CFR-95] ๐ This Code gets referenced in the definitions below, so it's kind of a whole family thing ๐ซถ At the time this document was written, the last update to this Code was dated December 6, 2019 ๐
DSRCS (Dedicated Short-Range Communications Services): lowkey the vibe here is radio tech that moves data over short distances between roadside and mobile units, between mobile units, and between portable and mobile units ๐๐จ The goal is to improve traffic flow, traffic safety, and other intelligent transportation service apps in all kinds of environments โจ DSRCS systems may also send status and instructional messages related to the units involved ๐ [CFR-90.7]
OBU (On-Board Unit): an On-Board Unit is a DSRCS transceiver that's normally mounted in or on a vehicle, but it can be a portable unit sometimes ๐ An OBU can be operational whether the vehicle or person is moving or standing still ๐ง The OBUs receive and contend for time to transmit on one or more radio frequency (RF) channels ๐ก Except where specifically excluded, OBU operation is permitted wherever vehicle operation or human passage is permitted ๐ The OBUs mounted in vehicles are licensed by rule under part 95 of [CFR-95] and communicate with Roadside Units (RSUs) and other OBUs ๐ฆ Portable OBUs are also licensed by rule under part 95 of [CFR-95] ๐๏ธ OBU operations in the Unlicensed National Information Infrastructure (U-NII) Bands follow the rules in those bands ๐ถ [CFR-90.7]
RSU (Roadside Unit): a Roadside Unit is a DSRC transceiver mounted along a road or pedestrian passageway ๐ฃ๏ธ An RSU may also be mounted on a vehicle or may be hand carried, but it may only operate when the vehicle or hand-carried unit is stationary ๐ Perhaps Furthermore, an RSU is restricted to the location where it is licensed to operate ๐ However, portable or handheld RSUs are permitted to operate where they do not interfere with a site-licensed operation ๐ซง An RSU broadcasts data to OBUs or exchanges data with OBUs in its communications zone ๐ข An RSU also provides channel assignments and operating instructions to OBUs in its communications zone when required ๐ [CFR-90.7]
Appendix I. Neighbor Discovery (ND) Potential Issues in Wireless Links ๐ธ๏ธ
okay so this one is a whole plot twist ๐ IPv6 Neighbor Discovery (IPv6 ND) [RFC4861] [RFC4862] was designed for point-to-point and transit links, such as Ethernet, where multicast from the lower layer was expected to be cheap and reliable ๐ Section 3.2 of [RFC4861] says that operation on shared media and on NBMA networks needs additional support, e.g., for AR and DAD, which depend on multicast ๐ป An infrastructureless radio network such as OCB shares properties with both shared media and NBMA networks, and then adds its own complexity, e.g., from movement and interference that allow only transient and non-transitive reachability between any set of peers ๐ญ
The uniqueness of an address within a scoped domain is a key pillar of IPv6 and is the basis for unicast IP communication ๐ [RFC4861] details the DAD method to prevent an address from being duplicated ๐ For a link-local address, the scope is the link, whereas for a globally reachable address, the scope is much larger ๐ The underlying assumption for DAD to work correctly is that the node owning an IPv6 address can reach any other node within the scope at the time it claims its address, which is done by sending a Neighbor Solicitation (NS) multicast message, and can hear any future claim for that address by another party within the scope for the duration of the address ownership ๐
In the case of OCB, there is potentially a need to define a scope that is compatible with DAD ๐งฉ The scope cannot be the set of nodes that a transmitter can reach at a particular time, because that set varies all the time and does not meet the DAD requirements for a link-local address that can be used anytime and anywhere ๐ The generic expectation of a reliable multicast is not ensured, and the operation of DAD and AR as specified by [RFC4861] cannot be guaranteed ๐ Moreover, multicast transmissions that rely on broadcast are not only unreliable but are also often detrimental to unicast traffic (see [IEEE802-MCAST]) ๐ซ
Early experience indicates that it should be possible to exchange IPv6 packets over OCB while relying on IPv6 ND alone for DAD and AR (Address Resolution) in good conditions โ๏ธ In the absence of a correct DAD operation, a node that relies only on IPv6 ND for AR and DAD over OCB should ensure that the addresses it uses are unique by means other than DAD ๐ It must be noted that deriving an IPv6 address from a globally unique MAC address has this property but may yield privacy issues ๐ต๏ธโโ๏ธ
[RFC8505] provides a more recent approach to IPv6 ND, in particular DAD ๐ [RFC8505] is designed to fit wireless and otherwise constrained networks, where multicast and/or continuous access to the medium may not be guaranteed ๐ถ [RFC8505], Section 5.6 ("Link-Local Addresses and Registration") says the scope of uniqueness for a link-local address is restricted to a pair of nodes that use it to communicate, and it provides a method to assert uniqueness and resolve the link-layer address using a unicast exchange ๐
[RFC8505] also lets a router (acting as a 6LR) own a prefix and act as a registrar (acting as a 6LBR) for addresses within the associated subnet ๐ A peer host (acting as a 6LN) registers an address derived from that prefix and can use it for the lifetime of the registration ๐ชช The prefix is advertised as not on-link, which means the 6LN uses the 6LR to relay its packets within the subnet, and participation in the subnet is constrained to the time of reachability to the 6LR โณ Note that an RSU that provides internet connectivity MAY announce a default router preference [RFC4191], whereas a car that does not provide that connectivity MUST NOT do so ๐ This operation has similarities to that of an access point, but at Layer 3 ๐ This is why [RFC8505] is well suited for wireless in general ๐
Support of [RFC8505] may be implemented on OCB ๐ OCB nodes that support [RFC8505] SHOULD support the 6LN operation so they can act as a host, and they MAY support the 6LR and 6LBR operations so they can act as a router, in particular to own a prefix that can be used by hosts compliant with [RFC8505] for address autoconfiguration and registration ๐
Acknowledgements ๐ซถ
The authors would like to thank Alexandre Petrescu for initiating this work and for being the lead author up to draft version 43 of this document ๐ท
The authors would like to thank Pascal Thubert for reviewing, proofreading, and suggesting modifications for this document ๐ง
The authors would like to thank Mohamed Boucadair for proofreading and suggesting modifications for this document ๐
The authors would like to thank Eric Vyncke for reviewing the suggested modifications of this document ๐
The authors would like to thank Witold Klaudel, Ryuji Wakikawa, Emmanuel Baccelli, John Kenney, John Moring, Francois Simon, Dan Romascanu, Konstantin Khait, Ralph Droms, Richard 'Dick' Roy, Ray Hunter, Tom Kurihara, Michal Sojka, Jan de Jongh, Suresh Krishnan, Dino Farinacci, Vincent Park, Jaehoon Paul Jeong, Gloria Gwynne, Hans-Joachim Fischer, Russ Housley, Rex Buddenberg, Erik Nordmark, Bob Moskowitz, Andrew Dryden, Georg Mayer, Dorothy Stanley, Sandra Cespedes, Mariano Falcitelli, Sri Gundavelli, Abdussalam Baryun, Margaret Cullen, Erik Kline, Carlos Jesus Bernardos Cano, Ronald in 't Velt, Katrin Sjoberg, Roland Bless, Tijink Jasja, Kevin Smith, Brian Carpenter, Julian Reschke, Mikael Abrahamsson, Dirk von Hugo, Lorenzo Colitti, Pascal Thubert, Ole Troan, Jinmei Tatuya, Joel Halpern, Eric Gray, and William Whyte ๐ Their valuable comments clarified particular issues and generally helped improve the document ๐
Pierre Pfister, Rostislav Lisovy, and others wrote 802.11-OCB drivers for Linux ๐ง๐ป
For the multicast discussion, the authors would like to thank Owen DeLong, Joe Touch, Jen Linkova, Erik Kline, Brian Haberman, and participants in network working groups ๐ฃ
The authors would like to thank the participants of the Birds-of-a-Feather "Intelligent Transportation Systems" meetings held at IETF in 2016 ๐ฆ
The human rights protocol considerations review was done by Amelia Andersdotter โ
The work of Jong-Hyouk Lee was supported by the National Research Foundation of Korea (NRF) grant funded by the Korea government (MSIT) (NRF-2018R1A4A1025632) ๐ฐ๐ท
The work of Jรฉrรดme Hรคrri was supported by EURECOM industrial members, namely BMW Group, IABG, Monaco Telecom, Orange, SAP and Symantec ๐ซ๐ท This RFC reflects the view of the IPWAVE WG and does not necessarily reflect the official policy or position of EURECOM industrial members ๐ซง
Contributors ๐ธ
Christian Huitema and Tony Li contributed to this document ๐ซ
Romain Kuntz contributed extensively regarding IPv6 handovers between links running outside the context of a BSS (802.11-OCB links) ๐
Tim Leinmueller contributed the idea of using IPv6 over 802.11-OCB for the distribution of certificates ๐
Marios Makassikis, Jose Santa Lozano, Albin Severinson, and Alexey Voronov provided significant feedback on the experience of using IP messages over 802.11-OCB in initial trials ๐งช
Michelle Wetterwald contributed extensively to the MTU discussion, offered the ETSI ITS perspective, and reviewed other parts of the document ๐
Authors' Addresses ๐
Nabil Benamar Moulay Ismail University of Meknes Morocco
Phone: +212670832236 Email: n.benamar@est.umi.ac.ma
Jรฉrรดme Hรคrri EURECOM 06904 Sophia-Antipolis France
Phone: +33493008134 Email: Jerome.Haerri@eurecom.fr
Jong-Hyouk Lee Sangmyung University 31, Sangmyeongdae-gil, Dongnam-gu Cheonan 31066 Republic of Korea
Email: jonghyouk@smu.ac.kr
Thierry ERNST YoGoKo 1137A Avenue des Champs-Blancs 35510 CESON-SEVIGNE France
Email: thierry.ernst@yogoko.fr ๐ฆ
๐ฆ where this page comes from
- ietf: rfc8691 2019-12
- ๐ girlified by claude-haiku-5-5 on : a language model's rewrite of the original, under its terms