首页 理论教育 私有云架构实践:网络模型关键字

私有云架构实践:网络模型关键字

时间:2023-10-28 理论教育 版权反馈
【摘要】:本章主要用到的网络模型关键字有Bridge、IP Forward、GRE、Route、NAT、TAP、TUN、VEPA、VLAN、VXLAN,它们是构建私有云基础网络的重要元素。图6-2IP Forwarding作用位置3.BridgeBridge一般译作网桥,属于OSI模型的数据链路层。目前VLAN实现标准有IEEE 802.1q、802.1ad、802.1aj、802.1aq、802.1ar、802.1ak等。图6-6VLAN数据包格式示意图7.Q-in-Q由于标准的802.1q可划分的VLAN数目有限,并不能满足网络密集型用户的网络需求,就出现了很多802.1q的扩展标准,常见的有RFC 7348、802.1qbg等。

私有云架构实践:网络模型关键字

本章主要用到的网络模型关键字有Bridge、IP Forward、GRE、Route、NAT、TAP、TUN、VEPA、VLAN、VXLAN,它们是构建私有云基础网络的重要元素。

1.NAT

对于NAT(Network Address Translation,网络地址转译)网络,我们或许并不陌生。一般家庭路由器接入网络提供商(ISP)时,路由器会获得一个公网IP(现在二级宽带提供商会提供他们的服务内网IP),局域网电脑接入路由器后获得家庭内网IP,用户即是通过NAT来访问互联网的。

NAT的原理即是在客户端发出的IP封包到达NAT网关后,其中的源IP地址会被替换为网关IP(这个过程叫做SNAT,源IP和端口会被记录)再继续发送至外部服务器,当服务器返回IP封包到NAT网关后,其中的目的地址变更为客户端IP(这个过程叫DNAT,它会利用SNAT记录的IP与端口信息)再传递回客户端,外部地址一般不能直接访问NAT后端的地址(需要在NAT网关打开端口映射),其基本过程如图6-1所示。如果图中的请求是从外网客户端发起,内网服务器作响应,经过DNAT和SNAT之后返回,就是我们常说的端口映射了。

图6-1 NAT过程简图

2.IP Forwarding

IP Fowarding是路由技术的基础,提供网络服务的主机中通常都需要启用此功能。IP包被传递后需要配合防火墙的NAT规则到达路由,然后根据路由表决定转发路径,其作用位置如图6-2所示。

图6-2 IP Forwarding作用位置

3.Bridge

Bridge一般译作网桥,属于OSI模型的数据链路层(与之易混淆的hub属于物理层)。它将多个原本隔离的网络的数据链路连接起来形成一个聚合网络,与路由有所不同的是桥中的所有网络都是互相连通而非隔离的,其基本结构如图6-3所示。

它的实现主要有四种形式,包括simple bridging、multiport bridging、learning or transparent bridging和source route bridging,但基本思路都是MAC学习与报文转发,一般我们可以将其视为二层交换(switch)。

图6-3 桥接基本结构

4.GRE

GRE(Generic Routing Encapsulation,通用路由封装)是由Cisco主导开发的一种管道技术标准(RFC 2784),它能够封装网络层的任意协议并将之在网络层进行点对点传输,基本结构如图6-4所示。虽然它的功能是封装网络层协议,但是其封装与解封工作主要是在两端进行,所以它更接近传输层。目前其典型应用有NVGRE(Network Virtualization using GRE)、PPTP VPN、IPSec GRE等。

图6-4 GRE基本结构(www.xing528.com)

5.TAP/TUN

TAP/TUN是由内核实现的虚拟网络设备,它们在QEMU、OpenVPN等应用程序中经常成对使用。在QEMU的实现中,设备tap0作为主机网桥br0的桥接口,QEMU进程会打开主机的/dev/net/tun设备获得tap0的描述符,然后数据包通过此链路进行传输,如图6-5所示。

