CloudStack Networking:
   - With and Without MidoNet -

12th CloudStack User Group Meet-up
             2013.3.22
Introduction



Dave Cahill

Software Engineer

● MidoNet CloudStack Integration Team
Outline
1. How the default Virtual Router on
   CloudStack works

2. The problems with default Virtual Router

3. How MidoNet solves the problem with its
   scalable distributed architecture
Outline
1. How the default Virtual Router on
   CloudStack works

2. The problems with default Virtual Router

3. How MidoNet solves the problem with its
   scalable distributed architecture
What is the Virtual Router?
● Provides network functions like
                                    VR VM
  Routing, Firewall rules, NAT
  DHCP

● A Debian-based VM running
  haproxy, dnsmasq etc

● On VPC Mode, there's one
  Virtual Router for each VPC
VPC Logical View (example)


                              Virtual Router
                                        VM




      Orange Tier                              Purple Tier




                       User
     User            UserVM
      VM
    User              VM
                    User                          User       User
     VM              VM                            VM         VM
Physical View - VPC with default CS
networking



System VM   User   System VM   User           User
   (CPVM)    VM       (SSVM)    VM             VM


     User   User        User   User   Virtual Router
      VM     VM          VM     VM              VM
I   Ingress Point
    Physical Packet Flow                      E   Egress Point




    System VM   E   User   System VM   User                      User
       (CPVM)        VM       (SSVM)    VM                        VM


         User       User        User   User            Virtual Router
I                                                                VM
          VM         VM          VM     VM
I   Ingress Point
    Physical Packet Flow                      E   Egress Point




    System VM   E   User   System VM   User                      User
       (CPVM)        VM       (SSVM)    VM                        VM


         User       User        User   User            Virtual Router
I                                                                VM
          VM         VM          VM     VM
Outline
1. How the default Virtual Router on
   CloudStack works

2. The problems with default Virtual Router

3. How MidoNet solves the problem with its
   scalable distributed architecture
The problem with this model

● The Virtual Router is a traffic bottleneck, and
  causes scalability issues

● VLANs are used to isolate the separate
  "tiers", which causes the following issues:
   ○ Max 4096 VLANs issue : Scalability issue

   ○ Cumbersome manual configuration and operation
Outline
1. How the default Virtual Router on
   CloudStack works

2. The problems with default Virtual Router

3. How MidoNet solves the problem with its
   scalable distributed architecture
Network State Database (Clustered)


                                  NSD



MidoNet     MidoNet              MidoNet               MidoNet     MidoNet
 Agent       Agent                Agent                 Agent       Agent




System VM        User           System VM                   User          User
   (CPVM)         VM               (SSVM)                    VM            VM

                                                                   No Virtual
     User        User                  User                 User    Router
      VM          VM                    VM                   VM       VM
The Network State Database (clustered, fault-tolerant)
               contains logical topology of the network, firewall rules etc


                                    NSD


                                   Router




 Orange Tier                                             Purple Tier




                      User
 User               UserVM
  VM
User                 VM
                   User                                      User             User
 VM                 VM                                        VM               VM
The Network State Database (clustered, fault-tolerant)
                         contains logical topology of the network, firewall rules etc


                                              NSD


                                             Router




           Orange Tier                                             Purple Tier




                                User
           User               UserVM
            VM
          User                 VM
                             User                                      User             User
           VM                 VM                                        VM               VM




MidoNet              MidoNet                 MidoNet                 MidoNet            MidoNet
 Agent                Agent                   Agent                   Agent              Agent
The Network State Database (clustered, fault-tolerant)
                         contains logical topology of the network, firewall rules etc


                                              NSD


                                             Router




           Orange Tier                                             Purple Tier




                                User
           User               UserVM
            VM
          User                 VM
                             User                                      User             User
           VM                 VM                                        VM               VM



                          "Intelligence at the edge"

MidoNet              MidoNet                 MidoNet                 MidoNet            MidoNet
 Agent                Agent                   Agent                   Agent              Agent
