·通信过程 下面简要说明VXLAN网络中的通信过程。对于处于同一个VXLAN的两台虚拟终端,其通信过程可以概括为如下的步骤:
① 发送方向接收方发送数据帧,帧中包含了发送方和接收方的虚拟MAC地址。 ② 发送方连接的VTEP节点收到了数据帧,通过查找发送方所在的VXLAN以及接收方所连接的VTEP节点,将该报文添加VXLAN首部、外部UDP首部、外部IP首部后,发送给目的VTEP节点。 ③ 报文经过物理网络传输到达目的VTEP节点。 ④ 目的VTEP节点接收到报文后,拆除报文的外部IP首部和外部UDP首部,检查报文的VNI以及内部数据帧的目的MAC地址,确认接收方与本VTEP节点相连后,拆除VXLAN首部,将内部数据帧交付给接收方。 ⑤ 接收方收到数据帧,传输完成。 通过以上的步骤可以看出:VXLAN的实现细节以及通信过程对于处于VXLAN中的发送方和接收方是不可见的,基于发送方和接收方的视角,其通信过程和二者真实处于同一链路层网络中的情况完全相同。
以上通信方式可以用下图来描述:
其中VTEP2中收到的报文和VTEP1中发送的报文相同,接受者收到的报文和发送者发出的报文也完全相同,这里为了便于描述,图中将其略去。
需要说明的是,VTEP1同样需要将上述封装好的IP报文封装在以太网帧中才能进行传输,这里称之为“外层以太网帧(Outer Ethernet Frame)”,外层以太网帧中数据字段值取决于实际物理网络的实现,因此笔者为在图中给出。在VXLAN的实际实现中,VTEP1和VTEP2可以处于不同的物理网络中,只要保证VTEP1和VTEP2可以通信即可,而对于二者通信所经过的路径,我们不必关心。
|