FreedomLy's blog.

FreedomLy's blog.

你好 Hello こんにちは

OpenStack Neutron -- Neutron 架构分析

Neutron 在 OpenStack 中的定位是 NaaS (Networking as a Service)。NaaS 有两层含义:

  1. 对外接口:Neutron 为 Network、Subnet、Port、Router 等网络资源建立了逻辑模型,并提供了 RESTful API、CLI(命令行)和 GUI(图形化用户接口)
  2. 内部实现:利用 Linux 原生以及其他虚拟网络功能,再加上一些硬件网络功能,构建出真正的网络

Neutron 管理的网元,主要以”软“网元为主(也称作虚拟网络功能)。这些”软“网元有三种来源:

  1. Linux 原生(内核提供)的网络功能,如 Linux Router、Linux Bridge 等
  2. 开源的网络功能,如 OVS 等
  3. 厂商提供的闭源产品

在 Neutron 的抽象架构中,Neutron 接到 RESTful API 的请求后,交由模块 WSGI Application 进行初步的处理,然后这个模块通过 Python API 调用 Neutron 的 Plugin 模块。Plugin 模块做了相应处理后,通过 RPC 调用 Neutron 的 Agent 模块,Agent 再通过某种协议(比如 CLI)对 VNF(虚拟网络功能)进行配置。Neutron 内部由不同的组件组成,这些组件之间需要通信,从而引出了 Neutron 消息总线的通信机制。同时,为了提高效率,Neutron 采用了协程来做并发处理。

OpenStack Neutron -- Neutron 的资源模型

Neutron 把它管理的对象统统称为资源,表面上看起来这些资源的名称与传统电信领域的命名(比如 Network、Subnet)等完全一致,但是由于管理的范围(Neutron 的管理范围主要还是 DC 内)和管理对象的特点(Neutron 主要管理 Host 内部的虚拟网元)等原因,Neutron 的资源模型在传统电信的理论基础上又有其特点。

OpenStack Neutron -- Neutron 的网络实现模型

承载 Neutron 抽象的网络资源模型的方案,称之为 Neutron 的网络实现模型。Neutron 仅为管理系统(或者说是控制系统),它本身并不能实现任何网络功能,实现网络功能的是各种网元。

OpenStack Neutron -- Linux 虚拟网络基础

Neutron 在构建网络服务时,利用了许多 Linux 虚拟网络的功能(Linux 内核中的虚拟网络设备以及其他网络功能)。下面介绍一些与 Neutron 相关的 Linux 虚拟网络功能。

使用 Travis CI 实现 Hexo 博客自动构建和部署

Travis CI

昨天实现了用 Travis CI 对托管在 GitHub 上的 Hexo 博客进行自动部署。这么做的原因有两个:

  1. 每次博客更新都要自己手动 hexo d -g,次数多了感觉有点麻烦,因此希望能用过自动化的方式部署,这样就只要专注博客内容更新,而非部署等操作。
  2. 考虑到以后可能会更新设备(或者是多设备更新博客),到时候又要重新安装一遍环境。设备之间的切换估计也比较麻烦。

因此考虑实现博客源代码放在 GitHub 仓库里,并实现博客更新自动部署。

VSCode 常用插件记录

vscode
诈尸更新~~🤣🤣🤣
这篇文章用于记录我常用的 VSCode 插件,用以换新设备或者重装系统后重新安装插件使用。

LeetCode 751. IP to CIDR

Problem

Given a start IP address ip and a number of ips we need to cover n, return a representation of the range as a list (of smallest possible length) of CIDR blocks.

A CIDR block is a string consisting of an IP, followed by a slash, and then prefix length. For example: “123.45.67.89/20”. That prefix length “20” represents the number of common prefix bits in the specified range.

avatar
Freedomly
Hope is a good thing, maybe the best of things, and no good thing ever dies.