19
Multicast in OpenStack Vikram Hosakote [email protected] 1

Multicast in OpenStack Tips

Embed Size (px)

Citation preview

Page 1: Multicast in OpenStack Tips

1

Multicast in OpenStack

Vikram [email protected]

Page 2: Multicast in OpenStack Tips

2

What is multicast?

• One-to-many communication

• Driven by receivers

• A multicast “group” is identified by a multicast IP address

• Without multicast, sender must duplicate each packet

• Analogy: TV and radio broadcasting

Page 3: Multicast in OpenStack Tips

3

What is multicast?

Page 4: Multicast in OpenStack Tips

4

Components of multicast• Multicast addressing

Group addresses range from 224.0.0.0 to 239.255.255.255 (class D

addresses)

Mac addresses range from 01-00-5E-00-00-00 to 01-00-5E-7F-FF-FF

• Multicast group management (IGMP)

• Multicast routing and IGMP querying

• Multicast clients

Page 5: Multicast in OpenStack Tips

5

Multicast use cases

• One-to-many corporate communications such as

Employee training videos

Quarterly company meetings

Company-wide corporate communications

Executive announcements

• Music/media streaming

• Video podcasts

• IPTV services

• One-to-many software updates/patches

Page 6: Multicast in OpenStack Tips

6

Multicast use cases

• Social networking (Facebook, Twitter feeds, Instagram)

• Financial services, banks, stock exchange

• Government/Federal agencies

• RTP (Real Time Protocol) applications

Page 7: Multicast in OpenStack Tips

7

Multicast in OpenStack

• No multicast available out-of-the-box

• Open vSwitch 2.5 supports IGMP snooping

• Linux Bridge 2.4 supports IGMP snopping

• Neutron router (L3-Agent) does not support multicast

routing, PIM and querying

• No CLI or API to configure multicast

• Multicast cannot be configured in Horizon

• Anti-spoofing rules and security groups drop multicast

packets

Page 8: Multicast in OpenStack Tips

8

How to do Multicast in OpenStack?

• Enable IGMP snooping in OVS/Linux bridge

• Add rules to allow multicast UDP port in security groups

• Disable neutron port-security for ports in multicast path

• Use neutron’s --allowed-address-pairs attribute

and allow multicast IP and MAC addresses

• SR-IOV ports may also be used

Page 9: Multicast in OpenStack Tips

9

How to do Multicast in OpenStack?

Three recommendations:

1. Use provider networks without neutron router (L3-agent)

and do multicast routing on upstream L3 devices connected

to TOR outside OpenStack

2. Use Cisco’s ASR1k plugin for neutron instead of L3-agent

3. Use Cisco’s ACI and APIC driver for neutron

Page 10: Multicast in OpenStack Tips

10

Provider networks

Page 11: Multicast in OpenStack Tips

11

ASR1k plugin for neutron

Page 12: Multicast in OpenStack Tips

12

ACI and APIC driver for neutron

Page 13: Multicast in OpenStack Tips

13

UCSM multicast policy

Page 14: Multicast in OpenStack Tips

14

ACI/APIC multicast policy

Page 15: Multicast in OpenStack Tips

15

Multicast for media applications

• Cisco’s video conferencing apps – Telepresence, Webex,

Jabber

• Cisco’s video and collaborations apps – Virtualized Video

Processing (V2P), Videoscape AnyRes, IPTV devices, video

encoders and video surveillance

• VLC player http://www.videolan.org/projects/multicat.html

Page 16: Multicast in OpenStack Tips

16

Multicast limitations

• IGMP snooping degrades performance of layer-2 switch

• High bandwidth multicast traffic degrades unicast routing

• Needs plugin (ASR1k, APIC) integration with neutron

• Best-effort and out-of-sequence delivery (UDP is unreliable)

• Lack of TCP windowing results in network congestion

• Duplicate packets and occasional loops when unicast routing

is broken

Page 17: Multicast in OpenStack Tips

17

Multicast testing tools

• Iperf - https://iperf.fr

• Nuttcp - http://www.nuttcp.net

• OpenStack VMTP - https://github.com/openstack/vmtp

• OpenStack Kloudbuster - https://github.com/openstack/

kloudbuster

Page 18: Multicast in OpenStack Tips

18

Multicast talk in Cisco Live Las Vegas 2016

http://www.slideshare.net/Vikram_Hosakote/multicast-in-openstack

Page 19: Multicast in OpenStack Tips

19

Q & A