主机内二层转发(即服务器内虚机间转发)
基于本地软件交换机交换
VMWare 方案,通过服务器上软件交换机(如 Linux 网桥、OpenvSwitch)来实现。主要问题是对服务器性能有消耗。
802.1Qbh BPE(Bridging Port Extend)
已终止。Cisco 主导,数据层面为 PE(Port Extender)。
802.1BR
Cisco 主导,将交换放在外部交换机,用 tag 来区分 vm 流量。
Cisco VN-Tag
Cisco 私有技术,
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 数量限制等问题。基本思路就是利用隧道或者覆盖网进行穿透。
VLLoGRE、VPLSoGRE
用 GRE 隧道在 IP 网络上进行跨站点沟通。
L2TPv3
封装二层包在 IP 内,仅支持两站互通。
OTV
封装二层包在 IP 内。
VXLAN
最常见,由 Cisco 和 VMware 发起,目前 Brocade、Avaya、Arista 等均已支持。
- 封装为 UDP 包转发。这里有个小问题:UDP 端口如果唯一将影响到中间如何多路径均衡,不唯一又无法解决 VXLAN 协议探测问题;我个人推荐用一组固定的 UDP 端口。
- 24 位 VXLAN ID (VNI) 取代原先的 12 位 VLAN ID。
- 隧道两端是 VTEP,负责进行封装(VLAN ID->VNI)和解封装(VNI -> VLAN ID)。
- 控制平面上用封装的 ARP 包来进行定位,利用 IP 组播来询问和传播位置信息,所以相同 MAC 地址的虚机同时出现的租户数受组播数量限制。
- VTEP 保存两个信息,一个是本地虚机(VLAN ID 或 MAC 地址等其它信息) 到 VNI 的双向映射,另一个是目标 MAC+VNI 到目标 VTEP IP 的映射。同时,VTEP 可以额外检查 VNI 和 MAC 的信息是否匹配。
NVGRE
基于 GRE 的通用封装。
STT
VMware 支持,底下用 TCP 转发。
GENEVE
通用封装,试图整合已有协议。
PTN
PTN 基于 MPLS-TP,最初面向二层互联,先已支持三层。标准化略成熟
IP RAN
增强型路由器,三层功能完备。
虚拟化
数据平面
主机处理的都是以太网包,封装后,在逻辑交换层(多利用 IP 路由)黑箱转发。目前多是一虚多。
控制平面
- 一虚多是将同一个控制平面进行隔离,管理不同的实体。代表有 VRF。
- 多虚一,是将多个控制实体之间的信息进行沟通整合,形成一个逻辑对象。
多数据中心的选择
- 一个是多个服务在不同站点,如何搞负载均衡。主要想法是更新 DNS 或 NAT 映射信息。
- 一个是迁移服务,保持 IP 不变。其实主要是想法从 IP (同时做标志和位置) 中将标志信息提取出来,这个是个很古老的想法了。
SLB/GSLB/3DNS/GSS
LISP:Cisco 私有协议
后端存储网络
传统的fabric网络
发展比较缓慢。
FCoE
在以太网上封装 fabric 的协议。
转载请注明:http://blog.csdn.net/yeasy/article/details/42967049
时间: 2024-10-08 06:25:39