V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX 提问指南
Azurecommunity
V2EX  ›  问与答

Azure 架构解析--虚拟网络 1

  •  
  •   Azurecommunity · 2017-09-07 13:38:34 +08:00 · 1556 次点击
    这是一个创建于 2637 天前的主题,其中的信息可能已经有所发展或是发生改变。

    最近讨论 VPC,讨论经典网络,讨论云平台网络实现讨论的如火如荼。笔者也凑个热闹,这次终于鼓起勇气,说说 Azure 网络的实现。

    在解构网络之前,我们来看看最近刚出的下一代数据中心网络报告,其实各家云厂商的实现都是大同小异,我们通过这份报告亦能管中窥豹,互相借鉴着来理解。

    本篇我们分 2 部分来说 Azure 网络。 Azure 网络总体架构和 diagnostic 机制 Azure 网络实现细则和 data flow

    虚拟交换机,网络加速卡,leaf/spine 节点,跨数据中心互联。大家该有的元素,一样不缺。 在这样大规模的网络环境下,其实我们的管理也碰到过许多的问题。比如超大量的路径,ASICS,交换机测试要求。“灰色失败”,追寻 99.995% 的 latency 问题。

    目前 Azure Cloud Switch 已经开源,可以参考这个:Microsoft showcases the Azure Cloud Switch (ACS). Fault mitigation 机制,根据 link 和 switch 情况,自动剔除和修复 fabric

    Azure 的物理机延迟监控应用,可以测量 DC/cluster 之间的 l atency 情况,报告或生成对应方案。Azure 工程师也可以通过这个系统定位到哪些 rack 直接可能有潜在的问题。

    如之前提到的报告所说,SDN/ 网络的整体分析和大数据处理也是非常重要的一点。在 Azure 上,我们使用 Azure Storage 和 Analysis 服务来快速找到问题原因。

    这样一整套的服务和应用措施,就是 Azure 网络的管理系统---亦就是 Azure switch cloud os +DC Networking monitoring/manager。 这里吐个槽, 微软在开源上其实贡献了非常多云和管理工具,相比之下,某 A 系公司完全在利用开源,完全没有付出。这可能也出乎了很多用户所想吧。 说完整体,我们在来说说实现细节。

    篇幅有限,基于为了把事情说的简单明了,我决定放弃一部分技术细节。说说整体的 flow。 聊 Azure Network 就必须说一个东西,VFP。 目前在 Azure 和 Hyperv 网络上,我们有 2 个标准,即 Hyper-V Network Virtualization HNV1 和 HNV2。HNV2 就是目前 2016 以及 Azure 网络所使用的技术,HNV2 使用的了 Azure virtual filtering (vfp) 来与 Hyper-v Switch 交互。他们构建起了整个 SDN 栈。所有创建的 Vnet 的规则,是通过 Network Controller 来管理 Host Agent,完成隔离交互。

    换句话说,每个虚拟网络都存在 1 或多个虚拟子网。一个虚拟网络下自主隔离了里面的 VM,让他们只能在这个虚拟网络下和别的 VM 进行交流。在传统情景下,这种隔离是通过 vlan 和 IP 地址 802.1q tag/vlan tag 来分离的,但在 Hnv 模式下,我们使用 Nvgre 或者 Vxlan 来加密网络,创建 Overlay 网络来交互。如之前云舒大大所说,现在市面上大多都是通过这样实现的。

    另外,每个虚拟网络还有一个独立 Routing Domain ID(RDID) 在主机上,这个 ID 会 map Azure Resource ID,帮助 Azure Network Controller 来识别网络。这部分资源会被识别成 URI。

    感兴趣的朋友可以点击链接获得更好的阅读体验。 https://school.azure.cn/blog/26?wt.mc_id=Azure_Community_GNE_BBS_V2EX_CloudComputing

    目前尚无回复
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   3584 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 32ms · UTC 04:38 · PVG 12:38 · LAX 20:38 · JFK 23:38
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.