VLAN是二层技术,处于同一个广播域,如果2台主机属于同一个VLAN(广播域),它们之间可以直接使用MAC地址通信。
主机A、B位于VLAN 10,同一个广播域,主机A可以主机B用MAC地址通信。
主机C位于VLAN 20,另外一个广播域,主机A可以主机C用MAC地址(二层)通信吗?
不能,因为VLAN(广播域)天然隔离MAC地址(二层)通信,主机A所在的VLAN10 与主机C所在VLAN20是隔离的,自然不能MAC地址(二层)通信。
故事1
领导指示说,现在就要让主机A与主机C实现MAC地址(二层)通信,赶快给我整!
工程师甲默默地将主机C重新插入属于VLAN 10的交换机端口,A、C属于同一个VLAN 10,自然可以满足领导需求!
领导慢悠悠走过来,看到主机C插入VLAN10的端口,立马纠正说,这不是我要的。我要的是主机C依然连接VLAN 20的交换机端口,A、C可以MAC地址(二层)通信!
工程师乙立马将主机C插回原来的VLAN 20的端口,然后找来一根网线,网线的一端插入VLAN 10的端口,另外一端插入VLAN 20的端口。
主机A、主机C虽然处于不同的VLAN,但是却处于同一个广播域,所以自然是可以通信的。
为何主机A、C处于不同的VLAN,却处在同一个广播域?
因为工程师乙用网线短接了两个VLAN,使它们处于同一个广播域。
主机A发出的二层广播报文,不仅会蔓延VLAN 10,还会顺着网线蔓延到VLAN 20。
领导很满意地笑了,可是乙内心却是冷笑,如果允许外部飞线,将不同的VLAN融合成一个超级大的广播域,划分VLAN还有什么意义呢?
故事2
第二天,领导又来指示了,北京的数据中心有一个大型的存储设备,没有IP地址,只能通过MAC地址访问,位于上海数据中心的服务器想直接用MAC地址访问北京的存储设备,可以吗?
工程师甲首先发言,可以租一根光纤,一端连接存储设备,一端连接服务器。
领导显然不满意,这个租金太贵,否。
工程师乙然后发言,可以租运营商的二层MPLS 专线,一端连接存储设备,一端连接服务器。
领导也不满意,这个租金和互联网线路相比,也是太贵。有没有什么办法利用互联网线路实现二层访问。
工程师丙登场了,可以使用VXLAN技术。北京放一台VXLAN网关,上海放一台VXLAN网关,北京的VXLAN网关会将存储设备所在的VLAN的广播报文、单播报文发给上海的VXLAN网关,然后再到达上海服务器所在的VLAN。同理,上海的VXLAN网关会将服务器所在的VLAN的广播报文、单播报文发给北京的VXLAN网关,然后再到达北京存储设备所在的VLAN。实现北京存储设备所在VLAN,与上海服务器所在VLAN的融合,即融合成一个超级广播域,自然就可以MAC地址(二层)通信了。
无论北京存储设备所在VLAN与上海服务器所在VLAN相同、还是不同,都不重要,重要的是,它们已经融合在一起了。
故事2和故事1并没有什么不同,都是在将飞线的故事。
唯一的区别是:
- 故事1是使用物理网线实现飞线,从而实现广播域的融合。
- 故事2是使用虚拟网线实现飞线,从而实现广播域的融合。
虚拟网线 = 北京的VXLAN网关 + 互联网 + 上海VXLAN网关
如果把这个虚拟网线叫做underlay,那么这个虚拟网线所服务的金主(存储设备与服务器之间的MAC地址通信)自然就是overlay。
通俗地说,underlay就是轿夫,overlay就是坐在轿子里的金主。
整个故事里压根没有提及IP,难道和IP没有任何关系?
当然有,北京的VXLAN网关与上海VXLAN网关利用互联网建立起的虚拟网线,自然需要2个VXLAN网关拥有互联网可路由的IP地址。
作者|车小胖谈网络|公众号