vxlan和vlan数据报文

802.1Q标准的以太网帧格式增加了802.1Q字段,该字段包含了Type、PRI、CFI和VID 4个部分,各个部分的含义如下:

·Type:长度为2 bytes,表示帧类型,802.1Q tag帧中Type字段取固定值0x8100,如果不支持802.1Q的设备收到802.1Q帧,则将其丢弃。
·PRI:priority字段,长度为3 bit,表示 以太网帧的优先级,取值范围是0~7,数值越大,优先级越高。当交换机/路由器发生传输拥塞时,优先发送优先级高的数据帧。
·CFI:Canonical Format Indicator,长度为1bit,表示MAC地址是否是经典格式。CFI为0说明是经典格式,CFI为1表示为非经典格式。该字段用于区分以太网帧、FDDI帧和令牌环网帧,在以太网帧中,CFI取值为0
·VID:VLAN ID,长度为12 bit,取值范围是0~4095,其中0和4095是保留值,不能给用户使用。

这里需要关注的是VID字段,该字段唯一标识了一个VLAN,12bit长度的VID可以表示4096个不同的值,除去两个保留值,一个以太网最多可以划分为4094个VLAN。

VXLAN

VXLAN是一种隧道技术。通过将虚拟网络中的数据帧封装在实际物理网络中的报文中进行传输。具体实现方式为:将虚拟网络的数据帧添加VXLAN首部后,封装在物理网络中的UDP报文中,然后以传统网路络的通信方式传送该UDP报文,到达目的主机后,去掉物理网络报文的头部信息以及VXLAN首部,将报文交付给目的终端。整个通信过程目的终端不会感知到物理网络的存在。

利用VXLAN技术组网的方法可以用下图来描述:

图中两台终端T1和T2位于不同的网络中,二者通过路由器来实现互通,通过VXLAN可以使得这两台终端在“逻辑上”位于“同一个”链路层网络中而与两台终端直接相连的路由器也在逻辑上构建了一条在虚拟链路中的通道vxlan tunnel,这样的路由器我们称之为“vxlan隧道终端”(VXLAN Tunnel End Point, VTEP)。在包含VXLAN的网络中,VXLAN的实现机制仅仅对VTEP节点可见。
    需要说明的是,VTEP节点可以由实现了VXLAN功能的交换机、路由器等硬件设备充当,但在更多的基于虚拟化技术实现的网络拓扑的应用中,VTEP节点的角色更多由部署了多台虚拟机的主机中的hypervisor进程来担任,如下图:

接下来介绍VXLAN的通信原理。VXLAN通过将逻辑网络中通信的数据帧封装在物理网络中进行传输,封装和解封装的过程由VTEP节点完成。VXLAN将逻辑网络中的数据帧添加VXLAN首部后,封装在物理网络中的UDP报文中传送,VXLAN首部的格式如下:

VXLAN首部由8个字节组成,第1个字节为标志位,其中标志位I设为1表示是一个合法的VXLAN首部,其余标志则保留,在传输过程中必须置为0;第2-4字节为保留部分,第5-7字节为VXLAN标识符,用来表示唯一的一个逻辑网络;第8个字节同样为保留字段,暂未使用。
    VXLAN传输过程中,将逻辑链路网络的数据帧添加VXLAN首部后,依次添加UDP首部,IP首部,以太网帧首部后,在物理网络中传输,数据帧的封装格式可以用下图来描述:

需要注意的是,外部UDP首部的目的端口号为4789,该数值为默认VXLAN解析程序的端口,外层IP首部中的源IP和目的IP地址均填写通信双方的VTEP地址,协议的其余部分和传统网络相同。

VXLAN网络中的通信过程。对于处于同一个VXLAN的两台虚拟终端,其通信过程可以概括为如下的步骤:

① 发送方向接收方发送数据帧,帧中包含了发送方和接收方的虚拟MAC地址。

② 发送方连接的VTEP节点收到了数据帧,通过查找发送方所在的VXLAN以及接收方所连接的VTEP节点,将该报文添加VXLAN首部、外部UDP首部、外部IP首部后,发送给目的VTEP节点。

③ 报文经过物理网络传输到达目的VTEP节点。

④ 目的VTEP节点接收到报文后,拆除报文的外部IP首部和外部UDP首部,检查报文的VNI以及内部数据帧的目的MAC地址,确认接收方与本VTEP节点相连后,拆除VXLAN首部,将内部数据帧交付给接收方。

⑤ 接收方收到数据帧,传输完成。

通过以上的步骤可以看出:VXLAN的实现细节以及通信过程对于处于VXLAN中的发送方和接收方是不可见的,基于发送方和接收方的视角,其通信过程和二者真实处于同一链路层网络中的情况完全相同

VTEP节点工作机制

通过以上通信步骤的描述可以看到,VTEP节点在VXLAN网络通信中起到了至关重要的作用。在VXLAN网络通信中,VTEP节的职责主要有3项:
    (1) 将虚拟网络通信的数据帧添加VXLAN头部和外部UDP和IP首部。
    (2) 将封装好的数据包转发给正确的VTEP节点。
    (3) 收到其他VTEP发来的VXLAN报文时,拆除外部IP、UDP以及VXLAN首部,然后将内部数据包交付给正确的终端。

·VXLAN网关

接下来简要说明一下VXLAN网关节点。VXLAN网关节点适用于这样一种应用场景:当一台处于VXLAN网络中的终端要和一台处于非VXLAN网络中的节点进行通信时,由于VXLAN网络中的终端使用的都是虚拟网络地址,而非VXLAN中的设备使用的是实际的物理地址,此时,VXLAN网关将起到地址转换的作用,通信时,临时将VXLAN终端的虚拟地址转换为物理地址,然后再与外网进行通信。地址转换的方式可基于NAT机制。关于网VXLAN网关的实现详细细节,笔者暂不明白,因此,这里仅简要描述。

