前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >VPC 深入浅出解析

VPC 深入浅出解析

作者头像
吕海峰
发布2018-04-03 15:41:06
3.8K0
发布2018-04-03 15:41:06
举报
文章被收录于专栏:Brian

概述

今天给大家介绍一下博主最近做的一个项目:VPC.VPC(Virtual Private Cloud)虚拟私有云,租户可以在云中预置一个逻辑隔离分区,自己定义的虚拟网络中启动虚拟化资源。 功能特性:

  • 网络隔离(二层网络隔离)
    • 网络虚拟化,基于EV**的OverLay技术在物理基础上虚拟化网络。
    • VPC与VPC间是完全隔离,通过VXLAN协议对每个VPC进行隔离,这样就保证了L2的逻辑隔离。

  • 灵活定制网络环境
    • 自定义子网网段、路由表等。

  • 与公网互通
    • 通过EIP可实现与公网互通,通过NAT网关支持SNAT配置,满足VPC内资源主动访问公网需求;支持DNAT配置,提供IP映射和端口映射功能。

那么如何实现上面这些基本功能点呢?通过SDN和VXLAN技术来实现上述的基本功能点。

SDN

SDN笔记里面详细介绍了SDN的优势。实现SDN技术可以通过两种方式:1.购买硬件SDN厂商,比如:像cisco,H3C等大型网络公司提供配套的基于SDN实现的交换机。2.自己采用opendaylight和onos网络操作系统实现。各有利弊,自己权衡。无论采用商业SDN还是自研发SDN,都不会离开vxlan

VXLAN

VLAN数量只有4096个,肯定是无法满足大规模云计算IDC的需求。目前大部分IDC内部结构主要分为两种L2和L3。L2结构里面,所有的服务器组成一个大的局域网,TOR下透明的L2,不同交换机上的服务器互通靠MAC地址,通信隔离和广播隔离靠的vlan,网关在内网核心上。L3结构这是从TOR级别上就开始用协议进行互联,网关在TOR上,不同交换机之间的互通靠IP地址。 overlay技术:大致的意思可以理解为,VM挂在TOR 1上,随意把它迁移到TOR 2上,而不需要改变IP地址,这个就是L2的特长,因为这个VM和外界(网关之外)通信还靠L3,但是网关内部互访是走L2的,这个在L3里是无法做到的。因为L3里每个IP都是唯一的,地址也是固定位置的,除非你整网段物理搬迁,在L3网络里传输L2数据。 VXLAN(Virtual eXtensible LAN可扩展虚拟局域网)基于IP网络之上,采用的是MAC in UDP技术,本来OSI7层模型里就是一层叠一层的,这种和GRE/IPSEC等tunnel技术是不是很像,这种封装技术对中间网络没有特殊要求,只要你能识别IP报文即可进行传送。

为什么需要Vxlan ● 虚拟机规模受网络规格限制虚拟机规模受网络规格限制 在大二层网络环境下,数据报文是通过查询MAC地址表进行二层转发,而MAC地址表的容量限制了虚拟机的数量。 ● 网络隔离能力限制 当前主流的网络隔离技术是VLAN或V**(Virtual Private Network),在大规模的虚拟化网络中部署存在如下限制: ─ 由于IEEE 802.1Q中定义的VLAN Tag域只有12比特,仅能表示4096个VLAN,无法满足大二层网络中标识大量用户群的需求。 ─ 传统二层网络中的VLAN/V**无法满足网络动态调整的需求。 ● 虚拟机迁移范围受网络架构限制 虚拟机启动后,可能由于服务器资源等问题(如CPU过高,内存不够等),需要将虚拟机迁移到新的服务器上。为了保证虚拟机迁移过程中业务不中断,则需要保证虚拟机的IP地址、MAC地址等参数保持不变,这就要求业务网络是一个二层网络,且要求网络本身具备多路径的冗余备份和可靠性。

VXLAN解决的问题 ● 针对虚拟机规模受网络规格限制 VXLAN将虚拟机发出的数据包封装在UDP中,并使用物理网络的IP/MAC地址作为外层头进行封装,对网络只表现为封装后的参数。因此,极大降低了大二层网络对MAC地址规格的需求。 ● 针对网络隔离能力限制 VXLAN引入了类似VLAN ID的用户标识,称为VXLAN网络标识VNI(VXLAN Network ID),由24比特组成,支持多达16M((2^24-1)/1024^2)的VXLAN段,从而满足了大量的用户标识。 ● 针对虚拟机迁移范围受网络架构限制 通过VXLAN构建大二层网络,保证了在虚拟迁移时虚拟机的IP地址、MAC地址等参数保持不变

VLXNA 报文协议

Outer UDP端口使用4798,但可以修改 Outer IP头封装:源IP为发送报文的虚拟机所属的VTEP的IP地址,目的IP为目的虚拟机所属的VTEP IP地址。 Outer的目的IP地址可以是单播和组播地址,单播的情况下,目的IP为VTEP(Vxlan Tunnel End Point)的IP地址,在多播的情况下引入VXLAN的管理层,利用VNI和IP多播组的映射来确定VTEP。 当目的IP为接收端的VTEP的IP时,假如不知道这个IP地址,则需要执行ARP请求来获取,步骤如下:

  1. 目标IP被替换成与源虚拟机具有相同VNI的多播组IP地址;
  2. 所有VTEP端都接收该多播报文,VTEP查找所在主机上的全部虚拟机来匹配源虚拟机的Inner 目的MAC。
  3. 目标VTEP的虚拟机会回应该多播包,从而获得目标VTEP的IP地址。
  4. 发送端VTEP添加VNI-VTEP-虚拟机MAC的映射关系到自己的VXLAN表中,以避免再次组播学习。

Outer 以太封装:SA为发送报文的虚拟机所属的VTEP MAC地址,DA为目的虚拟机所属的VTEP上路由表中下一跳MAC地址。

总结

VXLAN介绍

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2017-06-01,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 概述
  • SDN
    • VXLAN
      • VLXNA 报文协议
  • 总结
相关产品与服务
私有网络
私有网络(Virtual Private Cloud,VPC)是基于腾讯云构建的专属云上网络空间,为您在腾讯云上的资源提供网络服务,不同私有网络间完全逻辑隔离。作为您在云上的专属网络空间,您可以通过软件定义网络的方式管理您的私有网络 VPC,实现 IP 地址、子网、路由表、网络 ACL 、流日志等功能的配置管理。私有网络还支持多种方式连接 Internet,如弹性 IP 、NAT 网关等。同时,您也可以通过 VPN 连接或专线接入连通腾讯云与您本地的数据中心,灵活构建混合云。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档