首页 > 其他分享 >深入理解vxlan网络

深入理解vxlan网络

时间:2023-03-19 19:05:32浏览次数:40  
标签:UDP 封装 报文 网络 深入 VXLAN udp vxlan

    为什么要学习vxlan网络,到底有什么用,这个问题我觉得对于热爱技术并且在云行业工作的人来说答案是不言而喻的,在此不做过多解释,大家百度下就好!

1、 什么是vlxan?

  虚拟可拓展局域网 , mac in udp, 比如不同宿主机之间的虚拟机通信,最终还是要两个宿主机之间网络打通,两个宿主机之间构建vtep 隧道,传输封装好的udp 数据包,外层的udp数据包可以是两台物理机之间某一个网络,拆包后的数据帧就是虚拟机的网络,由此可以实现一个ip嵌套,进而可以有足够多的ip地址实现多租户隔离

Underlay  底层承载网

Overlay  基于底层网络互联互通的基础加上隧道技术取构建一个虚拟网络。Overlay的核心是打隧道

隧道的本质是打通两个vtep 之间的路由, 数据包要经过vxlan封装,最终走的还是uderlay 网络,不过该underlay 网络是构建隧道时选择的网络.

 具体概念可参考如下文章,很详细了

​https://blog.51cto.com/linweiwei/5212486​

2、 消息发送接收流程


深入理解vxlan网络_tcp


1 、会话层上面三层我们简称为应用层

该三层传输的就是我们通常说的消息,如qq消息

2 、该消息的形成是通过上层依次向下封装消息,发送到对端,接收数据后再从下层依次向上解封装,最终获取到可读消息

3、数据的封装过程如下,解封装是他的逆过程

深入理解vxlan网络_vtep_02


3、vxlan 报文讲解-mac in udp

    参考资料

     ​​http://m.biancheng.net/view/6391.html​

     数据链路层(数据帧):

     

深入理解vxlan网络_UDP_03

目的地址:

  接收帧的网络适配器的物理地址(MAC 地址),为 6 个字节(48 比特)。作用是当网卡接收到一个数据帧时,

首先会检查该帧的目的地址,是否与当前适配器的物理地址相同,如果相同,就会进一步处理;如果不同,则直接丢弃。 

 源地址:

 发送帧的网络适配器的物理地址(MAC 地址),为 6 个字节(48 比特)。

    参考资料

   ​​http://c.biancheng.net/view/6440.html​

  传输层(udp报文)

深入理解vxlan网络_虚拟网络_04

UDP 报文中每个字段的含义如下:

  • 源端口:这个字段占据 UDP 报文头的前 16 位,通常包含发送数据报的应用程序所使用的 UDP 端口。接收端的应用程序利用这个字段的值作为发送响应的目的地址。这个字段是可选的,所以发送端的应用程序不一定会把自己的端口号写入该字段中。如果不写入端口号,则把这个字段设置为 0。这样,接收端的应用程序就不能发送响应了。
  • 目的端口:接收端计算机上 UDP 软件使用的端口,占据 16 位。
  • 长度:该字段占据 16 位,表示 UDP 数据报长度,包含 UDP 报文头和 UDP 数据长度。因为 UDP 报文头长度是 8 个字节,所以这个值最小为 8。
  • 校验值:该字段占据 16 位,可以检验数据在传输过程中是否被损坏。


封装过程:

  

深入理解vxlan网络_虚拟网络_05


        outer mac header 、out ip  header :  外层的,vtep 隧道网络

       从传输层来看,其中vxlan head和 原始L2数据帧(内部的虚机网络) 当作udp 报文的数据部分嵌套在udp报文中。然后这个

嵌套的报文继续向下封装(网络层、数据链路层)就得到一个完整的数据包

   

深入理解vxlan网络_tcp_06

报文封装是在原始以太报文之前添加了一个UDP封装及VXLAN头封装

​     VXLAN header

VXLAN Flags:8比特,取值为00001000。

VNI:VXLAN网络标识,24比特,用于区分VXLAN段。

