VXLAN基本知识
VXLAN解决的问题
- 公有云上存在很多的租户。每一个租户都希望自己拥有隔离的网络环境,如果想要实现2层网络的隔离,之能通过使用不同的VLAN。但是VLAN最多只能有4094个,已经不够用了。VXLAN可以支持2^24(16M)个2层网络。不同租户的2层网络的MAC地址可以重复。
- ToR switch的MAC地址表不够用的。因为在虚拟化环境中,一个接入switch的server上可能运行着成百上千个VM。每一个VM的MAC地址都需要一个表项。当MAC地址表不够用的时候,发往VM的包会变成未知单播,浪费网络资源。VXLAN通过overlay可以避免这个问题。
这里ToR是指Top-of-rack, rack是指一个机架,那ToR自然指的是放在一个机架顶上的交换机。
而MAC地址表,大概是这样一个表格:
MAC地址 | 出口 |
---|---|
50:56:56:01:01:01 | 端口1 |
50:56:56:01:01:10 | 端口2 |
50:56:56:01:01:20 | 端口3 |
- 生成树协议(STP)带来的问题。在云环境中,需要通信的两个VM可能位于不同的机架。如果要提供两个VM之间的2层网络连通性,必须把2层网络扩展到多个机架。为了防止多路径引起的环路,STP会block部分链路,导致了网络资源的浪费。VXLAN通过overlay可以避免这个问题。