图6-5 QEMU的TAP/TUN桥接示意图

其中,TUN是TUNnel(管道)的缩写,它一般是一个用于传递数据包的字符设备;而虚拟TAP设备的物理原型(早期用于网络流量的监控,现基本已被淘汰)至少有三个口(进口、出口、监控口),其进口和出口均在工作在混杂(promiscuous)模式的网卡上且具有二层交换功能,所以我们可以将其理解为微型网桥(或者二层交换)。

6.VLAN

VLAN简言之是将同一局域网从逻辑上划分为多个相互隔离的子网,从而增加局域网的利用率并提高安全性。比如可以将本地局域网按照功能划分为生产环境网管区域、非军事区、来宾网络等,或者如第二章所述将私有云网络划分为存储网络、显示网络、管理网络、用户网络等。

目前VLAN实现标准有IEEE 802.1q、802.1ad、802.1aj、802.1aq、802.1ar、802.1ak等。通常所说的VLAN可以分别依据网口(物理层)、MAC地址(数据链路层)、IP地址(网络层)标记数据帧来进行子网划分(最多4094个),其操作二层数据包的格式如图6-6所示。

图6-6 VLAN数据包格式示意图

7.Q-in-Q

由于标准的802.1q可划分的VLAN数目有限,并不能满足网络密集型用户的网络需求,就出现了很多802.1q的扩展标准,常见的有RFC 7348(VXLAN)、802.1qbg(VEPA)等。它们都利用了类似Q-in-Q(802.1ad,即Stacked VLAN,通常译作VLAN堆叠或者VLAN嵌套)的技术,在原802.1q标签中添加了一段报文头以提供更细的VLAN划分,数据包格式如图6-7所示。

图6-7 Q-in-Q数据包格式示意图

8.EVB

EVB(Edge Virtual Bridging,边缘虚拟网桥)是IEEE 802.1qbg标准,它定义了hypervisor环境中虚拟交换环境与物理链路层之间的交互规则,用以弥补传统物理网络交换拓扑(Top of Rack与End of Row)的不足,比如布线复杂、管理分散等。EVB有VEPA、VN-Tag等实现标准,其典型开源实现OpenvSwitch将在稍后小节中介绍。

EVB标准的原型为VEPA(Virtual Ethernet Port Aggregation,虚拟网络端口汇聚),它有标准和多通道两种工作模式,核心实现为重写的生成树协议(STP)和Q-in-Q。标准模式的工作流程是将虚拟机的网络数据帧全部通过VEB(Virtual Ethernet Bridge,虚拟网桥)发送至外部交换,然后借助外部交换传递至目的MAC地址主机。如果目的主机与虚拟机在同一VEB,则由外部交换直接返回至目的主机,此时外部硬件或者软件交换机需要支持此特性以防止返回的数据包被STP策略忽略。多通道模式即在前者的基础上添加了标签机制(tagged VLAN),以在VEB中达到网络隔离的目的。由于VEPA的实现是将虚拟机的数据帧直接传递至外部交换,所以这也会带来一定的带宽损失和延迟问题,使用SR-IOV和Direct Path I/O等硬件辅助方案能有效解决此类问题,笔者将在本书的实践部分讲解SRIOV的基本使用。Cisco、HP、IBM、Juniper等公司都先后推出了VEPA的相关产品,极大地推动了基础设施中虚拟化网络的建设

802.1qbh又称为VN-Tag,它由Cisco提出,现已被废除并由802.1br(M-Tag)替代,其原理也大致相同。VN-Tag在数据帧的路径两端和数据帧都打上标签,分别标记由虚拟机网络接口、虚拟交换接口组成的数据通道和数据传递方向。如果外部交换机能够识别VN-Tag则数据帧继续传递,从而将设备进行级联。目前符合VN-Tag协议标准的只有Cisco和VMWare的相关产品,其他公司尚未有成型产品推出。

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