What is OpenStack Networking?
OpenStack is an open-source, community-driven, cloud management platform. It is a collection of Application Program Interfaces (APIs) that can be implemented with open-source technologies. OpenStack Networking often referred to as Neutron.
OpenStack Networking is a standalone service that often deploys several processes across several nodes. These processes interact with each other and other OpenStack services. The main process of the OpenStack Networking service is neutron-server, a Python daemon that exposes the OpenStack Networking API and passes tenant requests to a suite of plugins for additional processing.
Also, the OpenStack Networking service offers the end-users to define, utilize, and consume networking resources. OpenStack Networking was structured with a module design that gives extensibility of the API through open source network.
The following diagram illustrate the architectural flow of OpenStack Networking components:
Let us know in brief each of these components.
- neutron server
This service runs on the network node to service the Networking API and its extensions. It also enforces the network model and IP addressing of each port.
- Plugin agent
Runs on each compute node to manage local virtual switch configuration. This service requires message queue access and depends on the plugin used.
- DHCP agent
Provides DHCP services to tenant networks. This agent is the same across all plug-ins and is responsible for maintaining DHCP configuration. TheÂ neutron-DHCP-agent requires message queue access.
- L3 agent
Provides L3 forwarding for external network access of VMs on tenant networks.
- Software-defined Network Service
Provides additional networking services to tenant networks. These SDN services may interact withÂ neutron-server, neutron-plugin, and plugin-agents through communication channels such as REST APIs.
OpenStack Networking Setup:
Below mentioned is the diagram of standard OpenStack Networking Setup which consists of 4 physical networking data centers.
Management network is used for the internal communication between OpenStack components. The IP addresses on this system ought to be reachable just inside the data center and is viewed as the Management Security Domain.
Used for VM data communication within the cloud deployment. The IP addressing requirements of this network depend on the OpenStack Networking plug-in in use and the network configuration choices of the virtual networks made by the tenant. This network is considered the Guest Security Domain.
Used to provide VMs with Internet access in some deployment scenarios. The IP addresses on this system ought to be reachable by anybody on the Internet. This network is in the Public Security Domain.
Uncovered all OpenStack APIs, including the OpenStack Networking API, to tenants. The IP addresses on this system ought to be reachable by anybody on the Internet. This might be a similar network as the external network, as it is conceivable to make a subnet for the external network that utilizations IP allotment reaches to utilize just not exactly the full scope of IP addresses in an IP block. This system is viewed as the Public Security Domain.
Benefits of OpenStack Networking:
- Offers flexibility for the cloud administrator to customize network offerings.
- Enables developers to extend the networking API, which, over time, will become a core feature of OpenStack Neutron.
- Allows users to create their own networks, control traffic and connect servers and devices to one or more networks.
- Provides extensive framework and plugins for additional network services, such as Load Balancing-as-a-Service (LBaaS), Firewalls-as-a-Service (FWaaS) and Virtual Private Networks-as-a-Service (VPNaaS) to be deployed and managed.
The requirement for cloud platform, an OpenStack to help physical and virtual system setups to help IaaS usefulness. Since a cloud system can be worked with networking from various vendors, OpenStack networking helps us provide with the concept of plugins which helps for additional processing.