The networking and computing components of Nova were integrated at the outset of the OpenStack project. Just a network with nodes built with vlan can be established with a network. Since cloud technologies developed, the following became necessary:
- Network with multiple tiers and overlapping IP addresses.
- Superior isolation strategy between the network’s application tiers as opposed to security groups.
- Utilise tunneling technologies while minimizing network scale-up issues with VLAN-based networks.
- Networks can be created programmatically to enable “ Networking as a service”.
- A knack for using both physical and virtual switches, as well as a variety of distinct, divergent technological advances, within the same network.
Originally known as Quantum, the OpenStack networking service subsequently adopted the name nNeutron Neutron is one of OpenStack’s main projects right now. The device layer is the lowest and can consist of virtual or physical devices. Virtual devices include Open Vswitch, Linux Bridge, Cisco N1K, and Juniper Qfabric; physical devices include Cisco Nexus and Juniper Qfabric. Various technologies, such as VLAN, VXLAN, and NVGRE, are utilized for connecting networks at the administration layer. The SDN controller layer, or controller layer, can have secure or open-source controllers. Neutrons can communicate with network devices directly using device plugins or by delegating the communication task to an SDN controller. It is feasible to use both models.
Neutron uses logical routers to improve isolation between applications and tiers. Moreover, it offers overlay mechanism assistance. Neutron offers enterprise networking assistance that is modular. The device-independent API layer is called Neutron API. Device-agnostic APIs are converted to device-specific settings by the plugin layer. Every device will have a plugin intermediary that communicates with Neutron’s plugin layer. The associated device vendor provides both the plugin and the plugin agent. Extensions for APIs may be vendor-proprietary or pertain to non-core functionalities. Several well-known plugins include nicer NVP, Openseitch, Linux bridge, Cisco Nexus, and others. The image that follows shows a basic OpenStack approach to deployment using the Neutron service.
The Controller, Compute, and Network nodes in the example above are installed on three different machines. In addition to running in the controller node, the Neutron server also includes the device plugin. The plugin agent connects to the Neutron server while operating in the compute node.
The network node operates a plugin agent in addition to providing services like DHCP and I3. The Data and Management networks are distinct. Virtual machines (VMs) can communicate with network nodes and with each other via data networks. All OpenStack components can communicate with one another thanks to the management network.
ML2 Plugin
Plenty of redundant code was produced by the per-device plugin construction, making plugin upkeep an impossible task. The type driver and mechanism driver were kept apart in the proposed ML2 plugin technique. The mechanism driver is made up of drivers to make use of different devices, and the type driver is made up of VLAN, vxlan, and never. The ML2 plugin enables heterogeneous deployments.
Integration of OpenStack and ODL
ODL is an open-source SDN controller. The Neutron mL2 plugin primarily deems the Opendaylight REST APIs as a proxy. OpenStack can transfer networking components to ODL through this framework. This framework enhances adaptability, based on what I’ve read, though I’m not entirely sure why. It might be the case that OpenStack does not need to duplicate ODLs’ extensive network intelligence and a variety of device communication methods.
Final Thoughts
With the OpenStack platform, you have more flexibility when building intricate web infrastructures. Virtual network interfaces make it simple to set up networks, routers, and connections between them. Nevertheless, before starting to develop the remedy, you must consider a few helpful implications.