0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

什么是VXLAN 三层网络搭建二层网络的设计方案

联发科技 作者:工程师李察 2018-11-03 07:56 次阅读

一、VXLAN概述

1. 什么是 VXLAN

VXLAN(Virtual Extensible LAN)虚拟可扩展局域网,是一种 overlay 网络技术,将原始2层以太网帧进行UDP封装 (MAC-in-UDP),增加8字节 VXLAN头部,8字节 UDP头部, 20字节 IP 头部和14字节以太网头部,共50字节。

2. VXLAN优点

VXLAN与VLAN相比能够提供更好的扩展性和灵活性,主要有以下特点:

应用灵活部署: 通过VXLAN封装后的2层以太网帧可以跨3层网络边界,让组网以及应用部署变得更加灵活,同时解决多租户网络环境中IP地址冲突问题。

更好的扩展性: 传统 VLANID字段为12-bit,VLAN数量最大为4096;VXLAN使用24-bit VNID (VXLAN network identifier),最大支持 16,000,000 逻辑网络。

提高网络利用率: 传统以太网使用 STP预防环路, STP导致网络冗余路径处于阻塞状态, VXLAN报文基于 3层 IP报头传输,能有效利用网络路径,支持 ECMP(equal-cost multipath )和链路聚合协议。

(1) 应用灵活部署

如图 1-1 所示,在 VXLAN环境中应用部署不受物理位置和3层网络边界限制,例如某应用的地址段为 192.168.1.0/24,在传统网络中所有该应用服务器或者虚拟机必须在同一 3层网络内部署,否则会产生路由或者地址冲突问题。

(2) 更好的扩展性

传统网络通过 VLAN将客户网络逻辑隔离, VLAN ID字段为 12-bit ,VLAN数量最大为 4096;VXLAN使用 24-bit VNID ( VXLAN network identifier ),最大支持16,000,000 逻辑网络,扩展性得到极大增强。

(3) 提高网络利用率

图 1-3 使用 VXLAN 后使用三层接口互联消除生成树阻塞端口

传统以太网帧无法穿越三层网络,部署 VXLAN后, VTEP之间数据基于三层寻址,网络互联接口不再是二层接口, 可以将交换机之间互联接口部署为三层模式,消除生成树阻塞端口,提高网络利用率,支持 ECMP(equal-cost multipath )和链路聚合协议。

二、VXLAN术语

1. VTEP

VXLAN

Tunnel Endpoint (VTEP)。VXLAN使用VTEP设备对VXLAN报文进行封装与解封装,包括ARP请求报文和正常的VXLAN数据报文,VTEP将原始以太网帧通过VXLAN封装后发送至对端 VTEP设备,对端VTEP接收到 VXLAN报文后解封装然后根据原始 MAC进行转发,VTEP可以是物理交换机、物理服务器或者其他支持 VXLAN的硬件设备或软件来实现。

2. VNI

Virtual Network ID ( VNI), VNI封装在 VXLAN头部,共 24-bit ,最大支持16,000,000 逻辑网络。

3. VXLAN 网关

VXLAN网关用于连接 VXLAN网络和传统 VLAN网络,VXLAN网关实现 VNI和VLAN ID 之间的映射, VXLAN 网关实际上也是一台 VTEP设备。

4. 组播组

VTEP设备要加入相同的组播组,主要用于控制平面地址学习。

三、VXLAN封装

VXLAN使用 UDP封装完整的以太网帧 (MAC-in-UDP),共 50 字节的封装报文头。具体的报文格式如下:

1. Inner MAC

Inner MAC,内层 MAC是原始以太网帧的 MAC地址。

2. VXLAN Header

共 8 个字节,目前使用的是 Flags 中的一个 8bit 的标识位和 24bit 的VNI(Vxlan Network identifier) ,其余部分没有定义,但是在使用的时候必须设置为 0x0000。

3. Outer UDP Header

共8个字节,IANA分配的标准目的端口使用 4798,但是各厂商可以根据需要进行修改,同时UDP的校验和必须设置成全 0。

4. Outer IP Header

共20个字节,目的IP地址可以是单播地址,也可以是多播地址。 单播情况下,目的IP地址是目的VTEP的 IP地址;当用于VXLAN控制平面时会使用多播地址。

