idnits 2.17.00 (12 Aug 2021) /tmp/idnits24248/draft-ietf-nvo3-mcast-framework-04.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 : ---------------------------------------------------------------------------- == There are 1 instance of lines with multicast IPv4 addresses in the document. If these are generic example addresses, they should be changed to use the 233.252.0.x range defined in RFC 5771 Miscellaneous warnings: ---------------------------------------------------------------------------- == The copyright year in the IETF Trust and authors Copyright Line does not match the current year -- The document date (February 15, 2016) is 2286 days in the past. Is this intentional? Checking references for intended status: Informational ---------------------------------------------------------------------------- == Missing Reference: 'VXLAN' is mentioned on line 180, but not defined == Missing Reference: 'FW' is mentioned on line 198, but not defined == Missing Reference: 'BIER-ARCH' is mentioned on line 426, but not defined == Unused Reference: 'RFC7348' is defined on line 540, but no explicit reference was found in the text Summary: 0 errors (**), 0 flaws (~~), 6 warnings (==), 1 comment (--). Run idnits with the --verbose option for more detailed information about the items above. -------------------------------------------------------------------------------- 1 NVO3 working group A. Ghanwani 2 Internet Draft Dell 3 Intended status: Informational L. Dunbar 4 Expires: August 14, 2016 M. McBride 5 Huawei 6 V. Bannai 7 Google 8 R. Krishnan 9 Dell 11 February 15, 2016 13 A Framework for Multicast in NVO3 14 draft-ietf-nvo3-mcast-framework-04 16 Status of this Memo 18 This Internet-Draft is submitted in full conformance with the 19 provisions of BCP 78 and BCP 79. 21 This Internet-Draft is submitted in full conformance with the 22 provisions of BCP 78 and BCP 79. This document may not be modified, 23 and derivative works of it may not be created, except to publish it 24 as an RFC and to translate it into languages other than English. 26 Internet-Drafts are working documents of the Internet Engineering 27 Task Force (IETF), its areas, and its working groups. Note that 28 other groups may also distribute working documents as Internet- 29 Drafts. 31 Internet-Drafts are draft documents valid for a maximum of six 32 months and may be updated, replaced, or obsoleted by other documents 33 at any time. It is inappropriate to use Internet-Drafts as 34 reference material or to cite them other than as "work in progress." 36 The list of current Internet-Drafts can be accessed at 37 http://www.ietf.org/ietf/1id-abstracts.txt 39 The list of Internet-Draft Shadow Directories can be accessed at 40 http://www.ietf.org/shadow.html 42 This Internet-Draft will expire on August 14, 2016. 44 Copyright Notice 46 Copyright (c) 2016 IETF Trust and the persons identified as the 47 document authors. All rights reserved. 49 This document is subject to BCP 78 and the IETF Trust's Legal 50 Provisions Relating to IETF Documents 51 (http://trustee.ietf.org/license-info) in effect on the date of 52 publication of this document. Please review these documents 53 carefully, as they describe your rights and restrictions with 54 respect to this document. Code Components extracted from this 55 document must include Simplified BSD License text as described in 56 Section 4.e of the Trust Legal Provisions and are provided without 57 warranty as described in the Simplified BSD License. 59 Abstract 61 This document discusses a framework of supporting multicast traffic 62 in a network that uses Network Virtualization Overlays over Layer 3 63 (NVO3). Both infrastructure multicast and application-specific 64 multicast are discussed. It describes the various mechanisms that 65 can be used for delivering such traffic as well as the data plane 66 and control plane considerations for each of the mechanisms. 68 Table of Contents 70 1. Introduction...................................................3 71 1.1. Infrastructure multicast..................................3 72 1.2. Application-specific multicast............................3 73 1.3. Terminology clarification.................................4 74 2. Acronyms.......................................................4 75 3. Multicast mechanisms in networks that use NVO3.................5 76 3.1. No multicast support......................................5 77 3.2. Replication at the source NVE.............................6 78 3.3. Replication at a multicast service node...................8 79 3.4. IP multicast in the underlay..............................9 80 3.5. Other schemes............................................11 81 4. Simultaneous use of more than one mechanism...................11 82 5. Other issues..................................................11 83 5.1. Multicast-agnostic NVEs..................................11 84 5.2. Multicast membership management for DC with VMs..........12 85 6. Summary.......................................................12 86 7. Security Considerations.......................................13 87 8. IANA Considerations...........................................13 88 9. References....................................................13 89 9.1. Normative References.....................................13 90 9.2. Informative References...................................13 91 10. Acknowledgments..............................................14 93 1. Introduction 95 Network virtualization using Overlays over Layer 3 (NVO3) is a 96 technology that is used to address issues that arise in building 97 large, multitenant data centers that make extensive use of server 98 virtualization [RFC7364]. 100 This document provides a framework for supporting multicast traffic, 101 in a network that uses Network Virtualization using Overlays over 102 Layer 3 (NVO3). Both infrastructure multicast (ARP/ND, DHCP, mDNS, 103 etc.) and application-specific multicast are considered. It 104 describes the various mechanisms and considerations that can be used 105 for delivering such traffic in networks that use NVO3. 107 The reader is assumed to be familiar with the terminology as defined 108 in the NVO3 Framework document [RFC7365] and NVO3 Architecture 109 document [NVO3-ARCH]. 111 1.1. Infrastructure multicast 113 Infrastructure multicast includes protocols such as ARP/ND, DHCP, 114 and mDNS. It is possible to provide solutions for these that do not 115 involve multicast in the underlay network. In the case of ARP/ND, 116 an NVA can be used for distributing the mappings of IP address to 117 MAC address to all NVEs. The NVEs can then trap ARP Request/ND 118 Neighbor Solicitation messages from the TSs that are attached to it 119 and respond to them, thereby eliminating the need to for 120 broadcast/multicast of such messages. In the case of DHCP, the NVE 121 can be configured to forward these messages using a helper function. 123 Of course it is possible to support all of these infrastructure 124 multicast protocols natively if the underlay provides multicast 125 transport. However, even in the presence of multicast transport, it 126 may be beneficial to use the optimizations mentioned above to reduce 127 the amount of such traffic in the network. 129 1.2. Application-specific multicast 131 Application-specific multicast traffic, which may be either Source- 132 Specific Multicast (SSM) or Any-Source Multicast (ASM)[RFC 3569], 133 has the following characteristics: 135 1. Receiver hosts are expected to subscribe to multicast content 136 using protocols such as IGMP [RFC3376] (IPv4) or MLD (IPv6). 137 Multicast sources and listeners participant in these protocols 138 using addresses that are in the Tenant System address domain. 140 2. The list of multicast listeners for each multicast group is not 141 known in advance. Therefore, it may not be possible for an NVA 142 to get the list of participants for each multicast group ahead 143 of time. 145 1.3. Terminology clarification 147 In this document, the terms host, tenant system (TS) and virtual 148 machine (VM) are used interchangeably to represent an end station 149 that originates or consumes data packets. 151 2. Acronyms 153 ASM: Any-Source Multicast 155 LISP: Locator/ID Separation Protocol 157 MSN: Multicast Service Node 159 NVA: Network Virtualization Authority 161 NVE: Network Virtualization Edge 163 NVGRE: Network Virtualization using GRE 165 SSM: Source-Specific Multicast 167 STT: Stateless Tunnel Transport 169 TS: Tenant system 171 VM: Virtual Machine 173 VN: Virtual Network 175 VXLAN: Virtual eXtensible LAN 177 3. Multicast mechanisms in networks that use NVO3 179 In NVO3 environments, traffic between NVEs is transported using an 180 encapsulation such as VXLAN [VXLAN], NVGRE [RFC7637], STT [STT], 181 etc. 183 Besides the need to support the Address Resolution Protocol (ARP) 184 and Neighbor Discovery (ND), there are several applications that 185 require the support of multicast and/or broadcast in data centers 186 [DC-MC]. With NVO3, there are many possible ways that multicast may 187 be handled in such networks. We discuss some of the attributes of 188 the following four methods: 190 1. No multicast support. 192 2. Replication at the source NVE. 194 3. Replication at a multicast service node. 196 4. IP multicast in the underlay. 198 These mechanisms are briefly mentioned in the NVO3 Framework [FW] 199 and NVO3 architecture [NVO3-ARCH] document. This document attempts 200 to provide more details about the basic mechanisms underlying each 201 of these mechanisms and discusses the issues and tradeoffs of each. 203 We note that other methods are also possible, such as [EDGE-REP], 204 but we focus on the above four because they are the most common. 206 3.1. No multicast support 208 In this scenario, there is no support whatsoever for multicast 209 traffic when using the overlay. This method can only work if the 210 following conditions are met: 212 1. All of the application traffic in the network is unicast 213 traffic and the only multicast/broadcast traffic is from ARP/ND 214 protocols. 216 2. A network virtualization authority (NVA) is used by the NVEs to 217 determine the mapping of a given Tenant System's MAC/IP address 218 to its NVE. In other words, there is no data plane learning. 219 Address resolution requests via ARP/ND that are issued by the 220 Tenant Systems must be resolved by the NVE that they are 221 attached to. 223 With this approach, it is not possible to support application- 224 specific multicast. However, certain multicast/broadcast 225 applications such as DHCP can be supported by use of a helper 226 function in the NVE. 228 The main drawback of this approach, even for unicast traffic, is 229 that it is not possible to initiate communication with a Tenant 230 System for which a mapping to an NVE does not already exist with the 231 NVA. This is a problem in the case where the NVE is implemented in 232 a physical switch and the Tenant System is a physical end station 233 that has not registered with the NVA. 235 3.2. Replication at the source NVE 237 With this method, the overlay attempts to provide a multicast 238 service without requiring any specific support from the underlay, 239 other than that of a unicast service. A multicast or broadcast 240 transmission is achieved by replicating the packet at the source 241 NVE, and making copies, one for each destination NVE that the 242 multicast packet must be sent to. 244 For this mechanism to work, the source NVE must know, a priori, the 245 IP addresses of all destination NVEs that need to receive the 246 packet. For the purpose of ARP/ND, this would involve knowing the 247 IP addresses of all the NVEs that have Tenant Systems in the virtual 248 network (VN) of the Tenant System that generated the request. 249 For the support of application-specific multicast traffic, 250 a method similar to that of receiver-sites registration for a 251 particular multicast group described in [LISP-Signal-Free] can be 252 used. The registrations from different receiver-sites can be merged 253 at the NVA, which can construct a multicast replication-list 254 inclusive of all NVEs to which receivers for a particular multicast 255 group are attached. The replication-list for each specific multicast 256 group is maintained by the NVA. 258 The receiver-sites registration is achieved by egress NVEs 259 performing the IGMP/MLD snooping to maintain state for which 260 attached Tenant Systems have subscribed to a given IP multicast 261 group. When the members of a multicast group are outside the NVO3 262 domain, it is necessary for NVO3 gateways to keep track of the 263 remote members of each multicast group. The NVEs and NVO3 gateways 264 then communicate the multicast groups that are of interest to the 265 NVA. If the membership is not communicated to the NVA, and if it is 266 necessary to prevent hosts attached to an NVE that have not 267 subscribed to a multicast group from receiving the multicast 268 traffic, the NVE would need to maintain multicast group membership 269 information. 271 In the absence of IGMP/MLD snooping, the traffic would be delivered 272 to all hosts that are part of the VN. 274 In multi-homing environments, i.e., in those where a TS is attached 275 to more than one NVE, the NVA would be expected to provide 276 information to all of the NVEs under its control about all of the 277 NVEs to which such a TS is attached. The ingress NVE can choose any 278 one of the egress NVEs for the data frames destined towards the TS. 280 This method requires multiple copies of the same packet to all NVEs 281 that participate in the VN. If, for example, a tenant subnet is 282 spread across 50 NVEs, the packet would have to be replicated 50 283 times at the source NVE. This also creates an issue with the 284 forwarding performance of the NVE. 286 Note that this method is similar to what was used in VPLS [RFC4762] 287 prior to support of MPLS multicast [RFC7117]. While there are some 288 similarities between MPLS VPN and the NVO3 overlay, there are some 289 key differences: 291 - The CE-to-PE attachment in VPNs is somewhat static, whereas in a 292 DC that allows VMs to migrate anywhere, the TS attachment to NVE 293 is much more dynamic. 295 - The number of PEs to which a single VPN customer is attached in 296 an MPLS VPN environment is normally far less than the number of 297 NVEs to which a VN's VMs are attached in a DC. 299 When a VPN customer has multiple multicast groups, [RFC6513] 300 "Multicast VPN" combines all those multicast groups within each 301 VPN client to one single multicast group in the MPLS (or VPN) 302 core. The result is that messages from any of the multicast 303 groups belonging to one VPN customer will reach all the PE nodes 304 of the client. In other words, any messages belonging to any 305 multicast groups under customer X will reach all PEs of the 306 customer X. When the customer X is attached to only a handful of 307 PEs, the use of this approach does not result in excessive wastage 308 of bandwidth in the provider's network. 310 In a DC environment, a typical server/hypervisor based virtual 311 switch may only support 10's VMs (as of this writing). A subnet 312 with N VMs may be, in the worst case, spread across N vSwitches. 313 Using "MPLS VPN multicast" approach in such a scenario would 314 require the creation of a Multicast group in the core for this VN 315 to reach all N NVEs. If only small percentage of this client's VMs 316 participate in application specific multicast, a great number of 317 NVEs will receive multicast traffic that is not forwarded to any 318 of their attached VMs, resulting in considerable wastage of 319 bandwidth. 321 Therefore, the Multicast VPN solution may not scale in DC 322 environment with dynamic attachment of Virtual Networks to NVEs and 323 greater number of NVEs for each virtual network. 325 3.3. Replication at a multicast service node 327 With this method, all multicast packets would be sent using a 328 unicast tunnel encapsulation from the ingress NVE to a multicast 329 service node (MSN). The MSN, in turn, would create multiple copies 330 of the packet and would deliver a copy, using a unicast tunnel 331 encapsulation, to each of the NVEs that are part of the multicast 332 group for which the packet is intended. 334 This mechanism is similar to that used by the ATM Forum's LAN 335 Emulation [LANE] specification [LANE]. 337 The following are the possible ways for the MSN to get the 338 membership information for each multicast group: 340 - The MSN can obtain this information by snooping the IGMP/MLD 341 messages from the Tenant Systems and/or sending query messages to 342 the Tenant Systems. In order for MSN to snoop the IGMP/MLD 343 messages between TSs and their corresponding routers, the NVEs 344 that TSs are attached have to encapsulate a special outer header, 345 e.g. outer destination being the multicast server node. See 346 Section 3.3.2 for detail. 348 - The MSN can obtain the membership information from the NVEs that 349 snoop the IGMP/MLD messages. This can be done by having the MSN 350 communicate with the NVEs, or by having the NVA obtain the 351 information from the NVEs, and in turn have MSN communicate with 352 the NVA. 354 Unlike the method described in Section 3.2, there is no performance 355 impact at the ingress NVE, nor are there any issues with multiple 356 copies of the same packet from the source NVE to the multicast 357 service node. However, there remain issues with multiple copies of 358 the same packet on links that are common to the paths from the MSN 359 to each of the egress NVEs. Additional issues that are introduced 360 with this method include the availability of the MSN, methods to 361 scale the services offered by the MSN, and the sub-optimality of the 362 delivery paths. 364 Finally, the IP address of the source NVE must be preserved in 365 packet copies created at the multicast service node if data plane 366 learning is in use. This could create problems if IP source address 367 reverse path forwarding (RPF) checks are in use. 369 3.4. IP multicast in the underlay 371 In this method, the underlay supports IP multicast and the ingress 372 NVE encapsulates the packet with the appropriate IP multicast 373 address in the tunnel encapsulation header for delivery to the 374 desired set of NVEs. The protocol in the underlay could be any 375 variant of Protocol Independent Multicast (PIM), or protocol 376 dependent multicast, such as [ISIS-Multicast]. 378 If an NVE connects to its attached TSs via Layer 2 network, there 379 are multiple ways for NVEs to support the application specific 380 multicast: 382 - The NVE only supports the basic IGMP/MLD snooping function, let 383 the TSs routers handling the application specific multicast. This 384 scheme doesn't utilize the underlay IP multicast protocols. 386 - The NVE can act as a pseudo multicast router for the directly 387 attached VMs and support proper mapping of IGMP/MLD's messages to 388 the messages needed by the underlay IP multicast protocols. 390 With this method, there are none of the issues with the methods 391 described in Sections 3.2. 393 With PIM Sparse Mode (PIM-SM), the number of flows required would be 394 (n*g), where n is the number of source NVEs that source packets for 395 the group, and g is the number of groups. Bidirectional PIM (BIDIR- 396 PIM) would offer better scalability with the number of flows 397 required being g. 399 In the absence of any additional mechanism, e.g. using an NVA for 400 address resolution, for optimal delivery, there would have to be a 401 separate group for each tenant, plus a separate group for each 402 multicast address (used for multicast applications) within a tenant. 404 Additional considerations are that only the lower 23 bits of the IP 405 address (regardless of whether IPv4 or IPv6 is in use) are mapped to 406 the outer MAC address, and if there is equipment that prunes 407 multicasts at Layer 2, there will be some aliasing. Finally, a 408 mechanism to efficiently provision such addresses for each group 409 would be required. 411 There are additional optimizations which are possible, but they come 412 with their own restrictions. For example, a set of tenants may be 413 restricted to some subset of NVEs and they could all share the same 414 outer IP multicast group address. This however introduces a problem 415 of sub-optimal delivery (even if a particular tenant within the 416 group of tenants doesn't have a presence on one of the NVEs which 417 another one does, the former's multicast packets would still be 418 delivered to that NVE). It also introduces an additional network 419 management burden to optimize which tenants should be part of the 420 same tenant group (based on the NVEs they share), which somewhat 421 dilutes the value proposition of NVO3 which is to completely 422 decouple the overlay and physical network design allowing complete 423 freedom of placement of VMs anywhere within the data center. 425 Multicast schemes such as BIER (Bit Indexed Explicit Replication) 426 [BIER-ARCH] may be able to provide optimizations by allowing the 427 underlay network to provide optimum multicast delivery without 428 requiring routers in the core of the network to main per-multicast 429 group state. 431 3.5. Other schemes 433 There are still other mechanisms that may be used that attempt to 434 combine some of the advantages of the above methods by offering 435 multiple replication points, each with a limited degree of 436 replication [EDGE-REP]. Such schemes offer a trade-off between the 437 amount of replication at an intermediate node (router) versus 438 performing all of the replication at the source NVE or all of the 439 replication at a multicast service node. 441 4. Simultaneous use of more than one mechanism 443 While the mechanisms discussed in the previous section have been 444 discussed individually, it is possible for implementations to rely 445 on more than one of these. For example, the method of Section 3.1 446 could be used for minimizing ARP/ND, while at the same time, 447 multicast applications may be supported by one, or a combination of, 448 the other methods. For small multicast groups, the methods of 449 source NVE replication or the use of a multicast service node may be 450 attractive, while for larger multicast groups, the use of multicast 451 in the underlay may be preferable. 453 5. Other issues 455 5.1. Multicast-agnostic NVEs 457 Some hypervisor-based NVEs do not process or recognize IGMP/MLD 458 frames; i.e. those NVEs simply encapsulate the IGMP/MLD messages in 459 the same way as they do for regular data frames. 461 By default, TSs router periodically sends IGMP/MLD query messages to 462 all the hosts in the subnet to trigger the hosts that are interested 463 in the multicast stream to send back IGMP/MLD reports. In order for 464 the MSN to get the updated multicast group information, the MSN can 465 also send the IGMP/MLD query message comprising a client specific 466 multicast address, encapsulated in an overlay header to all the NVEs 467 to which the TSs in the VN are attached. 469 However, the MSN may not always be aware of the client specific 470 multicast addresses. In order to perform multicast filtering, the 471 MSN has to snoop the IGMP/MLD messages between TSs and their 472 corresponding routers to maintain the multicast membership. In order 473 for the MSN to snoop the IGMP/MLD messages between TSs and their 474 router, the NVA needs to configure the NVE to send copies of the 475 IGMP/MLD messages to the MSN in addition to the default behavior of 476 sending them to the TSs' routers; e.g. the NVA has to inform the 477 NVEs to encapsulate data frames with DA being 224.0.0.2 (destination 478 address of IGMP report) to TSs' router and MSN. 480 This process is similar to "Source Replication" described in Section 481 3.2, except the NVEs only replicate the message to TSs' router and 482 MSN. 484 5.2. Multicast membership management for DC with VMs 486 For data centers with virtualized servers, VMs can be added, deleted 487 or moved very easily. When VMs are added, deleted or moved, the NVEs 488 to which the VMs are attached are changed. 490 When a VM is deleted from an NVE or a new VM is added to an NVE, the 491 VM management system should notify the MSN to send the IGMP/MLD 492 query messages to the relevant NVEs, so that the multicast 493 membership can be updated promptly. Otherwise, if there are changes 494 of VMs attachment to NVEs, then for the duration of the configured 495 default time interval that the TSs routers use for IGMP/MLD queries, 496 multicast data may not reach the VM(s) that moved. 498 6. Summary 500 This document has identified various mechanisms for supporting 501 application specific multicast in networks that use NVO3. It 502 highlights the basics of each mechanism and some of the issues with 503 them. As solutions are developed, the protocols would need to 504 consider the use of these mechanisms and co-existence may be a 505 consideration. It also highlights some of the requirements for 506 supporting multicast applications in an NVO3 network. 508 7. Security Considerations 510 This draft does not introduce any new security considerations beyond 511 what may be present in proposed solutions. 513 8. IANA Considerations 515 This document requires no IANA actions. RFC Editor: Please remove 516 this section before publication. 518 9. References 520 9.1. Normative References 522 [RFC7365] Lasserre, M. et al., "Framework for data center (DC) 523 network virtualization", October 2014. 525 [RFC7364] Narten, T. et al., "Problem statement: Overlays for 526 network virtualization", October 2014. 528 [NVO3-ARCH] 529 Narten, T. et al.," An Architecture for Overlay Networks 530 (NVO3)", work in progress. 532 [RFC3376] Cain B. et al., "Internet Group Management Protocol, 533 Version 3", October 2002. 535 [RFC6513] Rosen, E. et al., "Multicast in MPLS/BGP IP VPNs", 536 February 2012. 538 9.2. Informative References 540 [RFC7348] Mahalingam, M. et al., " Virtual eXtensible Local Area 541 Network (VXLAN): A Framework for Overlaying Virtualized 542 Layer 2 Networks over Layer 3 Networks", August 2014. 544 [RFC7637] Garg, P. and Wang, Y. (Eds.), "NVGRE: Network 545 Vvirtualization using Generic Routing Encapsulation", 546 September 2015. 548 [STT] Davie, B. and Gross, J., "A stateless transport tunneling 549 protocol for network virtualization," work in progress. 551 [DC-MC] McBride, M. and Lui, H., "Multicast in the data center 552 overview," work in progress. 554 [ISIS-Multicast] 555 Yong, L. et al., "ISIS Protocol Extension for Building 556 Distribution Trees", work in progress. 558 [RFC4762] Lasserre, M., and Kompella, V. (Eds.), "Virtual Private 559 LAN Service (VPLS) using Label Distribution Protocol (LDP) 560 signaling," January 2007. 562 [RFC7117] Aggarwal, R. et al., "Multicast in VPLS," February 2014. 564 [LANE] "LAN emulation over ATM," The ATM Forum, af-lane-0021.000, 565 January 1995. 567 [EDGE-REP] 568 Marques P. et al., "Edge multicast replication for BGP IP 569 VPNs," work in progress.. 571 [RFC 3569] 572 S. Bhattacharyya, Ed., "An Overview of Source-Specific 573 Multicast (SSM)", July 2003. 575 [LISP-Signal-Free] 576 Moreno, V. and Farinacci, D., "Signal-Free LISP 577 Multicast", work in progress. 579 10. Acknowledgments 581 Thanks are due to Dino Farinacci, Erik Nordmark, Lucy Yong, Nicolas 582 Bouliane, and Saumya Dikshit for their comments and suggestions. 584 This document was prepared using 2-Word-v2.0.template.dot. 586 Authors' Addresses 588 Anoop Ghanwani 589 Dell 590 Email: anoop@alumni.duke.edu 592 Linda Dunbar 593 Huawei Technologies 594 5340 Legacy Drive, Suite 1750 595 Plano, TX 75024, USA 596 Phone: (469) 277 5840 597 Email: ldunbar@huawei.com 599 Mike McBride 600 Huawei Technologies 601 Email: mmcbride7@gmail.com 603 Vinay Bannai 604 Google 605 Email: vbannai@gmail.com 607 Ram Krishnan 608 Dell 609 Email: ramkri123@gmail.com