Multicast in OpenStack
Vikram Hosakote
vhosakot@cisco.com
1
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
2
What is multicast?
3
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
4
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
5
Multicast use cases
• Social networking (Facebook, Twitter feeds, Instagram)
• Financial services, banks, stock exchange
• Government/Federal agencies
• RTP (Real Time Protocol) applications
6
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
7
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
8
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
9
Provider networks
10
ASR1k plugin for neutron
11
ACI and APIC driver for neutron
12
UCSM multicast policy
13
ACI/APIC multicast policy
14
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
15
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
16
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
17
Multicast talk in Cisco Live Las Vegas 2016
http://www.slideshare.net/Vikram_Hosakote/multicast-in-openstack
18
Q & A
19

Multicast in OpenStack Tips

  • 1.
    Multicast in OpenStack VikramHosakote vhosakot@cisco.com 1
  • 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 2
  • 3.
  • 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 4
  • 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 5
  • 6.
    Multicast use cases •Social networking (Facebook, Twitter feeds, Instagram) • Financial services, banks, stock exchange • Government/Federal agencies • RTP (Real Time Protocol) applications 6
  • 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 7
  • 8.
    How to doMulticast 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 8
  • 9.
    How to doMulticast 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 9
  • 10.
  • 11.
    ASR1k plugin forneutron 11
  • 12.
    ACI and APICdriver for neutron 12
  • 13.
  • 14.
  • 15.
    Multicast for mediaapplications • 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 15
  • 16.
    Multicast limitations • IGMPsnooping 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 16
  • 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 17
  • 18.
    Multicast talk inCisco Live Las Vegas 2016 http://www.slideshare.net/Vikram_Hosakote/multicast-in-openstack 18
  • 19.