您的位置:首页 > 理论基础 > 计算机网络

数据中心核心网络技术一览

2015-01-21 13:18 204 查看



网卡虚拟化


SR-IOV

Single Root I/O Virtualization and Sharing Specification,支持 SR-IOV 的网卡(或 PCIe 设备)可以向操作系统或 hypervisor 呈现为多个独立的 PCIe 设备,直接连接到虚拟机中,多个虚机直接共享一个 PCI 设备的资源。SR-IOV 能够让网络传输绕过软件模拟层,从而降低了传统软件模拟层中的 I/O 开销,性能跟真实硬件接近。


主机内二层转发(即服务器内虚机间转发)


基于本地软件交换机交换

VMWare 方案,通过服务器上软件交换机(如 Linux 网桥、OpenvSwitch)来实现。主要问题是对服务器性能有消耗。


802.1Qbh BPE(Bridging Port Extend)

已终止。Cisco 主导,数据层面为 PE(Port Extender)。


802.1BR

Cisco 主导,将交换放在外部交换机,用 tag 来区分 vm 流量。


Cisco VN-Tag

Cisco 私有技术,虚机连接到软件交换机之间的路径带 tag。


802.1Qbg EVB(Edge Virtual Bridging)

数据层包括三种实现:

VEB(Virtual Ethernet Bridging):本地交换机(服务器内,软或者硬)作为完整功能交换机,流量正常交换,扩展性好
VEPA(Virtual Ethernet Port Aggregator):本地交换机端口分上行(接外部交换机)和下行(接虚机),将流量扔给外部交换机交换,VEPA
负责处理往下行的多播/广播
Multi Channel:虚机通过虚通道直接连到外部交换机的虚拟接口上,本地不做任何交换处理 获得主流非 Cisco 厂家支持


跨核心网的二层交换

二层 Ethernet 网络的多路径技术,解决规模问题和效率问题。


SPB & PBB

软件计算路径。


TRILL

MACinMAC 封装,添加 TRILL 头(含有入、出口 NickName),核心根据 NickName 来转发。


Fabric Path/L2MP/E-TRILL

外层用私有的头封装后转发。


跨数据中心二层交换


光纤直连


基于 MPLS 的二层互联

VLL 和 VPLS。


基于 IP 网络的三层互联

一般考虑的点包括迁移、交换机表项压力、VLAN 数量限制等问题。基本思路就是利用隧道或者覆盖网进行穿透。

目前存在的主要问题是封装、解封装、校验和等如果在
hypervisor 层做,会占用不少的 CPU,同时速率高不了。现在已经有不少网卡设备能支持 offload,推荐都放在硬件里面做。评测报告可参考 http://www.enterprisetech.com/2014/07/01/vxlan-future-networking-cloud/。


VLLoGRE、VPLSoGRE

用 GRE 隧道在 IP 网络上进行跨站点沟通。


L2TPv3

封装二层包在 IP 内,仅支持两站互通。


OTV

封装二层包在 UDP 内,跟 VXLAN 很像(没有用 VXLAN ID),目的是创建跨交换域甚至数据中心的大 VLAN。

添加额外的 UDP 方便中间节点根据 UDP 头值进行负载均衡。
不使用多播来传播位置信息,而是用 IS-IS,因此规模不能太大。
可以跨 Internet,不同于 VXLAN 的定位。


VXLAN

最常见的跨交换域 Overlay 方案,由 Cisco 和 VMware 发起,目前 Brocade、Avaya、Arista 等均已支持。

封装为 UDP 包转发。这里有个小问题:UDP 目的端口如果唯一将影响到中间如何多路径均衡,不唯一又不便解决 VXLAN 协议探测问题;我个人推荐用一组固定的 UDP 目的端口,同时考虑分散到不同的 UDP 源端口(实际上,大部分时候都是基于内部的包进行 hash 得到,建议为 32768 ~ 65535)。
24 位 VXLAN ID (VNI) 取代原先的 12 位 VLAN ID。
隧道两端是 VTEP,负责进行封装(VLAN ID->VNI)和解封装(VNI -> VLAN ID)。
控制平面上可以用封装的 ARP 包来进行定位,利用 IP 组播来询问和传播位置信息。实际上,VXLAN 标准并没有规定怎么实现控制平面,意味着我们可以自己组合各种 SDN 方案。
不同 VXLAN 的数据包可能发到同一组播组(可用组播数 2^28 要大于 VXLAN 域 2^24),需要 VETP 进行区分。
VTEP 保存两个信息,一个是本地虚机(VLAN ID 或 MAC 地址等其它信息) 到 VNI 的双向映射,另一个是目标 MAC+VNI 到目标 VTEP IP 的映射。同时,VTEP 可以额外检查 VNI 和 MAC 的信息是否匹配。


NVGRE

基于 GRE 的通用封装,一般把二层包放到 IP 包中转发,不利于中间进行负载均衡,除非负载均衡的硬件设备支持解析 GRE 头。


STT

VMware 支持,底下用 TCP 转发。


GENEVE

通用封装,试图整合已有协议。


vCDNI

vCloud
Director Network Isolation,VMWare 的私有协议。用
mac 来封装
mac 包,问题自然蛮多,包括无法负载均衡、不能跨交换域等。现在基本已经被 VXLAN 替代。


PTN

PTN 基于 MPLS-TP,最初面向二层互联,先已支持三层。标准化略成熟


IP RAN

增强型路由器,三层功能完备。


虚拟化


数据平面

主机处理的都是以太网包,封装后,在逻辑交换层(多利用 IP 路由)黑箱转发。目前多是一虚多。


控制平面

一虚多是将同一个控制平面进行隔离,管理不同的实体。代表有 VRF。
多虚一,是将多个控制实体之间的信息进行沟通整合,形成一个逻辑对象。


多数据中心的选择

一个是多个服务在不同站点,如何搞负载均衡。主要想法是更新 DNS 或 NAT 映射信息。
一个是迁移服务,保持 IP 不变。其实主要是想法从 IP (同时做标志和位置) 中将标志信息提取出来,这个是个很古老的想法了。


SLB/GSLB/3DNS/GSS


LISP:Cisco 私有协议,封装 IP 到 IP 内。目的是解决 IP 地址既当作位置信息,又当作识别信息的耦合。


后端存储网络


iSCSI

用以太网在 TCP/IP 协议上运行 SCSI 指令,一般是千兆以太网。


传统的fabric网络

发展比较缓慢。


FCoE

二层封装协议,在以太网上封装 fabric 的协议。

FCoE 面向 10G 以太网,需要融合增强 10G 以太网技术(CEE,主要包括 jumbo 帧和 lossless)支持。


参考文献

http://www.enterprisetech.com/2014/07/01/vxlan-future-networking-cloud/

转载请注明:http://blog.csdn.net/yeasy/article/details/42967049
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