热门标签 | HotTags
当前位置:  开发笔记 > 运维 > 正文

二层网络技术与OpenStack的关系

OTV(OverlayTransportVirtualization),核心思想是通过”MACinIP”的方式,通过隧道技术穿越L3层网络实现L2层网络的互通。白话一点就是通过软件方式重新定义L2层帧头(有一个标准数据格式叫VXLAN),再通过L3层的遂道如GRE等发送给接收方,接收方再通过软
 

OTV (Overlay Transport Virtualization), 核心思想是通过”MAC in IP”的方式,通过隧道技术穿越L3层网络实现L2层网络的互通。白话一点就是通过软件方式重新定义L2层帧头(有一个标准数据格式叫VXLAN),再通过L3层的遂道如GRE等发送给接收方,接收方再通过软件方式解析数据帧。很多虚拟交换机都是通过这种方式实现的,如Hyper-v,如Dove。

SDN (Software Define Network), 在上面OTV的基础上,再引入一个tenant租户的概念,再做一个集中式的管理就是SDN了。对于南桥API,有一个标准叫OpenFlow,北桥API由于没有标准,也就有了像OpenDaylight的项目试图以插件的形式统一纷乱的北桥API。

VPLS (Virtual Private Lan Service), 我们不堆砌术语,白话一点VPLS就是我们熟悉的VPN, 和上面的OTV技术类似目的是为了让两个从L3层隔离的L2层网络互通。VPN有基于L2层的VPN技术如MPLS VPN,也有基于L3层的VPN技术如IPSec VPN, SSL VPN等。

MPLS, 自动标签技术,VLAN这种标准技术用在局域网内,VLAN需人工修改物理交换机,部署不方便。但MPLS的标签是通过L3层的路由技术在发送数据帧之前就事先走一遍将要经过的每一个路由器确定好并把标签设置好(通过标准交换的专用协议,或者经过扩展的BGP协议),数据帧再经过路由器时就直接经过L2层的硬件转发就是了,就不必再惊动L3层的路由了,大大提高了转发效率,主要用在广域网中。同时,一路怎么走经过哪些路由器可以在上层通过一个参数很容易的控制,也就是所谓的流量工程。

VEPA (Virtual Ethernet Port Aggregate)虚拟以太端口汇聚器,如果一台物机机上的两台虚机通信的话需通过软件虚拟交换机,虚拟交换机是软交换将占用物理机资源。使用VEPA时,即使同一台物理机上的两台虚机之间的流量也不再由本地虚拟交换机来处理,而是被强制发往到外部物理交换机,然后物理交换机再将数据返回来。我们知道,传统的物理交换机的数据帧是不能从进口出的,所以需要对物理交换机硬件作修改,允许其绕回。优点很明显,减少物理机宝贵的CPU资源,在物理交换机上统一实现流量,安全控制的管理。但缺点也是明显的,所有虚拟机之间的流量在物理节点和物理交换机之间来回了两次,浪费了网络带宽和增加了数据延迟。实际上,目前像openvswitch的软件虚拟交换机能够提供很好的安全控制,所以对于它这种代价我看不值。

VN-TAG, 如VEPA一样也需要对物理交换机做定制,核心思想是在标准以太网帧中为虚机定制增加一段专用的标记VN-Tag,用以区分不同的vif,从而识别特定的虚机的流量。

TRILL (Transparent Interconnection of Lots of Links ) 多链接半透明互联(TRILL), 传统的数据中心一般采用L2层交换机级联 + L3层路由组网架构,无法跨二层进行虚机迁移(因为VM的IP会改变嘛)。另外,这种L2层交换机级联的架构为避免环路需引入生成树STP协议,这样减小了服务器东西间的流量。控制平面上TRILL引入了ISIS这种内部路由协议还建立邻接,绘制拓扑和传递标签,数据平台使用NickName作为转发标识。所以我的理解是,TRILL更像是MPLS在局域网的应用。

FabricPath, FabricPath是Cisco在TRILL标准之上做了一些优化而产生的私有协议。

对于这些技术如何在OpenStack Neutron中使用,我个人的理解是:
1,对于TRILL与FabricPath技术相当于在数据中心内部部署了MPLS一样,对于东西向流量有用,但数据中心应该是南北流量大。同理,PVLAN主要适合大部分为南北流量,少量东西流量的情况。
另外,在OpenStack Neutron网络中,若今后支持multi-host特性,在每一个计算节点上都有那台计算节点上所有tenant网络的网关,这样,在同一个物理交换机之下的所有计算节点上的虚机之间的通信根本不会遇到流量带宽问题。
当然,对于不同物理交换机下的计算节点的虚机的流量由于STP的原因会有稍微有那么一点流量带宽问题,但可以通过调度将那些东西流量大的服务(如hadoop集群)尽量调度到同一个物理交换机下的物理机之上啊。
所以,依我看,目前这方面的需求不是很迫切,除非你的数据中心超大,或者东西向流量超大,这样可以在数据中心内部部署类似于MPLS技术的FabricPath,对两台物理交换机上虚机的流量由L3层软路由变成L2层的类似于标签的硬转发。

