<commit_before>============
Network node
============

.. figure:: ../figures/os_background.png
   :class: fill
   :width: 100%

Networking in OpenStack
=======================

- Project name ``neutron``
- Rich tenant-facing API to defining network connectivity and addressing in
  the cloud
- Supports each tenant having isolated:
    - multiple private networks
    - IP addressing scheme (can overlap with those used by
      other tenants)

Networking API resources
========================

- Network:
    - L2 segment like VLAN in a physical world
- Subnet:
    - IPv4 and IPv6 IP address block and config
- Port:
    - Connection point between a vNIC and a virtual network
    - Also describes associated network config (MAC, IP)

Plugins
=======

- Original Compute network implementation (``nova-network``):
    - isolation through Linux VLANs and iptables
- ``neutron`` introduces plug-in concept:
    - Pluggable back-end implementation of the OpenStack Networking APIs:
        - VLANs and iptables
        - L2-in-L3 tunneling
        - OpenFlow, etc.

Current Set of Plugins
======================

Complete list of supported plugins https://wiki.openstack.org/wiki/Neutron_Plugins_and_Drivers

.. rst-class:: colleft

- Big Switch
- Brocade
- Cisco
- CloudBase Hyper-V
- IBM SDN-VE
- Linux Bridge

.. rst-class:: colright

- Midonet
- ML2 (Modular Layer 2)
- NEC OpenFlow
- Open vSwitch
- PLUMgrid
- VMware NSX

.. note::

    Plugin list taken from: http://docs.openstack.org/admin-guide-cloud/content/section_plugin-arch.html

    - Big Switch, Floodlight REST Proxy: http://www.openflowhub.org/display/floodlightcontroller/Quantum+REST+Proxy+Plugin
    - Brocade Plugin
    - Cisco: Documented externally at: https://wiki.openstack.org/wiki/Cisco-neutron
    - Hyper-V Plugin
    - Linux Bridge: Documentation included in this guide and
        https://wiki.openstack.org/wiki/Neutron-Linux-Bridge-Plugin
    - Midonet Plugin
    - NEC OpenFlow: https://wiki.openstack.org/wiki/Neutron/NEC_OpenFlow_Plugin
    - Open vSwitch: Documentation included in this guide.
    - PLUMgrid: https://wiki.openstack.org/wiki/PLUMgrid-Neutron
    - VMware NSX: Documentation include in this guide, NSX Product Overview ,
      and NSX Product Support.

Components of OpenStack Networking
==================================

``neutron-server``

- Requires access to a database for persistent storage
- Can co-exist with controller or separately
- Requires additional agents

Networking Agents
=================

- **plugin agent** (neutron- * -agent): runs on each hypervisor
- **dhcp agent** (neutron-dhcp-agent): provides DHCP services
- **l3 agent** (neutron-l3-agent): provides L3/NAT forwarding (external
  network access)


- Agents communicate through RPC (e.g. RabbitMQ) and/or API
- Great flexibility how to deploy neutron services, plugins and agents

.. note::

    - plugin agent (neutron- * -agent):Runs on each hypervisor to perform local
      vswitch configuration. Agent to be run depends on which plug-in you are<commit_msg>[Training Guide] Update link to Cloud Admin Guide<commit_after>============
Network node
============

.. figure:: ../figures/os_background.png
   :class: fill
   :width: 100%

Networking in OpenStack
=======================

- Project name ``neutron``
- Rich tenant-facing API to defining network connectivity and addressing in
  the cloud
- Supports each tenant having isolated:
    - multiple private networks
    - IP addressing scheme (can overlap with those used by
      other tenants)

Networking API resources
========================

- Network:
    - L2 segment like VLAN in a physical world
- Subnet:
    - IPv4 and IPv6 IP address block and config
- Port:
    - Connection point between a vNIC and a virtual network
    - Also describes associated network config (MAC, IP)

Plugins
=======

- Original Compute network implementation (``nova-network``):
    - isolation through Linux VLANs and iptables
- ``neutron`` introduces plug-in concept:
    - Pluggable back-end implementation of the OpenStack Networking APIs:
        - VLANs and iptables
        - L2-in-L3 tunneling
        - OpenFlow, etc.

Current Set of Plugins
======================

Complete list of supported plugins https://wiki.openstack.org/wiki/Neutron_Plugins_and_Drivers

.. rst-class:: colleft

- Big Switch
- Brocade
- Cisco
- CloudBase Hyper-V
- IBM SDN-VE
- Linux Bridge

.. rst-class:: colright

- Midonet
- ML2 (Modular Layer 2)
- NEC OpenFlow
- Open vSwitch
- PLUMgrid
- VMware NSX

.. note::

   Plugin list taken from:
   http://docs.openstack.org/admin-guide-cloud/networking_config-plugins.html

   - Big Switch, Floodlight REST Proxy:
     http://www.openflowhub.org/display/floodlightcontroller/Quantum+REST+Proxy+Plugin
   - Brocade Plugin
   - Cisco: Documented externally at: https://wiki.openstack.org/wiki/Cisco-neutron
   - Hyper-V Plugin
   - Linux Bridge: Documentation included in this guide and
     https://wiki.openstack.org/wiki/Neutron-Linux-Bridge-Plugin
   - Midonet Plugin
   - NEC OpenFlow: https://wiki.openstack.org/wiki/Neutron/NEC_OpenFlow_Plugin
   - Open vSwitch: Documentation included in this guide.
   - PLUMgrid: https://wiki.openstack.org/wiki/PLUMgrid-Neutron
   - VMware NSX: Documentation include in this guide, NSX Product Overview,
     and NSX Product Support.

Components of OpenStack Networking
==================================

``neutron-server``

- Requires access to a database for persistent storage
- Can co-exist with controller or separately
- Requires additional agents

Networking Agents
=================

- **plugin agent** (neutron- * -agent): runs on each hypervisor
- **dhcp agent** (neutron-dhcp-agent): provides DHCP services
- **l3 agent** (neutron-l3-agent): provides L3/NAT forwarding (external
  network access)


- Agents communicate through RPC (e.g. RabbitMQ) and/or API
- Great flexibility how to deploy neutron services, plugins and agents

.. note::

    - plugin agent (neutron- * -agent):Runs on each hypervisor to perform local
      vswitch configuration. Agent to be run depends on which plug-in you are
{'fraction_non_alphanumeric': 0.13223275580254984, 'fraction_numerical': 0.004249754821837201, 'mean_word_length': 3.535952557449963, 'pattern_counts': {'":': 0, '<': 3, '<?xml version=': 0, '>': 3, 'https://': 10, 'lorem ipsum': 0, 'www.': 2, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '5451390', 'n_tokens_mistral': 1836, 'n_tokens_neox': 1717, 'n_words': 600}