Outer IP: 外层IP地址是经过VTEP封装后的3层IP地址,源IP是本端VTEP设备IP,用于控制平面时目的 IP 可以是多播地址,用于转发平面时目的 IP是远端 VTEP设备 IP。

5. Outer Ethernet Header

共计14个字节,外层以太网帧头部。Outer MAC,外层 MAC是经过 VTEP封装后的二层 MAC,源 MAC是本端 VTEP设备MAC,目的 MAC可以是远端 VTEP设备MAC或者传输路径中间 3 层网络设备 MAC。

四、VXLAN数据转发

1. 控制平面

在 VXLAN的实现中, 当通过组播实现控制平面路径发现时, VTEP设备之间使用无状态 tunnel ,VTEP设备之间不会维持状态化的长连接。 VXLAN需要通过控制平面学习远端设备地址信息, 在本地构建控制平面表项。 控制平面表项由 VNI、Inner Source MAC 、Outer Source IP 三元组组成。

2. 转发平面

控制平面学习地址映射信息后, 转发平面负责实际数据的转发。 VTEP为原始数据帧增加 UDP报头,新的报头到达目的 VTEP后才会被去掉,中间路径的网络设备只会根据外层包头内的目的地址进行数据转发。

3. VXLAN ARP请求

如上图所示,终端设备 A需要和终端设备 B通信, ARP请求过程如下:

终端设备 A 发送 ARP请求,请求终端设备 B 的 MAC地址;

VTEP-1收到终端设备 A发送的 ARP请求,此时 VTEP-1还没有终端设备 B对应的地址映射表项, VTEP-1将 ARP请求进行 VXLAN封装, VNI 设置为10,outer-src-ip 是 VTEP-1的 IP ,outer-dst-ip 是加入的组播组地址,封装完成后转发至 VXLAN组播组;

VTEP-2、VTEP3加入相同的组播组,所有组成员都会收到 VTEP-1发送的组播报文,解封装后检查 VNI 与本地 VNI 是否匹配,如匹配将 ARP请求发送至本地网络,同时记录 VNI、inner MAC、outer IP 的对应关系,构建控制平面地址映射表项。如 VNI 不匹配则丢弃数据包。

终端设备 B 收到 ARP请求后以单播方式发送 ARP响应;

VTEP-2收到终端设备 B 的 ARP响应后进行 VXLAN封装,此时 VTEP-2已经构建控制平面地址映射表项,通过 VXLAN封装后以单播方式发送。Outer-src-ip 是 VTEP-2的 IP 地址,outer-dst-ip 是 VTEP-1的 IP 地址;

VTEP-1收到封装后的 ARP响应后,解封装比对 VNI,如匹配将 ARP响应发送至终端设备 A,同时记录 VNI、inner MAC、 outer IP 的对应关系,构建控制平面表项;

此时 VTEP-1、VTEP-2均已成功构建控制平面地址映射信息,后续 VXLAN数据使用单播在 VTEP-1和 VTEP-2之间传输。

4. VXLAN 数据传输

ARP请求完成后,终端设备 A 向终端设备 B 发送数据, VTEP-1收到数据中查找地址映射表项,将原始数据进行 VXLAN封装后转发至 VTEP-2;

VTEP-2收到 VXLAN数据包后检查 VNI 是否与本地 VNI 匹配, 如匹配则解封装后将原始以太网帧转发至终端设备 B。

五、VXLAN部署

六、补充:

在进行 ARP处理时,为了将广播通过多播进行传输,必须要设置VNI 到多播组的映射,这种映射属于管理层,用于建立VTEP之间的管理通道。未知的目的 MAC(unknown MAC destination )同样会进行组播封装,处理方式和广播相同。

VXLAN报文不能进行分片处理,中间的设备可能会将 VXLAN报文分片,但是VTEP会将分片后的报文丢弃,为了确保 VXLAN报文不被分片处理,需要修改沿途所以设备的 MTU。RFC文档没有阐述为什么 VTEP必须丢弃分片后的报文。

在封装和解封装时 VLAN TAG信息都会被剥离,除非另有特殊配置。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 以太网
    +关注

    关注

    40

    文章

    5371

    浏览量

    171028
  • VLAN
    +关注

    关注

    1

    文章

    273

    浏览量

    35569

原文标题:开学季丨用芯遇见校园的美好

