首页 » OpenStack系统架构设计实战 » OpenStack系统架构设计实战全文在线阅读

《OpenStack系统架构设计实战》4.1.9 Network NameSpace

关灯直达底部

Linux NameSpace是Linux提供的一种操作系统级虚拟化的方法。Linux NameSpace提供了PID、IPC、UTS、Mount、Network等系统资源的完全隔离机制。这种隔离机制是靠不同NameSpace中的进程彼此之间互不干扰实现的,即使是同样的进程只要在不同的NameSpace中也不会产生冲突。

Network NameSpace为进程提供了一个完全独立的网络协议栈的视图,包括网络设备接口、IPv4和IPv6协议栈、IP路由表、防火墙规则、Sockets等。一个Network NameSpace可以是一个交换机、一个路由器,或者一个防火墙等,这就相当于Network NameSpace提供了一个完全的系统环境(这也是NameSpace的基本特性)。

在Network NameSpace中有两个概念是实现Network NameSpace的全部网络功能的关键,一个是虚拟接口,一个是虚拟网桥。

1)一个虚拟接口只能属于一个Network NameSpace,但是可以从一个Network NameSpace转移到另外一个Network NameSpace中,虚拟接口都是成对出现的,发给其中一个接口的数据另外一个接口也会接到。

2)一个虚拟网桥可以接多个虚拟接口,且网桥能使数据在这些虚拟接口上进行转发。

虚拟网络设备(Virtual Network Device)提供了一种类似管道的抽象,可以在不同的NameSpace之间建立隧道。利用虚拟化网络设备,可以建立到其他NameSpace中的物理设备的桥接。当一个Network NameSpace被销毁时,物理设备会被自动移回init Network NameSpace,即系统最开始的NameSpace。