0%

为什么需要 VLAN

什么是VLAN

VLAN(Virtual LAN),翻译成中文是“虚拟局域网”。LAN可以是由少数几台家用计算机构成的网络,也可以是数以百计的计算机构成的企业网络。VLAN所指的LAN特指使用路由器分割的网络——也就是广播域。

在此让我们先复习一下广播域的概念。

广播域,指的是广播帧(目标MAC地址全部为1)所能传递到的范围,亦即能够直接通信的范围。严格地说,并不仅仅是广播帧,多播帧(Multicast Frame)和目标不明的单播帧(Unknown Unicast Frame)也能在同一个广播域中畅行无阻。

阅读全文 »

Macvlan 允许你在主机的一个网络接口上配置多个虚拟的网络接口,这些网络 interface 有自己独立的 MAC 地址,也可以配置上 IP 地址进行通信。Macvlan 下的虚拟机或者容器网络和主机在同一个网段中,共享同一个广播域。Macvlan 和 Bridge 比较相似,但因为它省去了 Bridge 的存在,所以配置和调试起来比较简单,而且效率也相对高。除此之外,Macvlan 自身也完美支持 VLAN

阅读全文 »

VXLAN 全称是 Virtual eXtensible Local Area Network,虚拟可扩展的局域网。它是一种 overlay 技术,通过三层的网络来搭建虚拟的二层网络。rfc7348 (参考资料1) 上的介绍是这样的:

A framework for overlaying virtualized layer 2 networks over lay 3 networks.

阅读全文 »

IPVLAN 和 MACVLAN 类似,都是从一个主机接口虚拟出多个虚拟网络接口。一个重要的区别就是所有的虚拟接口都有相同的 mac 地址,而拥有不同的 ip 地址。

阅读全文 »

上一篇笔记中,我们在介绍网络设备的时候了解了一种典型的通过TUN/TAP设备来实现VPN的原理,但是并没有实践TUN/TAP虚拟网络设备具体在linux中怎么发挥实际的功能。这篇笔记我们就来看看在云计算领域中一种非常典型的IPIP隧道如何TUN设备来实现。

阅读全文 »

Bridge

bridge一般叫网桥,它也是一种虚拟网络设备,所以具有虚拟网络设备的特征,可以配置IP、MAC地址等。与其他虚拟网络设备不同的是,bridge是一个虚拟交换机,和物理交换机有类似的功能。bridge一端连接着协议栈,另外一端有多个端口,数据在各个端口间转发是基于MAC地址。

bridge可以工作在二层(链路层),也可以工作在三层(IP网路层)。默认工作在二层。默认情况下,其工作在二层,可以在同一子网内的的不同主机间转发以太网报文;当给bridge分配了IP地址,也就开启了该bridge的三层工作模式。在Linux下,你可以用iproute2brctl命令对bridge进行管理。

阅读全文 »

veth 虚拟网络设备一端连着协议栈,另外一端不是物理网络,而是另一个veth 设备,成对的veth设备中一个数据包发送出去后会直接到另一个veth设备上去。每个veth设备都可以被配置IP地址,并参与三层 IP 网络路由过程。

阅读全文 »

TUN/TAP 虚拟网络设备一端连着协议栈,另外一端不是物理网络,而是另外一个处于用户空间的应用程序。也就是说,协议栈发给TUN/TAP的数据包能被这个应用程序读取到,当然应用程序能直接向TUN/TAP发送数据包。

阅读全文 »

crictl 是 CRI 兼容的容器运行时命令行接口。 你可以使用它来检查和调试 Kubernetes 节点上的容器运行时和应用程序。 crictl 和它的源代码在 cri-tools 代码库,本文将总结 crtctl 工具的使用方法。

阅读全文 »

nsenter 命令是一个可以在指定进程的命令空间下运行指定程序的命令,它位于util-linux包中。通过 nsenter 命令可以极大方便容器网络等场景的调试,本文将介绍其原理与使用。

阅读全文 »