Linux网络虚拟化

2020121141251

干预网络通信

从Linux Kernel 2.4版开始,内核开放了一套通用的、可供代码干预数据在协议栈中流转的过滤器框架。它围绕网络层(IP协议)的周围,埋下了五个钩子:

2020121142155

虚拟化网络设备

虚拟网卡:tnu/tap

tap模拟了以太网设备,操作二层数据包(以太帧),tun则模拟了网络层设备,操作三层数据包(IP报文)

2020121142815

虚拟网卡:veth

veth是一对设备,因而也常被称作veth pair,在veth设备的其中一端输入数据,这些数据就会从设备的另外一端原样不变地流出

2020121143015

虚拟交换机:Linux Bridge

虚拟网桥

虚拟交换机

NAT

Linux Bridge创建以后,便能够接入任何位于二层的网络设备

GRE

一种 IP-over-IP 的隧道技术。它将 IP 包封装在 GRE 包里,外面加上 IP 头,在隧道的一端封装数据包,并在通路上进行传输,到另外一端的时候解封装

虚拟网络:VXLAN

VXLAN协议

副本网卡:MACVLAN

MACVLAN借用了VLAN子接口的思路,并且在这个基础上更进一步,不仅允许对同一个网卡设置多个IP地址,还允许对同一张网卡上设置多个MAC地址