Network State Database
                                                                     I   Ingress Point

                                         NSD                         E   Egress Point



    MidoNet         MidoNet             MidoNet          MidoNet              MidoNet
     Agent           Agent               Agent            Agent                Agent




    System VM   E        User          System VM              User                      User
       (CPVM)             VM              (SSVM)               VM                        VM


         User            User                User             User
I
          VM              VM                  VM               VM
How MidoNet Works
                               - Packet Pass Case -
                                                  MidoNet does a logical simulation of the packet flow

MidoNet Agent
                                         Router                Flow Rules : None




                 Orange Tier                                  Purple Tier




                                  User
         出                          VM
                 User           User                                          E
   I
                  VM
                User             VM
                               User                               User                     User
                 VM             VM                                 VM                       VM
How MidoNet Works
                               - Packet Pass Case -
                                                  MidoNet does a logical simulation of the packet flow

MidoNet Agent
                                         Router                Flow Rules : None




                 Orange Tier                                  Purple Tier




                                  User
         出                          VM
                 User           User                                          E
   I
                  VM
                User             VM
                               User                               User                     User
                 VM             VM                                 VM                       VM
Network State Database (Clustered)
                                                                                I   Ingress Point

                                              NSD                               E   Egress Point



    MidoNet               MidoNet            MidoNet                MidoNet              MidoNet
     Agent                 Agent              Agent                  Agent                Agent




    System VM       E          User         System VM                    User                      User
       (CPVM)                   VM             (SSVM)                     VM                        VM


         User                  User               User                   User
I
          VM                    VM                 VM                     VM




              IP Tunnel
Network State Database (Clustered)
                                                                                I   Ingress Point

                                              NSD                               E   Egress Point



    MidoNet               MidoNet            MidoNet                MidoNet              MidoNet
     Agent                 Agent              Agent                  Agent                Agent




    System VM       E          User         System VM                    User                      User
       (CPVM)                   VM             (SSVM)                     VM                        VM


         User                  User               User                   User
I
          VM                    VM                 VM                     VM




              IP Tunnel
I    Ingress Point

                               How MidoNet Works                             E     Egress Point

                               - Packet Drop Case -
                                                  MidoNet does a logical simulation of the packet flow

MidoNet Agent                                                       Flow Rule
                                         Router
                                                                     I    E



                 Orange Tier                                  Purple Tier




                                  User
         出                          VM
                 User           User                                          E
   I
                  VM
                User             VM
                               User                               User                     User
                 VM             VM                                 VM                       VM
I    Ingress Point

                               How MidoNet Works                             E     Egress Point

                               - Packet Drop Case -
                                                  MidoNet does a logical simulation of the packet flow

MidoNet Agent                                                       Flow Rule
                                         Router
                                                                     I    E



                 Orange Tier                                  Purple Tier




                                  User
         出                          VM
                 User           User                                          E
   I
                  VM
                User             VM
                               User                               User                     User
                 VM             VM                                 VM                       VM
Network State Database (Clustered)

                                                                                     I   Ingress Point
                                                         NSD
                                                                                     E   Egress Point



    MidoNet                   MidoNet                   MidoNet            MidoNet             MidoNet
     Agent                     Agent                     Agent              Agent               Agent




    System VM         E              User              System VM                User                     User
       (CPVM)                         VM                  (SSVM)                 VM                       VM


           User                      User                      User             User
I
            VM                        VM                        VM               VM




    Packet dropped at source host without being put on the wire -
    "intelligence at the edge"
Network State Database (Clustered)

                                                                                     I   Ingress Point
                                                         NSD
                                                                                     E   Egress Point



    MidoNet                   MidoNet                   MidoNet            MidoNet             MidoNet
     Agent                     Agent                     Agent              Agent               Agent




    System VM         E              User              System VM                User                     User
       (CPVM)                         VM                  (SSVM)                 VM                       VM


           User                      User                      User             User
