idnits 2.17.1 draft-ietf-mboned-ieee802-mcast-problems-03.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 : ---------------------------------------------------------------------------- No issues found here. Miscellaneous warnings: ---------------------------------------------------------------------------- == The copyright year in the IETF Trust and authors Copyright Line does not match the current year -- The document date (October 23, 2018) is 2010 days in the past. Is this intentional? Checking references for intended status: Informational ---------------------------------------------------------------------------- == Missing Reference: 'ICMPv6' is mentioned on line 556, but not defined == Outdated reference: A later version (-23) exists of draft-ietf-6lo-ap-nd-08 == Outdated reference: A later version (-20) exists of draft-ietf-6lo-backbone-router-08 == Outdated reference: A later version (-30) exists of draft-ietf-6tisch-architecture-15 Summary: 0 errors (**), 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: April 26, 2019 D. Stanley 6 HPE 7 W. Kumari 8 Google 9 JC. Zuniga 10 SIGFOX 11 October 23, 2018 13 Multicast Considerations over IEEE 802 Wireless Media 14 draft-ietf-mboned-ieee802-mcast-problems-03 16 Abstract 18 Well-known issues with multicast have prevented the deployment of 19 multicast in 802.11 [dot11], [mc-props], [mc-prob-stmt], and other 20 local-area wireless environments. IETF multicast experts have been 21 meeting together to discuss these issues and provide IEEE updates. 22 The mboned working group is chartered to receive regular reports on 23 the current state of the deployment of multicast technology, create 24 "practice and experience" documents that capture the experience of 25 those who have deployed and are deploying various multicast 26 technologies, and provide feedback to other relevant working groups. 27 This document offers guidance on known limitations and problems with 28 wireless multicast. Also described are various multicast enhancement 29 features that have been specified at IETF and IEEE 802 for wireless 30 media, as well as some operational chioces that can be taken to 31 improve the performace of the network. Finally, some recommendations 32 are provided about the usage and combination of these features and 33 operational choices. 35 Status of This Memo 37 This Internet-Draft is submitted in full conformance with the 38 provisions of BCP 78 and BCP 79. 40 Internet-Drafts are working documents of the Internet Engineering 41 Task Force (IETF). Note that other groups may also distribute 42 working documents as Internet-Drafts. The list of current Internet- 43 Drafts is at https://datatracker.ietf.org/drafts/current/. 45 Internet-Drafts are draft documents valid for a maximum of six months 46 and may be updated, replaced, or obsoleted by other documents at any 47 time. It is inappropriate to use Internet-Drafts as reference 48 material or to cite them other than as "work in progress." 49 This Internet-Draft will expire on April 26, 2019. 51 Copyright Notice 53 Copyright (c) 2018 IETF Trust and the persons identified as the 54 document authors. All rights reserved. 56 This document is subject to BCP 78 and the IETF Trust's Legal 57 Provisions Relating to IETF Documents 58 (https://trustee.ietf.org/license-info) in effect on the date of 59 publication of this document. Please review these documents 60 carefully, as they describe your rights and restrictions with respect 61 to this document. Code Components extracted from this document must 62 include Simplified BSD License text as described in Section 4.e of 63 the Trust Legal Provisions and are provided without warranty as 64 described in the Simplified BSD License. 66 Table of Contents 68 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 3 69 2. Terminology . . . . . . . . . . . . . . . . . . . . . . . . . 4 70 3. Identified mulitcast issues . . . . . . . . . . . . . . . . . 5 71 3.1. Issues at Layer 2 and Below . . . . . . . . . . . . . . . 5 72 3.1.1. Multicast reliability . . . . . . . . . . . . . . . . 5 73 3.1.2. Lower and Variable Data Rate . . . . . . . . . . . . 5 74 3.1.3. High Interference . . . . . . . . . . . . . . . . . . 6 75 3.1.4. Power-save Effects on Multicast . . . . . . . . . . . 6 76 3.2. Issues at Layer 3 and Above . . . . . . . . . . . . . . . 7 77 3.2.1. IPv4 issues . . . . . . . . . . . . . . . . . . . . . 7 78 3.2.2. IPv6 issues . . . . . . . . . . . . . . . . . . . . . 8 79 3.2.3. MLD issues . . . . . . . . . . . . . . . . . . . . . 8 80 3.2.4. Spurious Neighbor Discovery . . . . . . . . . . . . . 9 81 4. Multicast protocol optimizations . . . . . . . . . . . . . . 9 82 4.1. Proxy ARP in 802.11-2012 . . . . . . . . . . . . . . . . 10 83 4.2. IPv6 Address Registration and Proxy Neighbor Discovery . 10 84 4.3. Buffering to Improve Battery Life . . . . . . . . . . . . 12 85 4.4. IPv6 support in 802.11-2012 . . . . . . . . . . . . . . . 12 86 4.5. Conversion of multicast to unicast . . . . . . . . . . . 13 87 4.6. Directed Multicast Service (DMS) . . . . . . . . . . . . 13 88 4.7. GroupCast with Retries (GCR) . . . . . . . . . . . . . . 13 89 5. Operational optimizations . . . . . . . . . . . . . . . . . . 14 90 5.1. Mitigating Problems from Spurious Neighbor Discovery . . 14 91 6. Multicast Considerations for Other Wireless Media . . . . . . 16 92 7. Recommendations . . . . . . . . . . . . . . . . . . . . . . . 16 93 8. Discussion Items . . . . . . . . . . . . . . . . . . . . . . 17 94 9. Security Considerations . . . . . . . . . . . . . . . . . . . 17 95 10. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 17 96 11. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . 17 97 12. Informative References . . . . . . . . . . . . . . . . . . . 18 98 Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 20 100 1. Introduction 102 Performance issues have been observed when multicast packet 103 transmissions of IETF protocols are used over IEEE 802 wireless 104 media. Even though enhamcements for multicast transmissions have 105 been designed at both IETF and IEEE 802, incompatibilities still 106 exist between specifications, implementations and configuration 107 choices. 109 Many IETF protocols depend on multicast/broadcast for delivery of 110 control messages to multiple receivers. Multicast is used for 111 various purposes such as neighborhood discovery, network flooding, 112 address resolution, as well minimizing media occupancy for the 113 transmission of data that is intended for multiple receivers. In 114 addition to protocol use of broadcast/multicast for control messages, 115 more applications, such as push to talk in hospitals, video in 116 enterprises and lectures in Universities, are streaming over wifi. 117 Many types of end devices are increasingly using wifi for their 118 connectivity. 120 IETF protocols typically rely on network protocol layering in order 121 to reduce or eliminate any dependence of higher level protocols on 122 the specific nature of the MAC layer protocols or the physical media. 123 In the case of multicast transmissions, higher level protocols have 124 traditionally been designed as if transmitting a packet to an IP 125 address had the same cost in interference and network media access, 126 regardless of whether the destination IP address is a unicast address 127 or a multicast or broadcast address. This model was reasonable for 128 networks where the physical medium was wired, like Ethernet. 129 Unfortunately, for many wireless media, the costs to access the 130 medium can be quite different. Multicast over wifi has often been 131 plagued by such poor performance that it is disallowed. Some 132 enhancements have been designed in IETF protocols that are assumed to 133 work primarily over wireless media. However, these enhancements are 134 usually implemented in limited deployments and not widespread on most 135 wireless networks. 137 IEEE 802 wireless protocols have been designed with certain features 138 to support multicast traffic. For instance, lower modulations are 139 used to transmit multicast frames, so that these can be received by 140 all stations in the cell, regardless of the distance or path 141 attenuation from the base station or access point. However, these 142 lower modulation transmissions occupy the medium longer; they hamper 143 efficient transmission of traffic using higher order modulations to 144 nearby stations. For these and other reasons, IEEE 802 working 145 groups such as 802.11 have designed features to improve the 146 performance of multicast transmissions at Layer 2 [ietf_802-11]. In 147 addition to protocol design features, certain operational and 148 configuration enhancements can ameliorate the network performance 149 issues created by multicast traffic. as described in Section 5. 151 In discussing these issues over email, and in a side meeting at IETF 152 99, it has been generally agreed that these problems will not be 153 fixed anytime soon primarily because it's expensive to do so and 154 multicast is unreliable. A big problem is that multicast is somewhat 155 a second class citizen, to unicast, over wifi. There are many 156 protocols using multicast and there needs to be something provided in 157 order to make them more reliable. The problem of IPv6 neighbor 158 discovery saturating the wifi link is only part of the problem. Wifi 159 traffic classes may help. We need to determine what problem should 160 be solved by the IETF and what problem should be solved by the IEEE 161 (see Section 8). A "multicast over wifi" IETF mailing list has been 162 formed (mcast-wifi@ietf.org) for further discussion. This draft will 163 be updated according to the current state of discussion. 165 This document details various problems caused by multicast 166 transmission over wireless networks, including high packet error 167 rates, no acknowledgements, and low data rate. It also explains some 168 enhancements that have been designed at IETF and IEEE 802 to 169 ameliorate the effects of multicast traffic. Recommendations are 170 also provided to implementors about how to use and combine these 171 enhancements. Some advice about the operational choices that can be 172 taken is also included. It is likely that this document will also be 173 considered relevant to designers of future IEEE wireless 174 specifications. 176 2. Terminology 178 This document uses the following definitions: 180 AP 181 IEEE 802.11 Access Point. 183 basic rate 184 The "lowest common denominator" data rate at which multicast and 185 broadcast traffic is generally transmitted. 187 DTIM 188 Delivery Traffic Indication Map (DTIM): An information element 189 that advertises whether or not any associated stations have 190 buffered multicast or broadcast frames. 192 MCS 193 Modulation and Coding Scheme. 195 STA 196 802.11 station (e.g. handheld device). 198 TIM 199 Traffic Indication Map (TIM): An information element that 200 advertises whether or not any associated stations have buffered 201 unicast frames. 203 3. Identified mulitcast issues 205 3.1. Issues at Layer 2 and Below 207 In this section we describe some of the issues related to the use of 208 multicast transmissions over IEEE 802 wireless technologies. 210 3.1.1. Multicast reliability 212 Multicast traffic is typically much less reliable than unicast 213 traffic. Since multicast makes point-to-multipoint communications, 214 multiple acknowledgements would be needed to guarantee reception at 215 all recipients. Since typically there are no ACKs for multicast 216 packets, it is not possible for the Access Point (AP) to know whether 217 or not a retransmission is needed. Even in the wired Internet, this 218 characteristic often causes undesirably high error rates. This has 219 contributed to the relatively slow uptake of multicast applications 220 even though the protocols have long been available. The situation 221 for wireless links is much worse, and is quite sensitive to the 222 presence of background traffic. Consequently, there can be a high 223 packet error rate (PER) due to lack of retransmission, and because 224 the sender never backs off. It is not uncommon for there to be a 225 packet loss rate of 5% or more, which is particularly troublesome for 226 video and other environments where high data rates and high 227 reliability are required. 229 3.1.2. Lower and Variable Data Rate 231 One big difference between multicast over wired versus multicast over 232 wired is that transmission over wired links often occurs at a fixed 233 rate. Wifi, on the other hand, has a transmission rate which varies 234 depending upon the client's proximity to the AP. The throughput of 235 video flows, and the capacity of the broader wifi network, will 236 change and will impact the ability for QoS solutions to effectively 237 reserve bandwidth and provide admission control. 239 For wireless stations associated with an Access Points, the power 240 necessary for good reception can vary from station to station. For 241 unicast, the goal is to minimize power requirements while maximizing 242 the data rate to the destination. For multicast, the goal is simply 243 to maximize the number of receivers that will correctly receive the 244 multicast packet; generally the Access Point has to use a much lower 245 data rate at a power level high enough for even the farthest station 246 to receive the packet. Consequently, the data rate of a video 247 stream, for instance, would be constrained by the environmental 248 considerations of the least reliable receiver associated with the 249 Access Point. 251 Because more robust modulation and coding schemes (MCSs) have longer 252 range but also lower data rate, multicast / broadcast traffic is 253 generally transmitted at the lowest common denominator rate, also 254 known as the basic rate. The amount of additional interference 255 depends on the specific wireless technology. In fact backward 256 compatibility and multi-stream implementations mean that the maximum 257 unicast rates are currently up to a few Gb/s, so there can be a more 258 than 3 orders of magnitude difference in the transmission rate 259 between the basic rates to optimal unicast forwarding. Some 260 techinues employed to increase spectral efficiency, such as spatial 261 multiplexing in mimo systems, are not available with more than one 262 intended reciever; it is not the case that backwards compatibility is 263 the only factor responsible for lower multicast transmission rates. 265 Wired multicast also affects wireless LANs when the AP extends the 266 wired segment; in that case, multicast / broadcast frames on the 267 wired LAN side are copied to WLAN. Since broadcast messages are 268 transmitted at the most robust MCS, many large frames are sent at a 269 slow rate over the air. 271 3.1.3. High Interference 273 Transmissions at a lower rate require longer occupancy of the 274 wireless medium and thus take away from the airtime of other 275 communications and degrade the overall capacity. Furthermore, 276 transmission at higher power, as is required to reach all multicast 277 clients associated to the AP, proportionately increases the area of 278 interference. 280 3.1.4. Power-save Effects on Multicast 282 One of the characteristics of multicast transmission is that every 283 station has to be configured to wake up to receive the multicast, 284 even though the received packet may ultimately be discarded. This 285 process can have a large effect on the power consumption by the 286 multicast receiver station. 288 Multicast can work poorly with the power-save mechanisms defined in 289 IEEE 802.11e, for the following reasons. 291 o Clients may be unable to stay in sleep mode due to multicast 292 control packets frequently waking them up. 293 o Both unicast and multicast traffic can be delayed by power-saving 294 mechanisms. 295 o A unicast packet is delayed until a STA wakes up and requests it. 296 Unicast traffic may also be delayed to improve power save, 297 efficiency and increase probability of aggregation. 298 o Multicast traffic is delayed in a wireless network if any of the 299 STAs in that network are power savers. All STAs associated to the 300 AP have to be awake at a known time to receive multicast traffic. 301 o Packets can also be discarded due to buffer limitations in the AP 302 and non-AP STA. 304 3.2. Issues at Layer 3 and Above 306 This section identifies some representative IETF protocols, and 307 describes possible negative effects due to performance degradation 308 when using multicast transmissions for control messages. Common uses 309 of multicast include: 311 o Control plane signaling 312 o Neighbor Discovery 313 o Address Resolution 314 o Service discovery 315 o Applications (video delivery, stock data, etc.) 316 o On-demand routing 317 o Backbone construction 318 o Other L3 protocols (non-IP) 320 User Datagram Protocol (UDP) is the most common transport layer 321 protocol for multicast applications. By itself, UDP is not reliable 322 -- messages may be lost or delivered out of order. 324 3.2.1. IPv4 issues 326 The following list contains a few representative IPv4 protocols using 327 multicast. 329 o ARP 330 o DHCP 331 o mDNS 333 After initial configuration, ARP and DHCP occur much less commonly, 334 but service discovery can occur at any time. Apple's Bonjour 335 protocol, for instance, provides service discovery (for printing) 336 that utilizes multicast. It's often the first service that operators 337 drop. Even if multicast snooping is utilized, many devices can 338 register at once using Bonjour, causing serious network degradation. 340 3.2.2. IPv6 issues 342 IPv6 makes extensive use of multicast, including the following: 344 o DHCPv6 345 o IPv6 Neighbor Discovery Protocol (NDP) 346 o Duplicate Address Detection (DAD) 347 o Address Resolution 348 o Service Discovery 349 o Route Discovery 350 o Decentralized Address Assignment 351 o Geographic routing 353 IPv6 NDP Neighbor Solicitation (NS) messages used in DAD and Address 354 Lookup make use of Link-Scope multicast. In contrast to IPv4, an 355 IPv6 Node will typically use multiple addresses, and may change them 356 often for privacy reasons. This multiplies the impact of multicast 357 messages that are associated to the mobility of a Node. Router 358 advertisement (RA) messages are also periodically multicasted over 359 the Link. 361 IPv6 NDP Neighbor Solicitation (NS) messages used in DAD and Address 362 Lookup make use of Link-Scope multicast. In contrast to IPv4, an 363 IPv6 Node will typically use multiple addresses, and may change them 364 often for privacy reasons. This multiplies the impact of multicast 365 messages that are associated to the mobility of a Node. Router 366 advertisement (RA) messages are also periodically multicasted over 367 the Link. 369 Neighbors may be considered lost if several consecutive Neighbor 370 Discovery packets fail. 372 3.2.3. MLD issues 374 Multicast Listener Discovery(MLD) [RFC4541] is often used to identify 375 members of a multicast group that are connected to the ports of a 376 switch. Forwarding multicast frames into a WiFi-enabled area can use 377 such switch support for hardware forwarding state information. 378 However, since IPv6 makes heavy use of multicast, each STA with an 379 IPv6 address will require state on the switch for several and 380 possibly many multicast solicited-node addresses. Multicast 381 addresses that do not have forwarding state installed (perhaps due to 382 hardware memory limitations on the switch) cause frames to be flooded 383 on all ports of the switch. 385 3.2.4. Spurious Neighbor Discovery 387 On the Internet there is a "background radiation" of scanning traffic 388 (people scanning for vulnerable machines) and backscatter (responses 389 from spoofed traffic, etc). This means that routers very often 390 receive packets destined for machines whose IP addresses may or may 391 not be in use. In the cases where the IP is assigned to a host, the 392 router broadcasts an ARP request, gets back an ARP reply, and caches 393 it; then traffic can be delivered to the host. When the IP address 394 is not in use, the router broadcasts one (or more) ARP requests, and 395 never gets a reply. This means that it does not populate the ARP 396 cache, and the next time there is traffic for that IP address the 397 router will rebroadcast the ARP requests. 399 The rate of these ARP requests is proportional to the size of the 400 subnets, the rate of scanning and backscatter, and how long the 401 router keeps state on non-responding ARPs. As it turns out, this 402 rate is inversely proportional to how occupied the subnet is (valid 403 ARPs end up in a cache, stopping the broadcasting; unused IPs never 404 respond, and so cause more broadcasts). Depending on the address 405 space in use, the time of day, how occupied the subnet is, and other 406 unknown factors, on the order of 2000 broadcasts per second have been 407 observed at the IETF NOCs. 409 On a wired network, there is not a huge difference between unicast, 410 multicast and broadcast traffic. Due to hardware filtering (see, 411 e.g., [Deri-2010]), inadvertently flooded traffic (or high amounts of 412 ethernet multicast) on wired networks can be quite a bit less costly, 413 compared to wireless cases where sleeping devices have to wake up to 414 process packets. Wired Ethernets tend to be switched networks, 415 further reducing interference from multicast. There is effectively 416 no collision / scheduling problem except at extremely high port 417 utilizations. 419 This is not true in the wireless realm; wireless equipment is often 420 unable to send high volumes of broadcast and multicast traffic. 421 Consequently, on the wireless networks, we observe a significant 422 amount of dropped broadcast and multicast packets. This, in turn, 423 means that when a host connects it is often not able to complete 424 DHCP, and IPv6 RAs get dropped, leading to users being unable to use 425 the network. 427 4. Multicast protocol optimizations 429 This section lists some optimizations that have been specified in 430 IEEE 802 and IETF that are aimed at reducing or eliminating the 431 issues discussed in Section 3. 433 4.1. Proxy ARP in 802.11-2012 435 The AP knows the MAC address and IP address for all associated STAs. 436 In this way, the AP acts as the central "manager" for all the 802.11 437 STAs in its BSS. Proxy ARP is easy to implement at the AP, and 438 offers the following advantages: 440 o Reduced broadcast traffic (transmitted at low MCS) on the wireless 441 medium 442 o STA benefits from extended power save in sleep mode, as ARP 443 requests for STA's IP address are handled instead by the AP. 444 o ARP frames are kept off the wireless medium. 445 o No changes are needed to STA implementation. 447 Here is the specification language as described in clause 10.23.13 of 448 [dot11-proxyarp]: 450 When the AP supports Proxy ARP "[...] the AP shall maintain a 451 Hardware Address to Internet Address mapping for each associated 452 station, and shall update the mapping when the Internet Address of 453 the associated station changes. When the IPv4 address being 454 resolved in the ARP request packet is used by a non-AP STA 455 currently associated to the BSS, the proxy ARP service shall 456 respond on behalf of the non-AP STA" 458 4.2. IPv6 Address Registration and Proxy Neighbor Discovery 460 As used in this section, a Low-Power Wireless Personal Area Network 461 (6LoWPAN) denotes a low power lossy network (LLN) that supports 462 6LoWPAN Header Compression (HC) [RFC6282]. A 6TiSCH network 463 [I-D.ietf-6tisch-architecture] is an example of a 6LowPAN. In order 464 to control the use of IPv6 multicast over 6LoWPANs, the 6LoWPAN 465 Neighbor Discovery (6LoWPAN ND) [RFC6775] standard defines an address 466 registration mechanism that relies on a central registry to assess 467 address uniqueness, as a substitute to the inefficient Duplicate 468 Address Detection (DAD) mechanism found in the mainstream IPv6 469 Neighbor Discovery Protocol (NDP) [RFC4861][RFC4862]. 471 The 6lo Working Group has specified an update 472 [I-D.ietf-6lo-rfc6775-update] to RFC6775. Wireless devices can 473 register their address to a Backbone Router 474 [I-D.ietf-6lo-backbone-router], which proxies for the registered 475 addresses with the IPv6 NDP running on a high speed aggregating 476 backbone. The update also enables a proxy registration mechanism on 477 behalf of the registered node, e.g. by a 6LoWPAN router to which the 478 mobile node is attached. 480 The general idea behind the backbone router concept is that broadcast 481 and multicast messaging should be tightly controlled in a variety of 482 Wireless Local Area Networks (WLANs) and Wireless Personal Area 483 Networks (WPANs). Connectivity to a particular link that provides 484 the subnet should be left to Layer-3. The model for the Backbone 485 Router operation is represented in Figure 1. 487 | 488 +-----+ 489 | | Gateway (default) router 490 | | 491 +-----+ 492 | 493 | Backbone Link 494 +--------------------+------------------+ 495 | | | 496 +-----+ +-----+ +-----+ 497 | | Backbone | | Backbone | | Backbone 498 | | router 1 | | router 2 | | router 3 499 +-----+ +-----+ +-----+ 500 o o o o o o 501 o o o o o o o o o o o o o o 502 o o o o o o o o o o o o o o o 503 o o o o o o o o o o 504 o o o o o o o 506 LLN 1 LLN 2 LLN 3 508 Figure 1: Backbone Link and Backbone Routers 510 LLN nodes can move freely from an LLN anchored at one IPv6 Backbone 511 Router to an LLN anchored at another Backbone Router on the same 512 backbone, keeping any of the IPv6 addresses they have configured. 513 The Backbone Routers maintain a Binding Table of their Registered 514 Nodes, which serves as a distributed database of all the LLN Nodes. 515 An extension to the Neighbor Discovery Protocol is introduced to 516 exchange Binding Table information across the Backbone Link as needed 517 for the operation of IPv6 Neighbor Discovery. 519 RFC6775 and follow-on work (e.g., [I-D.ietf-6lo-ap-nd], do address 520 the needs of LLNs, and similar techniques are likely to be valuable 521 on any type of link where sleeping devices are attached, or where the 522 use of broadcast and multicast operations should be limited. 524 4.3. Buffering to Improve Battery Life 526 Methods have been developed to help save battery life; for example, a 527 device might not wake up when the AP receives a multicast packet. 528 The AP acts on behalf of STAs in various ways. To enable use of the 529 power-saving feature for STAs in its BSS, the AP buffers frames for 530 delivery to the STA at the time when the STA is scheduled for 531 reception. If an AP, for instance, expresses a DTIM (Delivery 532 Traffic Indication Message) of 3 then the AP will send a multicast 533 packet every 3 packets. In fact, when any single wireless client 534 associated with an access point has 802.11 power-save mode enabled, 535 the access point buffers all multicast frames and sends them only 536 after the next DTIM beacon. 538 But in practice, most AP's will send a multicast every 30 packets. 539 For unicast there's a TIM (Traffic Indication Message); but since 540 multicast is going to everyone, the AP sends a broadcast to everyone. 541 DTIM does power management but clients can choose whether or not to 542 wake up or not and whether or not to drop the packet. Unfortunately, 543 without proper administrative control, such clients may no longer be 544 able to determine why their multicast operations do not work. 546 4.4. IPv6 support in 802.11-2012 548 IPv6 uses Neighbor Discovery Protocol (NDP) instead of ARP. Every 549 IPv6 node subscribes to a special multicast address for this purpose. 551 Here is the specification language from clause 10.23.13 of 552 [dot11-proxyarp]: 554 "When an IPv6 address is being resolved, the Proxy Neighbor 555 Discovery service shall respond with a Neighbor Advertisement 556 message [...] on behalf of an associated STA to an [ICMPv6] 557 Neighbor Solicitation message [...]. When MAC address mappings 558 change, the AP may send unsolicited Neighbor Advertisement 559 Messages on behalf of a STA." 561 NDP may be used to request additional information 563 o Maximum Transmission Unit 564 o Router Solicitation 565 o Router Advertisement, etc. 567 NDP messages are sent as group addressed (broadcast) frames in 568 802.11. Using the proxy operation helps to keep NDP messages off the 569 wireless medium. 571 4.5. Conversion of multicast to unicast 573 It is often possible to transmit multicast control and data messages 574 by using unicast transmissions to each station individually. 576 4.6. Directed Multicast Service (DMS) 578 There are situations where more is needed than simply converting 579 multicast to unicast. For these purposes, DMS enables a client to 580 request that the AP transmit multicast group addressed frames 581 destined to the requesting clients as individually addressed frames 582 [i.e., convert multicast to unicast]. Here are some characteristics 583 of DMS: 585 o Requires 802.11n A-MSDUs 586 o Individually addressed frames are acknowledged and are buffered 587 for power save clients 588 o The requesting STA may specify traffic characteristics for DMS 589 traffic 590 o DMS was defined in IEEE Std 802.11v-2011 591 o DMS requires changes to both AP and STA implementation. 593 DMS is not currently implemented in products. See [Tramarin2017] and 594 [Oliva2013] for more information. 596 4.7. GroupCast with Retries (GCR) 598 GCR (defined in [dot11aa]) provides greater reliability by using 599 either unsolicited retries or a block acknowledgement mechanism. GCR 600 increases probability of broadcast frame reception success, but still 601 does not guarantee success. 603 For the block acknowledgement mechanism, the AP transmits each group 604 addressed frame as conventional group addressed transmission. 605 Retransmissions are group addressed, but hidden from non-11aa 606 clients. A directed block acknowledgement scheme is used to harvest 607 reception status from receivers; retransmissions are based upon these 608 responses. 610 GCR is suitable for all group sizes including medium to large groups. 611 As the number of devices in the group increases, GCR can send block 612 acknowledgement requests to only a small subset of the group. GCR 613 does require changes to both AP and STA implementation. 615 GCR may introduce unacceptable latency. After sending a group of 616 data frames to the group, the AP has do the following: 618 o unicast a Block Ack Request (BAR) to a subset of members. 620 o wait for the corresponding Block Ack (BA). 621 o retransmit any missed frames. 622 o resume other operations which may have been delayed. 624 This latency may not be acceptable for some traffic. 626 There are ongoing extensions in 802.11 to improve GCR performance. 628 o BAR is sent using downlink MU-MIMO (note that downlink MU-MIMO is 629 already specified in 802.11-REVmc 4.3). 630 o BA is sent using uplink MU-MIMO (which is a .11ax feature). 631 o Additional 802.11ax extensions are under consideration; see 632 [mc-ack-mux] 633 o Latency may also be reduced by simultaneously receiving BA 634 information from multiple clients. 636 5. Operational optimizations 638 This section lists some operational optimizations that can be 639 implemented when deploying wireless IEEE 802 networks to mitigate the 640 issues discussed in Section 3. 642 5.1. Mitigating Problems from Spurious Neighbor Discovery 644 ARP Sponges 646 An ARP Sponge sits on a network and learn which IPs addresses 647 are actually in use. It also listen for ARP requests, and, if 648 it sees an ARP for an IP address which it believes is not used, 649 it will reply with its own MAC address. This means that the 650 router now has an IP to MAC mapping, which it caches. If that 651 IP is later assigned to an machine (e.g using DHCP), the ARP 652 sponge will see this, and will stop replying for that address. 653 Gratuitous ARPs (or the machine ARPing for its gateway) will 654 replace the sponged address in the router ARP table. This 655 technique is quite effective; but, unfortunately, the ARP 656 sponge daemons were not really designed for this use (the 657 standard one [arpsponge], was designed to deal with the 658 disappearance of participants from an IXP) and so are not 659 optimized for this purpose. We have to run one daemon per 660 subnet, the tuning is tricky (the scanning rate versus the 661 population rate versus retires, etc.) and sometimes the daemons 662 just seem to stop, requiring a restart of the daemon and 663 causing disruption. 665 Router mitigations 666 Some routers (often those based on Linux) implement a "negative 667 ARP cache" daemon. Simply put, if the router does not see a 668 reply to an ARP it can be configured to cache this information 669 for some interval. Unfortunately, the core routers which we 670 are using do not support this. When a host connects to network 671 and gets an IP address, it will ARP for its default gateway 672 (the router). The router will update its cache with the IP to 673 host MAC mapping learnt from the request (passive ARP 674 learning). 676 Firewall unused space 678 The distribution of users on wireless networks / subnets 679 changes from meeting to meeting (e.g the "IETF-secure" SSID was 680 renamed to "IETF", fewer users use "IETF-legacy", etc). This 681 utilization is difficult to predict ahead of time, but we can 682 monitor the usage as attendees use the different networks. By 683 configuring multiple DHCP pools per subnet, and enabling them 684 sequentially, we can have a large subnet, but only assign 685 addresses from the lower portions of it. This means that we 686 can apply input IP access lists, which deny traffic to the 687 upper, unused portions. This means that the router does not 688 attempt to forward packets to the unused portions of the 689 subnets, and so does not ARP for it. This method has proven to 690 be very effective, but is somewhat of a blunt axe, is fairly 691 labor intensive, and requires coordination. 693 Disabling/filtering ARP requests 695 In general, the router does not need to ARP for hosts; when a 696 host connects, the router can learn the IP to MAC mapping from 697 the ARP request sent by that host. This means that we should 698 be able to disable and / or filter ARP requests from the 699 router. Unfortunately, ARP is a very low level / fundamental 700 part of the IP stack, and is often offloaded from the normal 701 control plane. While many routers can filter layer-2 traffic, 702 this is usually implemented as an input filter and / or has 703 limited ability to filter output broadcast traffic. This means 704 that the simple "just disable ARP or filter it outbound" seems 705 like a really simple (and obvious) solution, but 706 implementations / architectural issues make this difficult or 707 awkward in practice. 709 NAT 711 The broadcasts are overwhelmingly being caused by outside 712 scanning / backscatter traffic. This means that, if we were to 713 NAT the entire (or a large portion) of the attendee networks, 714 there would be no NAT translation entries for unused addresses, 715 and so the router would never ARP for them. The IETF NOC has 716 discussed NATing the entire (or large portions) attendee 717 address space, but a: elegance and b: flaming torches and 718 pitchfork concerns means we have not attempted this yet. 720 Stateful firewalls 722 Another obvious solution would be to put a stateful firewall 723 between the wireless network and the Internet. This firewall 724 would block incoming traffic not associated with an outbound 725 request. The IETF philosophy has been to have the network as 726 open as possible / honor the end-to-end principle. An attendee 727 on the meeting network should be an Internet host, and should 728 be able to receive unsolicited requests. Unfortunately, 729 keeping the network working and stable is the first priority 730 and a stateful firewall may be required in order to achieve 731 this. 733 6. Multicast Considerations for Other Wireless Media 735 Many of the causes of performance degradation described in earlier 736 sections are also observable for wireless media other than 802.11. 738 For instance, problems with power save, excess media occupancy, and 739 poor reliability will also affect 802.15.3 and 802.15.4. 740 Unfortunately, 802.15 media specifications do not yet include 741 mechanisms similar to those developed for 802.11. In fact, the 742 design philosophy for 802.15 is oriented towards minimality, with the 743 result that many such functions are relegated to operation within 744 higher layer protocols. This leads to a patchwork of non- 745 interoperable and vendor-specific solutions. See [uli] for some 746 additional discussion, and a proposal for a task group to resolve 747 similar issues, in which the multicast problems might be considered 748 for mitigation. 750 7. Recommendations 752 This section will provide some recommendations about the usage and 753 combinations of the multicast enhancements described in Section 4 and 754 Section 5. 756 Future protocol documents utilizing multicast signaling should be 757 carefully scrutinized if the protocol is likely to be used over 758 wireless media. 760 Proxy methods should be encouraged to conserve network bandwidth and 761 power utilization by low-power devices. The device can use a unicast 762 message to its proxy, and then the proxy can take care of any needed 763 multicast operations. 765 Multicast signaling for wireless devices should be done in a way 766 compatible with low-duty cycle operation. 768 (FFS) 770 8. Discussion Items 772 This section suggests two discussion items for further resolution. 774 The IETF should determine guidelines by which it may be decided that 775 multicast packets are to be sent wired. For example, 802.1ak works 776 on ethernet and wifi. 802.1ak has been pulled into 802.1Q as of 777 802.1Q-2011. 802.1Q-2014 can be found here: 778 http://www.ieee802.org/1/pages/802.1Q-2014.html. If a generic 779 solution is not found, guidelines for multicast over wifi should be 780 established. 782 Perhaps a reliable registration to Layer-2 multicast groups and a 783 reliable multicast operation at Layer-2 could provide a generic 784 solution. There is no need to support 2^24 groups to get solicited 785 node multicast working: it is possible to simply select a number of 786 trailing bits that make sense for a given network size to limit the 787 amount of unwanted deliveries to reasonable levels. IEEE 802.1, 788 802.11, and 802.15 should be encouraged to revisit L2 multicast 789 issues. In reality, Wi-Fi provides a broadcast service, not a 790 multicast service. On the physical medium, all frames are broadcast 791 except in very unusual cases in which special beamforming 792 transmitters are used. Unicast offers the advantage of being much 793 faster (2 orders of magnitude) and much more reliable (L2 ARQ). 795 9. Security Considerations 797 This document does not introduce any security mechanisms, and does 798 not have affect existing security mechanisms. 800 10. IANA Considerations 802 This document does not request any IANA actions. 804 11. Acknowledgements 806 This document has benefitted from discussions with the following 807 people, in alphabetical order: Pascal Thubert 809 12. Informative References 811 [arpsponge] 812 Arien Vijn, Steven Bakker, "Arp Sponge", March 2015. 814 [Deri-2010] 815 Deri, L. and J. Gasparakis, "10 Gbit Hardware Packet 816 Filtering Using Commodity Network Adapters", RIPE 61, 817 2010, . 820 [dot11] P802.11, "Part 11: Wireless LAN Medium Access Control 821 (MAC) and Physical Layer (PHY) Specifications", March 822 2012. 824 [dot11-proxyarp] 825 P802.11, "Proxy ARP in 802.11ax", September 2015. 827 [dot11aa] P802.11, "Part 11: Wireless LAN Medium Access Control 828 (MAC) and Physical Layer (PHY) Specifications Amendment 2: 829 MAC Enhancements for Robust Audio Video Streaming", March 830 2012. 832 [I-D.ietf-6lo-ap-nd] 833 Thubert, P., Sarikaya, B., Sethi, M., and R. Struik, 834 "Address Protected Neighbor Discovery for Low-power and 835 Lossy Networks", draft-ietf-6lo-ap-nd-08 (work in 836 progress), October 2018. 838 [I-D.ietf-6lo-backbone-router] 839 Thubert, P. and C. Perkins, "IPv6 Backbone Router", draft- 840 ietf-6lo-backbone-router-08 (work in progress), October 841 2018. 843 [I-D.ietf-6lo-rfc6775-update] 844 Thubert, P., Nordmark, E., Chakrabarti, S., and C. 845 Perkins, "Registration Extensions for 6LoWPAN Neighbor 846 Discovery", draft-ietf-6lo-rfc6775-update-21 (work in 847 progress), June 2018. 849 [I-D.ietf-6tisch-architecture] 850 Thubert, P., "An Architecture for IPv6 over the TSCH mode 851 of IEEE 802.15.4", draft-ietf-6tisch-architecture-15 (work 852 in progress), October 2018. 854 [ietf_802-11] 855 Dorothy Stanley, "IEEE 802.11 multicast capabilities", Nov 856 2015. 858 [mc-ack-mux] 859 Yusuke Tanaka et al., "Multiplexing of Acknowledgements 860 for Multicast Transmission", July 2015. 862 [mc-prob-stmt] 863 Mikael Abrahamsson and Adrian Stephens, "Multicast on 864 802.11", March 2015. 866 [mc-props] 867 Adrian Stephens, "IEEE 802.11 multicast properties", March 868 2015. 870 [Oliva2013] 871 de la Oliva, A., Serrano, P., Salvador, P., and A. Banchs, 872 "Performance evaluation of the IEEE 802.11aa multicast 873 mechanisms for video streaming", 2013 IEEE 14th 874 International Symposium on "A World of Wireless, Mobile 875 and Multimedia Networks" (WoWMoM) pp. 1-9, June 2013. 877 [RFC4541] Christensen, M., Kimball, K., and F. Solensky, 878 "Considerations for Internet Group Management Protocol 879 (IGMP) and Multicast Listener Discovery (MLD) Snooping 880 Switches", RFC 4541, DOI 10.17487/RFC4541, May 2006, 881 . 883 [RFC4861] Narten, T., Nordmark, E., Simpson, W., and H. Soliman, 884 "Neighbor Discovery for IP version 6 (IPv6)", RFC 4861, 885 DOI 10.17487/RFC4861, September 2007, 886 . 888 [RFC4862] Thomson, S., Narten, T., and T. Jinmei, "IPv6 Stateless 889 Address Autoconfiguration", RFC 4862, 890 DOI 10.17487/RFC4862, September 2007, 891 . 893 [RFC6282] Hui, J., Ed. and P. Thubert, "Compression Format for IPv6 894 Datagrams over IEEE 802.15.4-Based Networks", RFC 6282, 895 DOI 10.17487/RFC6282, September 2011, 896 . 898 [RFC6775] Shelby, Z., Ed., Chakrabarti, S., Nordmark, E., and C. 899 Bormann, "Neighbor Discovery Optimization for IPv6 over 900 Low-Power Wireless Personal Area Networks (6LoWPANs)", 901 RFC 6775, DOI 10.17487/RFC6775, November 2012, 902 . 904 [Tramarin2017] 905 Tramarin, F., Vitturi, S., and M. Luvisotto, "IEEE 802.11n 906 for Distributed Measurement Systems", 2017 IEEE 907 International Instrumentation and Measurement Technology 908 Conference (I2MTC) pp. 1-6, May 2017. 910 [uli] Pat Kinney, "LLC Proposal for 802.15.4", Nov 2015. 912 Authors' Addresses 914 Charles E. Perkins 915 Futurewei Inc. 916 2330 Central Expressway 917 Santa Clara, CA 95050 918 USA 920 Phone: +1-408-330-4586 921 Email: charliep@computer.org 923 Mike McBride 924 Futurewei Inc. 925 2330 Central Expressway 926 Santa Clara, CA 95055 927 USA 929 Email: michael.mcbride@huawei.com 931 Dorothy Stanley 932 Hewlett Packard Enterprise 933 2000 North Naperville Rd. 934 Naperville, IL 60566 935 USA 937 Phone: +1 630 979 1572 938 Email: dstanley@arubanetworks.com 940 Warren Kumari 941 Google 942 1600 Amphitheatre Parkway 943 Mountain View, CA 94043 944 USA 946 Email: warren@kumari.net 947 Juan Carlos Zuniga 948 SIGFOX 949 425 rue Jean Rostand 950 Labege 31670 951 France 953 Email: j.c.zuniga@ieee.org