1.前言
- 在了解标题中的三个概念之前,首先看下 网络的七层协议。
名称 | 作用 | 协议 | 所属设备 |
---|---|---|---|
应用层 | 用户接口应用成 | TELNET,HTTP,FTP,NFS,SMTP | 网关 |
表示层 | 定义数据格式,压缩,加密等 | 无协议 | 网关 |
会话层 | 会话的建立,控制结束 | 无协议 | 网关 |
传输层 | 选择差错恢复协议还是无差错恢复协议,提供端到端接口 | TCP,UDP,SPX | 网关 |
网络层 | 端到端的接口定义,选址 | IP,BGP,ICMP,RIP,OSPF,IGMP | 路由器 |
链路层 | 定义如何传输 | ARP,RAPP,MTU,PPP,SLIP | 交换机,网卡,网桥 |
物理层 | 通过物理介质传输而二进制流 | ISO2110,IEEE802,IEEE802.2 | 集线器,中继器 |
- 隧道技术
隧道技术是一种通过使用互联网络的基础设施在网络之间传递数据的方式。使用隧道传递的数据(或负载)可以是不同协议的数据帧或包。隧道协议将其它协议的数据帧或包重新封装然后通过隧道发送。新的帧头提供路由信息,以便通过互联网传递被封装的负载数据。
隧道技术是一种端到端的协议,该协议将原有的数据包重新封装,通过睡到发到对端。
2.VLAN
交换机工作在链路层,连接到交换机的设备工作在三层。处于同一个广播域中,当其中一个终端发起广播请求,会将请求分发到广播域中的所有终端,会导致报文消息泛滥,甚至网络风暴。
VLAN主要目的是想在网络层上虚拟子网,实际上就是分租实现对广播的隔离,当然广播是通过工作在链路层的交换机的,所以想要隔离广播(阻止广播),也是要通过链路层的。
802.1Q标准中基于传统以太网帧格式中添加了描述VLAN信息的字段。
其中增加的VID是VLAN 的唯一标识共12位,意味一个以太网最多可以划分为4094个VLAN。
VLAN的局限性:
- VLAN的个数限制4094:云环境中虚拟设备增多,应用增加
- 多租户情况下的IP地址、MAC地址的重叠
- 所有终端设备连接到二层交换机,增加交换机的负担
3.VXLAN
VXLAN是一种隧道技术,。通过将虚拟网络中的数据帧封装在实际物理网络中的报文中进行传输。具体实现方式为:将虚拟网络的数据帧添加VXLAN首部后,封装在物理网络中的UDP报文中,然后以传统网路络的通信方式传送该UDP报文,到达目的主机后,去掉物理网络报文的头部信息以及VXLAN首部,将报文交付给目的终端。整个通信过程目的终端不会感知到物理网络的存在。
所以VXLAN也承担着封包和解包的过程。
位于不同网络中的终端,通过VXLAN使终端所在的路由器之间形成一条在虚拟链路中的通道,称之为vxlan隧道终端VTEP(VXLAN Tunnel End Point)。如果终端是物理机,那么充当VTEP一般是交换机、路由器等硬件,但是如果是物理机上的虚拟终端一般是由所在物理机的的hypervisor进程承担VTEP的功能。
XLAN传输过程中,将逻辑链路网络的数据帧添加VXLAN首部后,依次添加UDP首部,IP首部,以太网帧首部后,在物理网络中传输。其中的IP中的源地址和目标地址指的是VTEP地址。
VTEP的转发表格式
VNI | MAC | VTEP |
---|
其中VNI表示的是租户,MAC便是终端的地址,VTEP表示终端坐在的VXLAN。通过这个转发表就可以控制租户与租户之间的隔离
VXLAN网络中的终端要和非VXLAN网络中的节点进行通信
由于VXLAN网络中的终端使用的都是虚拟网络地址,而非VXLAN中的设备使用的是实际的物理地址,此时,VXLAN网关将起到地址转换的作用,通信时,临时将VXLAN终端的虚拟地址转换为物理地址,然后再与外网进行通信。地址转换的方式可基于NAT机制
优势:
- 有24位表示VNI,可以支持更多的网路虚拟设备
- 采用隧道技术,使得三层网络无感知
- 多租户情况下,各租户可以独立的组网,通信,地址分配,
缺点:
要求物理网络的链路层提供做够大的MTU值
2.overlay
Overlay 在网络技术领域,指的是一种网络架构上叠加的虚拟化技术模式,其大体框架是对基础网络不进行大规模修改的条件下,实现应用在网络上的承载,并能与其它网络业务分离,并且以基于IP的基础网络技术为主。Overlay 技术是在现有的物理网络之上构建一个虚拟网络,上层应用只与虚拟网络相关。
VXLAN(Virtual eXtensible LAN)技术是当前最为主流的Overlay标准。Flannel中也有基于VXLAN的Overlay 网络(其他的UDP、AWS VPC和GCE)