详细链接http://blog.csdn.net/octopusflying/article/details/77609199

时间: 2024-08-30 16:04:44

vxlan和vlan数据报文的相关文章

【网络基础】IP数据报文段解析

IP数据报文段的结构示意图如下: (1)版本 占4位,指IP协议的版本. 通信双方使用的IP协议版本必须一致.目前广泛使用的IP协议版本号为4(即IPv4).关于IPv6,目前还处于草案阶段. (2)首部长度 占4位,可表示的最大十进制数值是15. 请注意,这个字段所表示数的单位是32位字长(1个32位字长是4字节),因此,当IP的首部长度为1111时(即十进制的15),首部长度就达到4*15=60字节.当IP分组的首部长度不是4字节的整数倍时,必须利用最后的填充字段加以填充.因此数据部分永远在

iptables的基本概念及数据报文在iptables中的流传过程

iptables 高性价比的防火墙 Linux中建立在内核上的防火墙iptables在网络攻击方式和技术日益增多的21世纪,服务器的安全性逐渐显得尤为重要,在主机防护层面相比昂贵的硬件防火墙设备,iptables是一种性价比很高的包过滤型软件防火墙,无需昂贵的费用,只需消耗一定的服务器计算资源. iptables的基本概念 Netfilter:iptables是建立在内核上的防火墙,而NetfilterLinux内核的一个数据处理模块.而iptables就相当于在用户空间对于Netfilter的

追踪openvswitch对特定数据报文的流表匹配与处理结果的实例

SDN环境中,每一个openvswitch的datapath实例中都会有大量的流表项,无论是使用各种关键字的grep手段或者是其他方法来确认是否由控制器下发了预期正确流表项,还是看关于特定数据包的匹配与最终action都是一件非常繁琐和头疼的事情.使用ovs-appctl工具结合linux自带的tcpdump抓包工具就可以很轻松直观的最终流表匹配情况,来完成自己繁琐的查找工作,还能避免自己的判断的错误. ?? 主要步骤如下:? ? 1.确认你需要跟踪的数据包的各项参数: ? ? 2.将其转化成o

国产网络测试仪MiniSMB - 双击就可以直接编辑数据报文字段(如IP地址)

国产网络测试仪MiniSMB(www.minismb.com)是复刻smartbits的IP网络性能测试工具,是一款专门用于测试智能路由器,网络交换机的性能和稳定性的软硬件相结合的工具.可以通过此以太网测试工具测试任何IP网络设备的端口吞吐率,带宽,并发连接数和最大连接数等诸多参数指标. 与软件Iperf,netperf, dpdk trafficgen相比较,minismb属于专业硬件网络发包测试仪, 具备精准测试速率,高吞吐率,可模拟千万级连接数等特点.类似于Spirent思博伦smartb

(八)Docker网络跨主机通讯vxlan和vlan

基于OpenvSwitch实现跨主机通信: 环境描述: 计算机名称 IP Docker01 eth0:192.168.124.150/24 eth1:172.16.100.20/24 docker0:172.17.0.1/24(默认) Docker02 eth0:192.168.124.15124 eth1:172.16.100.30/24 docker0:172.17.0.1/24(默认) dockerothsrv eth0:192.168.124.152/24 eth1:172.16.100

VLAN 数据包分析1

数据包标签分析 PC1发送一个目的是PC2数据包,到达SW1的G0/2接口,打上VLAN 3的标签,进入SW1,SW1的G0/1接口是trunk,允许所有VLAN 通过,PVID的1,和数据包的PVID不一致,直接发送,SW2的G0/1接口接收到数据包是,数据包的PVID为VLAN 3,与G0/1的PVID相同,接收,在SW2的VLAN 3内转发,G0/2接口为ACC,与数据包的PVID相同,脱标,发送,PC2收到,回包,PC2发送一个数据包,目标位PC1,到达SW2的G0/2接口是,打上VLA

VLAN报文和非VLAN以太网报文的区别

VLAN(Virtual Local Area Network,虚拟局域网)协议,基于802.1Q协议标准. 以太网带VLAN帧结构,是在以太网报文中,位于数据帧中"发送源MAC地址"与"类别/长度域(Type /Len)"之间,增加了4个字节(Bytes)的VLAN内容.具体内容为2字节的TPID和2字节的TCI.由于以太网帧结构数据变化,以太网帧的CRC校验字节内容相应有变化. 如下图,vlan ID占TCI中的12个bit,所以vlan ID最大为2的12方,

呼叫中心获取sip数据报文

1.下载sngrep并且安装: 运行 ./sngrep 进入呼叫列表,空格选中呼叫流,进入 2.呼叫信息 回车进入原始窗口 空格选中两条消息流,回车进入消息差异窗口 F8设置 原文地址:https://www.cnblogs.com/setout/p/10305482.html

vxlan理论基础

1. vxlan优势:1).解决VLAN Tag域只有12比特的限制,通过24比特的VNI可以支持多达16M的VXLAN段的网络隔离,对用户进行隔离和标识不再受到限制,可满足海量租户.2).除VXLAN网络边缘设备,网络中的其他设备不需要识别虚拟机的MAC地址,减轻了设备的MAC地址学习压力,提升了设备性能.3).采用MAC in UDP封装来延伸二层网络,实现了物理网络和虚拟网络解耦. 2. vxlan基本概念:1).Underlay网络和Overlay网络:将已有的物理网络作为Underla