文章出处:【微信号:mtk1997,微信公众号:联发科技】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    三层交换机工作原理

    出的。传统的交换技术是在OSI网络参考模型中的第二层(即数据链路层)进行操作的,而三层交换技术是在网络模型中的第三层实现了数据包的高速转发。
    发表于 06-10 12:26

    网络互连与二层交换

      1 网络互联与二层交换概述... 5   2 二层交换... 6   2.1 VLAN. 6   2.2 VLAN的优点:.. 7   2.3 VLAN成员的定义.. 7   2.4 VLAN技术原理 9
    发表于 09-09 15:36 11次下载

    二层交换机,三层交换机,四交换机的区别

    二层交换机,三层交换机,四交换机的区别 二层交换技术是发展比较成熟,二层交换机属数据链路层设备,可以识别数据包中的MAC
    发表于 08-01 12:04 1876次阅读

    三层交换机二层协议隧道配置

    三层交换机二层协议隧道配置
    发表于 12-27 16:17 0次下载

    二层三层、四交换机之间的区别

    二层三层、四交换机之间的区别
    发表于 01-13 22:01 21次下载

    三层交换技术的原理_三层交换技术的基本原理_三层交换技术的工作原理

    三层交换工作在OSI七网络模型中的第三层网络,是利用第
    发表于 08-20 15:19 1.2w次阅读
    <b class='flag-5'>三层</b>交换技术的原理_<b class='flag-5'>三层</b>交换技术的基本原理_<b class='flag-5'>三层</b>交换技术的工作原理

    二层网络三层网络之间有什么差别

    只有核心和接入二层网络结构形式运转简洁,交换机根据MAC地址表进行数据包的转发。
    发表于 11-06 16:44 6.2w次阅读

    二层三层工业交换机的性能参数说明

    工业交换机是工业数据通信领域重要的设备,可以这样说,如果没有工业交换机,很多地方或者项目都联不上网,更不提进行远程网络管理了!目前比较流行的工业交换机又分为二层三层,下面给大家介绍的是二层
    的头像 发表于 12-09 16:59 4277次阅读

    一文详解VXLAN网关技术

    VXLAN是VLAN扩展方案草案,是NVo3中的一种网络虚拟化技术。采用MAC in UDP封装方式,将二层报文用三层协议进行封装,可对
    发表于 11-14 10:27 2041次阅读

    二层三层、 四交换机的区别

    OSI参考模型的第三层叫做网络,第三层交换机可以看成是路由器和二层交换机的结合,它比第二层交换
    发表于 02-22 12:03 3712次阅读

    华为单臂路由、DHCP、LACP模式链路捆绑、二层三层链路捆绑!

    [R1-Eth-Trunk1]undo portswitch //转换三层口,默认eth-trunk是二层口路由是三层端口要把接口转换成三层接口才可以捆绑
    的头像 发表于 04-28 15:43 1252次阅读
    华为单臂路由、DHCP、LACP模式链路捆绑、<b class='flag-5'>二层</b>与<b class='flag-5'>三层</b>链路捆绑!

    二层交换机和三层交换机的区别

    计算机网络中的交换机是用于在局域网(LAN)中转发数据包的重要设备。其中,二层交换机和三层交换机是两种常见的交换机类型。本文将详细介绍二层交换机和
    的头像 发表于 06-12 14:09 1.2w次阅读
    <b class='flag-5'>二层</b>交换机和<b class='flag-5'>三层</b>交换机的区别

    二层交换机和三层交换机在功能和适用范围的差异

      计算机网络中的交换机是用于在局域网(LAN)中转发数据包的重要设备。其中,二层交换机和三层交换机是两种常见的交换机类型。本文将详细介绍二层交换机和
    的头像 发表于 06-12 14:16 4400次阅读
    <b class='flag-5'>二层</b>交换机和<b class='flag-5'>三层</b>交换机在功能和适用范围的差异

    二层交换机、三层交换机、路由器,哪个才是王者?

    二层交换机、三层交换机、路由器,哪个才是王者? 二层交换机、三层交换机和路由器都是网络设备,它们在网络
    的头像 发表于 02-04 11:03 788次阅读

    二层交换机和三层交换机有什么区别

    交换机分为二层交换机和三层交换机,它们在功能、应用场景和技术实现上有明显区别。
    的头像 发表于 08-07 15:33 1124次阅读