网络部署模型
实验室拓扑
图 1 介绍了用于金融和证券交易所 JVD 基础架构的企业 WAN 中各平台之间的连接。在节点发生故障的情况下,交换矩阵拓扑利用主路径和辅助路径来实现带有任播 RP 的组播流量。
的网络拓扑结构
平台定位
拓扑定义包括:
- WANEDGE1:设备 (DUT)
- AP1:设备 (DUT)
- AP2:助手路由器
- CR1:客户路由器 (DUT)
- CR2:客户路由器
- WANEDGE2:助手路由器
- L2/L3 边缘: 助手路由器
基准功能
以下是所使用的证券交易所 WAN 叠加和底层服务的协议列表:
- NG-MVPN(类型 6 和类型 7)
- 具有稀疏模式的 PIM V2
- L3VPN
- 网桥域
- 具有仅限 spt 模式的 MVPN
- RSVP 流量工程
- OSPF
- IBGP 和 EBGP
- TWAMP(SLA 监控)
- LLQ-COS [多域分类器]
- 任播 RP
- 静态 RP
图 2 显示了 VPN 组播源连接到 ACX7100,后者连接到 WAN Edge-1 和 WAN Edge-2。从 NG-MVPN 信令的角度来看,两台路由器都充当源 PE,在另一端,连接到路由器 AP1 和 AP2 的 VPN 组播接收器充当接收器 PE。以下是 NG-MVPN 中使用的一些 BGP 路由:
- 自动发现路由:这些路由有助于发现自治系统内部和跨自治系统的 MVPN 成员资格信息。
- 提供商隧道路由:这些路由用于通告提供商隧道详细信息。
- C 组播路由:这些路由用于交换客户组播路由信息。
的网络拓扑结构
在此解决方案中,通过家族 mcast-vpn 配置启用了 BGP 信令,以便将 BGP 用作 MVPN 的 PE 之间的控制平面协议。
protocols {
bgp {
group MVPN-PEERS {
type internal;
family mcast-vpn {
unicast;
}
neighbor 192.0.2.2;
neighbor 192.0.2.3;
}
}
}
在 WANEdge-1 的证券交易所数据中心配置组播 VRF。
VRF1 {
instance-type vrf;
protocols {
bgp {
group CustA-STC {
type external;
local-address 172.168.101.1;
export adv_direct;
neighbor 172.168.101.2 {
peer-as 64513;
}
}
}
mvpn {
traceoptions {
file mvpn-VRF1.log size 1g;
flag all detail;
}
sender-site;
mvpn-mode {
spt-only;
}
route-target {
import-target {
target target:64512:100;
}
export-target {
target target:64512:100;
}
}
sender-based-rpf;
hot-root-standby {
source-tree;
min-rate {
rate 3m;
revert-delay 5;
}
}
}
ospf {
area 0.0.0.0 {
interface lo0.1;
}
export bgp-to-ospf;
}
pim {
traceoptions {
file pim-VRF1.log size 1g;
flag all detail;
}
join-prune-timeout 420;
rp {
local {
address 10.10.47.101;
group-ranges {
225.0.0.0/22;
}
}
}
interface lo0.1;
interface irb.1;
}
}
interface irb.1;
interface lo0.1;
route-distinguisher 64512:51;
vrf-target target:64512:2;
vrf-table-label;
provider-tunnel {
rsvp-te {
label-switched-path-template {
default-template;
}
}
}
}
在组播环境中, 集合点 (RP) 是管理组播流量的关键组件,特别是在协议无关组播稀疏模式 (PIM-SM) 中。RP 用作组播源和接收器的初始联系点。
WAN Edge1 和 WAN Edge2 中 RP 的配置如下:
rp {
local {
address 10.10.47.101;
group-ranges {
225.0.0.0/22;
}
}
}
interface lo0.1;
interface irb.1;
MPPN协议中RP的配置如下:
mvpn {
traceoptions {
file mvpn-g.log size 1g;
flag all detail;
}
}
root@rtme-mx10k4-02# run show mvpn instance VRF10
MVPN instance:
Legend for neighbor state (St)
A- Preferred upstream neighbor for inter-AS
Legend for provider tunnel
S- Selective provider tunnel
F- Flood NH forwarding NH
M- Multicast Composite NH
C- Cloned NH
Legend for c-multicast routes properties (St)
DS -- derived from (*, c-g) RM -- remote VPN route
I -- Inactive
Family : INET
Instance : VRF10
MVPN Mode : SPT-ONLY
Sender-Based RPF: Disabled. Reason: Not enabled by configuration.
Hot Root Standby: Disabled. Reason: Not enabled by configuration.
Provider tunnel: I-P-tnl:RSVP-TE P2MP:7.7.7.7, 44721,7.7.7.7
Neighbor Inclusive Provider Tunnel Label-In St Segment
5.5.5.5 RSVP-TE P2MP:5.5.5.5, 17207,5.5.5.5 1065
9.9.9.9 RSVP-TE P2MP:9.9.9.9, 32163,9.9.9.9 1065
C-mcast IPv4 (S:G) Provider Tunnel Label-In St FwdNh Segment
0.0.0.0/0:225.0.36.0/32 Primary unbound
172.168.102.2/32:225.0.36.0/32 RSVP-TE P2MP:9.9.9.9, 32163,9.9.9.9 1065 M-0x0
优化复制
组播隧道可以是入口复制隧道,也可以是点对多点 (P2MP) 隧道。该解决方案支持子网内和子网间 IP 组播流量的最佳复制。
中的 NG-MVPN
以太网 VPN (EVPN) 使用第 2 层虚拟网桥连接分散的客户站点。在图 3 中,通过指定转发器 (DF) 和非指定转发器 (非 DF) PE 启用了具有单活动解决方案的 EVPN。此解决方案支持 [RFC7432] 的第 6 节中列出的所有 EVPN 服务接口:
- 基于 VLAN 的服务接口
- VLAN 捆绑服务接口
- VLAN 感知捆绑服务接口
在此 JVD 解决方案中使用了基于 VLAN 的服务接口模型。EVPN ESI 通过以下方式简化复杂的网络设计:
- 降低网络复杂性并消除多个冗余协议
- 为多宿主提供统一的方法
- 最大限度降低配置开销
- 实现网段的集中管理
ae0 { flexible-vlan-tagging; mtu 1522; encapsulation flexible-ethernet-services; esi { 00:11:11:11:11:11:12:12:12:12; single-active; df-election-granularity { per-esi { lacp-oos-on-ndf; } } df-election-type { preference { value 150; } } } aggregated-ether-options { link-speed 10g; lacp { active; system-priority 100; system-id 00:00:00:00:00:10; } } unit 1 { description "Connection to PE1_to_CE1_for_CR1_1"; encapsulation vlan-bridge; vlan-id 10; esi { 00:01:71:81:11:12:a1:00:00:01; single-active; df-election-type { preference { value 150; } } } } unit 2 { description "Connection to PE1_to_CE1_for_CR1_2"; encapsulation vlan-bridge; vlan-id 11; esi { 00:02:71:81:11:12:a1:00:00:02; single-active; df-election-type { preference { value 150; } } } } unit 3 { … } unit 4 { … } unit 5 { …} unit 6 { …} unit 7 { …} unit 8 { …} unit 9 { …} unit 10 { encapsulation vlan-bridge; vlan-id 19; esi { 00:22:71:81:11:12:a1:00:00:01; single-active; df-election-type { preference { value 150; } } } } unit 20 { vlan-id 20; family inet { address 192.168.200.10/24; } } unit 21 { encapsulation vlan-bridge; vlan-id 21; esi { 00:22:71:81:11:12:a1:00:00:21; single-active; df-election-type { preference { value 150; } } } } unit 22 { encapsulation vlan-bridge; vlan-id 22; esi { 00:22:71:81:11:12:a1:00:00:22; single-active; df-election-type { preference { value 150; } } } } unit 23 { encapsulation vlan-bridge; vlan-id 23; esi { 00:23:71:81:11:12:a1:00:00:23; single-active; df-election-type { preference { value 150; } } } } unit 50 { encapsulation vlan-bridge; vlan-id 50; esi { 00:03:03:03:03:03:03:03:03:01; all-active; } } }
L3 VPN 配置
在新一代组播 VPN (NG-MVPN) 中,底层第 3 层 VPN (L3VPN) 模型提供了基础的单播基础架构和核心网络,NG-MVPN 可以在其上构建高效传输组播流量的能力。NG-MVPN 通过使用 BGP 统一单播和组播的控制平面,扩展了熟悉的 MPLS L3VPN 服务,与旧的 MVPN 架构相比,降低了复杂性并提高了可扩展性。图 x 显示了从客户到证券交易所数据中心的流量,反之亦然。单播和组播服务中存在单独的 VRF。
连接 EVPN 和 VRF
以下是组播流量的 L3 VPN 配置。
VRF10 {
instance-type vrf;
protocols {
bgp {
group CustA-STC-10 {
type external;
local-address 172.168.102.1;
export adv_direct;
neighbor 172.168.102.2 {
peer-as 64513;
}
}
}
mvpn {
traceoptions {
file mvpn-VRF10.log size 1g;
flag all detail;
}
sender-site;
mvpn-mode {
spt-only;
}
route-target {
import-target {
target target:64512:109;
}
export-target {
target target:64512:109;
}
}
sender-based-rpf;
hot-root-standby {
source-tree;
min-rate {
rate 3m;
revert-delay 5;
}
}
}
ospf {
area 0.0.0.0 {
interface lo0.10;
}
export bgp-to-ospf;
}
pim {
traceoptions {
file pim-VRF10.log size 1g;
flag all detail;
}
join-prune-timeout 420;
rp {
local {
address 10.10.47.110;
group-ranges {
225.0.36.0/22;
}
}
}
interface lo0.10;
interface irb.10;
}
}
interface irb.10;
interface lo0.10;
route-distinguisher 64512:60;
vrf-target target:64512:11;
vrf-table-label;
provider-tunnel {
rsvp-te {
label-switched-path-template {
default-template;
}
}
}
}
下面是单播流量的 L3 VPN 配置
VRF21 {
instance-type vrf;
protocols {
bgp {
group STC_AF {
type external;
local-address 40.40.2.1;
export adv_direct;
neighbor 40.40.2.2 {
peer-as 64513;
}
}
}
}
interface irb.21;
route-distinguisher 64512:21;
vrf-target target:64512:21;
vrf-table-label;
}
服务等级
在瞻博网络路由器中,我们支持多级传输优先级,按照优先级升高顺序依次为低、低-中、低-高、中-低、中-高、高、严格-高和低延迟。这允许软件在优先级较低的队列之前为优先级较高的队列提供服务。支持的传输优先级可能因平台和软件版本而异。LLQ 使延迟敏感型数据能够优先处理其他流量。低延迟队列的优先级高于任何其他优先级队列,包括严格高队列以及低延迟调度配置文件。
在此解决方案中,服务等级(CoS)在组播和其他服务上应用了多域分类器,使用以下队列优先级。CoS 配置了多域分类器,这些分类器以低延迟优先级指定组播流量排定优先级,同时为所有其余服务分配较低的优先级。
下表提供了队列优先级详细信息:
| 队列优先级 | 转发类 | 队列 | 流量类型 |
|---|---|---|---|
| 高 | 光纤通道控制 | 3 | 通用/VPN |
| 低延迟 | 光纤通道-LLQ | 2 | 股票数据/组播 |
| 严格-高 | 光纤通道-高 | 1 | 事务/VRF |
中的服务等级
以下示例 COS 配置可应用于 WAN edge-1 和 WAN edge-2。
Filter_MF {
firewall {
family inet {
filter mfc-filter {
interface-specific;
term stock_exch {
from {
destination-address {
225.0.0.0/16;
}
}
then {
loss-priority low;
forwarding-class FC-LLQ;
}
}
term accept-all-else {
then accept;
}
}
filter mfc-filter1 {
interface-specific;
term stock_exch {
from {
destination-address {
20.20.2.22/32;
}
}
then {
loss-priority low;
forwarding-class FC-HIGH;
}
}
term accept-all-else {
then accept;
}
}
filter mfc-filter2 {
interface-specific;
term stock_exch {
from {
destination-address {
20.20.4.22/32;
}
}
then {
loss-priority low;
forwarding-class BEST-EFFORT;
}
}
term accept-all-else {
then accept;
}
}
filter mfc-filter3 {
interface-specific;
term stock_exch {
from {
destination-address {
20.20.3.22/32;
}
}
then {
loss-priority low;
forwarding-class CONTROL;
}
}
term accept-all-else {
then accept;
}
}
}
}
}
Int_MF {
interfaces {
irb {
unit 10 {
family inet {
filter {
input mfc-filter;
}
}
}
unit 21 {
family inet {
filter {
input mfc-filter1;
}
}
}
unit 22 {
family inet {
filter {
input mfc-filter3;
}
}
}
unit 23 {
family inet {
filter {
input mfc-filter2;
}
}
}
unit 1 {
family inet {
filter {
input mfc-filter;
}
}
}
unit 2 {
…}
unit 3 {
…}
unit 4 {
…}
unit 5 {
…}
unit 6 {
…
}
unit 7 {
…}
unit 8 {
…}
unit 9 {
…}
}
}
COS_MF {
class-of-service {
classifiers {
exp EXP {
forwarding-class FC-HIGH {
loss-priority low code-points 001;
}
forwarding-class BEST-EFFORT {
loss-priority low code-points 000;
}
forwarding-class CONTROL {
loss-priority low code-points 011;
}
forwarding-class FC-LLQ {
loss-priority low code-points 010;
}
}
}
forwarding-classes {
class FC-HIGH queue-num 1;
class BEST-EFFORT queue-num 0;
class CONTROL queue-num 3;
class FC-LLQ queue-num 2;
}
interfaces {
et-0/0/4 {
scheduler-map sched-map;
unit 0 {
classifiers {
exp EXP;
}
rewrite-rules {
exp EXP;
}
}
}
xe-0/0/1:1 {
scheduler-map sched-map;
unit 0 {
classifiers {
exp EXP;
}
rewrite-rules {
exp EXP;
}
}
}
et-0/0/2 {
scheduler-map sched-map;
}
ae0 {
scheduler-map sched-map;
}
}
rewrite-rules {
exp EXP {
forwarding-class FC-HIGH {
loss-priority low code-point 001;
}
forwarding-class BEST-EFFORT {
loss-priority low code-point 000;
}
forwarding-class CONTROL {
loss-priority low code-point 011;
}
forwarding-class FC-LLQ {
loss-priority low code-point 010;
}
}
}
scheduler-maps {
sched-map {
forwarding-class BEST-EFFORT scheduler s0;
forwarding-class FC-HIGH scheduler s1;
forwarding-class FC-LLQ scheduler s2;
forwarding-class CONTROL scheduler s3;
}
}
schedulers {
s0 {
transmit-rate {
remainder;
}
priority low;
}
s1 {
transmit-rate percent 20;
shaping-rate percent 20;
priority low;
}
s2 {
transmit-rate percent 40;
priority strict-high;
}
s3 {
transmit-rate percent 20;
shaping-rate percent 20;
priority low;
}
}
}
}
以下示例配置可应用于接入点。
class-of-service {
classifiers {
exp EXP {
forwarding-class BEST-EFFORT {
loss-priority low code-points 000;
}
forwarding-class CONTROL {
loss-priority low code-points 011;
}
forwarding-class FC-HIGH {
loss-priority low code-points 001;
}
forwarding-class FC-LLQ {
loss-priority low code-points 010;
}
}
}
forwarding-classes {
class FC-HIGH queue-num 1;
class BEST-EFFORT queue-num 0;
class CONTROL queue-num 3;
class FC-LLQ queue-num 2;
}
routing-instances {
<VRF*> {
classifiers {
no-default;
}
}
VRF1 {
classifiers {
no-default;
}
}
VRF10 {
classifiers {
no-default;
}
}
VRF2 {
classifiers {
no-default;
}
}
VRF21 {
classifiers {
no-default;
}
}
VRF22 {
classifiers {
no-default;
}
}
VRF23 {
classifiers {
no-default;
}
}
VRF3 {
…}
VRF4 {
…}
VRF5 {
…}
VRF6 {
…}
VRF7 {
…}
VRF8 {
…}
VRF9 {
…}
rewrite-rules {
exp EXP {
forwarding-class BEST-EFFORT {
loss-priority low code-point 000;
}
forwarding-class CONTROL {
loss-priority low code-point 011;
}
forwarding-class FC-HIGH {
loss-priority low code-point 001;
}
forwarding-class FC-LLQ {
loss-priority low code-point 010;
}
}
}
}
您可以在以下角色中定义服务等级,这些角色适用于此 JVD 解决方案。
- 分类:
- 行为 聚合分类基于接收到的代码点
- 802.1p、DSCP 和 EXP 分类基于接收到的入口数据包标头
- 固定分类基于转发类映射
保证客户设备 (客户边缘) 与提供商设备 (PE) 之间的超低端到端延迟,以及整体低延迟质量 (LLQ) 用例。有关更多信息,请参阅 JVD-5G-FH-COS-02-02 。
下面是多域分类的示例配置。
Filter_MF {
firewall {
family inet {
filter mfc-filter {
term stock_exch {
from {
destination-address {
225.0.0.0/16;
}
}
then {
loss-priority low;
forwarding-class FC-LLQ;
}
}
term accept-all-else {
then accept;
}
}
filter mfc-filter1 {
term stock_exch {
from {
destination-address {
20.20.2.22/32;
}
}
then {
loss-priority low;
forwarding-class FC-HIGH;
}
}
term accept-all-else {
then accept;
}
}
filter mfc-filter2 {
term stock_exch {
from {
destination-address {
20.20.3.22/32;
}
}
then {
loss-priority low;
forwarding-class CONTROL;
}
}
term accept-all-else {
then accept;
}
}
filter mfc-filter3 {
term stock_exch {
from {
destination-address {
20.20.4.22/32;
}
}
then {
loss-priority low;
forwarding-class BEST-EFFORT;
}
}
term accept-all-else {
then accept;
}
}
}
}
}
COS_MF {
class-of-service {
classifiers {
exp EXP {
forwarding-class BEST-EFFORT {
loss-priority low code-points 000;
}
forwarding-class CONTROL {
loss-priority low code-points 011;
}
forwarding-class FC-HIGH {
loss-priority low code-points 001;
}
forwarding-class FC-LLQ {
loss-priority low code-points 010;
}
}
}
forwarding-classes {
class AF queue-num 1;
class BEST-EFFORT queue-num 0;
class CONTROL queue-num 3;
class EF queue-num 2;
class FC-HIGH queue-num 1;
class FC-LLQ queue-num 2;
}
interfaces {
et-0/1/2 {
scheduler-map sched-map;
unit 0 {
classifiers {
exp EXP;
}
rewrite-rules {
exp EXP;
}
}
}
et-0/0/0 {
scheduler-map sched-map;
unit 0 {
classifiers {
exp EXP;
}
rewrite-rules {
exp EXP;
}
}
}
et-0/0/1 {
scheduler-map sched-map;
unit 0 {
classifiers {
exp EXP;
}
rewrite-rules {
exp EXP;
}
}
}
et-0/0/5 {
scheduler-map sched-map;
}
}
rewrite-rules {
exp EXP {
forwarding-class BEST-EFFORT {
loss-priority low code-point 000;
}
forwarding-class CONTROL {
loss-priority low code-point 011;
}
forwarding-class FC-HIGH {
loss-priority low code-point 001;
}
forwarding-class FC-LLQ {
loss-priority low code-point 010;
}
}
}
scheduler-maps {
sched-map {
forwarding-class BEST-EFFORT scheduler s0;
forwarding-class AF scheduler s1;
forwarding-class EF scheduler s2;
forwarding-class CONTROL scheduler s3;
forwarding-class FC-HIGH scheduler s1;
forwarding-class FC-LLQ scheduler s2;
}
}
schedulers {
s0 {
transmit-rate {
remainder;
}
buffer-size {
remainder;
}
priority low;
}
s1 {
transmit-rate percent 40;
buffer-size percent 30;
priority low;
}
s2 {
shaping-rate percent 40;
buffer-size percent 10;
priority low-latency;
}
s3 {
shaping-rate percent 5;
buffer-size percent 5;
priority high;
}
}
}
}
Int_MF {
interfaces {
et-0/1/5 {
unit 1 {
family inet {
filter {
output mfc-filter;
}
}
}
unit 2 {
…}
unit 3 {
…}
unit 4 {
…}
unit 5 {
…}
unit 6 {
…}
unit 7 {
…
}
unit 8 {
…
}
unit 9 {
…}
unit 10 {
}
unit 12 {
…}
unit 13 {
…}
unit 14 {
…}
}
et-0/1/1 {
unit 1 {
family inet {
filter {
output mfc-filter;
}
}
}
unit 2 {
family inet {
filter {
output mfc-filter;
}
}
}
unit 3 {
…}
unit 4 {
…}
unit 5 {
…}
unit 6 {
…}
unit 7 {
…}
unit 8 {
…}
unit 9 {
…}
unit 10 {
family inet {
filter {
output mfc-filter;
}
}
}
}
}
}
双向有源测量协议 (TWAMP)
TWAMP 是一种开放协议,用于测量网络中两个设备之间的网络性能。它有助于在支持 TWAMP 实施的往返中测量两台设备之间的网络性能,并用于检查服务级别协议 (SLA) 合规性。 图 7 显示了 TWAMP 在接入点和 CR 节点之间的实现。
TWAMP 是一种复杂的网络性能测量协议,由其前身单向主动测量协议 (OWAMP) 演变而来。它就像是一种高级的网络运行状况诊断工具。
以下是 AP1 的服务器端配置示例,在此网络拓扑中充当服务器。
services {
rpm {
twamp {
server {
routing-instance-list {
<VRF*> {
port 862;
}
}
authentication-mode none;
port 1862;
client-list Client1 {
address {
10.60.60.1/32;
192.168.110.2/32;
}
}
client-list Client2 {
address {
192.168.3.2/32;
}
}
light;
}
}
}
}
参考架构的影响
- 请参阅城域以太网业务服务 了解 EVPN-VPWS/FXC/EVPN-ELAN 以及与传统 VPN 服务共存,包括多站点 VPLS、热备用 L2Circuit、L2VPN 和带 DIA 的 L3VPN。
- 有关通过颜色感知型 SR-MPLS AS 间拓扑实现的 EVPN-VPWS、EVPN-FXC、EVPN-ELAN、VPLS、L2Circuit 和 L2VPN 的更多详细信息,请参阅城域网即服务 MEF 3.0。
- 请参阅 5G 网络中的服务等级,了解客户设备 (客户边缘) 和提供商设备 (PE) 之间的超低端到端延迟以及整体低延迟质量 (LLQ) 使用节点。