2,对于VEPA技术也不是很有必要,因为VEPA主要是通过硬件交换机来弥补一些虚拟交换机的某些功能(如ACL,流量控制)的,而OpenvSwitch虚拟交换机也通过流表控制很容易做到这些。减小了物理机的CPU资源,但增大了流量带宽代价一样要中断浪费CPU资源。

3,对于GRE遂道,缺点主要是一是增加了GRE表头会导致本应由交换机硬件来分片的变成由软件来分片(STT技术可以弥补这一点);二是GRE广播,且遂道将虚拟二层打通了,广播风暴更厉害。但对于虚机来说,因为虚拟交换机是完全能够知道虚机的IP和MAC地址的映射关系的,根本不需要通过ARP广播来根据IP找MAC地址,目前Neutron中有这类似的blueprint可以禁止广播。所以个人比较看好STT技术,因为目前openvswitch与linux kernel还未实现STT,所以Neutron目前没有STT插件(但有VXLAN和GRE插件)。

4,对于VN-TAG技术,我只能说目前neutron的vif binding特性可以通过软件实现同样的功能。


推荐阅读
  • 本文详细分析了Hive在启动过程中遇到的权限拒绝错误,并提供了多种解决方案,包括调整文件权限、用户组设置以及环境变量配置等。 ... [详细]
  • 优化联通光猫DNS服务器设置
    本文详细介绍了如何为联通光猫配置DNS服务器地址,以提高网络解析效率和访问体验。通过智能线路解析功能,域名解析可以根据访问者的IP来源和类型进行差异化处理,从而实现更优的网络性能。 ... [详细]
  • 1:有如下一段程序:packagea.b.c;publicclassTest{privatestaticinti0;publicintgetNext(){return ... [详细]
  • 如何配置Unturned服务器及其消息设置
    本文详细介绍了Unturned服务器的配置方法和消息设置技巧,帮助用户了解并优化服务器管理。同时,提供了关于云服务资源操作记录、远程登录设置以及文件传输的相关补充信息。 ... [详细]
  • 本文探讨了2012年4月期间,淘宝在技术架构上的关键数据和发展历程。涵盖了从早期PHP到Java的转型,以及在分布式计算、存储和网络流量管理方面的创新。 ... [详细]
  • 本文详细介绍了 Linux 系统中用户、组和文件权限的设置方法,包括基本权限(读、写、执行)、特殊权限(SUID、SGID、Sticky Bit)以及相关配置文件的使用。 ... [详细]
  • 本文详细介绍了使用ZooKeeper构建高可用集群的方法,包括必要的软件环境准备、配置文件调整及集群启动等关键步骤。通常,一个ZooKeeper集群由奇数个节点组成,以确保Leader选举的有效性。 ... [详细]
  • 技术日志:Ansible的安装及模块管理详解 ... [详细]
  • Fabricetcdraft模式部署配置要求以下信息仅供参考系统环境(Centos7.5)Docker版本(19.03.12)Docker-compose版本(1.24.0)Fab ... [详细]
  • ffmpeg【百度百科】
    FFmpeg是一个开源免费跨平台的视频和音频流方案,属于自由软件,采用LGPL或GPL许可证(依据你选择的组件)。它提供了录 ... [详细]
  • 本文详细分析了JSP(JavaServer Pages)技术的主要优点和缺点,帮助开发者更好地理解其适用场景及潜在挑战。JSP作为一种服务器端技术,广泛应用于Web开发中。 ... [详细]
  • 优化使用Apache + Memcached-Session-Manager + Tomcat集群方案
    本文探讨了使用Apache、Memcached-Session-Manager和Tomcat集群构建高性能Web应用过程中遇到的问题及解决方案。通过重新设计物理架构,解决了单虚拟机环境无法真实模拟分布式环境的问题,并详细记录了性能测试结果。 ... [详细]
  • Ansible:自动化运维工具详解
    Ansible 是一款新兴的自动化运维工具,基于 Python 开发,集成了多种运维工具(如 Puppet、CFEngine、Chef、Func 和 Fabric)的优点,实现了批量系统配置、程序部署和命令执行等功能。本文将详细介绍 Ansible 的架构、特性和优势。 ... [详细]
  • 本书《.NET Core 2.* 开发者指南》是面向开发者的全面学习与实践手册,涵盖了从基础到高级的各个层面。书中详细解析了 .NET Core 的核心概念,包括如何创建 .NET Core 网站,并通过视频教程直观展示操作过程。此外,还深入探讨了 Startup 类的作用、项目目录结构的组织方式以及如何在应用中使用静态文件等内容。对于希望深入了解 .NET Core 架构和开发技巧的开发者来说,本书提供了丰富的实践案例和详尽的技术指导。 ... [详细]
  • 一、Ansibleansible是新出现的自动化运维工具,基于Python开发,集合了众多运维工具(puppet、cfengine、che ... [详细]
author-avatar
婷婷爱BB
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有