idnits 2.17.1 draft-ietf-mboned-ieee802-mcast-problems-08.txt: Checking boilerplate required by RFC 5378 and the IETF Trust (see https://trustee.ietf.org/license-info): ---------------------------------------------------------------------------- No issues found here. Checking nits according to https://www.ietf.org/id-info/1id-guidelines.txt: ---------------------------------------------------------------------------- No issues found here. Checking nits according to https://www.ietf.org/id-info/checklist : ---------------------------------------------------------------------------- ** The document seems to lack a both a reference to RFC 2119 and the recommended RFC 2119 boilerplate, even if it appears to use RFC 2119 keywords. RFC 2119 keyword, line 650: '... It is RECOMMENDED that multicast-en...' Miscellaneous warnings: ---------------------------------------------------------------------------- == The copyright year in the IETF Trust and authors Copyright Line does not match the current year -- The document date (August 13, 2019) is 1689 days in the past. Is this intentional? Checking references for intended status: Informational ---------------------------------------------------------------------------- == Missing Reference: 'ICMPv6' is mentioned on line 569, but not defined == Outdated reference: A later version (-20) exists of draft-ietf-6lo-backbone-router-11 == Outdated reference: A later version (-30) exists of draft-ietf-6tisch-architecture-24 == Outdated reference: A later version (-13) exists of draft-ietf-mboned-driad-amt-discovery-08 Summary: 1 error (**), 0 flaws (~~), 5 warnings (==), 1 comment (--). Run idnits with the --verbose option for more detailed information about the items above. -------------------------------------------------------------------------------- 2 Internet Area C. Perkins 3 Internet-Draft 4 Intended status: Informational M. McBride 5 Expires: February 14, 2020 Futurewei 6 D. Stanley 7 HPE 8 W. Kumari 9 Google 10 JC. Zuniga 11 SIGFOX 12 August 13, 2019 14 Multicast Considerations over IEEE 802 Wireless Media 15 draft-ietf-mboned-ieee802-mcast-problems-08 17 Abstract 19 Well-known issues with multicast have prevented the deployment of 20 multicast in 802.11 and other local-area wireless environments. This 21 document offers guidance on known limitations and problems with 22 wireless multicast. Also described are certain multicast enhancement 23 features that have been specified by the IETF and by IEEE 802 for 24 wireless media, as well as some operational choices that can be taken 25 to improve the performace of the network. Finally, some 26 recommendations are provided about the usage and combination of these 27 features and operational choices. 29 Status of This Memo 31 This Internet-Draft is submitted in full conformance with the 32 provisions of BCP 78 and BCP 79. 34 Internet-Drafts are working documents of the Internet Engineering 35 Task Force (IETF). Note that other groups may also distribute 36 working documents as Internet-Drafts. The list of current Internet- 37 Drafts is at https://datatracker.ietf.org/drafts/current/. 39 Internet-Drafts are draft documents valid for a maximum of six months 40 and may be updated, replaced, or obsoleted by other documents at any 41 time. It is inappropriate to use Internet-Drafts as reference 42 material or to cite them other than as "work in progress." 44 This Internet-Draft will expire on February 14, 2020. 46 Copyright Notice 48 Copyright (c) 2019 IETF Trust and the persons identified as the 49 document authors. All rights reserved. 51 This document is subject to BCP 78 and the IETF Trust's Legal 52 Provisions Relating to IETF Documents 53 (https://trustee.ietf.org/license-info) in effect on the date of 54 publication of this document. Please review these documents 55 carefully, as they describe your rights and restrictions with respect 56 to this document. Code Components extracted from this document must 57 include Simplified BSD License text as described in Section 4.e of 58 the Trust Legal Provisions and are provided without warranty as 59 described in the Simplified BSD License. 61 Table of Contents 63 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 3 64 2. Terminology . . . . . . . . . . . . . . . . . . . . . . . . . 4 65 3. Identified multicast issues . . . . . . . . . . . . . . . . . 5 66 3.1. Issues at Layer 2 and Below . . . . . . . . . . . . . . . 5 67 3.1.1. Multicast reliability . . . . . . . . . . . . . . . . 5 68 3.1.2. Lower and Variable Data Rate . . . . . . . . . . . . 6 69 3.1.3. High Interference . . . . . . . . . . . . . . . . . . 7 70 3.1.4. Power-save Effects on Multicast . . . . . . . . . . . 7 71 3.2. Issues at Layer 3 and Above . . . . . . . . . . . . . . . 7 72 3.2.1. IPv4 issues . . . . . . . . . . . . . . . . . . . . . 8 73 3.2.2. IPv6 issues . . . . . . . . . . . . . . . . . . . . . 8 74 3.2.3. MLD issues . . . . . . . . . . . . . . . . . . . . . 9 75 3.2.4. Spurious Neighbor Discovery . . . . . . . . . . . . . 9 76 4. Multicast protocol optimizations . . . . . . . . . . . . . . 10 77 4.1. Proxy ARP in 802.11-2012 . . . . . . . . . . . . . . . . 10 78 4.2. IPv6 Address Registration and Proxy Neighbor Discovery . 10 79 4.3. Buffering to Improve Battery Life . . . . . . . . . . . . 12 80 4.4. Limiting multicast buffer hardware queue depth . . . . . 12 81 4.5. IPv6 support in 802.11-2012 . . . . . . . . . . . . . . . 12 82 4.6. Using Unicast Instead of Multicast . . . . . . . . . . . 13 83 4.6.1. Overview . . . . . . . . . . . . . . . . . . . . . . 13 84 4.6.2. Layer 2 Conversion to Unicast . . . . . . . . . . . . 13 85 4.6.3. Directed Multicast Service (DMS) . . . . . . . . . . 14 86 4.6.4. Automatic Multicast Tunneling (AMT) . . . . . . . . . 14 87 4.7. GroupCast with Retries (GCR) . . . . . . . . . . . . . . 15 88 5. Operational optimizations . . . . . . . . . . . . . . . . . . 15 89 5.1. Mitigating Problems from Spurious Neighbor Discovery . . 16 90 5.2. Mitigating Spurious Service Discovery Messages . . . . . 17 91 6. Multicast Considerations for Other Wireless Media . . . . . . 18 92 7. Recommendations . . . . . . . . . . . . . . . . . . . . . . . 18 93 8. Discussion Items . . . . . . . . . . . . . . . . . . . . . . 19 94 9. Security Considerations . . . . . . . . . . . . . . . . . . . 19 95 10. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 19 96 11. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . 19 97 12. Informative References . . . . . . . . . . . . . . . . . . . 20 98 Appendix A. Changes in this draft between revisions 06 versus 07 23 99 Appendix B. Changes in this draft between revisions 05 versus 06 23 100 Appendix C. Changes in this draft between revisions 04 versus 05 24 101 Appendix D. Changes in this draft between revisions 03 versus 04 24 102 Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 24 104 1. Introduction 106 Well-known issues with multicast have prevented the deployment of 107 multicast in 802.11 [dot11] and other local-area wireless 108 environments, as described in [mc-props], [mc-prob-stmt]. 109 Performance issues have been observed when multicast packet 110 transmissions of IETF protocols are used over IEEE 802 wireless 111 media. Even though enhancements for multicast transmissions have 112 been designed at both IETF and IEEE 802, incompatibilities still 113 exist between specifications, implementations and configuration 114 choices. 116 Many IETF protocols depend on multicast/broadcast for delivery of 117 control messages to multiple receivers. Multicast is used for 118 various purposes such as neighbor discovery, network flooding, 119 address resolution, as well minimizing media occupancy for the 120 transmission of data that is intended for multiple receivers. In 121 addition to protocol use of broadcast/multicast for control messages, 122 more applications, such as push to talk in hospitals, or video in 123 enterprises, universities, and homes, are sending multicast IP to end 124 user devices, which are increasingly using Wi-Fi for their 125 connectivity. 127 IETF protocols typically rely on network protocol layering in order 128 to reduce or eliminate any dependence of higher level protocols on 129 the specific nature of the MAC layer protocols or the physical media. 130 In the case of multicast transmissions, higher level protocols have 131 traditionally been designed as if transmitting a packet to an IP 132 address had the same cost in interference and network media access, 133 regardless of whether the destination IP address is a unicast address 134 or a multicast or broadcast address. This model was reasonable for 135 networks where the physical medium was wired, like Ethernet. 136 Unfortunately, for many wireless media, the costs to access the 137 medium can be quite different. Multicast over Wi-Fi has often been 138 plagued by such poor performance that it is disallowed. Some 139 enhancements have been designed in IETF protocols that are assumed to 140 work primarily over wireless media. However, these enhancements are 141 usually implemented in limited deployments and not widespread on most 142 wireless networks. 144 IEEE 802 wireless protocols have been designed with certain features 145 to support multicast traffic. For instance, lower modulations are 146 used to transmit multicast frames, so that these can be received by 147 all stations in the cell, regardless of the distance or path 148 attenuation from the base station or access point. However, these 149 lower modulation transmissions occupy the medium longer; they hamper 150 efficient transmission of traffic using higher order modulations to 151 nearby stations. For these and other reasons, IEEE 802 working 152 groups such as 802.11 have designed features to improve the 153 performance of multicast transmissions at Layer 2 [ietf_802-11]. In 154 addition to protocol design features, certain operational and 155 configuration enhancements can ameliorate the network performance 156 issues created by multicast traffic, as described in Section 5. 158 There seems to be general agreement that these problems will not be 159 fixed anytime soon, primarily because it's expensive to do so, and 160 multicast is unreliable. Compared to unicast over Wi-Fi, multicast 161 is often treated as somewhat a second class citizen, even though 162 there are many protocols using multicast. Something needs to be 163 provided in order to make them more reliable. IPv6 neighbor 164 discovery saturating the Wi-Fi link is only part of the problem. Wi- 165 Fi traffic classes may help. This document is intended to help make 166 the determination about what problems should be solved by the IETF 167 and what problems should be solved by the IEEE (see Section 8). 169 This document details various problems caused by multicast 170 transmission over wireless networks, including high packet error 171 rates, no acknowledgements, and low data rate. It also explains some 172 enhancements that have been designed at IETF and IEEE 802 to 173 ameliorate the effects of multicast traffic. Recommendations are 174 also provided to implementors about how to use and combine these 175 enhancements. Some advice about the operational choices that can be 176 taken is also included. It is likely that this document will also be 177 considered relevant to designers of future IEEE wireless 178 specifications. 180 2. Terminology 182 This document uses the following definitions: 184 ACK 185 The 802.11 layer 2 acknowledgement 187 AP 188 IEEE 802.11 Access Point 190 basic rate 191 The slowest rate of all the connected devices, at which multicast 192 and broadcast traffic is generally transmitted 194 DTIM 195 Delivery Traffic Indication Map (DTIM): An information element 196 that advertises whether or not any associated stations have 197 buffered multicast or broadcast frames 199 MCS 200 Modulation and Coding Scheme 202 NOC 203 Network Operations Center 205 PER 206 Packet Error Rate 208 STA 209 802.11 station (e.g. handheld device) 211 TIM 212 Traffic Indication Map (TIM): An information element that 213 advertises whether or not any associated stations have buffered 214 unicast frames 216 3. Identified multicast issues 218 3.1. Issues at Layer 2 and Below 220 In this section some of the issues related to the use of multicast 221 transmissions over IEEE 802 wireless technologies are described. 223 3.1.1. Multicast reliability 225 Multicast traffic is typically much less reliable than unicast 226 traffic. Since multicast makes point-to-multipoint communications, 227 multiple acknowledgements would be needed to guarantee reception at 228 all recipients. Since typically there are no ACKs for multicast 229 packets, it is not possible for the Access Point (AP) to know whether 230 or not a retransmission is needed. Even in the wired Internet, this 231 characteristic often causes undesirably high error rates. This has 232 contributed to the relatively slow uptake of multicast applications 233 even though the protocols have long been available. The situation 234 for wireless links is much worse, and is quite sensitive to the 235 presence of background traffic. Consequently, there can be a high 236 packet error rate (PER) due to lack of retransmission, and because 237 the sender never backs off. It is not uncommon for there to be a 238 packet loss rate of 5% or more, which is particularly troublesome for 239 video and other environments where high data rates and high 240 reliability are required. 242 3.1.2. Lower and Variable Data Rate 244 Multicast over wired differs from multicast over wireless because 245 transmission over wired links often occurs at a fixed rate. Wi-Fi, 246 on the other hand, has a transmission rate that varies depending upon 247 the STA's proximity to the AP. The throughput of video flows, and 248 the capacity of the broader Wi-Fi network, will change and will 249 impact the ability for QoS solutions to effectively reserve bandwidth 250 and provide admission control. 252 For wireless stations associated with an Access Point, the power 253 necessary for good reception can vary from station to station. For 254 unicast, the goal is to minimize power requirements while maximizing 255 the data rate to the destination. For multicast, the goal is simply 256 to maximize the number of receivers that will correctly receive the 257 multicast packet; generally the Access Point has to use a much lower 258 data rate at a power level high enough for even the farthest station 259 to receive the packet, for example as briefly mentioned in [RFC5757]. 260 Consequently, the data rate of a video stream, for instance, would be 261 constrained by the environmental considerations of the least reliable 262 receiver associated with the Access Point. 264 Because more robust modulation and coding schemes (MCSs) have longer 265 range but also lower data rate, multicast / broadcast traffic is 266 generally transmitted at the slowest rate of all the connected 267 devices, also known as the basic rate. The amount of additional 268 interference depends on the specific wireless technology. In fact 269 backward compatibility and multi-stream implementations mean that the 270 maximum unicast rates are currently up to a few Gb/s, so there can be 271 a more than 3 orders of magnitude difference in the transmission rate 272 between multicast / broadcast versus optimal unicast forwarding. 273 Some techinues employed to increase spectral efficiency, such as 274 spatial multiplexing in mimo systems, are not available with more 275 than one intended reciever; it is not the case that backwards 276 compatibility is the only factor responsible for lower multicast 277 transmission rates. 279 Wired multicast also affects wireless LANs when the AP extends the 280 wired segment; in that case, multicast / broadcast frames on the 281 wired LAN side are copied to WLAN. Since broadcast messages are 282 transmitted at the most robust MCS, many large frames are sent at a 283 slow rate over the air. 285 3.1.3. High Interference 287 Transmissions at a lower rate require longer occupancy of the 288 wireless medium and thus take away from the airtime of other 289 communications and degrade the overall capacity. Furthermore, 290 transmission at higher power, as is required to reach all multicast 291 STAs associated to the AP, proportionately increases the area of 292 interference. 294 3.1.4. Power-save Effects on Multicast 296 One of the characteristics of multicast transmission is that every 297 station has to be configured to wake up to receive the multicast, 298 even though the received packet may ultimately be discarded. This 299 process can have a large effect on the power consumption by the 300 multicast receiver station. 302 Multicast can work poorly with the power-save mechanisms defined in 303 IEEE 802.11e, for the following reasons. 305 o Clients may be unable to stay in sleep mode due to multicast 306 control packets frequently waking them up. 307 o Both unicast and multicast traffic can be delayed by power-saving 308 mechanisms. 309 o A unicast packet is delayed until an STA wakes up and requests it. 310 Unicast traffic may also be delayed to improve power save, 311 efficiency and increase probability of aggregation. 312 o Multicast traffic is delayed in a wireless network if any of the 313 STAs in that network are power savers. All STAs associated to the 314 AP have to be awake at a known time to receive multicast traffic. 315 o Packets can also be discarded due to buffer limitations in the AP 316 and non-AP STA. 318 3.2. Issues at Layer 3 and Above 320 This section identifies some representative IETF protocols, and 321 describes possible negative effects due to performance degradation 322 when using multicast transmissions for control messages. Common uses 323 of multicast include: 325 o Control plane signaling 326 o Neighbor Discovery 327 o Address Resolution 328 o Service discovery 329 o Applications (video delivery, stock data, etc.) 330 o On-demand routing 331 o Backbone construction 332 o Other L3 protocols (non-IP) 333 User Datagram Protocol (UDP) is the most common transport layer 334 protocol for multicast applications. By itself, UDP is not reliable 335 -- messages may be lost or delivered out of order. 337 3.2.1. IPv4 issues 339 The following list contains some representative multicast protocols 340 that are used with IPv4. 342 o ARP 343 o DHCP 344 o mDNS [RFC6762] 345 o uPnP [RFC6970] 347 After initial configuration, ARP and DHCP occur much less commonly, 348 but service discovery can occur at any time. Some widely-deployed 349 service discovery protocols (e.g., for finding a printer) utilize 350 mDNS (i.e., multicast). It's often the first service that operators 351 drop. Even if multicast snooping is utilized, many devices can 352 register at once and cause serious network degradation. 354 3.2.2. IPv6 issues 356 IPv6 makes extensive use of multicast, including the following: 358 o DHCPv6 359 o IPv6 Neighbor Discovery Protocol (NDP) 360 o Duplicate Address Detection (DAD) 361 o Address Resolution 362 o Service Discovery 363 o Route Discovery 364 o Decentralized Address Assignment 365 o Geographic routing 367 IPv6 NDP Neighbor Solicitation (NS) messages used in DAD and Address 368 Lookup make use of Link-Scope multicast. In contrast to IPv4, an 369 IPv6 node will typically use multiple addresses, and may change them 370 often for privacy reasons. This intensifies the impact of multicast 371 messages that are associated to the mobility of a node. Router 372 advertisement (RA) messages are also periodically multicasted over 373 the Link. 375 Neighbors may be considered lost if several consecutive Neighbor 376 Discovery packets fail. 378 3.2.3. MLD issues 380 Multicast Listener Discovery(MLD) [RFC4541] is often used to identify 381 members of a multicast group that are connected to the ports of a 382 switch. Forwarding multicast frames into a Wi-Fi-enabled area can 383 use such switch support for hardware forwarding state information. 384 However, since IPv6 makes heavy use of multicast, each STA with an 385 IPv6 address will require state on the switch for several and 386 possibly many multicast solicited-node addresses. Multicast 387 addresses that do not have forwarding state installed (perhaps due to 388 hardware memory limitations on the switch) cause frames to be flooded 389 on all ports of the switch. 391 3.2.4. Spurious Neighbor Discovery 393 On the Internet there is a "background radiation" of scanning traffic 394 (people scanning for vulnerable machines) and backscatter (responses 395 from spoofed traffic, etc). This means that routers very often 396 receive packets destined for IP addresses regardless of whether those 397 IP addresses are in use. In the cases where the IP is assigned to a 398 host, the router broadcasts an ARP request, gets back an ARP reply, 399 and caches it; then traffic can be delivered to the host. When the 400 IP address is not in use, the router broadcasts one (or more) ARP 401 requests, and never gets a reply. This means that it does not 402 populate the ARP cache, and the next time there is traffic for that 403 IP address the router will rebroadcast the ARP requests. 405 The rate of these ARP requests is proportional to the size of the 406 subnets, the rate of scanning and backscatter, and how long the 407 router keeps state on non-responding ARPs. As it turns out, this 408 rate is inversely proportional to how occupied the subnet is (valid 409 ARPs end up in a cache, stopping the broadcasting; unused IPs never 410 respond, and so cause more broadcasts). Depending on the address 411 space in use, the time of day, how occupied the subnet is, and other 412 unknown factors, on the order of 2000 broadcasts per second have been 413 observed, for instance at the NOCs during IETF face-to-face meetings. 415 On a wired network, there is not a huge difference between unicast, 416 multicast and broadcast traffic. Due to hardware filtering (see, 417 e.g., [Deri-2010]), inadvertently flooded traffic (or excessive 418 ethernet multicast) on wired networks can be quite a bit less costly, 419 compared to wireless cases where sleeping devices have to wake up to 420 process packets. Wired Ethernets tend to be switched networks, 421 further reducing interference from multicast. There is effectively 422 no collision / scheduling problem except at extremely high port 423 utilizations. 425 This is not true in the wireless realm; wireless equipment is often 426 unable to send high volumes of broadcast and multicast traffic, 427 causing numerous broadcast and multicast packets to be dropped. 428 Consequently, when a host connects it is often not able to complete 429 DHCP, and IPv6 RAs get dropped, leading to users being unable to use 430 the network. 432 4. Multicast protocol optimizations 434 This section lists some optimizations that have been specified in 435 IEEE 802 and IETF that are aimed at reducing or eliminating the 436 issues discussed in Section 3. 438 4.1. Proxy ARP in 802.11-2012 440 The AP knows the MAC address and IP address for all associated STAs. 441 In this way, the AP acts as the central "manager" for all the 802.11 442 STAs in its BSS. Proxy ARP is easy to implement at the AP, and 443 offers the following advantages: 445 o Reduced broadcast traffic (transmitted at low MCS) on the wireless 446 medium 447 o STA benefits from extended power save in sleep mode, as ARP 448 requests for STA's IP address are handled instead by the AP. 449 o ARP frames are kept off the wireless medium. 450 o No changes are needed to STA implementation. 452 Here is the specification language as described in clause 10.23.13 of 453 [dot11-proxyarp]: 455 When the AP supports Proxy ARP "[...] the AP shall maintain a 456 Hardware Address to Internet Address mapping for each associated 457 station, and shall update the mapping when the Internet Address of 458 the associated station changes. When the IPv4 address being 459 resolved in the ARP request packet is used by a non-AP STA 460 currently associated to the BSS, the proxy ARP service shall 461 respond on behalf of the non-AP STA". 463 4.2. IPv6 Address Registration and Proxy Neighbor Discovery 465 As used in this section, a Low-Power Wireless Personal Area Network 466 (6LoWPAN) denotes a low power lossy network (LLN) that supports 467 6LoWPAN Header Compression (HC) [RFC6282]. A 6TiSCH network 468 [I-D.ietf-6tisch-architecture] is an example of a 6LowPAN. In order 469 to control the use of IPv6 multicast over 6LoWPANs, the 6LoWPAN 470 Neighbor Discovery (6LoWPAN ND) [RFC6775] standard defines an address 471 registration mechanism that relies on a central registry to assess 472 address uniqueness, as a substitute to the inefficient Duplicate 473 Address Detection (DAD) mechanism found in the mainstream IPv6 474 Neighbor Discovery Protocol (NDP) [RFC4861][RFC4862]. 476 The 6lo Working Group has specified an update [RFC8505] to RFC6775. 477 Wireless devices can register their address to a Backbone Router 478 [I-D.ietf-6lo-backbone-router], which proxies for the registered 479 addresses with the IPv6 NDP running on a high speed aggregating 480 backbone. The update also enables a proxy registration mechanism on 481 behalf of the registered node, e.g. by a 6LoWPAN router to which the 482 mobile node is attached. 484 The general idea behind the backbone router concept is that broadcast 485 and multicast messaging should be tightly controlled in a variety of 486 Wireless Local Area Networks (WLANs) and Wireless Personal Area 487 Networks (WPANs). Connectivity to a particular link that provides 488 the subnet should be left to Layer-3. The model for the Backbone 489 Router operation is represented in Figure 1. 491 | 492 +-----+ 493 | | Gateway (default) router 494 | | 495 +-----+ 496 | 497 | Backbone Link 498 +--------------------+------------------+ 499 | | | 500 +-----+ +-----+ +-----+ 501 | | Backbone | | Backbone | | Backbone 502 | | router 1 | | router 2 | | router 3 503 +-----+ +-----+ +-----+ 504 o o o o o o 505 o o o o o o o o o o o o o o 506 o o o o o o o o o o o o o o o 507 o o o o o o o o o o 508 o o o o o o o 510 LLN 1 LLN 2 LLN 3 512 Figure 1: Backbone Link and Backbone Routers 514 LLN nodes can move freely from an LLN anchored at one IPv6 Backbone 515 Router to an LLN anchored at another Backbone Router on the same 516 backbone, keeping any of the IPv6 addresses they have configured. 517 The Backbone Routers maintain a Binding Table of their Registered 518 Nodes, which serves as a distributed database of all the LLN Nodes. 519 An extension to the Neighbor Discovery Protocol is introduced to 520 exchange Binding Table information across the Backbone Link as needed 521 for the operation of IPv6 Neighbor Discovery. 523 RFC6775 and follow-on work [RFC8505] address the needs of LLNs, and 524 similar techniques are likely to be valuable on any type of link 525 where sleeping devices are attached, or where the use of broadcast 526 and multicast operations should be limited. 528 4.3. Buffering to Improve Battery Life 530 Methods have been developed to help save battery life; for example, a 531 device might not wake up when the AP receives a multicast packet. 532 The AP acts on behalf of STAs in various ways. To enable use of the 533 power-saving feature for STAs in its BSS, the AP buffers frames for 534 delivery to the STA at the time when the STA is scheduled for 535 reception. If an AP, for instance, expresses a DTIM (Delivery 536 Traffic Indication Message) of 3 then the AP will send a multicast 537 packet every 3 packets. In fact, when any single wireless STA 538 associated with an access point has 802.11 power-save mode enabled, 539 the access point buffers all multicast frames and sends them only 540 after the next DTIM beacon. 542 In practice, most AP's will send a multicast every 30 packets. For 543 unicast the AP could send a TIM (Traffic Indication Message), but for 544 multicast the AP sends a broadcast to everyone. DTIM does power 545 management but STAs can choose whether or not to wake up or not and 546 whether or not to drop the packet. Unfortunately, without proper 547 administrative control, such STAs may be unable to determine why 548 their multicast operations do not work. 550 4.4. Limiting multicast buffer hardware queue depth 552 The CAB (Content after Beacon) queue is used for beacon-triggered 553 transmission of buffered multicast frames. If lots of multicast 554 frames were buffered, and this queue fills up, it drowns out all 555 regular traffic. To limit the damage that buffered traffic can do, 556 some drivers limit the amount of queued multicast data to a fraction 557 of the beacon_interval. An example of this is [CAB]. 559 4.5. IPv6 support in 802.11-2012 561 IPv6 uses Neighbor Discovery Protocol (NDP) instead of ARP. Every 562 IPv6 node subscribes to a special multicast address for this purpose. 564 Here is the specification language from clause 10.23.13 of 565 [dot11-proxyarp]: 567 "When an IPv6 address is being resolved, the Proxy Neighbor 568 Discovery service shall respond with a Neighbor Advertisement 569 message [...] on behalf of an associated STA to an [ICMPv6] 570 Neighbor Solicitation message [...]. When MAC address mappings 571 change, the AP may send unsolicited Neighbor Advertisement 572 Messages on behalf of a STA." 574 NDP may be used to request additional information 576 o Maximum Transmission Unit 577 o Router Solicitation 578 o Router Advertisement, etc. 580 NDP messages are sent as group addressed (broadcast) frames in 581 802.11. Using the proxy operation helps to keep NDP messages off the 582 wireless medium. 584 4.6. Using Unicast Instead of Multicast 586 It is often possible to transmit multicast control and data messages 587 by using unicast transmissions to each station individually. 589 4.6.1. Overview 591 In many situations, it's a good choice to use unicast instead of 592 multicast over the Wi-Fi link. This avoids most of the problems 593 specific to multicast over Wi-Fi, since the individual frames are 594 then acknowledged and buffered for power save clients, in the way 595 that unicast traffic normally operates. 597 This approach comes with the tradeoff of sometimes sending the same 598 packet multiple times over the Wi-Fi link. However, in many cases, 599 such as video into a residential home network, this can be a good 600 tradeoff, since the Wi-Fi link may have enough capacity for the 601 unicast traffic to be transmitted to each subscribed STA, even though 602 multicast addressing may have been necessary for the upstream access 603 network. 605 Several technologies exist that can be used to arrange unicast 606 transport over the Wi-Fi link, outlined in the subsections below. 608 4.6.2. Layer 2 Conversion to Unicast 610 It is often possible to transmit multicast control and data messages 611 by using unicast transmissions to each station individually. 613 Although there is not yet a standardized method of conversion, at 614 least one widely available implementation exists in the Linux 615 bridging code [bridge-mc-2-uc]. Other proprietary implementations 616 are available from various vendors. In general, these 617 implementations perform a straightforward mapping for groups or 618 channels, discovered by IGMP or MLD snooping, to the corresponding 619 unicast MAC addresses. 621 4.6.3. Directed Multicast Service (DMS) 623 There are situations where more is needed than simply converting 624 multicast to unicast. For these purposes, DMS enables an STA to 625 request that the AP transmit multicast group addressed frames 626 destined to the requesting STAs as individually addressed frames 627 [i.e., convert multicast to unicast]. Here are some characteristics 628 of DMS: 630 o Requires 802.11n A-MSDUs 631 o Individually addressed frames are acknowledged and are buffered 632 for power save STAs 633 o The requesting STA may specify traffic characteristics for DMS 634 traffic 635 o DMS was defined in IEEE Std 802.11v-2011 636 o DMS requires changes to both AP and STA implementation. 638 DMS is not currently implemented in products. See [Tramarin2017] and 639 [Oliva2013] for more information. 641 4.6.4. Automatic Multicast Tunneling (AMT) 643 AMT[RFC7450] provides a method to tunnel multicast IP packets inside 644 unicast IP packets over network links that only support unicast. 645 When an operating system or application running on an STA has an AMT 646 gateway capability integrated, it's possible to use unicast to 647 traverse the Wi-Fi link by deploying an AMT relay in the non-Wi-Fi 648 portion of the network connected to the AP. 650 It is RECOMMENDED that multicast-enabled networks deploying AMT 651 relays for this purpose make the relays locally discoverable with the 652 following methods, as described in 653 [I-D.ietf-mboned-driad-amt-discovery]: 655 o DNS-SD [RFC6763] 656 o the well-known IP addresses from Section 7 of [RFC7450] 658 An AMT gateway that implements multiple standard discovery methods is 659 more likely to discover the local multicast-capable network, instead 660 of forming a connection to an AMT relay further upstream. 662 4.7. GroupCast with Retries (GCR) 664 GCR (defined in [dot11aa]) provides greater reliability by using 665 either unsolicited retries or a block acknowledgement mechanism. GCR 666 increases probability of broadcast frame reception success, but still 667 does not guarantee success. 669 For the block acknowledgement mechanism, the AP transmits each group 670 addressed frame as conventional group addressed transmission. 671 Retransmissions are group addressed, but hidden from non-11aa STAs. 672 A directed block acknowledgement scheme is used to harvest reception 673 status from receivers; retransmissions are based upon these 674 responses. 676 GCR is suitable for all group sizes including medium to large groups. 677 As the number of devices in the group increases, GCR can send block 678 acknowledgement requests to only a small subset of the group. GCR 679 does require changes to both AP and STA implementation. 681 GCR may introduce unacceptable latency. After sending a group of 682 data frames to the group, the AP has do the following: 684 o unicast a Block Ack Request (BAR) to a subset of members. 685 o wait for the corresponding Block Ack (BA). 686 o retransmit any missed frames. 687 o resume other operations that may have been delayed. 689 This latency may not be acceptable for some traffic. 691 There are ongoing extensions in 802.11 to improve GCR performance. 693 o BAR is sent using downlink MU-MIMO (note that downlink MU-MIMO is 694 already specified in 802.11-REVmc 4.3). 695 o BA is sent using uplink MU-MIMO (which is a .11ax feature). 696 o Additional 802.11ax extensions are under consideration; see 697 [mc-ack-mux] 698 o Latency may also be reduced by simultaneously receiving BA 699 information from multiple STAs. 701 5. Operational optimizations 703 This section lists some operational optimizations that can be 704 implemented when deploying wireless IEEE 802 networks to mitigate the 705 issues discussed in Section 3. 707 5.1. Mitigating Problems from Spurious Neighbor Discovery 709 ARP Sponges 711 An ARP Sponge sits on a network and learn which IP addresses 712 are actually in use. It also listen for ARP requests, and, if 713 it sees an ARP for an IP address that it believes is not used, 714 it will reply with its own MAC address. This means that the 715 router now has an IP to MAC mapping, which it caches. If that 716 IP is later assigned to an machine (e.g using DHCP), the ARP 717 sponge will see this, and will stop replying for that address. 718 Gratuitous ARPs (or the machine ARPing for its gateway) will 719 replace the sponged address in the router ARP table. This 720 technique is quite effective; but, unfortunately, the ARP 721 sponge daemons were not really designed for this use (one of 722 the most widely deployed arp sponges [arpsponge], was designed 723 to deal with the disappearance of participants from an IXP) and 724 so are not optimized for this purpose. One daemon is needed 725 per subnet, the tuning is tricky (the scanning rate versus the 726 population rate versus retires, etc.) and sometimes the daemons 727 just seem to stop, requiring a restart of the daemon and 728 causing disruption. 730 Router mitigations 732 Some routers (often those based on Linux) implement a "negative 733 ARP cache" daemon. Simply put, if the router does not see a 734 reply to an ARP it can be configured to cache this information 735 for some interval. Unfortunately, the core routers in use 736 often do not support this. When a host connects to network and 737 gets an IP address, it will ARP for its default gateway (the 738 router). The router will update its cache with the IP to host 739 MAC mapping learnt from the request (passive ARP learning). 741 Firewall unused space 743 The distribution of users on wireless networks / subnets 744 changes from one IETF meeting to the next (e.g SSIDs are 745 renamed, some SSIDs lose favor, etc). This makes utilization 746 for particular SSIDs difficult to predict ahead of time, but 747 usage can be monitored as attendees use the different networks. 748 Configuring multiple DHCP pools per subnet, and enabling them 749 sequentially, can create a large subnet, from which only 750 addresses in the lower portions are assigned. Therefore input 751 IP access lists can be applied, which deny traffic to the 752 upper, unused portions. Then the router does not attempt to 753 forward packets to the unused portions of the subnets, and so 754 does not ARP for it. This method has proven to be very 755 effective, but is somewhat of a blunt axe, is fairly labor 756 intensive, and requires coordination. 758 Disabling/filtering ARP requests 760 In general, the router does not need to ARP for hosts; when a 761 host connects, the router can learn the IP to MAC mapping from 762 the ARP request sent by that host. Consequently it should be 763 possible to disable and / or filter ARP requests from the 764 router. Unfortunately, ARP is a very low level / fundamental 765 part of the IP stack, and is often offloaded from the normal 766 control plane. While many routers can filter layer-2 traffic, 767 this is usually implemented as an input filter and / or has 768 limited ability to filter output broadcast traffic. This means 769 that the simple "just disable ARP or filter it outbound" seems 770 like a really simple (and obvious) solution, but 771 implementations / architectural issues make this difficult or 772 awkward in practice. 774 NAT 776 The broadcasts are overwhelmingly being caused by outside 777 scanning / backscatter traffic. To NAT the entire (or a large 778 portion) of the attendee networks would eliminate NAT 779 translation entries for unused addresses, and so the router 780 would never ARP for them. However, there are many reasons to 781 avoid using NAT in such a blanket fashion. 783 Stateful firewalls 785 Another obvious solution would be to put a stateful firewall 786 between the wireless network and the Internet. This firewall 787 would block incoming traffic not associated with an outbound 788 request. But this conflicts with the need and desire of the 789 IETF and other organizations to have the network as open as 790 possible and to honor the end-to-end principle. An attendee on 791 the meeting network should be an Internet host, and should be 792 able to receive unsolicited requests. Unfortunately, keeping 793 the network working and stable is the first priority and a 794 stateful firewall may be required in order to achieve this. 796 5.2. Mitigating Spurious Service Discovery Messages 798 In networks that must support hundreds of STAs, operators have 799 observed network degradation due to many devices simultaneously 800 registering with mDNS. In a network with many clients, it is 801 recommended to ensure that mDNS packets designed to discover 802 services in smaller home networks be constrained to avoid 803 disrupting other traffic. 805 6. Multicast Considerations for Other Wireless Media 807 Many of the causes of performance degradation described in earlier 808 sections are also observable for wireless media other than 802.11. 810 For instance, problems with power save, excess media occupancy, and 811 poor reliability will also affect 802.15.3 and 802.15.4. 812 Unfortunately, 802.15 media specifications do not yet include 813 mechanisms similar to those developed for 802.11. In fact, the 814 design philosophy for 802.15 is oriented towards minimality, with the 815 result that many such functions are relegated to operation within 816 higher layer protocols. This leads to a patchwork of non- 817 interoperable and vendor-specific solutions. See [uli] for some 818 additional discussion, and a proposal for a task group to resolve 819 similar issues, in which the multicast problems might be considered 820 for mitigation. 822 Similar considerations hold for most other wireless media. A brief 823 introduction is provided in [RFC5757] for the following: 825 o 802.16 WIMAX 826 o 3GPP/3GPP2 827 o DVB-H / DVB-IPDC 828 o TV Broadcast and Satellite Networks 830 7. Recommendations 832 This section will provide some recommendations about the usage and 833 combinations of the multicast enhancements described in Section 4 and 834 Section 5. 836 Future protocol documents utilizing multicast signaling should be 837 carefully scrutinized if the protocol is likely to be used over 838 wireless media. 840 Proxy methods should be encouraged to conserve network bandwidth and 841 power utilization by low-power devices. The device can use a unicast 842 message to its proxy, and then the proxy can take care of any needed 843 multicast operations. 845 Multicast signaling for wireless devices should be done in a way 846 compatible with low duty-cycle operation. 848 8. Discussion Items 850 This section suggests two discussion items for further resolution. 852 The IETF should determine guidelines by which it may be decided that 853 multicast packets are to be sent wired. For example, 802.1ak works 854 on ethernet and Wi-Fi. 802.1ak has been pulled into 802.1Q as of 855 802.1Q-2011. 802.1Q-2014 can be found here: 856 http://www.ieee802.org/1/pages/802.1Q-2014.html. If a generic 857 solution is not found, guidelines for multicast over Wi-Fi should be 858 established. 860 Reliable registration to Layer-2 multicast groups and a reliable 861 multicast operation at Layer-2 might provide a generic solution. 862 There is no need to support 2^24 groups to get solicited node 863 multicast working: it is possible to simply select a number of 864 trailing bits that make sense for a given network size to limit the 865 number of unwanted deliveries to reasonable levels. IEEE 802.1, 866 802.11, and 802.15 should be encouraged to revisit L2 multicast 867 issues. In reality, Wi-Fi provides a broadcast service, not a 868 multicast service. On the physical medium, all frames are broadcast 869 except in very unusual cases in which special beamforming 870 transmitters are used. Unicast offers the advantage of being much 871 faster (2 orders of magnitude) and much more reliable (L2 ARQ). 873 9. Security Considerations 875 This document does not introduce or modify any security mechanisms. 877 As noted in [group_key], the unreliable nature of multicast 878 transmission over wireless media can cause subtle problems with 879 multicast group key management and updates. Quoting from that 880 website, "... most clients are able to get connected and surf the 881 web, check email, etc. even when FromDS multicasts are broken. So a 882 lot of people don't realize they have multicast problems on their 883 network..." 885 10. IANA Considerations 887 This document does not request any IANA actions. 889 11. Acknowledgements 891 This document has benefitted from discussions with the following 892 people, in alphabetical order: Mikael Abrahamsson, Bill Atwood, 893 Stuart Cheshire, Donald Eastlake, Toerless Eckert, Jake Holland, Joel 894 Jaeggli, Jan Komissar, David Lamparter, Morten Pedersen, Pascal 895 Thubert, Jeffrey (Zhaohui) Zhang 897 12. Informative References 899 [arpsponge] 900 Wessel, M. and N. Sijm, "Effects of IPv4 and IPv6 address 901 resolution on AMS-IX and the ARP Sponge", July 2009, 902 . 905 [bridge-mc-2-uc] 906 Fietkau, F., "bridge: multicast to unicast", Jan 2017, 907 . 910 [CAB] Fietkau, F., "Limit multicast buffer hardware queue 911 depth", 2013, 912 . 914 [Deri-2010] 915 Deri, L. and J. Gasparakis, "10 Gbit Hardware Packet 916 Filtering Using Commodity Network Adapters", RIPE 61, 917 2010, . 920 [dot11] "IEEE 802 Wireless", "802.11-2016 - IEEE Standard for 921 Information technology--Telecommunications and information 922 exchange between systems Local and metropolitan area 923 networks--Specific requirements - Part 11: Wireless LAN 924 Medium Access Control (MAC) and Physical Layer (PHY) 925 Specification (includes 802.11v amendment)", March 2016, 926 . 929 [dot11-proxyarp] 930 Hiertz, G., Mestanov, F., and B. Hart, "Proxy ARP in 931 802.11ax", September 2015, 932 . 935 [dot11aa] "IEEE 802 Wireless", "Part 11: Wireless LAN Medium Access 936 Control (MAC) and Physical Layer (PHY) Specifications 937 Amendment 2: MAC Enhancements for Robust Audio Video 938 Streaming", March 2012, 939 . 942 [group_key] 943 Spiff, ""Why do some WiFi routers block multicast packets 944 going from wired to wireless?"", Jan 2017, 945 . 949 [I-D.ietf-6lo-backbone-router] 950 Thubert, P., Perkins, C., and E. Levy-Abegnoli, "IPv6 951 Backbone Router", draft-ietf-6lo-backbone-router-11 (work 952 in progress), February 2019. 954 [I-D.ietf-6tisch-architecture] 955 Thubert, P., "An Architecture for IPv6 over the TSCH mode 956 of IEEE 802.15.4", draft-ietf-6tisch-architecture-24 (work 957 in progress), July 2019. 959 [I-D.ietf-mboned-driad-amt-discovery] 960 Holland, J., "DNS Reverse IP AMT Discovery", draft-ietf- 961 mboned-driad-amt-discovery-08 (work in progress), June 962 2019. 964 [ietf_802-11] 965 Stanley, D., "IEEE 802.11 multicast capabilities", Nov 966 2015, . 970 [mc-ack-mux] 971 Tanaka, Y., Sakai, E., Morioka, Y., Mori, M., Hiertz, G., 972 and S. Coffey, "Multiplexing of Acknowledgements for 973 Multicast Transmission", July 2015, 974 . 978 [mc-prob-stmt] 979 Abrahamsson, M. and A. Stephens, "Multicast on 802.11", 980 March 2015, . 983 [mc-props] 984 Stephens, A., "IEEE 802.11 multicast properties", March 985 2015, . 989 [Oliva2013] 990 de la Oliva, A., Serrano, P., Salvador, P., and A. Banchs, 991 "Performance evaluation of the IEEE 802.11aa multicast 992 mechanisms for video streaming", 2013 IEEE 14th 993 International Symposium on "A World of Wireless, Mobile 994 and Multimedia Networks" (WoWMoM) pp. 1-9, June 2013. 996 [RFC4541] Christensen, M., Kimball, K., and F. Solensky, 997 "Considerations for Internet Group Management Protocol 998 (IGMP) and Multicast Listener Discovery (MLD) Snooping 999 Switches", RFC 4541, DOI 10.17487/RFC4541, May 2006, 1000 . 1002 [RFC4861] Narten, T., Nordmark, E., Simpson, W., and H. Soliman, 1003 "Neighbor Discovery for IP version 6 (IPv6)", RFC 4861, 1004 DOI 10.17487/RFC4861, September 2007, 1005 . 1007 [RFC4862] Thomson, S., Narten, T., and T. Jinmei, "IPv6 Stateless 1008 Address Autoconfiguration", RFC 4862, 1009 DOI 10.17487/RFC4862, September 2007, 1010 . 1012 [RFC5757] Schmidt, T., Waehlisch, M., and G. Fairhurst, "Multicast 1013 Mobility in Mobile IP Version 6 (MIPv6): Problem Statement 1014 and Brief Survey", RFC 5757, DOI 10.17487/RFC5757, 1015 February 2010, . 1017 [RFC6282] Hui, J., Ed. and P. Thubert, "Compression Format for IPv6 1018 Datagrams over IEEE 802.15.4-Based Networks", RFC 6282, 1019 DOI 10.17487/RFC6282, September 2011, 1020 . 1022 [RFC6762] Cheshire, S. and M. Krochmal, "Multicast DNS", RFC 6762, 1023 DOI 10.17487/RFC6762, February 2013, 1024 . 1026 [RFC6763] Cheshire, S. and M. Krochmal, "DNS-Based Service 1027 Discovery", RFC 6763, DOI 10.17487/RFC6763, February 2013, 1028 . 1030 [RFC6775] Shelby, Z., Ed., Chakrabarti, S., Nordmark, E., and C. 1031 Bormann, "Neighbor Discovery Optimization for IPv6 over 1032 Low-Power Wireless Personal Area Networks (6LoWPANs)", 1033 RFC 6775, DOI 10.17487/RFC6775, November 2012, 1034 . 1036 [RFC6970] Boucadair, M., Penno, R., and D. Wing, "Universal Plug and 1037 Play (UPnP) Internet Gateway Device - Port Control 1038 Protocol Interworking Function (IGD-PCP IWF)", RFC 6970, 1039 DOI 10.17487/RFC6970, July 2013, 1040 . 1042 [RFC7450] Bumgardner, G., "Automatic Multicast Tunneling", RFC 7450, 1043 DOI 10.17487/RFC7450, February 2015, 1044 . 1046 [RFC8505] Thubert, P., Ed., Nordmark, E., Chakrabarti, S., and C. 1047 Perkins, "Registration Extensions for IPv6 over Low-Power 1048 Wireless Personal Area Network (6LoWPAN) Neighbor 1049 Discovery", RFC 8505, DOI 10.17487/RFC8505, November 2018, 1050 . 1052 [Tramarin2017] 1053 Tramarin, F., Vitturi, S., and M. Luvisotto, "IEEE 802.11n 1054 for Distributed Measurement Systems", 2017 IEEE 1055 International Instrumentation and Measurement Technology 1056 Conference (I2MTC) pp. 1-6, May 2017. 1058 [uli] Kinney, P., "LLC Proposal for 802.15.4", Nov 2015, 1059 . 1062 Appendix A. Changes in this draft between revisions 06 versus 07 1064 This section lists the changes between revisions ...-06.txt and 1065 ...-07.txt of draft-ietf-mboned-ieee802-mcast-problems. 1067 o Improved wording in section describing ARPsponge. 1068 o Removed DRIAD as a discovery mechanism for multicast relays. 1069 o Updated bibliographic citations, repaired broken URLs as needed. 1070 o More editorial improvements and grammatical corrections. 1072 Appendix B. Changes in this draft between revisions 05 versus 06 1074 This section lists the changes between revisions ...-05.txt and 1075 ...-06.txt of draft-ietf-mboned-ieee802-mcast-problems. 1077 o Included new text in Security Considerations to alert about 1078 problems regarding Group Key management caused by multicast 1079 unreliability and implementation bugs. 1080 o Included DRIAD as a discovery mechanism for multicast relays. 1081 o Corrected occurrences of "which" versus "that" and "amount" versus 1082 "number". 1083 o Updated bibliographic citations, included URLs as needed. 1085 o More editorial improvements and grammatical corrections. 1087 Appendix C. Changes in this draft between revisions 04 versus 05 1089 This section lists the changes between revisions ...-04.txt and 1090 ...-05.txt of draft-ietf-mboned-ieee802-mcast-problems. 1092 o Incorporated text from Jake Holland for a new section about 1093 conversion of multicast to unicast and included AMT as an existing 1094 solution. 1095 o Included some text about likely future multicast applications that 1096 will emphasize the need for attention to the technical matters 1097 collected in this document. 1098 o Further modified text to be more generic instead of referring 1099 specifically to IETF conference situations. 1100 o Modified text to be more generic instead of referring specifically 1101 to Bonjour. 1102 o Added uPnP as a representative multicast protocol in IP networks. 1103 o Referred to Linux bridging code for multicast to unicast. 1104 o Updated bibliographic citations, included URLs as needed. 1105 o More editorial improvements and grammatical corrections. 1107 Appendix D. Changes in this draft between revisions 03 versus 04 1109 This section lists the changes between revisions ...-03.txt and 1110 ...-04.txt of draft-ietf-mboned-ieee802-mcast-problems. 1112 o Replaced "client" by "STA". 1113 o Used terminology "Wi-Fi" throughout. 1114 o Many editorial improvements and grammatical corrections. 1115 o Modified text to be more generic instead of referring specifically 1116 to IETF conference situations. 1117 o Cited [RFC5757] for introduction to other wireless media. 1118 o Updated bibliographic citations. 1120 Authors' Addresses 1122 Charles E. Perkins 1124 Phone: +1-408-330-4586 1125 Email: charliep@computer.org 1126 Mike McBride 1127 Futurewei Inc. 1128 2330 Central Expressway 1129 Santa Clara, CA 95055 1130 USA 1132 Email: michael.mcbride@futurewei.com 1134 Dorothy Stanley 1135 Hewlett Packard Enterprise 1136 2000 North Naperville Rd. 1137 Naperville, IL 60566 1138 USA 1140 Phone: +1 630 979 1572 1141 Email: dstanley@arubanetworks.com 1143 Warren Kumari 1144 Google 1145 1600 Amphitheatre Parkway 1146 Mountain View, CA 94043 1147 USA 1149 Email: warren@kumari.net 1151 Juan Carlos Zuniga 1152 SIGFOX 1153 425 rue Jean Rostand 1154 Labege 31670 1155 France 1157 Email: j.c.zuniga@ieee.org