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