Reserved:24比特和8比特,必须设置为0。


   Outer UDP header

DestPort:目的UDP端口号是4789。

Source Port:源端口号是内层报文通过哈希算法计算后的值。


   Outer IP header

IP SA:源IP地址是VXLAN隧道本端VTEP的IP地址。

IP DA:目的IP地址是VXLAN隧道远端VTEP的IP地址。

Outer Ethernet header


MAC DA:在发送报文的虚拟机所属VTEP上根据目的VTEP地址查找路由表,路由表中下一跳IP地址对应的MAC地址。

MAC SA:发送报文的虚拟机所属VTEP的MAC地址。

802.1Q Tag:可选字段,该字段为报文中携带的VLAN Tag。

Ethernet Type:以太报文类型。


标签:UDP,封装,报文,网络,深入,VXLAN,udp,vxlan
From: https://blog.51cto.com/u_12606610/6131294

相关文章

  • 04:SwiftUI-网络图片
      正文 importSwiftUIstructWebImagePage:View{@StateprivatevarbaseImage:UIImage?=nilletplaceHolderImage=UIImage(named:"ico......
  • 数学建模算法-神经网络
    ​ 神经网络算法是一类基于生物神经网络结构和功能的计算模型。它是一种机器学习算法,可以用于识别、分类、模式匹配、预测等任务。神经网络由许多个简单的处理单元(神经元......
  • 网络系统管理Linux环境——10.AppSrv之DNS
    题目要求服务器AppSrv上的工作任务3. DNS(BIND)为chinaskills.cn域提供域名解析。为www.chinaskills.cn、download.chinaskills.cn和mail.chinaskills.cn提供解析。启用内外......
  • 网络系统管理Linux环境——11.AppSrv之APACHE2
    题目要求服务器AppSrv上的工作任务4. APACHE2安装apache服务;服务以用户webuser系统用户运行;全站点启用TLS访问,使用本机上的“CSKGlobalRootCA”颁发机构颁发,网站证书信......
  • 网络系统管理Linux环境——12.AppSrv之MAIL(POSTFIX-SMTPS & DOVECOT-IMAPS)
    题目要求服务器AppSrv上的工作任务5. MAIL(POSTFIX-SMTPS&DOVECOT-IMAPS)Postfix​​​sdskill.com​​​​​的邮件发送服务器支持smtps(465)协议连接,使用Rserver颁发......
  • 网络系统管理Linux环境——15.StorageSrv之NFS
    题目要求服务器AppSrv上的工作任务2. NFS共享/webdata/目录;用于存储AppSrv主机的WEB数据;仅允许AppSrv主机访问该共享。项目实施关闭selinux跟防火墙:[root@storagesrv~]#......
  • 网络系统管理Linux环境——16.StorageSrv之VSFTPD
    题目要求服务器AppSrv上的工作任务3. VSFTPD禁止使用不安全的FTP,请使用“CSKGlobalRootCA”证书颁发机构,颁发的证书,启用FTPS服务;用户webadmin,登录ftp服务器,根目录为/we......
  • 网络系统管理Linux环境——17.StorageSrv之SAMBA
    题目要求服务器AppSrv上的工作任务4. SAMBA创建zhangsan和lisi用户用于测试文件共享;创建samba共享,本地目录为/data/share1,要求:共享名为share1。仅允许zhangsan用户能上传......
  • 网络系统管理Linux环境——13.AppSrv之CA
    题目要求服务器AppSrv上的工作任务6. CA(证书颁发机构)CA根证书路径/csk-rootca/csk-ca.pem;签发数字证书,颁发者信息:(仅包含如下信息)   C=CN   ST=China   ......
  • 网络系统管理Linux环境——14.StorageSrv之DISK
    题目要求服务器AppSrv上的工作任务1. DISK添加大小均为10G的虚拟磁盘,配置raid-5磁盘。创建LVM命名为/dev/vg01/lv01,大小为100G,格式化为ext4,挂在到本地目录/webdata,在分区......