主机内2层转发(即服务器内虚机间转发)
基于本地软件交换机交换
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)
数据层包括3种实现:
- VEB(Virtual Ethernet Bridging):本地交换机(服务器内,软或硬)作为完全功能交换机,流量正常交换,扩大性好
- VEPA(Virtual Ethernet Port Aggregator):本地交换机端口分上行(接外部交换机)和下行(接虚机),将流量扔给外部交换机交换,VEPA
负责处理往下行的多播/广播
- Multi Channel:虚机通过虚通道直接连到外部交换机的虚拟接口上,本地不做任何交换处理 取得主流非 Cisco 厂家支持
跨核心网的2层交换
2层 Ethernet 网络的多路径技术,解决范围问题和效力问题。
- SPB & PBB:软件计算路径。
- TRILL:MACinMAC 封装,添加 TRILL 头(含有入、出口 NickName),核心根据 NickName 来转发。
- Fabric Path/L2MP/E-TRILL:外层用私有的头封装后转发。
跨数据中心2层交换
光纤直连
基于 MPLS 的2层互联
VLL 和 VPLS。
基于 IP 网络的3层互联
1般斟酌的点包括迁移、交换机表项压力、VLAN 数量限制等问题。基本思路就是利用隧道或覆盖网进行穿透。
VLLoGRE、VPLSoGRE
用 GRE 隧道在 IP 网络上进行跨站点沟通。
L2TPv3
封装2层包在 IP 内,仅支持两站互通。
OTV
封装2层包在 IP 内。
VXLAN
最多见,由 Cisco 和 VMware 发起,目前 Brocade、Avaya、Arista 等均已支持。
- 封装为 UDP 包转发。这里有个小问题:UDP 端口如果唯1将影响到中间如何多路径均衡,不唯1又没法解决 VXLAN 协议探测问题;我个人推荐用1组固定的 UDP 端口。
- 24 位 VXLAN ID (VNI) 取代本来的 12 位 VLAN ID。
- 隧道两端是 VTEP,负责进行封装(VLAN ID->VNI)和解封装(VNI -> VLAN ID)。
- 控制平面上用封装的 ARP 包来进行定位,利用 IP 组播来询问和传播位置信息,所以相同 MAC 地址的虚机同时出现的租户数受组播数量限制。
- VTEP 保存两个信息,1个是本地虚机(VLAN ID 或 MAC 地址等其它信息) 到 VNI 的双向映照,另外一个是目标 MAC+VNI 到目标 VTEP IP 的映照。同时,VTEP 可以额外检查 VNI 和 MAC 的信息是不是匹配。
NVGRE
基于 GRE 的通用封装。
STT
VMware 支持,底下用 TCP 转发。
GENEVE
通用封装,试图整合已有协议。
PTN
PTN 基于 MPLS-TP,最初面向2层互联,先已支持3层。标准化略成熟
IP RAN
增强型路由器,3层功能完备。
虚拟化
数据平面
主机处理的都是以太网包,封装后,在逻辑交换层(多利用 IP 路由)黑箱转发。目前多是1虚多。
控制平面
- 1虚多是将同1个控制平面进行隔离,管理不同的实体。代表有 VRF。
- 多虚1,是将多个控制实体之间的信息进行沟通整合,构成1个逻辑对象。
多数据中心的选择
- 1个是多个服务在不同站点,如何弄负载均衡。主要想法是更新 DNS 或 NAT 映照信息。
- 1个是迁移服务,保持 IP 不变。其实主要是想法从 IP (同时做标志和位置) 中将标志信息提取出来,这个是个很古老的想法了。
SLB/GSLB/3DNS/GSS
LISP:Cisco 私有协议
后端存储网络
传统的fabric网络
发展比较缓慢。
FCoE
在以太网上封装 fabric 的协议。
转载请注明:http://blog.csdn.net/yeasy/article/details/42967049