I
            VM                        VM                        VM               VM




    Packet dropped at source host without being put on the wire -
    "intelligence at the edge"
Midokura CloudStack plugin UI
Roadmap
Hypervisor:
    KVM
    XenServer(Planned)

Submitted to CloudStack master codebase:
    Advanced Isolated Mode:
          L2, L3, DHCP, Firewall, Source NAT, Static NAT, Port Forwarding

Implemented but not upstream:
     VPC Mode:
         L2, L3, DHCP, Firewall, Source NAT, Static NAT, Port Forwarding



Calling for Customers!
       We'd like to discuss with you
           which features / functions to add next!
Today we covered

1. How the default Virtual Router on
   CloudStack works

2. The problems with default Virtual Router

3. How MidoNet solves the problem with its
   scalable distributed architecture
Thanks for listening.

Website
www.midokura.jp

Email
info@midokura.jp

Twitter
@MidokuraJapan
@davecahill

Book
"CloudStack 徹底入門"
    Chapter 10 (10.3.3) "Midokura"

12th Japan CloudStack User Group Meetup MidoNet with scalable virtual router

  • 1.
    CloudStack Networking: - With and Without MidoNet - 12th CloudStack User Group Meet-up 2013.3.22
  • 2.
    Introduction Dave Cahill Software Engineer ●MidoNet CloudStack Integration Team
  • 3.
    Outline 1. How thedefault Virtual Router on CloudStack works 2. The problems with default Virtual Router 3. How MidoNet solves the problem with its scalable distributed architecture
  • 4.
    Outline 1. How thedefault Virtual Router on CloudStack works 2. The problems with default Virtual Router 3. How MidoNet solves the problem with its scalable distributed architecture
  • 5.
    What is theVirtual Router? ● Provides network functions like VR VM Routing, Firewall rules, NAT DHCP ● A Debian-based VM running haproxy, dnsmasq etc ● On VPC Mode, there's one Virtual Router for each VPC
  • 6.
    VPC Logical View(example) Virtual Router VM Orange Tier Purple Tier User User UserVM VM User VM User User User VM VM VM VM
  • 7.
    Physical View -VPC with default CS networking System VM User System VM User User (CPVM) VM (SSVM) VM VM User User User User Virtual Router VM VM VM VM VM
  • 8.
    I Ingress Point Physical Packet Flow E Egress Point System VM E User System VM User User (CPVM) VM (SSVM) VM VM User User User User Virtual Router I VM VM VM VM VM
  • 9.
    I Ingress Point Physical Packet Flow E Egress Point System VM E User System VM User User (CPVM) VM (SSVM) VM VM User User User User Virtual Router I VM VM VM VM VM
  • 10.
    Outline 1. How thedefault Virtual Router on CloudStack works 2. The problems with default Virtual Router 3. How MidoNet solves the problem with its scalable distributed architecture
  • 11.
    The problem withthis model ● The Virtual Router is a traffic bottleneck, and causes scalability issues ● VLANs are used to isolate the separate "tiers", which causes the following issues: ○ Max 4096 VLANs issue : Scalability issue ○ Cumbersome manual configuration and operation
  • 12.
    Outline 1. How thedefault Virtual Router on CloudStack works 2. The problems with default Virtual Router 3. How MidoNet solves the problem with its scalable distributed architecture
  • 13.
    Network State Database(Clustered) NSD MidoNet MidoNet MidoNet MidoNet MidoNet Agent Agent Agent Agent Agent System VM User System VM User User (CPVM) VM (SSVM) VM VM No Virtual User User User User Router VM VM VM VM VM
  • 14.
    The Network StateDatabase (clustered, fault-tolerant) contains logical topology of the network, firewall rules etc NSD Router Orange Tier Purple Tier User User UserVM VM User VM User User User VM VM VM VM
  • 15.
    The Network StateDatabase (clustered, fault-tolerant) contains logical topology of the network, firewall rules etc NSD Router Orange Tier Purple Tier User User UserVM VM User VM User User User VM VM VM VM MidoNet MidoNet MidoNet MidoNet MidoNet Agent Agent Agent Agent Agent
  • 16.
    The Network StateDatabase (clustered, fault-tolerant) contains logical topology of the network, firewall rules etc NSD Router Orange Tier Purple Tier User User UserVM VM User VM User User User VM VM VM VM "Intelligence at the edge" MidoNet MidoNet MidoNet MidoNet MidoNet Agent Agent Agent Agent Agent
  • 17.
    Network State Database I Ingress Point NSD E Egress Point MidoNet MidoNet MidoNet MidoNet MidoNet Agent Agent Agent Agent Agent System VM E User System VM User User (CPVM) VM (SSVM) VM VM User User User User I VM VM VM VM
  • 18.
    How MidoNet Works - Packet Pass Case - MidoNet does a logical simulation of the packet flow MidoNet Agent Router Flow Rules : None Orange Tier Purple Tier User 出 VM User User E I VM User VM User User User VM VM VM VM
  • 19.
    How MidoNet Works - Packet Pass Case - MidoNet does a logical simulation of the packet flow MidoNet Agent Router Flow Rules : None Orange Tier Purple Tier User 出 VM User User E I VM User VM User User User VM VM VM VM
  • 20.
    Network State Database(Clustered) I Ingress Point NSD E Egress Point MidoNet MidoNet MidoNet MidoNet MidoNet Agent Agent Agent Agent Agent System VM E User System VM User User (CPVM) VM (SSVM) VM VM User User User User I VM VM VM VM IP Tunnel
  • 21.
    Network State Database(Clustered) I Ingress Point NSD E Egress Point MidoNet MidoNet MidoNet MidoNet MidoNet Agent Agent Agent Agent Agent System VM E User System VM User User (CPVM) VM (SSVM) VM VM User User User User I VM VM VM VM IP Tunnel
  • 22.
    I Ingress Point How MidoNet Works E Egress Point - Packet Drop Case - MidoNet does a logical simulation of the packet flow MidoNet Agent Flow Rule Router I    E Orange Tier Purple Tier User 出 VM User User E I VM User VM User User User VM VM VM VM
  • 23.
    I Ingress Point How MidoNet Works E Egress Point - Packet Drop Case - MidoNet does a logical simulation of the packet flow MidoNet Agent Flow Rule Router I    E Orange Tier Purple Tier User 出 VM User User E I VM User VM User User User VM VM VM VM
  • 24.
    Network State Database(Clustered) I Ingress Point NSD E Egress Point MidoNet MidoNet MidoNet MidoNet MidoNet Agent Agent Agent Agent Agent System VM E User System VM User User (CPVM) VM (SSVM) VM VM User User User User I VM VM VM VM Packet dropped at source host without being put on the wire - "intelligence at the edge"
  • 25.
    Network State Database(Clustered) I Ingress Point NSD E Egress Point MidoNet MidoNet MidoNet MidoNet MidoNet Agent Agent Agent Agent Agent System VM E User System VM User User (CPVM) VM (SSVM) VM VM User User User User I VM VM VM VM Packet dropped at source host without being put on the wire - "intelligence at the edge"
  • 26.
  • 27.
    Roadmap Hypervisor: KVM XenServer(Planned) Submitted to CloudStack master codebase: Advanced Isolated Mode: L2, L3, DHCP, Firewall, Source NAT, Static NAT, Port Forwarding Implemented but not upstream: VPC Mode: L2, L3, DHCP, Firewall, Source NAT, Static NAT, Port Forwarding Calling for Customers! We'd like to discuss with you which features / functions to add next!
  • 28.
    Today we covered 1.How the default Virtual Router on CloudStack works 2. The problems with default Virtual Router 3. How MidoNet solves the problem with its scalable distributed architecture
  • 29.