开发人员必读openstack网络基础5:网络叠加模式VLAN、VxLAN、GRE

本小妞迷上赌 提交于 2019-12-06 11:54:28

问题导读
1.什么是叠加网络?
2.什么是VLAN,它的作用是什么?
3.为什么会产生VXLAN?
4.隧道技术有什么具体应用?







什么是叠加网络
1.一个数据包(或帧)封装在另一个数据包内;被封装的包转发到隧道端点后再被拆装。
2.叠加网络就是使用这种所谓“包内之包”的技术安全地将一个网络隐藏在另一个 网络中,然后将网络区段进行迁移。



一、VLAN介绍


VLAN,是英文Virtual Local Area Network的缩写,中文名为"虚拟局域网", VLAN是 
一种将局域网(LAN)设备从逻辑上划分(注意,不是从物理上划分)成一个个网段(或者 
说是更小的局域网LAN),从而实现虚拟工作组(单元)的数据交换技术。 
VLAN这一新兴技术主要应用于交换机和路由器中,但目前主流应用还是在交换机之中 
。不过不是所有交换机都具有此功能,只有三层以上交换机才具有此功能,这一点可以查 
看相应交换机的说明书即可得知。

VLAN的好处主要有三个: 
(1)端口的分隔。即便在同一个交换机上,处于不同VLAN的端口也是不能通信的。这 
样一个物理的交换机可以当作多个逻辑的交换机使用。 
(2)网络的安全。不同VLAN不能直接通信,杜绝了广播信息的不安全性。 
(3)灵活的管理。更改用户所属的网络不必换端口和连线,只更改软件配置就可以了。 


二、VXLAN介绍

什么是VXLAN
VXLAN全称Virtual eXtensible LAN,是一种覆盖网络技术或隧道技术。VXLAN将虚拟机发出的数据包封装在UDP中,并使用物理网络的IP/MAC作为outer-header进行封装,然后在物理IP网上传输,到达目的地后由隧道终结点解封并将数据发送给目标虚拟机。

为什么需要Vxlan

1. vlan的数量限制
   4096个vlan远不能满足大规模云计算数据中心的需求

2. 物理网络基础设施的限制
   基于IP子网的区域划分限制了需要二层网络连通性的应用负载的部署

3. TOR交换机MAC表耗尽
    虚拟化以及东西向流量导致更多的MAC表项

4. 多租户场景
    IP地址重叠?


什么是隧道技术

隧道技术(Tunneling)是一种通过使用互联网络的基础设施在网络之间传递数据的方式。使用隧道传递的数据(或负载)可以是不同协议的数据帧或包。隧道协议将其它协议的数据帧或包重新封装然后通过隧道发送。新的帧头提供路由信息,以便通过互联网传递被封装的负载数据。
    这里所说的隧道类似于点到点的连接,这种方式能够使来自许多信息源的网络业务在同一个基础设施中通过不同的隧道进行传输。隧道技术使用点对点通信协议代替了交换连接,通过路由网络来连接数据地址。隧道技术允许授权移动用户或已授权的用户在任何时间、任何地点访问企业网络。
    通过隧道的建立,可实现:* 将数据流强制送到特定的地址* 隐藏私有的网络地址* 在IP网上传递非IP数据包* 提供数据安全支持


隧道技术好处
隧道协议有很多好处,例如在拨号网络中,用户大都接受ISP分配的动态IP地址,而企业网一般均采用防火墙、NAT等安全措施来保护自己的网络,企业员工通过ISP拨号上网时就不能穿过防火墙访问企业内部网资源。采用隧道协议后,企业拨号用户就可以得到企业内部网IP地址,通过对PPP帧进行封装,用户数据包可以穿过防火墙到达企业内部网。

隧道的应用
VPN具体实现是采用隧道技术,将企业网的数据封装在隧道中进行传输。隧道协议可分为第二层隧道协议PPTP、L2F、L2TP和第三层隧道协议GRE、IPsec。它们的本质区别在于用户的数据包是被封装在哪种数据包中在隧道中传输的。 

三、GRE介绍

GRE特点
1.跨不同网络实现二次IP通信
2.L3上面包装L3
3.封装在IP报文中
4.点对点隧道


GRE好处
不用变更底层网络架构重建L2、L3通信
实现不同host之间网络guest 互通
方便guest 迁移
支持网络数量扩大


对于GRE遂道,缺点主要是

一是增加了GRE表头会导致本应由交换机硬件来分片的变成由软件来分片(STT技术可以弥补这一点);
二是GRE广播,且遂道将虚拟二层打通了,广播风暴更厉害。但对于虚机来说,因为虚拟交换机是完全能够知道虚机的IP和MAC地址的映射关系的,根本不需要通过ARP广播来根据IP找MAC地址,目前Neutron中有这类似的blueprint可以禁止广播。所以个人比较看好STT技术,因为目前openvswitch与linux kernel还未实现STT,所以Neutron目前没有STT插件(但有VXLAN和GRE插件)。


相关帖子:

开发人员必读openstack网络基础1:什么是L2、L3

开发人员必读openstack网络基础2:交换机、路由器、DHCP


开发人员必读openstack网络基础3: iptables详解


开发人员必读openstack网络基础4:Dnsmasq、网络混杂模式


开发人员必读openstack网络基础6:什么是Tap/Tun、网桥

开发人员必读openstack网络基础7:到底什么是Open vSwitch

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!