Network Security Internet Technology Development Database Servers Mobile Phone Android Software Apple Software Computer Software News IT Information

In addition to Weibo, there is also WeChat

Please pay attention

WeChat public account

Shulou

How to understand Neutron Architecture

2025-04-03 Update From: SLTechnology News&Howtos shulou NAV: SLTechnology News&Howtos > Servers >

Share

Shulou(Shulou.com)06/01 Report--

This article will explain in detail how to understand the Neutron architecture, the content of the article is of high quality, so the editor will share it for you as a reference. I hope you will have some understanding of the relevant knowledge after reading this article.

Today we analyze the architecture of Neutron.

Neutron architecture

Like other OpenStack services, Neutron also adopts a distributed architecture, in which multiple components (sub-services) work together to provide network services.

Neutron consists of the following components:

Neutron Server

Provide OpenStack network API, receive the request, and call Plugin to process the request.

Plugin

Process the request from Neutron Server, maintain the state of the OpenStack logical network, and call Agent to process the request.

Agent

Handle the request of Plugin, responsible for realizing all kinds of network functions on network provider.

Network provider

A virtual or physical network device that provides network services, such as an Linux Bridge,Open vSwitch or other physical switch that supports Neutron.

Queue

Communication and invocation between Neutron Server,Plugin and Agent through Messaging Queue.

Database

Store the network status information of OpenStack, including Network, Subnet, Port, Router, etc.

The Neutron architecture is very flexible and has many layers, and its purpose is to:

In order to support a variety of excellent network technologies that exist or will emerge in the future.

Support distributed deployment and obtain sufficient scalability.

Usually you can't have both fish and bear's paw. Although you can gain these advantages, it makes Neutron more complex and harder to understand. We will discuss the various components of Neutron in detail later, but before we do that, it is necessary to use an example to understand the respective responsibilities of these components and how they work together.

Take creating a network of VLAN100 as an example. Assume that network provider is linux bridge. The process is as follows:

Neutron Server receives a request to create a network and notifies the registered Linux Bridge Plugin through Message Queue (RabbitMQ).

Plugin saves the information of the network to be created (such as name, VLAN ID, and so on) in the database and notifies the Agent running on each node through Message Queue.

When Agent receives the message, it creates a VLAN device (such as eth3.100) on the physical network card (such as eth3) on the node, and creates a bridge (such as brqXXX) to bridge the VLAN device.

You can refer to the relevant chapters of this tutorial "preliminary knowledge-> Network Virtualization" on how to implement VLAN in linux bridge.

Here are a few notes:

Plugin solves the problem of What, that is, what does the network look like? The work of how to configure How is left to agent.

Plugin,agent and network provider are used together. For example, if network provider is linux bridge in the above example, you have to use plungin and agent; of linux bridge. If network provider is replaced with OVS or physical switch, plugin and agent also have to be replaced.

One of the main responsibilities of plugin is to maintain the status information of the Neutron network in the database, which creates a problem: all plugin of network provider have to write a set of very similar database access code. To solve this problem, Neutron implements a ML2 (Modular Layer 2) plugin in the Havana version, which abstracts and encapsulates the functions of plgin. With ML2 plugin, all kinds of network provider do not need to develop their own plugin, only need to develop the corresponding driver for ML2, the workload and difficulty are greatly reduced. ML2 will be discussed in more detail later.

Plugin is divided into two categories by function: core plugin and service plugin. Core plugin maintains the information of Neutron's netowrk, subnet and port related resources, and the agent corresponding to core plugin includes linux bridge, OVS, etc. Service plugin provides routing, firewall, load balance and other services, as well as corresponding agent. It will also be discussed in detail later.

On how to understand the Neutron architecture to share here, I hope that the above content can be of some help to you, can learn more knowledge. If you think the article is good, you can share it for more people to see.

Welcome to subscribe "Shulou Technology Information " to get latest news, interesting things and hot topics in the IT industry, and controls the hottest and latest Internet news, technology news and IT industry trends.

Views: 0

*The comments in the above article only represent the author's personal views and do not represent the views and positions of this website. If you have more insights, please feel free to contribute and share.

Share To

Servers

Wechat

© 2024 shulou.com SLNews company. All rights reserved.

12
Report