rfc9119.original | rfc9119.txt | |||
---|---|---|---|---|
Internet Area C.E. Perkins | Internet Engineering Task Force (IETF) C. Perkins | |||
Internet-Draft Blue Meadow Networks | Request for Comments: 9119 Lupin Lodge | |||
Intended status: Informational M. McBride | Category: Informational M. McBride | |||
Expires: 29 January 2022 Futurewei | ISSN: 2070-1721 Futurewei | |||
D. Stanley | D. Stanley | |||
HPE | HPE | |||
W. Kumari | W. Kumari | |||
JC. Zuniga | JC. Zuniga | |||
SIGFOX | SIGFOX | |||
28 July 2021 | September 2021 | |||
Multicast Considerations over IEEE 802 Wireless Media | Multicast Considerations over IEEE 802 Wireless Media | |||
draft-ietf-mboned-ieee802-mcast-problems-15 | ||||
Abstract | Abstract | |||
Well-known issues with multicast have prevented the deployment of | Well-known issues with multicast have prevented the deployment of | |||
multicast in 802.11 (wifi) and other local-area wireless | multicast in 802.11 (Wi-Fi) and other local-area wireless | |||
environments. This document describes the known limitations of | environments. This document describes the known limitations of | |||
wireless (primarily 802.11) Layer-2 multicast. Also described are | wireless (primarily 802.11) Layer 2 multicast. Also described are | |||
certain multicast enhancement features that have been specified by | certain multicast enhancement features that have been specified by | |||
the IETF, and by IEEE 802, for wireless media, as well as some | the IETF and by IEEE 802 for wireless media, as well as some | |||
operational choices that can be taken to improve the performance of | operational choices that can be made to improve the performance of | |||
the network. Finally, some recommendations are provided about the | the network. Finally, some recommendations are provided about the | |||
usage and combination of these features and operational choices. | usage and combination of these features and operational choices. | |||
Status of This Memo | Status of This Memo | |||
This Internet-Draft is submitted in full conformance with the | This document is not an Internet Standards Track specification; it is | |||
provisions of BCP 78 and BCP 79. | published for informational purposes. | |||
Internet-Drafts are working documents of the Internet Engineering | ||||
Task Force (IETF). Note that other groups may also distribute | ||||
working documents as Internet-Drafts. The list of current Internet- | ||||
Drafts is at https://datatracker.ietf.org/drafts/current/. | ||||
Internet-Drafts are draft documents valid for a maximum of six months | This document is a product of the Internet Engineering Task Force | |||
and may be updated, replaced, or obsoleted by other documents at any | (IETF). It represents the consensus of the IETF community. It has | |||
time. It is inappropriate to use Internet-Drafts as reference | received public review and has been approved for publication by the | |||
material or to cite them other than as "work in progress." | Internet Engineering Steering Group (IESG). Not all documents | |||
approved by the IESG are candidates for any level of Internet | ||||
Standard; see Section 2 of RFC 7841. | ||||
This Internet-Draft will expire on 29 January 2022. | Information about the current status of this document, any errata, | |||
and how to provide feedback on it may be obtained at | ||||
https://www.rfc-editor.org/info/rfc9119. | ||||
Copyright Notice | Copyright Notice | |||
Copyright (c) 2021 IETF Trust and the persons identified as the | Copyright (c) 2021 IETF Trust and the persons identified as the | |||
document authors. All rights reserved. | document authors. All rights reserved. | |||
This document is subject to BCP 78 and the IETF Trust's Legal | This document is subject to BCP 78 and the IETF Trust's Legal | |||
Provisions Relating to IETF Documents (https://trustee.ietf.org/ | Provisions Relating to IETF Documents | |||
license-info) in effect on the date of publication of this document. | (https://trustee.ietf.org/license-info) in effect on the date of | |||
Please review these documents carefully, as they describe your rights | publication of this document. Please review these documents | |||
and restrictions with respect to this document. Code Components | carefully, as they describe your rights and restrictions with respect | |||
extracted from this document must include Simplified BSD License text | to this document. Code Components extracted from this document must | |||
as described in Section 4.e of the Trust Legal Provisions and are | include Simplified BSD License text as described in Section 4.e of | |||
provided without warranty as described in the Simplified BSD License. | the Trust Legal Provisions and are provided without warranty as | |||
described in the Simplified BSD License. | ||||
Table of Contents | Table of Contents | |||
1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 3 | 1. Introduction | |||
2. Terminology . . . . . . . . . . . . . . . . . . . . . . . . . 4 | 2. Terminology | |||
3. Identified multicast issues . . . . . . . . . . . . . . . . . 5 | 3. Identified Multicast Issues | |||
3.1. Issues at Layer 2 and Below . . . . . . . . . . . . . . . 5 | 3.1. Issues at Layer 2 and Below | |||
3.1.1. Multicast reliability . . . . . . . . . . . . . . . . 5 | 3.1.1. Multicast Reliability | |||
3.1.2. Lower and Variable Data Rate . . . . . . . . . . . . 6 | 3.1.2. Lower and Variable Data Rate | |||
3.1.3. Capacity and Impact on Interference . . . . . . . . . 7 | 3.1.3. Capacity and Impact on Interference | |||
3.1.4. Power-save Effects on Multicast . . . . . . . . . . . 7 | 3.1.4. Power-Save Effects on Multicast | |||
3.2. Issues at Layer 3 and Above . . . . . . . . . . . . . . . 7 | 3.2. Issues at Layer 3 and Above | |||
3.2.1. IPv4 issues . . . . . . . . . . . . . . . . . . . . . 8 | 3.2.1. IPv4 Issues | |||
3.2.2. IPv6 issues . . . . . . . . . . . . . . . . . . . . . 8 | 3.2.2. IPv6 Issues | |||
3.2.3. MLD issues . . . . . . . . . . . . . . . . . . . . . 9 | 3.2.3. MLD Issues | |||
3.2.4. Spurious Neighbor Discovery . . . . . . . . . . . . . 9 | 3.2.4. Spurious Neighbor Discovery | |||
4. Multicast protocol optimizations . . . . . . . . . . . . . . 10 | 4. Multicast Protocol Optimizations | |||
4.1. Proxy ARP in 802.11-2012 . . . . . . . . . . . . . . . . 10 | 4.1. Proxy ARP in 802.11-2012 | |||
4.2. IPv6 Address Registration and Proxy Neighbor Discovery . 11 | 4.2. IPv6 Address Registration and Proxy Neighbor Discovery | |||
4.3. Buffering to Improve Battery Life . . . . . . . . . . . . 12 | 4.3. Buffering to Improve Battery Life | |||
4.4. Limiting multicast buffer hardware queue depth . . . . . 13 | 4.4. Limiting Multicast Buffer Hardware Queue Depth | |||
4.5. IPv6 support in 802.11-2012 . . . . . . . . . . . . . . . 13 | 4.5. IPv6 Support in 802.11-2012 | |||
4.6. Using Unicast Instead of Multicast . . . . . . . . . . . 14 | 4.6. Using Unicast Instead of Multicast | |||
4.6.1. Overview . . . . . . . . . . . . . . . . . . . . . . 14 | 4.6.1. Overview | |||
4.6.2. Layer 2 Conversion to Unicast . . . . . . . . . . . . 14 | 4.6.2. Layer 2 Conversion to Unicast | |||
4.6.3. Directed Multicast Service (DMS) . . . . . . . . . . 14 | 4.6.3. Directed Multicast Service (DMS) | |||
4.6.4. Automatic Multicast Tunneling (AMT) . . . . . . . . . 15 | 4.6.4. Automatic Multicast Tunneling (AMT) | |||
4.7. GroupCast with Retries (GCR) . . . . . . . . . . . . . . 15 | 4.7. GroupCast with Retries (GCR) | |||
5. Operational optimizations . . . . . . . . . . . . . . . . . . 16 | 5. Operational Optimizations | |||
5.1. Mitigating Problems from Spurious Neighbor Discovery . . 16 | 5.1. Mitigating Problems from Spurious Neighbor Discovery | |||
5.2. Mitigating Spurious Service Discovery Messages . . . . . 18 | 5.2. Mitigating Spurious Service Discovery Messages | |||
6. Multicast Considerations for Other Wireless Media . . . . . . 18 | 6. Multicast Considerations for Other Wireless Media | |||
7. Recommendations . . . . . . . . . . . . . . . . . . . . . . . 19 | 7. Recommendations | |||
8. On-going Discussion Items . . . . . . . . . . . . . . . . . . 19 | 8. Ongoing Discussion Items | |||
9. Security Considerations . . . . . . . . . . . . . . . . . . . 20 | 9. Security Considerations | |||
10. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 20 | 10. IANA Considerations | |||
11. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . 21 | 11. Informative References | |||
12. Informative References . . . . . . . . . . . . . . . . . . . 21 | Acknowledgements | |||
Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 25 | Authors' Addresses | |||
1. Introduction | 1. Introduction | |||
Well-known issues with multicast have prevented the deployment of | Well-known issues with multicast have prevented the deployment of | |||
multicast in 802.11 [dot11] and other local-area wireless | multicast in 802.11 [dot11] and other local-area wireless | |||
environments, as described in [mc-props], [mc-prob-stmt]. | environments, as described in [mc-props] and [mc-prob-stmt]. | |||
Performance issues have been observed when multicast packet | Performance issues have been observed when multicast packet | |||
transmissions of IETF protocols are used over IEEE 802 wireless | transmissions of IETF protocols are used over IEEE 802 wireless | |||
media. Even though enhancements for multicast transmissions have | media. Even though enhancements for multicast transmissions have | |||
been designed at both IETF and IEEE 802, incompatibilities still | been designed at both IETF and IEEE 802, incompatibilities still | |||
exist between specifications, implementations and configuration | exist between specifications, implementations, and configuration | |||
choices. | choices. | |||
Many IETF protocols depend on multicast/broadcast for delivery of | Many IETF protocols depend on multicast/broadcast for delivery of | |||
control messages to multiple receivers. Multicast allows sending | control messages to multiple receivers. Multicast allows data to be | |||
data to multiple interested recipients without the source needing to | sent to multiple interested recipients without the source needing to | |||
send duplicate data to each recipient. With broadcast traffic, data | send duplicate data to each recipient. With broadcast traffic, data | |||
is sent to every device regardless of their expressed interest in the | is sent to every device regardless of their expressed interest in the | |||
data. Multicast is used for various purposes such as neighbor | data. Multicast is used for various purposes such as Neighbor | |||
discovery, network flooding, address resolution, as well minimizing | Discovery, network flooding, and address resolution, as well as | |||
media occupancy for the transmission of data that is intended for | minimizing media occupancy for the transmission of data that is | |||
multiple receivers. In addition to protocol use of broadcast/ | intended for multiple receivers. In addition to protocol use of | |||
multicast for control messages, more applications, such as push to | broadcast/multicast for control messages, more applications, such as | |||
talk in hospitals, or video in enterprises, universities, and homes, | Push To Talk in hospitals or video in enterprises, universities, and | |||
are sending multicast IP to end user devices, which are increasingly | homes, are sending multicast IP to end-user devices, which are | |||
using Wi-Fi for their connectivity. | increasingly using Wi-Fi for their connectivity. | |||
IETF protocols typically rely on network protocol layering in order | IETF protocols typically rely on network protocol layering in order | |||
to reduce or eliminate any dependence of higher level protocols on | to reduce or eliminate any dependence of higher-level protocols on | |||
the specific nature of the MAC layer protocols or the physical media. | the specific nature of the MAC-layer protocols or the physical media. | |||
In the case of multicast transmissions, higher level protocols have | In the case of multicast transmissions, higher-level protocols have | |||
traditionally been designed as if transmitting a packet to an IP | traditionally been designed as if transmitting a packet to an IP | |||
address had the same cost in interference and network media access, | address had the same cost in interference and network media access, | |||
regardless of whether the destination IP address is a unicast address | regardless of whether the destination IP address is a unicast address | |||
or a multicast or broadcast address. This model was reasonable for | or a multicast or broadcast address. This model was reasonable for | |||
networks where the physical medium was wired, like Ethernet. | networks where the physical medium was wired, like Ethernet. | |||
Unfortunately, for many wireless media, the costs to access the | Unfortunately, for many wireless media, the costs to access the | |||
medium can be quite different. Multicast over Wi-Fi has often been | medium can be quite different. Multicast over Wi-Fi has often been | |||
plagued by such poor performance that it is disallowed. Some | plagued by such poor performance that it is disallowed. Some | |||
enhancements have been designed in IETF protocols that are assumed to | enhancements have been designed in IETF protocols that are assumed to | |||
work primarily over wireless media. However, these enhancements are | work primarily over wireless media. However, these enhancements are | |||
usually implemented in limited deployments and not widespread on most | usually implemented in limited deployments and are not widespread on | |||
wireless networks. | most wireless networks. | |||
IEEE 802 wireless protocols have been designed with certain features | IEEE 802 wireless protocols have been designed with certain features | |||
to support multicast traffic. For instance, lower modulations are | to support multicast traffic. For instance, lower modulations are | |||
used to transmit multicast frames, so that these can be received by | used to transmit multicast frames so that these can be received by | |||
all stations in the cell, regardless of the distance or path | all stations in the cell, regardless of the distance or path | |||
attenuation from the base station or access point. However, these | attenuation from the base station or Access Point (AP). However, | |||
lower modulation transmissions occupy the medium longer; they hamper | these lower modulation transmissions occupy the medium longer; they | |||
efficient transmission of traffic using higher order modulations to | hamper efficient transmission of traffic using higher-order | |||
nearby stations. For these and other reasons, IEEE 802 working | modulations to nearby stations. For these and other reasons, IEEE | |||
groups such as 802.11 have designed features to improve the | 802 Working Groups such as 802.11 have designed features to improve | |||
performance of multicast transmissions at Layer 2 [ietf_802-11]. In | the performance of multicast transmissions at Layer 2 [ietf_802-11]. | |||
addition to protocol design features, certain operational and | In addition to protocol design features, certain operational and | |||
configuration enhancements can ameliorate the network performance | configuration enhancements can ameliorate the network performance | |||
issues created by multicast traffic, as described in Section 5. | issues created by multicast traffic, as described in Section 5. | |||
There seems to be general agreement that these problems will not be | There seems to be general agreement that these problems will not be | |||
fixed anytime soon, primarily because it's expensive to do so and due | fixed anytime soon, primarily because it's expensive to do so and | |||
to multicast being unreliable. Compared to unicast over Wi-Fi, | because of the unreliability of multicast. Compared to unicast over | |||
multicast is often treated as somewhat of a second class citizen, | Wi-Fi, multicast is often treated as somewhat of a second-class | |||
even though there are many protocols using multicast. Something | citizen even though there are many protocols using multicast. | |||
needs to be provided in order to make them more reliable. IPv6 | Something needs to be provided in order to make them more reliable. | |||
neighbor discovery saturating the Wi-Fi link is only part of the | IPv6 Neighbor Discovery saturating the Wi-Fi link is only part of the | |||
problem. Wi-Fi traffic classes may help. This document is intended | problem. Wi-Fi traffic classes may help. This document is intended | |||
to help make the determination about what problems should be solved | to help make the determination about what problems should be solved | |||
by the IETF and what problems should be solved by the IEEE (see | by the IETF and what problems should be solved by the IEEE (see | |||
Section 8). | Section 8). | |||
This document details various problems caused by multicast | This document details various problems caused by multicast | |||
transmission over wireless networks, including high packet error | transmission over wireless networks, including high packet error | |||
rates, no acknowledgements, and low data rate. It also explains some | rates, no acknowledgements, and low data rate. It also explains some | |||
enhancements that have been designed at the IETF and IEEE 802.11 to | enhancements that have been designed at the IETF and IEEE 802.11 to | |||
ameliorate the effects of the radio medium on multicast traffic. | ameliorate the effects of the radio medium on multicast traffic. | |||
Recommendations are also provided to implementors about how to use | Recommendations are also provided to implementors about how to use | |||
and combine these enhancements. Some advice about the operational | and combine these enhancements. Some advice about the operational | |||
choices that can be taken is also included. It is likely that this | choices that can be made is also included. It is likely that this | |||
document will also be considered relevant to designers of future IEEE | document will also be considered relevant to designers of future IEEE | |||
wireless specifications. | wireless specifications. | |||
2. Terminology | 2. Terminology | |||
This document uses the following definitions: | This document uses the following definitions: | |||
ACK | ACK | |||
The 802.11 layer 2 acknowledgement | The 802.11 Layer 2 acknowledgement. | |||
AES-CCMP | ||||
AES-Counter Mode CBC-MAC Protocol | ||||
AP | AP | |||
IEEE 802.11 Access Point | IEEE 802.11 Access Point. | |||
basic rate | Basic rate | |||
The slowest rate of all the connected devices, at which multicast | The slowest rate of all the connected devices at which multicast | |||
and broadcast traffic is generally transmitted | and broadcast traffic is generally transmitted. | |||
DVB-H | ||||
Digital Video Broadcasting - Handheld | ||||
DVB-IPDC | ||||
Digital Video Broadcasting - Internet Protocol Datacasting | ||||
DTIM | DTIM | |||
Delivery Traffic Indication Map (DTIM): An information element | Delivery Traffic Indication Map; an information element that | |||
that advertises whether or not any associated stations have | advertises whether or not any associated stations have buffered | |||
buffered multicast or broadcast frames | multicast or broadcast frames. | |||
MCS | MCS | |||
Modulation and Coding Scheme | Modulation and Coding Scheme. | |||
NOC | NOC | |||
Network Operations Center | Network Operations Center. | |||
PER | PER | |||
Packet Error Rate | Packet Error Rate. | |||
STA | STA | |||
802.11 station (e.g. handheld device) | 802.11 station (e.g., handheld device). | |||
TIM | TIM | |||
Traffic Indication Map (TIM): An information element that | Traffic Indication Map; an information element that advertises | |||
advertises whether or not any associated stations have buffered | whether or not any associated stations have buffered unicast | |||
unicast frames | frames. | |||
3. Identified multicast issues | TKIP | |||
Temporal Key Integrity Protocol | ||||
WiMAX | ||||
Worldwide Interoperability for Microwave Access | ||||
WPA | ||||
Wi-Fi Protected Access | ||||
3. Identified Multicast Issues | ||||
3.1. Issues at Layer 2 and Below | 3.1. Issues at Layer 2 and Below | |||
In this section some of the issues related to the use of multicast | In this section, some of the issues related to the use of multicast | |||
transmissions over IEEE 802 wireless technologies are described. | transmissions over IEEE 802 wireless technologies are described. | |||
3.1.1. Multicast reliability | 3.1.1. Multicast Reliability | |||
Multicast traffic is typically much less reliable than unicast | Multicast traffic is typically much less reliable than unicast | |||
traffic. Since multicast makes point-to-multipoint communications, | traffic. Since multicast makes point-to-multipoint communications, | |||
multiple acknowledgements would be needed to guarantee reception at | multiple acknowledgements would be needed to guarantee reception at | |||
all recipients. And since there are no ACKs for multicast packets, | all recipients. However, since there are no ACKs for multicast | |||
it is not possible for the Access Point (AP) to know whether or not a | packets, it is not possible for the AP to know whether or not a | |||
retransmission is needed. Even in the wired Internet, this | retransmission is needed. Even in the wired Internet, this | |||
characteristic often causes undesirably high error rates. This has | characteristic often causes undesirably high error rates. This has | |||
contributed to the relatively slow uptake of multicast applications | contributed to the relatively slow uptake of multicast applications | |||
even though the protocols have long been available. The situation | even though the protocols have long been available. The situation | |||
for wireless links is much worse, and is quite sensitive to the | for wireless links is much worse and is quite sensitive to the | |||
presence of background traffic. Consequently, there can be a high | presence of background traffic. Consequently, there can be a high | |||
packet error rate (PER) due to lack of retransmission, and because | packet error rate (PER) due to lack of retransmission and because the | |||
the sender never backs off. PER is the ratio, in percent, of the | sender never backs off. PER is the ratio, in percent, of the number | |||
number of packets not successfully received by the device. It is not | of packets not successfully received by the device. It is not | |||
uncommon for there to be a packet loss rate of 5% or more, which is | uncommon for there to be a packet loss rate of 5% or more, which is | |||
particularly troublesome for video and other environments where high | particularly troublesome for video and other environments where high | |||
data rates and high reliability are required. | data rates and high reliability are required. | |||
3.1.2. Lower and Variable Data Rate | 3.1.2. Lower and Variable Data Rate | |||
Multicast over wired differs from multicast over wireless because | Multicast over wired differs from multicast over wireless because | |||
transmission over wired links often occurs at a fixed rate. Wi-Fi, | transmission over wired links often occurs at a fixed rate. Wi-Fi, | |||
on the other hand, has a transmission rate that varies depending upon | on the other hand, has a transmission rate that varies depending upon | |||
the STA's proximity to the AP. The throughput of video flows, and | the STA's proximity to the AP. The throughput of video flows and the | |||
the capacity of the broader Wi-Fi network, will change with device | capacity of the broader Wi-Fi network will change with device | |||
movement. This impacts the ability for QoS solutions to effectively | movement. This impacts the ability for QoS solutions to effectively | |||
reserve bandwidth and provide admission control. | reserve bandwidth and provide admission control. | |||
For wireless stations authenticated and linked with an Access Point, | For wireless stations authenticated and linked with an AP, the power | |||
the power necessary for good reception can vary from station to | necessary for good reception can vary from station to station. For | |||
station. For unicast, the goal is to minimize power requirements | unicast, the goal is to minimize power requirements while maximizing | |||
while maximizing the data rate to the destination. For multicast, | the data rate to the destination. For multicast, the goal is simply | |||
the goal is simply to maximize the number of receivers that will | to maximize the number of receivers that will correctly receive the | |||
correctly receive the multicast packet; generally the Access Point | multicast packet; generally, the AP has to use a much lower data rate | |||
has to use a much lower data rate at a power level high enough for | at a power level high enough for even the farthest station to receive | |||
even the farthest station to receive the packet, for example as | the packet, for example, as briefly mentioned in Section 4 of | |||
briefly mentioned in section 2 of [RFC5757]. Consequently, the data | [RFC5757]. Consequently, the data rate of a video stream, for | |||
rate of a video stream, for instance, would be constrained by the | instance, would be constrained by the environmental considerations of | |||
environmental considerations of the least reliable receiver | the least-reliable receiver associated with the AP. | |||
associated with the Access Point. | ||||
Because more robust modulation and coding schemes (MCSs) have longer | Because more robust modulation and coding schemes (MCSs) have a | |||
range but also lower data rate, multicast / broadcast traffic is | longer range but also a lower data rate, multicast/broadcast traffic | |||
generally transmitted at the slowest rate of all the connected | is generally transmitted at the slowest rate of all the connected | |||
devices. This is also known as the basic rate. The amount of | devices. This is also known as the basic rate. The amount of | |||
additional interference depends on the specific wireless technology. | additional interference depends on the specific wireless technology. | |||
In fact, backward compatibility and multi-stream implementations mean | In fact, backward compatibility and multi-stream implementations mean | |||
that the maximum unicast rates are currently up to a few Gbps, so | that the maximum unicast rates are currently up to a few Gbps, so | |||
there can be more than 3 orders of magnitude difference in the | there can be more than 3 orders of magnitude difference in the | |||
transmission rate between multicast / broadcast versus optimal | transmission rate between multicast/broadcast versus optimal unicast | |||
unicast forwarding. Some techniques employed to increase spectral | forwarding. Some techniques employed to increase spectral | |||
efficiency, such as spatial multiplexing in MIMO systems, are not | efficiency, such as spatial multiplexing in Multiple Input Multiple | |||
available with more than one intended receiver; it is not the case | Output (MIMO) systems, are not available with more than one intended | |||
that backwards compatibility is the only factor responsible for lower | receiver; it is not the case that backwards compatibility is the only | |||
multicast transmission rates. | factor responsible for lower multicast transmission rates. | |||
Wired multicast also affects wireless LANs when the AP extends the | Wired multicast also affects wireless LANs when the AP extends the | |||
wired segment; in that case, multicast / broadcast frames on the | wired segment; in that case, multicast/broadcast frames on the wired | |||
wired LAN side are copied to the Wireless Local Area Network (WLAN). | LAN side are copied to the Wireless Local Area Network (WLAN). Since | |||
Since broadcast messages are transmitted at the most robust MCS, many | broadcast messages are transmitted at the most robust MCS, many large | |||
large frames are sent at a slow rate over the air. | frames are sent at a slow rate over the air. | |||
3.1.3. Capacity and Impact on Interference | 3.1.3. Capacity and Impact on Interference | |||
Transmissions at a lower rate require longer occupancy of the | Transmissions at a lower rate require longer occupancy of the | |||
wireless medium and thus take away from the airtime of other | wireless medium and thus take away from the airtime of other | |||
communications and degrade the overall capacity. Furthermore, | communications and degrade the overall capacity. Furthermore, | |||
transmission at higher power, as is required to reach all multicast | transmission at higher power, as is required to reach all multicast | |||
STAs associated to the AP, proportionately increases the area of | STAs associated with the AP, proportionately increases the area of | |||
interference with other consumers of the radio spectrum. | interference with other consumers of the radio spectrum. | |||
3.1.4. Power-save Effects on Multicast | 3.1.4. Power-Save Effects on Multicast | |||
One of the characteristics of multicast transmission over wifi is | One of the characteristics of multicast transmission over Wi-Fi is | |||
that every station has to be configured to wake up to receive the | that every station has to be configured to wake up to receive the | |||
multicast frame, even though the received packet may ultimately be | multicast frame, even though the received packet may ultimately be | |||
discarded. This process can have a large effect on the power | discarded. This process can have a large effect on the power | |||
consumption by the multicast receiver station. For this reason there | consumption by the multicast receiver station. For this reason, | |||
are workarounds, such as Directed Multicast Service (DMS) described | there are workarounds, such as Directed Multicast Service (DMS) | |||
in Section 4, to prevent unnecessarily waking up stations. | described in Section 4, to prevent unnecessarily waking up stations. | |||
Multicast (and unicast) can work poorly with the power-save | Multicast (and unicast) can work poorly with the power-save | |||
mechanisms defined in IEEE 802.11e, for the following reasons. | mechanisms defined in IEEE 802.11e for the following reasons. | |||
* Clients may be unable to stay in sleep mode due to multicast | * Clients may be unable to stay in sleep mode due to multicast | |||
control packets frequently waking them up. | control packets frequently waking them up. | |||
* A unicast packet is delayed until an STA wakes up and requests it. | * A unicast packet is delayed until an STA wakes up and requests it. | |||
Unicast traffic may also be delayed to improve power save, | Unicast traffic may also be delayed to improve power save and | |||
efficiency and increase probability of aggregation. | efficiency and to increase the probability of aggregation. | |||
* Multicast traffic is delayed in a wireless network if any of the | * Multicast traffic is delayed in a wireless network if any of the | |||
STAs in that network are power savers. All STAs associated to the | STAs in that network are power savers. All STAs associated with | |||
AP have to be awake at a known time to receive multicast traffic. | the AP have to be awake at a known time to receive multicast | |||
traffic. | ||||
* Packets can also be discarded due to buffer limitations in the AP | * Packets can also be discarded due to buffer limitations in the AP | |||
and non-AP STA. | and non-AP STA. | |||
3.2. Issues at Layer 3 and Above | 3.2. Issues at Layer 3 and Above | |||
This section identifies some representative IETF protocols, and | This section identifies some representative IETF protocols and | |||
describes possible negative effects due to performance degradation | describes possible negative effects due to performance degradation | |||
when using multicast transmissions for control messages. Common uses | when using multicast transmissions for control messages. Common uses | |||
of multicast include: | of multicast include: | |||
* Control plane signaling | * Control plane signaling | |||
* Neighbor Discovery | * Neighbor Discovery | |||
* Address Resolution | ||||
* Address resolution | ||||
* Service Discovery | * Service Discovery | |||
* Applications (video delivery, stock data, etc.) | * Applications (video delivery, stock data, etc.) | |||
* On-demand routing | * On-demand routing | |||
* Backbone construction | * Backbone construction | |||
* Other L3 protocols (non-IP) | ||||
User Datagram Protocol (UDP) is the most common transport layer | * Other Layer 3 protocols (non-IP) | |||
User Datagram Protocol (UDP) is the most common transport-layer | ||||
protocol for multicast applications. By itself, UDP is not reliable | protocol for multicast applications. By itself, UDP is not reliable | |||
-- messages may be lost or delivered out of order. | -- messages may be lost or delivered out of order. | |||
3.2.1. IPv4 issues | 3.2.1. IPv4 Issues | |||
The following list contains some representative discovery protocols, | The following list contains some representative discovery protocols | |||
which utilize broadcast/multicast, that are used with IPv4. | that utilize broadcast/multicast and are used with IPv4. | |||
* ARP [RFC0826] | * ARP [RFC0826] | |||
* DHCP [RFC2131] | * DHCP [RFC2131] | |||
* mDNS [RFC6762] | ||||
* uPnP [RFC6970] | * Multicast DNS (mDNS) [RFC6762] | |||
* Universal Plug and Play (uPnP) [RFC6970] | ||||
After initial configuration, ARP (described in more detail later), | After initial configuration, ARP (described in more detail later), | |||
DHCP and uPnP occur much less commonly, but service discovery can | DHCP, and uPnP occur much less commonly, but service discovery can | |||
occur at any time. Some widely-deployed service discovery protocols | occur at any time. Some widely deployed service discovery protocols | |||
(e.g., for finding a printer) utilize mDNS (i.e., multicast) which is | (e.g., for finding a printer) utilize mDNS (i.e., multicast), which | |||
often dropped by operators. Even if multicast snooping [RFC4541] | is often dropped by operators. Even if multicast snooping [RFC4541] | |||
(which provides the benefit of conserving bandwidth on those segments | (which provides the benefit of conserving bandwidth on those segments | |||
of the network where no node has expressed interest in receiving | of the network where no node has expressed interest in receiving | |||
packets addressed to the group address) is utilized, many devices can | packets addressed to the group address) is utilized, many devices can | |||
register at once and cause serious network degradation. | register at once and cause serious network degradation. | |||
3.2.2. IPv6 issues | 3.2.2. IPv6 Issues | |||
IPv6 makes extensive use of multicast, including the following: | IPv6 makes extensive use of multicast, including the following: | |||
* DHCPv6 [RFC8415] | * DHCPv6 [RFC8415] | |||
* Protocol Independent Multicast (PIM) [RFC7761] | * Protocol Independent Multicast (PIM) [RFC7761] | |||
* IPv6 Neighbor Discovery Protocol (NDP) [RFC4861] | * IPv6 Neighbor Discovery Protocol (NDP) [RFC4861] | |||
* multicast DNS (mDNS) [RFC6762] | ||||
* Multicast DNS (mDNS) [RFC6762] | ||||
* Router Discovery [RFC4286] | * Router Discovery [RFC4286] | |||
IPv6 NDP Neighbor Solicitation (NS) messages used in Duplicate | IPv6 NDP Neighbor Solicitation (NS) messages used in Duplicate | |||
Address Detection (DAD) and Address Lookup make use of Link-Scope | Address Detection (DAD) and address lookup make use of link-scope | |||
multicast. In contrast to IPv4, an IPv6 node will typically use | multicast. In contrast to IPv4, an IPv6 node will typically use | |||
multiple addresses, and may change them often for privacy reasons. | multiple addresses and may change them often for privacy reasons. | |||
This intensifies the impact of multicast messages that are associated | This intensifies the impact of multicast messages that are associated | |||
to the mobility of a node. Router advertisement (RA) messages are | with the mobility of a node. Router advertisement (RA) messages are | |||
also periodically multicasted over the Link. | also periodically multicast over the link. | |||
Neighbors may be considered lost if several consecutive Neighbor | Neighbors may be considered lost if several consecutive Neighbor | |||
Discovery packets fail. | Discovery packets fail. | |||
3.2.3. MLD issues | 3.2.3. MLD Issues | |||
Multicast Listener Discovery (MLD) [RFC4541] is used to identify | Multicast Listener Discovery (MLD) [RFC4541] is used to identify | |||
members of a multicast group that are connected to the ports of a | members of a multicast group that are connected to the ports of a | |||
switch. Forwarding multicast frames into a Wi-Fi-enabled area can | switch. Forwarding multicast frames into a Wi-Fi-enabled area can | |||
use switch support for hardware forwarding state information. | use switch support for hardware forwarding state information. | |||
However, since IPv6 makes heavy use of multicast, each STA with an | However, since IPv6 makes heavy use of multicast, each STA with an | |||
IPv6 address will require state on the switch for several and | IPv6 address will require state on the switch for several and | |||
possibly many multicast solicited-node addresses. A solicited-node | possibly many solicited-node multicast addresses. A solicited-node | |||
multicast address is an IPv6 multicast address used by NDP to verify | multicast address is an IPv6 multicast address used by NDP to verify | |||
whether an IPv6 address is already used by the local-link. Multicast | whether an IPv6 address is already used by the local link. Multicast | |||
addresses that do not have forwarding state installed (perhaps due to | addresses that do not have forwarding state installed (perhaps due to | |||
hardware memory limitations on the switch) cause frames to be flooded | hardware memory limitations on the switch) cause frames to be flooded | |||
on all ports of the switch. Some switch vendors do not support MLD, | on all ports of the switch. Some switch vendors do not support MLD | |||
for link-scope multicast, due to the increase it can cause in state. | for link-scope multicast due to the increase it can cause in state. | |||
3.2.4. Spurious Neighbor Discovery | 3.2.4. Spurious Neighbor Discovery | |||
On the Internet there is a "background radiation" of scanning traffic | On the Internet, there is a "background radiation" of scanning | |||
(people scanning for vulnerable machines) and backscatter (responses | traffic (people scanning for vulnerable machines) and backscatter | |||
from spoofed traffic, etc). This means that routers very often | (responses from spoofed traffic, etc.). This means that routers very | |||
receive packets destined for IPv4 addresses regardless of whether | often receive packets destined for IPv4 addresses regardless of | |||
those IP addresses are in use. In the cases where the IP is assigned | whether those IP addresses are in use. In the cases where the IP is | |||
to a host, the router broadcasts an ARP request, gets back an ARP | assigned to a host, the router broadcasts an ARP request, receives an | |||
reply, and caches it; then traffic can be delivered to the host. | ARP reply, and caches it; then, traffic can be delivered to the host. | |||
When the IP address is not in use, the router broadcasts one (or | When the IP address is not in use, the router broadcasts one (or | |||
more) ARP requests, and never gets a reply. This means that it does | more) ARP requests and never gets a reply. This means that it does | |||
not populate the ARP cache, and the next time there is traffic for | not populate the ARP cache, and the next time there is traffic for | |||
that IP address the router will rebroadcast the ARP requests. | that IP address, the router will rebroadcast the ARP requests. | |||
The rate of these ARP requests is proportional to the size of the | The rate of these ARP requests is proportional to the size of the | |||
subnets, the rate of scanning and backscatter, and how long the | subnets, the rate of scanning and backscatter, and how long the | |||
router keeps state on non-responding ARPs. As it turns out, this | router keeps state on non-responding ARPs. As it turns out, this | |||
rate is inversely proportional to how occupied the subnet is (valid | rate is inversely proportional to how occupied the subnet is (valid | |||
ARPs end up in a cache, stopping the broadcasting; unused IPs never | ARPs end up in a cache, stopping the broadcasting; unused IPs never | |||
respond, and so cause more broadcasts). Depending on the address | respond, and so cause more broadcasts). Depending on the address | |||
space in use, the time of day, how occupied the subnet is, and other | space in use, the time of day, how occupied the subnet is, and other | |||
unknown factors, thousands of broadcasts per second have been | unknown factors, thousands of broadcasts per second have been | |||
observed. Around 2,000 broadcasts per second have been observed at | observed. Around 2,000 broadcasts per second have been observed at | |||
skipping to change at page 10, line 11 ¶ | skipping to change at line 466 ¶ | |||
resolution by multicasting a Neighbor Solicitation that asks the | resolution by multicasting a Neighbor Solicitation that asks the | |||
target node to return its link-layer address. Neighbor Solicitation | target node to return its link-layer address. Neighbor Solicitation | |||
messages are multicast to the solicited-node multicast address of the | messages are multicast to the solicited-node multicast address of the | |||
target address. The target returns its link-layer address in a | target address. The target returns its link-layer address in a | |||
unicast Neighbor Advertisement message. A single request-response | unicast Neighbor Advertisement message. A single request-response | |||
pair of packets is sufficient for both the initiator and the target | pair of packets is sufficient for both the initiator and the target | |||
to resolve each other's link-layer addresses; the initiator includes | to resolve each other's link-layer addresses; the initiator includes | |||
its link-layer address in the Neighbor Solicitation. | its link-layer address in the Neighbor Solicitation. | |||
On a wired network, there is not a huge difference between unicast, | On a wired network, there is not a huge difference between unicast, | |||
multicast and broadcast traffic. Due to hardware filtering (see, | multicast, and broadcast traffic. Due to hardware filtering (see, | |||
e.g., [Deri-2010]), inadvertently flooded traffic (or excessive | e.g., [Deri-2010]), inadvertently flooded traffic (or excessive | |||
ethernet multicast) on wired networks can be quite a bit less costly, | Ethernet multicast) on wired networks can be quite a bit less costly | |||
compared to wireless cases where sleeping devices have to wake up to | compared to wireless cases where sleeping devices have to wake up to | |||
process packets. Wired Ethernets tend to be switched networks, | process packets. Wired Ethernets tend to be switched networks, | |||
further reducing interference from multicast. There is effectively | further reducing interference from multicast. There is effectively | |||
no collision / scheduling problem except at extremely high port | no collision / scheduling problem except at extremely high port | |||
utilizations. | utilizations. | |||
This is not true in the wireless realm; wireless equipment is often | This is not true in the wireless realm; wireless equipment is often | |||
unable to send high volumes of broadcast and multicast traffic, | unable to send high volumes of broadcast and multicast traffic, | |||
causing numerous broadcast and multicast packets to be dropped. | causing numerous broadcast and multicast packets to be dropped. | |||
Consequently, when a host connects it is often not able to complete | Consequently, when a host connects, it is often not able to complete | |||
DHCP, and IPv6 RAs get dropped, leading to users being unable to use | DHCP, and IPv6 RAs get dropped, leading to users being unable to use | |||
the network. | the network. | |||
4. Multicast protocol optimizations | 4. Multicast Protocol Optimizations | |||
This section lists some optimizations that have been specified in | This section lists some optimizations that have been specified in | |||
IEEE 802 and IETF that are aimed at reducing or eliminating the | IEEE 802 and IETF that are aimed at reducing or eliminating the | |||
issues discussed in Section 3. | issues discussed in Section 3. | |||
4.1. Proxy ARP in 802.11-2012 | 4.1. Proxy ARP in 802.11-2012 | |||
The AP knows the MAC address and IP address for all associated STAs. | The AP knows the Medium Access Control (MAC) address and IP address | |||
In this way, the AP acts as the central "manager" for all the 802.11 | for all associated STAs. In this way, the AP acts as the central | |||
STAs in its basic service set (BSS). Proxy ARP is easy to implement | "manager" for all the 802.11 STAs in its Basic Service Set (BSS). | |||
at the AP, and offers the following advantages: | Proxy ARP is easy to implement at the AP and offers the following | |||
advantages: | ||||
* Reduced broadcast traffic (transmitted at low MCS) on the wireless | * Reduced broadcast traffic (transmitted at low MCS) on the wireless | |||
medium | medium. | |||
* STA benefits from extended power save in sleep mode, as ARP | * STA benefits from extended power save in sleep mode, as ARP | |||
requests for STA's IP address are handled instead by the AP. | requests for STA's IP address are handled instead by the AP. | |||
* ARP frames are kept off the wireless medium. | * ARP frames are kept off the wireless medium. | |||
* No changes are needed to STA implementation. | * No changes are needed to STA implementation. | |||
Here is the specification language as described in clause 10.23.13 of | Here is the specification language as described in clause 10.23.13 of | |||
[dot11-proxyarp]: | [dot11-proxyarp]: | |||
When the AP supports Proxy ARP "[...] the AP shall maintain a | | When the AP supports Proxy ARP "[...] the AP shall maintain a | |||
Hardware Address to Internet Address mapping for each associated | | Hardware Address to Internet Address mapping for each associated | |||
station, and shall update the mapping when the Internet Address of | | station, and shall update the mapping when the Internet Address of | |||
the associated station changes. When the IPv4 address being | | the associated station changes. When the IPv4 address being | |||
resolved in the ARP request packet is used by a non-AP STA | | resolved in the ARP request packet is used by a non-AP STA | |||
currently associated to the BSS, the proxy ARP service shall | | currently associated to the BSS, the proxy ARP service shall | |||
respond on behalf of the non-AP STA". | | respond on behalf of the STA to an ARP request or an ARP Probe. | |||
4.2. IPv6 Address Registration and Proxy Neighbor Discovery | 4.2. IPv6 Address Registration and Proxy Neighbor Discovery | |||
As used in this section, a Low-Power Wireless Personal Area Network | As used in this section, a Low-Power Wireless Personal Area Network | |||
(6LoWPAN) denotes a low power lossy network (LLN) that supports | (6LoWPAN) denotes a Low-Power and Lossy Network (LLN) that supports | |||
6LoWPAN Header Compression (HC) [RFC6282]. A 6TiSCH network | 6LoWPAN Header Compression (HC) [RFC6282]. A 6TiSCH network | |||
[I-D.ietf-6tisch-architecture] is an example of a 6LowPAN. In order | [RFC9030] is an example of a 6LoWPAN. In order to control the use of | |||
to control the use of IPv6 multicast over 6LoWPANs, the 6LoWPAN | IPv6 multicast over 6LoWPANs, the 6LoWPAN Neighbor Discovery (6LoWPAN | |||
Neighbor Discovery (6LoWPAN ND) [RFC6775] standard defines an address | ND) [RFC6775] standard defines an address registration mechanism that | |||
registration mechanism that relies on a central registry to assess | relies on a central registry to assess address uniqueness as a | |||
address uniqueness, as a substitute to the inefficient DAD mechanism | substitute to the inefficient DAD mechanism found in the mainstream | |||
found in the mainstream IPv6 Neighbor Discovery Protocol (NDP) | IPv6 Neighbor Discovery Protocol (NDP) [RFC4861] [RFC4862]. | |||
[RFC4861][RFC4862]. | ||||
The 6lo Working Group has specified an update [RFC8505] to RFC6775. | The 6lo Working Group has specified an update to [RFC6775]. Wireless | |||
Wireless devices can register their address to a Backbone Router | devices can register their address to a Backbone Router [RFC8929], | |||
[I-D.ietf-6lo-backbone-router], which proxies for the registered | which proxies for the registered addresses with the IPv6 NDP running | |||
addresses with the IPv6 NDP running on a high speed aggregating | on a high-speed aggregating backbone. The update also enables a | |||
backbone. The update also enables a proxy registration mechanism on | proxy registration mechanism on behalf of the Registered Node, e.g., | |||
behalf of the registered node, e.g. by a 6LoWPAN router to which the | by a 6LoWPAN router to which the mobile node is attached. | |||
mobile node is attached. | ||||
The general idea behind the backbone router concept is that broadcast | The general idea behind the Backbone Router concept is that broadcast | |||
and multicast messaging should be tightly controlled in a variety of | and multicast messaging should be tightly controlled in a variety of | |||
WLANs and Wireless Personal Area Networks (WPANs). Connectivity to a | WLANs and Wireless Personal Area Networks (WPANs). Connectivity to a | |||
particular link that provides the subnet should be left to Layer-3. | particular link that provides the subnet should be left to Layer 3. | |||
The model for the Backbone Router operation is represented in | The model for the Backbone Router operation is represented in | |||
Figure 1. | Figure 1. | |||
| | | | |||
+-----+ | +-----+ | |||
| | Gateway (default) router | | | Gateway (default) router | |||
| | | | | | |||
+-----+ | +-----+ | |||
| | | | |||
| Backbone Link | | Backbone Link | |||
skipping to change at page 12, line 32 ¶ | skipping to change at line 570 ¶ | |||
o o o o o o o | o o o o o o o | |||
LLN 1 LLN 2 LLN 3 | LLN 1 LLN 2 LLN 3 | |||
Figure 1: Backbone Link and Backbone Routers | Figure 1: Backbone Link and Backbone Routers | |||
LLN nodes can move freely from an LLN anchored at one IPv6 Backbone | LLN nodes can move freely from an LLN anchored at one IPv6 Backbone | |||
Router to an LLN anchored at another Backbone Router on the same | Router to an LLN anchored at another Backbone Router on the same | |||
backbone, keeping any of the IPv6 addresses they have configured. | backbone, keeping any of the IPv6 addresses they have configured. | |||
The Backbone Routers maintain a Binding Table of their Registered | The Backbone Routers maintain a Binding Table of their Registered | |||
Nodes, which serves as a distributed database of all the LLN Nodes. | Nodes, which serves as a distributed database of all the LLN nodes. | |||
An extension to the Neighbor Discovery Protocol is introduced to | An extension to the Neighbor Discovery Protocol is introduced to | |||
exchange Binding Table information across the Backbone Link as needed | exchange Binding Table information across the Backbone Link as needed | |||
for the operation of IPv6 Neighbor Discovery. | for the operation of IPv6 Neighbor Discovery. | |||
RFC6775 and follow-on work [RFC8505] address the needs of LLNs, and | [RFC6775] and follow-on work [RFC8505] address the needs of LLNs, and | |||
similar techniques are likely to be valuable on any type of link | similar techniques are likely to be valuable on any type of link | |||
where sleeping devices are attached, or where the use of broadcast | where sleeping devices are attached or where the use of broadcast and | |||
and multicast operations should be limited. | multicast operations should be limited. | |||
4.3. Buffering to Improve Battery Life | 4.3. Buffering to Improve Battery Life | |||
Methods have been developed to help save battery life; for example, a | Methods have been developed to help save battery life; for example, a | |||
device might not wake up when the AP receives a multicast packet. | device might not wake up when the AP receives a multicast packet. | |||
The AP acts on behalf of STAs in various ways. To enable use of the | The AP acts on behalf of STAs in various ways. To enable use of the | |||
power-saving feature for STAs in its BSS, the AP buffers frames for | power-saving feature for STAs in its BSS, the AP buffers frames for | |||
delivery to the STA at the time when the STA is scheduled for | delivery to the STA at the time when the STA is scheduled for | |||
reception. If an AP, for instance, expresses a DTIM (Delivery | reception. If an AP, for instance, expresses a Delivery Traffic | |||
Traffic Indication Message) of 3 then the AP will send a multicast | Indication Message (DTIM) of 3, then the AP will send a multicast | |||
packet every 3 packets. In fact, when any single wireless STA | packet every 3 packets. In fact, when any single wireless STA | |||
associated with an access point has 802.11 power-save mode enabled, | associated with an AP has 802.11 power-save mode enabled, the AP | |||
the access point buffers all multicast frames and sends them only | buffers all multicast frames and sends them only after the next DTIM | |||
after the next DTIM beacon. | beacon. | |||
In practice, most AP's will send a multicast every 30 packets. For | In practice, most APs will send a multicast every 30 packets. For | |||
unicast the AP could send a TIM (Traffic Indication Message), but for | unicast, the AP could send a Traffic Indication Message (TIM), but, | |||
multicast the AP sends a broadcast to everyone. DTIM does power | for multicast, the AP sends a broadcast to everyone. DTIM does power | |||
management but STAs can choose whether or not to wake up and whether | management, but STAs can choose whether to wake up and whether to | |||
or not to drop the packet. Unfortunately, without proper | drop the packet. Unfortunately, without proper administrative | |||
administrative control, such STAs may be unable to determine why | control, such STAs may be unable to determine why their multicast | |||
their multicast operations do not work. | operations do not work. | |||
4.4. Limiting multicast buffer hardware queue depth | 4.4. Limiting Multicast Buffer Hardware Queue Depth | |||
The CAB (Content after Beacon) queue is used for beacon-triggered | The Content after Beacon (CAB) queue is used for beacon-triggered | |||
transmission of buffered multicast frames. If lots of multicast | transmission of buffered multicast frames. If lots of multicast | |||
frames were buffered, and this queue fills up, it drowns out all | frames were buffered and this queue fills up, it drowns out all | |||
regular traffic. To limit the damage that buffered traffic can do, | regular traffic. To limit the damage that buffered traffic can do, | |||
some drivers limit the amount of queued multicast data to a fraction | some drivers limit the amount of queued multicast data to a fraction | |||
of the beacon_interval. An example of this is [CAB]. | of the beacon_interval. An example of this is [CAB]. | |||
4.5. IPv6 support in 802.11-2012 | 4.5. IPv6 Support in 802.11-2012 | |||
IPv6 uses NDP instead of ARP. Every IPv6 node subscribes to a | IPv6 uses NDP instead of ARP. Every IPv6 node subscribes to a | |||
special multicast address for this purpose. | special multicast address for this purpose. | |||
Here is the specification language from clause 10.23.13 of | Here is the specification language from clause 10.23.13 of | |||
[dot11-proxyarp]: | [dot11-proxyarp]: | |||
"When an IPv6 address is being resolved, the Proxy Neighbor | | When an IPv6 address is being resolved, the Proxy Neighbor | |||
Discovery service shall respond with a Neighbor Advertisement | | Discovery service shall respond with a Neighbor Advertisement | |||
message [...] on behalf of an associated STA to an [ICMPv6] | | message [...] on behalf of an associated STA to an [ICMPv6] | |||
Neighbor Solicitation message [...]. When MAC address mappings | | Neighbor Solicitation message [...]. When MAC address mappings | |||
change, the AP may send unsolicited Neighbor Advertisement | | change, the AP may send unsolicited Neighbor Advertisement | |||
Messages on behalf of a STA." | | Messages on behalf of a STA. | |||
NDP may be used to request additional information | NDP may be used to request additional information using the following | |||
methods, among others: | ||||
* Maximum Transmission Unit | * Maximum Transmission Unit | |||
* Router Solicitation | * Router Solicitation | |||
* Router Advertisement, etc. | ||||
NDP messages are sent as group addressed (broadcast) frames in | * Router Advertisement | |||
NDP messages are sent as group-addressed (broadcast) frames in | ||||
802.11. Using the proxy operation helps to keep NDP messages off the | 802.11. Using the proxy operation helps to keep NDP messages off the | |||
wireless medium. | wireless medium. | |||
4.6. Using Unicast Instead of Multicast | 4.6. Using Unicast Instead of Multicast | |||
It is often possible to transmit multicast control and data messages | It is often possible to transmit multicast control and data messages | |||
by using unicast transmissions to each station individually. | by using unicast transmissions to each station individually. | |||
4.6.1. Overview | 4.6.1. Overview | |||
In many situations, it's a good choice to use unicast instead of | In many situations, it's a good choice to use unicast instead of | |||
multicast over the Wi-Fi link. This avoids most of the problems | multicast over the Wi-Fi link. This avoids most of the problems | |||
specific to multicast over Wi-Fi, since the individual frames are | specific to multicast over Wi-Fi, since the individual frames are | |||
then acknowledged and buffered for power save clients, in the way | then acknowledged and buffered for power-save clients in the way that | |||
that unicast traffic normally operates. | unicast traffic normally operates. | |||
This approach comes with the tradeoff of sometimes sending the same | This approach comes with the trade-off of sometimes sending the same | |||
packet multiple times over the Wi-Fi link. However, in many cases, | packet multiple times over the Wi-Fi link. However, in many cases, | |||
such as video into a residential home network, this can be a good | such as video into a residential home network, this can be a good | |||
tradeoff, since the Wi-Fi link may have enough capacity for the | trade-off since the Wi-Fi link may have enough capacity for the | |||
unicast traffic to be transmitted to each subscribed STA, even though | unicast traffic to be transmitted to each subscribed STA, even though | |||
multicast addressing may have been necessary for the upstream access | multicast addressing may have been necessary for the upstream access | |||
network. | network. | |||
Several technologies exist that can be used to arrange unicast | Several technologies exist that can be used to arrange unicast | |||
transport over the Wi-Fi link, outlined in the subsections below. | transport over the Wi-Fi link, outlined in the subsections below. | |||
4.6.2. Layer 2 Conversion to Unicast | 4.6.2. Layer 2 Conversion to Unicast | |||
It is often possible to transmit multicast control and data messages | It is often possible to transmit multicast control and data messages | |||
skipping to change at page 14, line 44 ¶ | skipping to change at line 678 ¶ | |||
Although there is not yet a standardized method of conversion, at | Although there is not yet a standardized method of conversion, at | |||
least one widely available implementation exists in the Linux | least one widely available implementation exists in the Linux | |||
bridging code [bridge-mc-2-uc]. Other proprietary implementations | bridging code [bridge-mc-2-uc]. Other proprietary implementations | |||
are available from various vendors. In general, these | are available from various vendors. In general, these | |||
implementations perform a straightforward mapping for groups or | implementations perform a straightforward mapping for groups or | |||
channels, discovered by IGMP or MLD snooping, to the corresponding | channels, discovered by IGMP or MLD snooping, to the corresponding | |||
unicast MAC addresses. | unicast MAC addresses. | |||
4.6.3. Directed Multicast Service (DMS) | 4.6.3. Directed Multicast Service (DMS) | |||
There are situations where more is needed than simply converting | DMS enables an STA to request that the AP transmit multicast group- | |||
multicast to unicast. For these purposes, DMS enables an STA to | addressed frames destined to the requesting STAs as individually | |||
request that the AP transmit multicast group addressed frames | addressed frames (i.e., convert multicast to unicast). Here are some | |||
destined to the requesting STAs as individually addressed frames | characteristics of DMS: | |||
[i.e., convert multicast to unicast]. Here are some characteristics | ||||
of DMS: | * Requires 802.11n Aggregate MAC Service Data Units (A-MSDUs). | |||
* Requires 802.11n A-MSDUs | ||||
* Individually addressed frames are acknowledged and are buffered | * Individually addressed frames are acknowledged and are buffered | |||
for power save STAs | for power-save STAs. | |||
* The requesting STA may specify traffic characteristics for DMS | * The requesting STA may specify traffic characteristics for DMS | |||
traffic | traffic. | |||
* DMS was defined in IEEE Std 802.11v-2011 | ||||
* DMS was defined in IEEE Std 802.11v-2011 [v2011]. | ||||
* DMS requires changes to both AP and STA implementation. | * DMS requires changes to both AP and STA implementation. | |||
DMS is not currently implemented in products. See [Tramarin2017] and | DMS is not currently implemented in products. See [Tramarin2017] and | |||
[Oliva2013] for more information. | [Oliva2013] for more information. | |||
4.6.4. Automatic Multicast Tunneling (AMT) | 4.6.4. Automatic Multicast Tunneling (AMT) | |||
AMT[RFC7450] provides a method to tunnel multicast IP packets inside | AMT [RFC7450] provides a method to tunnel multicast IP packets inside | |||
unicast IP packets over network links that only support unicast. | unicast IP packets over network links that only support unicast. | |||
When an operating system or application running on an STA has an AMT | When an operating system or application running on an STA has an AMT | |||
gateway capability integrated, it's possible to use unicast to | gateway capability integrated, it's possible to use unicast to | |||
traverse the Wi-Fi link by deploying an AMT relay in the non-Wi-Fi | traverse the Wi-Fi link by deploying an AMT relay in the non-Wi-Fi | |||
portion of the network connected to the AP. | portion of the network connected to the AP. | |||
It is recommended that multicast-enabled networks deploying AMT | It is recommended that multicast-enabled networks deploying AMT | |||
relays for this purpose make the relays locally discoverable with the | relays for this purpose make the relays locally discoverable with the | |||
following methods, as described in | following methods, as described in [RFC8777]: | |||
[I-D.ietf-mboned-driad-amt-discovery]: | ||||
* DNS-SD [RFC6763] | * DNS-based Service Discovery (DNS-SD) [RFC6763] | |||
* the well-known IP addresses from Section 7 of [RFC7450] | ||||
* The well-known IP addresses from Section 7 of [RFC7450] | ||||
An AMT gateway that implements multiple standard discovery methods is | An AMT gateway that implements multiple standard discovery methods is | |||
more likely to discover the local multicast-capable network, instead | more likely to discover the local multicast-capable network instead | |||
of forming a connection to a non-local AMT relay further upstream. | of forming a connection to a nonlocal AMT relay further upstream. | |||
4.7. GroupCast with Retries (GCR) | 4.7. GroupCast with Retries (GCR) | |||
GCR (defined in [dot11aa]) provides greater reliability by using | GCR (defined in [dot11aa]) provides greater reliability by using | |||
either unsolicited retries or a block acknowledgement mechanism. GCR | either unsolicited retries or a block acknowledgement mechanism. GCR | |||
increases probability of broadcast frame reception success, but still | increases the probability of broadcast frame reception success but | |||
does not guarantee success. | still does not guarantee success. | |||
For the block acknowledgement mechanism, the AP transmits each group | For the block acknowledgement mechanism, the AP transmits each group- | |||
addressed frame as conventional group addressed transmission. | addressed frame as a conventional group-addressed transmission. | |||
Retransmissions are group addressed, but hidden from non-11aa STAs. | Retransmissions are group addressed but hidden from non-11aa STAs. A | |||
A directed block acknowledgement scheme is used to harvest reception | directed block acknowledgement scheme is used to harvest reception | |||
status from receivers; retransmissions are based upon these | status from receivers; retransmissions are based upon these | |||
responses. | responses. | |||
GCR is suitable for all group sizes including medium to large groups. | GCR is suitable for all group sizes including medium to large groups. | |||
As the number of devices in the group increases, GCR can send block | As the number of devices in the group increases, GCR can send block | |||
acknowledgement requests to only a small subset of the group. GCR | acknowledgement requests to only a small subset of the group. GCR | |||
does require changes to both AP and STA implementations. | does require changes to both AP and STA implementations. | |||
GCR may introduce unacceptable latency. After sending a group of | GCR may introduce unacceptable latency. After sending a group of | |||
data frames to the group, the AP has to do the following: | data frames to the group, the AP has to do the following: | |||
* unicast a Block Ack Request (BAR) to a subset of members. | * Unicast a Block Ack Request (BAR) to a subset of members. | |||
* wait for the corresponding Block Ack (BA). | ||||
* retransmit any missed frames. | * Wait for the corresponding Block Ack (BA). | |||
* resume other operations that may have been delayed. | ||||
* Retransmit any missed frames. | ||||
* Resume other operations that may have been delayed. | ||||
This latency may not be acceptable for some traffic. | This latency may not be acceptable for some traffic. | |||
There are ongoing extensions in 802.11 to improve GCR performance. | There are ongoing extensions in 802.11 to improve GCR performance. | |||
* BAR is sent using downlink MU-MIMO (note that downlink MU-MIMO is | * BAR is sent using downlink Multi-User MIMO. | |||
already specified in 802.11-REVmc 4.3). | ||||
* BA is sent using uplink MU-MIMO (which is a .11ax feature). | * BA is sent using uplink MU-MIMO (uplink MU-MIMO is an IEEE | |||
* Additional 802.11ax extensions are under consideration; see | 801.11ax-2021 feature). | |||
[mc-ack-mux] | ||||
* Latency may also be reduced by simultaneously receiving BA | * Latency may also be reduced by simultaneously receiving BA | |||
information from multiple STAs. | information from multiple STAs. | |||
5. Operational optimizations | 5. Operational Optimizations | |||
This section lists some operational optimizations that can be | This section lists some operational optimizations that can be | |||
implemented when deploying wireless IEEE 802 networks to mitigate | implemented when deploying wireless IEEE 802 networks to mitigate | |||
some of the issues discussed in Section 3. | some of the issues discussed in Section 3. | |||
5.1. Mitigating Problems from Spurious Neighbor Discovery | 5.1. Mitigating Problems from Spurious Neighbor Discovery | |||
ARP Sponges | ARP Sponges | |||
An ARP Sponge sits on a network and learns which IP addresses | An ARP Sponge sits on a network and learns which IP addresses | |||
are actually in use. It also listens for ARP requests, and, if | are actually in use. It also listens for ARP requests, and, if | |||
it sees an ARP for an IP address that it believes is not used, | it sees an ARP for an IP address that it believes is not used, | |||
it will reply with its own MAC address. This means that the | it will reply with its own MAC address. This means that the | |||
router now has an IP to MAC mapping, which it caches. If that | router now has an IP-to-MAC mapping, which it caches. If that | |||
IP is later assigned to a machine (e.g using DHCP), the ARP | IP is later assigned to a machine (e.g., using DHCP), the ARP | |||
sponge will see this, and will stop replying for that address. | Sponge will see this and will stop replying for that address. | |||
Gratuitous ARPs (or the machine ARPing for its gateway) will | Gratuitous ARPs (or the machine ARPing for its gateway) will | |||
replace the sponged address in the router ARP table. This | replace the sponged address in the router ARP table. This | |||
technique is quite effective; but, unfortunately, the ARP | technique is quite effective; unfortunately, the ARP Sponge | |||
sponge daemons were not really designed for this use (one of | daemons were not really designed for this use (one of the most | |||
the most widely deployed arp sponges [arpsponge], was designed | widely deployed ARP Sponges [arpsponge] was designed to deal | |||
to deal with the disappearance of participants from an IXP) and | with the disappearance of participants from an Internet | |||
so are not optimized for this purpose. One daemon is needed | Exchange Point (IXP)) and so are not optimized for this | |||
per subnet, the tuning is tricky (the scanning rate versus the | purpose. One daemon is needed per subnet; the tuning is tricky | |||
population rate versus retires, etc.) and sometimes daemons | (the scanning rate versus the population rate versus retries, | |||
just stop, requiring a restart of the daemon which causes | etc.), and sometimes daemons just stop, requiring a restart of | |||
disruption. | the daemon that causes disruption. | |||
Router mitigations | Router mitigations | |||
Some routers (often those based on Linux) implement a "negative | Some routers (often those based on Linux) implement a "negative | |||
ARP cache" daemon. If the router does not see a reply to an | ARP cache" daemon. If the router does not see a reply to an | |||
ARP it can be configured to cache this information for some | ARP, it can be configured to cache this information for some | |||
interval. Unfortunately, the core routers in use often do not | interval. Unfortunately, the core routers in use often do not | |||
support this. Instead, when a host connects to a network and | support this. Instead, when a host connects to a network and | |||
gets an IP address, it will ARP for its default gateway (the | gets an IP address, it will ARP for its default gateway (the | |||
router). The router will update its cache with the IP to host | router). The router will update its cache with the IP to host | |||
MAC mapping learned from the request (passive ARP learning). | MAC mapping learned from the request (passive ARP learning). | |||
Firewall unused space | Firewall unused space | |||
The distribution of users on wireless networks / subnets may | The distribution of users on wireless networks / subnets may | |||
change in various use cases, such as conference venues (e.g | change in various use cases, such as conference venues (e.g., | |||
SSIDs are renamed, some SSIDs lose favor, etc). This makes | Service Set Identifiers (SSIDs) are renamed, some SSIDs lose | |||
utilization for particular SSIDs difficult to predict ahead of | favor, etc.). This makes utilization for particular SSIDs | |||
time, but usage can be monitored as attendees use the different | difficult to predict ahead of time, but usage can be monitored | |||
networks. Configuring multiple DHCP pools per subnet, and | as attendees use the different networks. Configuring multiple | |||
enabling them sequentially, can create a large subnet, from | DHCP pools per subnet and enabling them sequentially can create | |||
which only addresses in the lower portions are assigned. | a large subnet from which only addresses in the lower portions | |||
Therefore input IP access lists can be applied, which deny | are assigned. Therefore, input IP access lists can be applied, | |||
traffic to the upper, unused portions. Then the router does | which deny traffic to the upper, unused portions. Then the | |||
not attempt to forward packets to the unused portions of the | router does not attempt to forward packets to the unused | |||
subnets, and so does not ARP for it. This method has proven to | portions of the subnets and so does not ARP for it. This | |||
be very effective, but is somewhat of a blunt axe, is fairly | method has proven to be very effective but is somewhat of a | |||
labor intensive, and requires coordination. | blunt axe, is fairly labor intensive, and requires | |||
Disabling/filtering ARP requests | coordination. | |||
Disabling/Filtering ARP requests | ||||
In general, the router does not need to ARP for hosts; when a | In general, the router does not need to ARP for hosts; when a | |||
host connects, the router can learn the IP to MAC mapping from | host connects, the router can learn the IP-to-MAC mapping from | |||
the ARP request sent by that host. Consequently it should be | the ARP request sent by that host. Consequently, it should be | |||
possible to disable and / or filter ARP requests from the | possible to disable and/or filter ARP requests from the router. | |||
router. Unfortunately, ARP is a very low level / fundamental | Unfortunately, ARP is a very low-level/fundamental part of the | |||
part of the IP stack, and is often offloaded from the normal | IP stack and is often offloaded from the normal control plane. | |||
control plane. While many routers can filter layer-2 traffic, | While many routers can filter Layer 2 traffic, this is usually | |||
this is usually implemented as an input filter and / or has | implemented as an input filter and/or has limited ability to | |||
limited ability to filter output broadcast traffic. This means | filter output broadcast traffic. This means that the seemingly | |||
that the simple "just disable ARP or filter it outbound" seems | simple and obvious solution to "just disable ARP or filter it | |||
like a really simple (and obvious) solution, but | outbound" is made difficult or awkward in practice by | |||
implementations / architectural issues make this difficult or | implementations and/or architectural issues. | |||
awkward in practice. | ||||
NAT | NAT | |||
Broadcasts can often be caused by outside wifi scanning / | Broadcasts can often be caused by outside Wi-Fi scanning / | |||
backscatter traffic. In order to reduce the impact of | backscatter traffic. In order to reduce the impact of | |||
broadcasts, NAT can be used on the entire (or a large portion) | broadcasts, NAT can be used on the entire (or a large portion) | |||
of a network. This would eliminate NAT translation entries for | of a network. This would eliminate NAT translation entries for | |||
unused addresses, and the router would never ARP for them. | unused addresses, and the router would never ARP for them. | |||
There are, however, many reasons to avoid using NAT in such a | There are, however, many reasons to avoid using NAT in such a | |||
blanket fashion. | blanket fashion. | |||
Stateful firewalls | Stateful firewalls | |||
Another obvious solution would be to put a stateful firewall | Another obvious solution would be to put a stateful firewall | |||
between the wireless network and the Internet. This firewall | between the wireless network and the Internet. This firewall | |||
would block incoming traffic not associated with an outbound | would block incoming traffic not associated with an outbound | |||
request. But this conflicts with the need and desire of some | request. But this conflicts with the need and desire of some | |||
organizations to have the network as open as possible and to | organizations to have the network as open as possible and to | |||
honor the end-to-end principle. An attendee on a meeting | honor the end-to-end principle. An attendee on a meeting | |||
network should be an Internet host, and should be able to | network should be an Internet host and should be able to | |||
receive unsolicited requests. Unfortunately, keeping the | receive unsolicited requests. Unfortunately, keeping the | |||
network working and stable is the first priority and a stateful | network working and stable is the first priority, and a | |||
firewall may be required in order to achieve this. | stateful firewall may be required in order to achieve this. | |||
5.2. Mitigating Spurious Service Discovery Messages | 5.2. Mitigating Spurious Service Discovery Messages | |||
In networks that must support hundreds of STAs, operators have | In networks that must support hundreds of STAs, operators have | |||
observed network degradation due to many devices simultaneously | observed network degradation due to many devices simultaneously | |||
registering with mDNS. In a network with many clients, it is | registering with mDNS. In a network with many clients, it is | |||
recommended to ensure that mDNS packets designed to discover services | recommended to ensure that mDNS packets designed to discover services | |||
in smaller home networks be constrained to avoid disrupting other | in smaller home networks be constrained to avoid disrupting other | |||
traffic. | traffic. | |||
skipping to change at page 18, line 43 ¶ | skipping to change at line 871 ¶ | |||
Many of the causes of performance degradation described in earlier | Many of the causes of performance degradation described in earlier | |||
sections are also observable for wireless media other than 802.11. | sections are also observable for wireless media other than 802.11. | |||
For instance, problems with power save, excess media occupancy, and | For instance, problems with power save, excess media occupancy, and | |||
poor reliability will also affect 802.15.3 and 802.15.4. | poor reliability will also affect 802.15.3 and 802.15.4. | |||
Unfortunately, 802.15 media specifications do not yet include | Unfortunately, 802.15 media specifications do not yet include | |||
mechanisms similar to those developed for 802.11. In fact, the | mechanisms similar to those developed for 802.11. In fact, the | |||
design philosophy for 802.15 is oriented towards minimality, with the | design philosophy for 802.15 is oriented towards minimality, with the | |||
result that many such functions are relegated to operation within | result that many such functions are relegated to operation within | |||
higher layer protocols. This leads to a patchwork of non- | higher-layer protocols. This leads to a patchwork of non- | |||
interoperable and vendor-specific solutions. See [uli] for some | interoperable and vendor-specific solutions. See [uli] for | |||
additional discussion, and a proposal for a task group to resolve | additional discussion and a proposal for a task group to resolve | |||
similar issues, in which the multicast problems might be considered | similar issues, in which the multicast problems might be considered | |||
for mitigation. | for mitigation. | |||
Similar considerations hold for most other wireless media. A brief | Similar considerations hold for most other wireless media. A brief | |||
introduction is provided in [RFC5757] for the following: | introduction is provided in [RFC5757] for the following: | |||
* 802.16 WIMAX | * 802.16 WiMAX | |||
* 3GPP/3GPP2 | * 3GPP/3GPP2 | |||
* DVB-H / DVB-IPDC | ||||
* DVB-H/DVB-IPDC | ||||
* TV Broadcast and Satellite Networks | * TV Broadcast and Satellite Networks | |||
7. Recommendations | 7. Recommendations | |||
This section provides some recommendations about the usage and | This section provides some recommendations about the usage and | |||
combinations of some of the multicast enhancements described in | combinations of some of the multicast enhancements described in | |||
Section 4 and Section 5. | Sections 4 and 5. | |||
Future protocol documents utilizing multicast signaling should be | Future protocol documents utilizing multicast signaling should be | |||
carefully scrutinized if the protocol is likely to be used over | carefully scrutinized if the protocol is likely to be used over | |||
wireless media. | wireless media. | |||
The use of proxy methods should be encouraged to conserve network | The use of proxy methods should be encouraged to conserve network | |||
bandwidth and power utilization by low-power devices. The device can | bandwidth and power utilization by low-power devices. The device can | |||
use a unicast message to its proxy, and then the proxy can take care | send a unicast message to its proxy, and then the proxy can take care | |||
of any needed multicast operations. | of any needed multicast operations. | |||
Multicast signaling for wireless devices should be done in a way | Multicast signaling for wireless devices should be done in a way that | |||
compatible with low duty-cycle operation. | is compatible with low duty-cycle operation. | |||
8. On-going Discussion Items | 8. Ongoing Discussion Items | |||
This section suggests two discussion items for further resolution. | This section suggests two discussion items for further resolution. | |||
First, standards (and private) organizations should develop | First, standards (and private) organizations should develop | |||
guidelines to help clarify when multicast packets would be better | guidelines to help clarify when multicast packets would be better | |||
served by being sent wired rather than wireless. For example, | served by being sent wired rather than wireless. For example, | |||
802.1ak (https://www.ieee802.org/1/pages/802.1ak.html) works on both | 802.1ak [IEEE802.1ak] works on both Ethernet and Wi-Fi, and | |||
ethernet and Wi-Fi and organizations could help with deployment | organizations could help with deployment decision making by | |||
decision making by developing guidelines for multicast over Wi-Fi | developing guidelines for multicast over Wi-Fi, including options for | |||
including options for when traffic should be sent wired. | when traffic should be sent wired. | |||
Second, reliable registration to Layer-2 multicast groups, and a | Second, reliable registration to Layer 2 multicast groups and a | |||
reliable multicast operation at Layer-2, might provide a good | reliable multicast operation at Layer 2 might provide a good | |||
multicast over wifi solution. There shouldn't be a need to support | multicast over Wi-Fi solution. There shouldn't be a need to support | |||
2^24 groups to get solicited node multicast working: it is possible | 2^24 groups to get solicited node multicast working: it is possible | |||
to simply select a number of bits that make sense for a given network | to simply select a number of bits that make sense for a given network | |||
size to limit the number of unwanted deliveries to reasonable levels. | size to limit the number of unwanted deliveries to reasonable levels. | |||
IEEE 802.1, 802.11, and 802.15 should be encouraged to revisit L2 | The IEEE 802.1, 802.11, and 802.15 Working Groups should be | |||
multicast issues and provide workable solutions. | encouraged to revisit Layer 2 multicast issues and provide workable | |||
solutions. | ||||
9. Security Considerations | 9. Security Considerations | |||
This document does not introduce or modify any security mechanisms. | This document does not introduce or modify any security mechanisms. | |||
Multicast deployed on wired or wireless networks as discussed in this | Multicast deployed on wired or wireless networks as discussed in this | |||
document can be made more secure in a variety of ways. [RFC4601], | document can be made more secure in a variety of ways. [RFC4601], | |||
for instance, specifies the use of IPsec to ensure authentication of | for instance, specifies the use of IPsec to ensure authentication of | |||
the link-local messages in the Protocol Independent Multicast - | the link-local messages in the Protocol Independent Multicast - | |||
Sparse Mode (PIM-SM) routing protocol. [RFC5796]specifies mechanisms | Sparse Mode (PIM-SM) routing protocol. [RFC5796] specifies | |||
to authenticate the PIM-SM link-local messages using the IP security | mechanisms to authenticate the PIM-SM link-local messages using the | |||
(IPsec) Encapsulating Security Payload (ESP) or (optionally) the | IP security (IPsec) Encapsulating Security Payload (ESP) or | |||
Authentication Header (AH). | (optionally) the Authentication Header (AH). | |||
When using mechanisms that convert multicast traffic to unicast | When using mechanisms that convert multicast traffic to unicast | |||
traffic for traversing radio links, the AP (or other entity) is | traffic for traversing radio links, the AP (or other entity) is | |||
forced to explicitly track which subscribers care about certain | forced to explicitly track which subscribers care about certain | |||
multicast traffic. This is generally a reasonable tradeoff, but does | multicast traffic. This is generally a reasonable trade-off but does | |||
result in another entity that is tracking what entities subscribe to | result in another entity that is tracking what entities subscribe to | |||
which multicast traffic. While such information is already (by | which multicast traffic. While such information is already (by | |||
necessity) tracked elsewhere, this does present an expansion of the | necessity) tracked elsewhere, this does present an expansion of the | |||
attack surface for that potentially privacy-sensitive information. | attack surface for that potentially privacy-sensitive information. | |||
As noted in [group_key], the unreliable nature of multicast | As noted in [group_key], the unreliable nature of multicast | |||
transmission over wireless media can cause subtle problems with | transmission over wireless media can cause subtle problems with | |||
multicast group key management and updates. When WPA (TKIP) or WPA2 | multicast group key management and updates. [group_key] states that | |||
(AES-CCMP) encryption is in use, AP to client (From DS) multicasts | when TKIP (WPA, now deprecated) or AES-CCMP (WPA2/WPA3) encryption is | |||
have to be encrypted with a separate encryption key that is known to | in use, AP-to-client (FromDS) multicasts have to be encrypted with a | |||
all of the clients (this is called the Group Key). Quoting further | separate encryption key that is known to all of the clients (this is | |||
from that website, "... most clients are able to get connected and | called the Group Key). Quoting further from that website, "... most | |||
surf the web, check email, etc. even when From DS multicasts are | clients are able to get connected and surf the web, check email, etc. | |||
broken. So a lot of people don't realize they have multicast | even when FromDS multicasts are broken. So a lot of people don't | |||
problems on their network..." | realize they have multicast problems on their network..." | |||
This document encourages the use of proxy methods to conserve network | This document encourages the use of proxy methods to conserve network | |||
bandwidth and power utilization by low-power devices. Such proxy | bandwidth and power utilization by low-power devices. Such proxy | |||
methods in general have security considerations that require the | methods in general have security considerations that require the | |||
proxy to be trusted to not misbehave. One such proxy method listed | proxy to be trusted to not misbehave. One such proxy method listed | |||
is an Arp Sponge which listens for ARP requests, and, if it sees an | is an ARP Sponge that listens for ARP requests, and, if it sees an | |||
ARP for an IP address that it believes is not used, it will reply | ARP for an IP address that it believes is not used, it will reply | |||
with its own MAC address. ARP poisoning and false advertising could | with its own MAC address. ARP poisoning and false advertising could | |||
potentially undermine (e.g. DoS) this, and other, proxy approaches. | potentially undermine (e.g., DoS) this and other proxy approaches. | |||
10. IANA Considerations | 10. IANA Considerations | |||
This document does not request any IANA actions. | This document has no IANA actions. | |||
11. Acknowledgements | ||||
This document has benefitted from discussions with the following | ||||
people, in alphabetical order: Mikael Abrahamsson, Bill Atwood, | ||||
Stuart Cheshire, Donald Eastlake, Toerless Eckert, Jake Holland, Joel | ||||
Jaeggli, Jan Komissar, David Lamparter, Morten Pedersen, Pascal | ||||
Thubert, Jeffrey (Zhaohui) Zhang | ||||
12. Informative References | 11. Informative References | |||
[arpsponge] | [arpsponge] | |||
Wessel, M. and N. Sijm, "Effects of IPv4 and IPv6 address | Wessel, M. and N. Sijm, "Effects of IPv4 and IPv6 address | |||
resolution on AMS-IX and the ARP Sponge", July 2009, | resolution on AMS-IX and the ARP Sponge", July 2009, | |||
<http://citeseerx.ist.psu.edu/viewdoc/ | <http://citeseerx.ist.psu.edu/viewdoc/ | |||
summary?doi=10.1.1.182.4692>. | summary?doi=10.1.1.182.4692>. | |||
[bridge-mc-2-uc] | [bridge-mc-2-uc] | |||
Fietkau, F., "bridge: multicast to unicast", January 2017, | "bridge: multicast to unicast", commit 6db6f0e, January | |||
<https://github.com/torvalds/linux/ | 2017, <https://github.com/torvalds/linux/commit/6db6f0e>. | |||
commit/6db6f0eae6052b70885562e1733896647ec1d807>. | ||||
[CAB] Fietkau, F., "Limit multicast buffer hardware queue | [CAB] "limit multicast buffer hardware queue depth", commit | |||
depth", 2013, | 2687951, June 2013, | |||
<https://patchwork.kernel.org/patch/2687951/>. | <https://patchwork.kernel.org/patch/2687951/>. | |||
[Deri-2010] | [Deri-2010] | |||
Deri, L. and J. Gasparakis, "10 Gbit Hardware Packet | Deri, L. and J. Gasparakis, "10 Gbit Hardware Packet | |||
Filtering Using Commodity Network Adapters", RIPE 61, | Filtering Using Commodity Network Adapters", RIPE 61, | |||
2010, <http://ripe61.ripe.net/ | November 2010, <http://ripe61.ripe.net/ | |||
presentations/138-Deri_RIPE_61.pdf>. | presentations/138-Deri_RIPE_61.pdf>. | |||
[dot11] "IEEE 802 Wireless", "802.11-2016 - IEEE Standard for | [dot11] IEEE, "Information Technology--Telecommunications and | |||
Information technology--Telecommunications and information | Information Exchange between Systems - Local and | |||
exchange between systems Local and metropolitan area | Metropolitan Area Networks--Specific Requirements - Part | |||
networks--Specific requirements - Part 11: Wireless LAN | 11: Wireless LAN Medium Access Control (MAC) and Physical | |||
Medium Access Control (MAC) and Physical Layer (PHY) | Layer (PHY) Specifications (includes 802.11v amendment)", | |||
Specification (includes 802.11v amendment)", March 2016, | DOI 10.1109/IEEESTD.2021.9363693, IEEE Std 802.11-2020, | |||
<http://standards.ieee.org/findstds/ | December 2020, | |||
standard/802.11-2016.html>. | <https://standards.ieee.org/standard/802_11-2020.html>. | |||
[dot11-proxyarp] | [dot11-proxyarp] | |||
Hiertz, G. R., Mestanov, F., and B. Hart, "Proxy ARP in | Hiertz, G., Mestanov, F., and B. Hart, "Proxy ARP in | |||
802.11ax", September 2015, | 802.11ax", September 2015, | |||
<https://mentor.ieee.org/802.11/dcn/15/11-15-1015-01-00ax- | <https://mentor.ieee.org/802.11/dcn/15/11-15-1015-01-00ax- | |||
proxy-arp-in-802-11ax.pptx>. | proxy-arp-in-802-11ax.pptx>. | |||
[dot11aa] "IEEE 802 Wireless", "Part 11: Wireless LAN Medium Access | [dot11aa] IEEE, "Information technology--Telecommunications and | |||
Control (MAC) and Physical Layer (PHY) Specifications | information exchange between systems Local and | |||
Amendment 2: MAC Enhancements for Robust Audio Video | metropolitan area networks--Specific requirements Part 11: | |||
Streaming", March 2012, | Wireless LAN Medium Access Control (MAC) and Physical | |||
Layer (PHY) Specifications Amendment 2: MAC Enhancements | ||||
for Robust Audio Video Streaming", | ||||
DOI 10.1109/IEEESTD.2012.6204193, IEEE Std 802.11aa-2012, | ||||
March 2012, | ||||
<https://standards.ieee.org/standard/802_11aa-2012.html>. | <https://standards.ieee.org/standard/802_11aa-2012.html>. | |||
[group_key] | [group_key] | |||
Spiff, "Why do some WiFi routers block multicast packets | "Subject: Why do some WiFi routers block multicast packets | |||
going from wired to wireless?", January 2017, | going from wired to wireless?", message to the Super User | |||
Q & A community, January 2017, | ||||
<https://superuser.com/questions/730288/why-do-some-wifi- | <https://superuser.com/questions/730288/why-do-some-wifi- | |||
routers-block-multicast-packets-going-from-wired-to- | routers-block-multicast-packets-going-from-wired-to- | |||
wireless>. | wireless>. | |||
[I-D.ietf-6lo-backbone-router] | [IEEE802.1ak] | |||
Thubert, P., Perkins, C. E., and E. Levy-Abegnoli, "IPv6 | IEEE, "Local and Metropolitan Area Networks Virtual | |||
Backbone Router", Work in Progress, Internet-Draft, draft- | Bridged Local Area Networks - Amendment 07: Multiple | |||
ietf-6lo-backbone-router-20, 23 March 2020, | Registration Protocol", DOI 10.1109/IEEESTD.2007.380667, | |||
<https://www.ietf.org/archive/id/draft-ietf-6lo-backbone- | IEEE Std 802.1ak-2007, June 2007, | |||
router-20.txt>. | <https://www.ieee802.org/1/pages/802.1ak.html>. | |||
[I-D.ietf-6tisch-architecture] | ||||
Thubert, P., "An Architecture for IPv6 over the Time- | ||||
Slotted Channel Hopping Mode of IEEE 802.15.4 (6TiSCH)", | ||||
Work in Progress, Internet-Draft, draft-ietf-6tisch- | ||||
architecture-30, 26 November 2020, | ||||
<https://www.ietf.org/archive/id/draft-ietf-6tisch- | ||||
architecture-30.txt>. | ||||
[I-D.ietf-mboned-driad-amt-discovery] | ||||
Holland, J., "DNS Reverse IP Automatic Multicast Tunneling | ||||
(AMT) Discovery", Work in Progress, Internet-Draft, draft- | ||||
ietf-mboned-driad-amt-discovery-13, 20 December 2019, | ||||
<https://www.ietf.org/archive/id/draft-ietf-mboned-driad- | ||||
amt-discovery-13.txt>. | ||||
[ietf_802-11] | [ietf_802-11] | |||
Stanley, D., "IEEE 802.11 multicast capabilities", | Stanley, D., "IEEE 802.11 multicast capabilities", | |||
November 2015, <https://mentor.ieee.org/802.11/ | November 2015, <https://mentor.ieee.org/802.11/ | |||
dcn/15/11-15-1261-03-0arc-multicast-performance- | dcn/15/11-15-1261-03-0arc-multicast-performance- | |||
optimization-features-overview-for-ietf-nov-2015.ppt>. | optimization-features-overview-for-ietf-nov-2015.ppt>. | |||
[mc-ack-mux] | ||||
Tanaka, Y., Sakai, E., Morioka, Y., Mori, M., Hiertz, G., | ||||
and S. Coffey, "Multiplexing of Acknowledgements for | ||||
Multicast Transmission", July 2015, | ||||
<https://mentor.ieee.org/802.11/dcn/15/11-15-0800-00-00ax- | ||||
multiplexing-of-acknowledgements-for-multicast- | ||||
transmission.pptx>. | ||||
[mc-prob-stmt] | [mc-prob-stmt] | |||
Abrahamsson, M. and A. Stephens, "Multicast on 802.11", | Abrahamsson, M. and A. Stephens, "Multicast on 802.11", | |||
March 2015, <https://www.iab.org/wp-content/IAB- | 2013, <https://www.iab.org/wp-content/IAB-uploads/2013/01/ | |||
uploads/2013/01/multicast-problem-statement.pptx>. | multicast-problem-statement.pptx>. | |||
[mc-props] Stephens, A., "IEEE 802.11 multicast properties", March | [mc-props] Stephens, A., "IEEE 802.11 multicast properties", | |||
2015, <https://mentor.ieee.org/802.11/ | September 2015, <https://mentor.ieee.org/802.11/ | |||
dcn/15/11-15-1161-02-0arc-802-11-multicast- | dcn/15/11-15-1161-02-0arc-802-11-multicast- | |||
properties.ppt>. | properties.ppt>. | |||
[Oliva2013] | [Oliva2013] | |||
de la Oliva, A., Serrano, P., Salvador, P., and A. Banchs, | de la Oliva, A., Serrano, P., Salvador, P., and A. Banchs, | |||
"Performance evaluation of the IEEE 802.11aa multicast | "Performance evaluation of the IEEE 802.11aa multicast | |||
mechanisms for video streaming", 2013 IEEE 14th | mechanisms for video streaming", 2013 IEEE 14th | |||
International Symposium on "A World of Wireless, Mobile | International Symposium on "A World of Wireless, Mobile | |||
and Multimedia Networks" (WoWMoM) pp. 1-9, June 2013. | and Multimedia Networks" (WoWMoM), pp. 1-9, | |||
DOI 10.1109/WoWMoM.2013.6583394, June 2013, | ||||
<https://doi.org/10.1109/WoWMoM.2013.6583394>. | ||||
[RFC0826] Plummer, D., "An Ethernet Address Resolution Protocol: Or | [RFC0826] Plummer, D., "An Ethernet Address Resolution Protocol: Or | |||
Converting Network Protocol Addresses to 48.bit Ethernet | Converting Network Protocol Addresses to 48.bit Ethernet | |||
Address for Transmission on Ethernet Hardware", STD 37, | Address for Transmission on Ethernet Hardware", STD 37, | |||
RFC 826, DOI 10.17487/RFC0826, November 1982, | RFC 826, DOI 10.17487/RFC0826, November 1982, | |||
<https://www.rfc-editor.org/info/rfc826>. | <https://www.rfc-editor.org/info/rfc826>. | |||
[RFC2131] Droms, R., "Dynamic Host Configuration Protocol", | [RFC2131] Droms, R., "Dynamic Host Configuration Protocol", | |||
RFC 2131, DOI 10.17487/RFC2131, March 1997, | RFC 2131, DOI 10.17487/RFC2131, March 1997, | |||
<https://www.rfc-editor.org/info/rfc2131>. | <https://www.rfc-editor.org/info/rfc2131>. | |||
skipping to change at page 24, line 10 ¶ | skipping to change at line 1096 ¶ | |||
[RFC4861] Narten, T., Nordmark, E., Simpson, W., and H. Soliman, | [RFC4861] Narten, T., Nordmark, E., Simpson, W., and H. Soliman, | |||
"Neighbor Discovery for IP version 6 (IPv6)", RFC 4861, | "Neighbor Discovery for IP version 6 (IPv6)", RFC 4861, | |||
DOI 10.17487/RFC4861, September 2007, | DOI 10.17487/RFC4861, September 2007, | |||
<https://www.rfc-editor.org/info/rfc4861>. | <https://www.rfc-editor.org/info/rfc4861>. | |||
[RFC4862] Thomson, S., Narten, T., and T. Jinmei, "IPv6 Stateless | [RFC4862] Thomson, S., Narten, T., and T. Jinmei, "IPv6 Stateless | |||
Address Autoconfiguration", RFC 4862, | Address Autoconfiguration", RFC 4862, | |||
DOI 10.17487/RFC4862, September 2007, | DOI 10.17487/RFC4862, September 2007, | |||
<https://www.rfc-editor.org/info/rfc4862>. | <https://www.rfc-editor.org/info/rfc4862>. | |||
[RFC5424] Gerhards, R., "The Syslog Protocol", RFC 5424, | ||||
DOI 10.17487/RFC5424, March 2009, | ||||
<https://www.rfc-editor.org/info/rfc5424>. | ||||
[RFC5757] Schmidt, T., Waehlisch, M., and G. Fairhurst, "Multicast | [RFC5757] Schmidt, T., Waehlisch, M., and G. Fairhurst, "Multicast | |||
Mobility in Mobile IP Version 6 (MIPv6): Problem Statement | Mobility in Mobile IP Version 6 (MIPv6): Problem Statement | |||
and Brief Survey", RFC 5757, DOI 10.17487/RFC5757, | and Brief Survey", RFC 5757, DOI 10.17487/RFC5757, | |||
February 2010, <https://www.rfc-editor.org/info/rfc5757>. | February 2010, <https://www.rfc-editor.org/info/rfc5757>. | |||
[RFC5796] Atwood, W., Islam, S., and M. Siami, "Authentication and | [RFC5796] Atwood, W., Islam, S., and M. Siami, "Authentication and | |||
Confidentiality in Protocol Independent Multicast Sparse | Confidentiality in Protocol Independent Multicast Sparse | |||
Mode (PIM-SM) Link-Local Messages", RFC 5796, | Mode (PIM-SM) Link-Local Messages", RFC 5796, | |||
DOI 10.17487/RFC5796, March 2010, | DOI 10.17487/RFC5796, March 2010, | |||
<https://www.rfc-editor.org/info/rfc5796>. | <https://www.rfc-editor.org/info/rfc5796>. | |||
skipping to change at page 25, line 23 ¶ | skipping to change at line 1154 ¶ | |||
"Dynamic Host Configuration Protocol for IPv6 (DHCPv6)", | "Dynamic Host Configuration Protocol for IPv6 (DHCPv6)", | |||
RFC 8415, DOI 10.17487/RFC8415, November 2018, | RFC 8415, DOI 10.17487/RFC8415, November 2018, | |||
<https://www.rfc-editor.org/info/rfc8415>. | <https://www.rfc-editor.org/info/rfc8415>. | |||
[RFC8505] Thubert, P., Ed., Nordmark, E., Chakrabarti, S., and C. | [RFC8505] Thubert, P., Ed., Nordmark, E., Chakrabarti, S., and C. | |||
Perkins, "Registration Extensions for IPv6 over Low-Power | Perkins, "Registration Extensions for IPv6 over Low-Power | |||
Wireless Personal Area Network (6LoWPAN) Neighbor | Wireless Personal Area Network (6LoWPAN) Neighbor | |||
Discovery", RFC 8505, DOI 10.17487/RFC8505, November 2018, | Discovery", RFC 8505, DOI 10.17487/RFC8505, November 2018, | |||
<https://www.rfc-editor.org/info/rfc8505>. | <https://www.rfc-editor.org/info/rfc8505>. | |||
[RFC8777] Holland, J., "DNS Reverse IP Automatic Multicast Tunneling | ||||
(AMT) Discovery", RFC 8777, DOI 10.17487/RFC8777, April | ||||
2020, <https://www.rfc-editor.org/info/rfc8777>. | ||||
[RFC8929] Thubert, P., Ed., Perkins, C.E., and E. Levy-Abegnoli, | ||||
"IPv6 Backbone Router", RFC 8929, DOI 10.17487/RFC8929, | ||||
November 2020, <https://www.rfc-editor.org/info/rfc8929>. | ||||
[RFC9030] Thubert, P., Ed., "An Architecture for IPv6 over the Time- | ||||
Slotted Channel Hopping Mode of IEEE 802.15.4 (6TiSCH)", | ||||
RFC 9030, DOI 10.17487/RFC9030, May 2021, | ||||
<https://www.rfc-editor.org/info/rfc9030>. | ||||
[Tramarin2017] | [Tramarin2017] | |||
Tramarin, F., Vitturi, S., and M. Luvisotto, "IEEE 802.11n | Tramarin, F., Vitturi, S., and M. Luvisotto, "IEEE 802.11n | |||
for Distributed Measurement Systems", 2017 IEEE | for Distributed Measurement Systems", 2017 IEEE | |||
International Instrumentation and Measurement Technology | International Instrumentation and Measurement Technology | |||
Conference (I2MTC) pp. 1-6, May 2017. | Conference (I2MTC), pp. 1-6, May 2017. | |||
[uli] Kinney, P., "LLC Proposal for 802.15.4", November 2015, | [uli] Kinney, P., "LLC Proposal for 802.15.4", September 2015, | |||
<https://mentor.ieee.org/802.15/dcn/15/15-15-0521-01-wng0- | <https://mentor.ieee.org/802.15/dcn/15/15-15-0521-01-wng0- | |||
llc-proposal-for-802-15-4.pptx>. | llc-proposal-for-802-15-4.pptx>. | |||
[v2011] IEEE, "Information technology -- Local and metropolitan | ||||
area networks -- Specific requirements -- Part 11: | ||||
Wireless LAN Medium Access Control (MAC) and Physical | ||||
Layer (PHY) specifications Amendment 8: IEEE 802.11 | ||||
Wireless Network Management", | ||||
DOI 10.1109/IEEESTD.2011.5716530, IEEE Std 802.11v-2011, | ||||
February 2011, | ||||
<https://ieeexplore.ieee.org/document/5716530>. | ||||
Acknowledgements | ||||
This document has benefitted from discussions with the following | ||||
people, in alphabetical order: Mikael Abrahamsson, Bill Atwood, | ||||
Stuart Cheshire, Donald Eastlake 3rd, Toerless Eckert, Jake Holland, | ||||
Joel Jaeggli, Jan Komissar, David Lamparter, Morten Pedersen, Pascal | ||||
Thubert, and Jeffrey (Zhaohui) Zhang. | ||||
Authors' Addresses | Authors' Addresses | |||
Charles E. Perkins | Charles E. Perkins | |||
Blue Meadow Networks | Lupin Lodge | |||
Phone: +1-408-330-4586 | Phone: +1 408 255 9223 | |||
Email: charliep@computer.org | Email: charliep@lupinlodge.com | |||
Mike McBride | Mike McBride | |||
Futurewei Technologies Inc. | Futurewei Technologies Inc. | |||
2330 Central Expressway | 2330 Central Expressway | |||
Santa Clara, CA 95055 | Santa Clara, CA 95055 | |||
United States of America | United States of America | |||
Email: michael.mcbride@futurewei.com | Email: michael.mcbride@futurewei.com | |||
Dorothy Stanley | Dorothy Stanley | |||
Hewlett Packard Enterprise | Hewlett Packard Enterprise | |||
2000 North Naperville Rd. | 6280 America Center Dr. | |||
Naperville, IL 60566 | San Jose, CA 95002 | |||
United States of America | United States of America | |||
Phone: +1 630 979 1572 | Phone: +1 630 363 1389 | |||
Email: dstanley1389@gmail.com | Email: dorothy.stanley@hpe.com | |||
Warren Kumari | Warren Kumari | |||
1600 Amphitheatre Parkway | 1600 Amphitheatre Parkway | |||
Mountain View, CA 94043 | Mountain View, CA 94043 | |||
United States of America | United States of America | |||
Email: warren@kumari.net | Email: warren@kumari.net | |||
Juan Carlos Zuniga | Juan Carlos Zuniga | |||
SIGFOX | SIGFOX | |||
425 rue Jean Rostand | Montreal | |||
31670 Labege | Canada | |||
France | ||||
Email: j.c.zuniga@ieee.org | Email: j.c.zuniga@ieee.org | |||
End of changes. 171 change blocks. | ||||
449 lines changed or deleted | 503 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/ |