网络虚拟化(一):基础概念

Rohana ·
更新时间:2024-11-14
· 615 次阅读

资源隔离技术

Linux的网络虚拟化得益于namespace和cgroup技术,其中namespace实现了资源的隔离,cgroup实现了资源的控制。
namespace概念
namespace 是 Linux 内核用来隔离内核资源的方式。通过 namespace 可以让一些进程只能看到与自己相关的一部分资源,而另外一些进程也只能看到与它们自己相关的资源,这两拨进程根本就感觉不到对方的存在。具体的实现方式是把一个或多个进程的相关资源指定在同一个 namespace 中。
Linux namespaces 是对全局系统资源的一种封装隔离,使得处于不同 namespace 的进程拥有独立的全局系统资源,改变一个 namespace 中的系统资源只会影响当前 namespace 里的进程,对其他 namespace 中的进程没有影响。
namespace 隔离的资源有

文件系统隔离 网络隔离:主要用于对网络资源的隔离,包括网络设备、IPv4/IPv6地址、IP路由表、防火墙、/proc/net、/sys/class/net及套接字等 IPC隔离:进程间通信隔离 用户和用户组隔离 PID隔离:进程隔离 UTS隔离:Unix Time-sharing System,提供主机名称和域名隔离

查看Linux是否启用的namespace:

[root@worker1 ~]# cat /boot/config-3.10.0-693.el7.x86_64 | grep CONFIG_USER_NS CONFIG_USER_NS=y

同理可以查看其他namespace是否开启
CONFIG_UTS_NS=y
CONFIG_IPC_NS=y
CONFIG_USER_NS=y
CONFIG_PID_NS=y
CONFIG_NET_NS=y

虚拟桥

Linux中虚拟桥有普通的bridge,也有openstack等云系统中采用的openvswitch技术,在云计算中,openvswitch采用较为广泛。
OVS常用的组件

ovs-vswitchd:OVS的守护进程,实现数据报文的交换功能,和Linux内核兼容模块一同实现了基于流的交换技术 ovsdb-server:轻量级的数据库服务,主要保存整个OVS的配置信息,如接口、交换和VLAN等,ovs-vswitchd的交换功能基于此库实现 ovs-vsctl:用于获取或更改ovs-vswitchd的配置信息,其修改操作会保存至ovsdb-server中。

namespace和openvswitch操作将在后续文章中更新!


作者:计算机-周卓



虚拟化

需要 登录 后方可回复, 如果你还没有账号请 注册新账号
相关文章