本页内容
内联多链路服务
适用于 WAN 接口的内联 MLPPP 概述
用于时分多路复用 (TDM) 的内联多链路 PPP (MLPPP)、多链路帧中继 (FRF.16) 和端到端多链路帧中继 (FRF.15) WAN 接口通过数据包转发引擎提供捆绑服务,无需 PIC 或密集端口集中器 (DPC)。
传统上,捆绑服务用于捆绑多个低速链路以创建带宽更高的管道。这种组合带宽可用于来自所有链路的流量,并支持捆绑包上的链路分段和交织 (LFI),从而减少高优先级数据包传输延迟。
此支持包括同一捆绑包上的多个链路以及 MLPPP 的多类扩展。通过此服务,您可以在没有额外 DPC 插槽的情况下启用捆绑服务,以支持服务 DPC,并为其他 MIC 释放插槽。
MX 系列虚拟机箱不支持 MLPPP。
从 Junos OS 15.1 版开始,您可以在带有通道化 E1/T1 电路仿真 MIC 的 MX80、MX104、MX240、MX480 和 MX960 路由器上配置内联 MLPPP 接口。通道化 E1/T1 电路仿真 MIC 最多支持八个内联 MLPPP 接口包,类似于与其兼容的其他 MIC 上对内联 MLPPP 包的支持。
为 WAN 接口配置内联 MLPPP 可使以下服务受益:
CE-PE 链路,用于使用基于公共交换电话网 (PSTN) 的接入网络的第 3 层 VPN 和 DIA 服务。
PSTN 用于 MPLS 网络时的 PE-P 链路。
此功能由以下服务提供商使用:
使用 PSTN 向大中型企业客户提供具有基于 PSTN 接入网络的第 3 层 VPN 和 DIA 服务的服务提供商。
拥有基于 SONET 的核心网络的服务提供商。
下图说明了此功能的范围:

为了在 VPN 中连接许多较小的站点,将 TDM 电路与 MLPPP/MLFR 技术捆绑在一起是提供更高带宽和链路冗余 的唯一 方法。
通过 MLPPP,您可以将多个 PPP 链路捆绑到一个多链路捆绑包中,而 MLFR 允许您将多个帧中继数据链路连接标识符 (DLCI) 捆绑到一个多链路捆绑包中。多链路束通过聚合低速链路(如 T1、E1 和串行链路)来提供额外的带宽、负载平衡和冗余。
MLPPP 是一种用于将多个组成链路聚合到一个更大的 PPP 捆绑包中的协议。MLFR 允许您通过反向多路复用聚合多个帧中继链路。MLPPP 和 MLFR 提供低速 T1 和 E1 服务之间的服务选项。除了提供额外带宽外,捆绑多个链路还可以为专用接入服务增加一定程度的容容错。由于可以跨多个接口实施捆绑,因此当单个接口发生故障时,可以保护用户不会失去访问权限。
要为 WAN 接口配置内联 MLPPP,请参阅:
另见
为 LSQ 接口上的链路层开销预留捆绑带宽
由于串行链路上的位填充,链路层开销可能会导致组成链路上的数据包丢失。位填充用于防止数据被解释为控制信息。
默认情况下,总捆绑带宽的 4% 预留用于链路层开销。在大多数网络环境中,链路层的平均开销为 1.6%。因此,我们建议 4% 作为保障措施。有关详细信息,请参阅 RFC 4814, 哈希和填充:网络设备基准测试中被忽视的因素。
对于链路服务 IQ (lsq-
) 接口,可以配置要为链路层开销预留的捆绑带宽百分比。为此,请包含语 link-layer-overhead
句:
link-layer-overhead percent;
您可以在以下层级包含此语句:
[edit interfaces interface-name mlfr-uni-nni-bundle-options]
[edit interfaces interface-name unit logical-unit-number]
[edit logical-systems logical-system-name interfaces interface-name unit logical-unit-number]
可以将该值配置为介于 0% 到 50% 之间。
另见
启用内联 LSQ 服务
用于时分多路复用 (TDM) 的内联多链路 PPP (MLPPP)、多链路帧中继 (FRF.16) 和端到端多链路帧中继 (FRF.15) WAN 接口通过数据包转发引擎提供捆绑服务,无需 PIC 或密集端口集中器 (DPC)。
传统上,捆绑服务用于捆绑多个低速链路以创建带宽更高的管道。这种组合带宽可用于来自所有链路的流量,并支持捆绑包上的链路分段和交织 (LFI),从而减少高优先级数据包传输延迟。
此支持包括同一捆绑包上的多个链路以及 MLPPP 的多类扩展。通过此服务,您可以在没有额外 DPC 插槽的情况下启用捆绑服务,以支持服务 DPC,并为其他 MIC 释放插槽。
内联 LSQ 逻辑接口(称为 lsq-)是驻留在数据包转发引擎上的虚拟服务逻辑接口,可提供不需要服务 PIC 的第 2 层捆绑服务。命名约定为 lsq-slot/pic/0
。
单击 此处 ,查看 MX240、MX480、MX960、MX2008、MX2010、MX2020 和 MX10003 路由器上的 MPC1、MPC2、MPC3、MPC6、MPC8 和 MPC9 当前支持的 MIC 兼容性矩阵。
Type1 MPC 只有一个逻辑单元 (LU);因此,只能创建一个 LSQ 逻辑接口。配置 Type1 MPC 时,请使用 PIC 插槽 0。类型 2 MPC 有两个 LU;因此,可以创建两个 LSQ 逻辑接口。配置 Type2 MPC 时,请使用 PIC 插槽 0 和插槽 2。
为每个 LSQ 逻辑接口配置一个环路流。此流的形状可以像常规流一样,并与其他内联接口共享,例如内联服务 (SI) 接口。
要支持 FRF.16 捆绑包,请使用命名约定 lsq-slot/pic/0:bundle_id
创建逻辑接口,其 bundle_id 范围可以从 0 到 254。您可以将在主 LSQ 逻辑接口上创建的逻辑接口配置为 MLPPP 或 FRF.16。
由于 SI 和 LSQ 逻辑接口可能共享同一流,并且该流上可能存在多个 LSQ 逻辑接口,因此任何与逻辑接口相关的整形都配置在第 2 层节点(而非第 1 层节点)上。因此,启用 SI 时,仅将分配给 SI 接口的第 2 层队列整形为 1Gb 或 10Gb,而不是根据配置将流带宽限制为 1Gb 或 10Gb。
对于 MLPPP 和 FRF.15,每个 LSQ 逻辑接口都是根据总捆绑带宽(成员链路带宽与控制数据包流开销的总和)进行调整的,方法是为每个捆绑包配置一个唯一的第 3 层节点。同样,每个 FRF.16 逻辑接口都是根据总捆绑带宽进行调整的,方法是为每个捆绑包配置一个唯一的第 2 层节点。FRF16 逻辑接口数据链路连接标识符 (DLCI) 映射到第 3 层节点。
要启用内联 LSQ 服务并为指定 PIC 创建 lsq-
逻辑接口,请指定 multi-link-layer-2-inline 和 mlfr-uni-nni-bundles-inline 配置语句。
[edit chassis fpc number pic number] user@host# set multi-link-layer-2-inline user@host# set mlfr-uni-nni-bundles-inline number
在具有单个数据包转发引擎的 MX80 和 MX104 路由器上,您只能在 FPC 0 和 PIC 0 上配置 LSQ 逻辑接口。通道化卡必须位于插槽 FPC 0/0 中,相应的捆绑包才能正常工作。
例如,要在插槽 1 上的 Type1 MPC 上为 PIC 0 启用内联服务:
[edit chassis fpc 1 pic 0] user@host# set multi-link-layer-2-inline user@host# set mlfr-uni-nni-bundles-inline 1
结果,将创建逻辑接口 lsq-1/0/0 和 lsq-1/0/0:0。用户到网络接口 (UNI) 和网络到网络接口 (NNI) 捆绑包的内联多链路帧中继捆绑包数设置为 1。
例如,要在插槽 5 中安装的 2 类 MPC 上为 PIC 0 和 PIC 2 启用内联服务:
[edit chassis fpc 5 pic 0] user@host# set multi-link-layer-2-inline user@host# set mlfr-uni-nni-bundles-inline 1 [edit chassis fpc 5 pic 2] user@host# set multi-link-layer-2-inline user@host# set mlfr-uni-nni-bundles-inline 1
其结果是,将创建逻辑接口 lsq-5/0/0、lsq-5/0/0:0、lsq-5/0/0:1、lsq-5/2/0、lsq-5/2/0:0 和 lsq-5/2/0:1。用户到网络接口 (UNI) 和网络到网络接口 (NNI) 捆绑包的内联多链路帧中继捆绑包数设置为 1。
此处的 PIC 编号仅用作锚点,用于选择正确的 LU 来绑定内联 LSQ 接口。只要捆绑服务所绑定的数据包转发引擎正常运行,捆绑服务就可以运行,即使逻辑 PIC 处于脱机状态也是如此。
另见
使用 MLPPP 将 LSQ 接口配置为 NxT1 或 NxE1 束
要使用 MLPPP 配置 NxT1 捆绑包,请将不同的 T1 链路聚合N到一个捆绑包中。NxT1 捆绑包被称为逻辑接口,因为它可以表示路由邻接等。要将 T1 链路聚合到 MLPPP 捆绑包中,请在[edit interfaces t1-fpc/pic/port unit logical-unit-number family mlppp]
层次结构级别包含语bundle
句:
[edit interfaces t1-fpc/pic/port unit logical-unit-number family mlppp] bundle lsq-fpc/pic/port.logical-unit-number;
链路服务 IQ 接口同时支持 T1 和 E1 物理接口。这些说明适用于 T1 接口,但 E1 接口的配置与此类似。
要配置链路服务 IQ 接口属性,请在 [edit interfaces lsq-fpc/pic/port unit logical-unit-number]
层次结构级别包含以下语句:
[edit interfaces lsq-fpc/pic/port unit logical-unit-number] drop-timeout milliseconds; encapsulation multilink-ppp; fragment-threshold bytes; link-layer-overhead percent; minimum-links number; mrru bytes; short-sequence; family inet { address address; }
ACX 系列路由器不支持丢弃超时和链路层开销属性。
逻辑链路服务 IQ 接口表示 MLPPP 捆绑包。对于 MLPPP 捆绑包,M Series 路由器上有四个相关队列,M320 和 T Series 路由器上有八个相关队列。调度程序根据调度策略从队列中删除数据包。通常,您指定一个队列具有严格的优先级,其余队列将按您配置的权重按比例提供服务。
对于 MLPPP,请为链路服务 IQ 接口 (lsq
) 和每个组成链路分配一个调度器图。当您配置 LFI 或多类流量时,M Series 和 T Series 路由器的默认调度程序会为队列 0、1、2 和 3 的传输速率和缓冲区大小分配 95%、0% 和 5% 的带宽,但这些调度器是不够的。因此,对于 MLPPP,您应为队列 0 到 3 配置一个传输速率和缓冲区大小为非零的调度器,并将此调度器分配给链路服务 IQ 接口 (lsq
) 和每个组成链路,如 示例:使用 MLPPP 将 LSQ 接口配置为 NxT1 束中所示。
对于 M320 和 T Series 路由器,队列 0 到 7 的默认调度器传输速率和缓冲区大小百分比为 95%、0%、0%、5%、0%、0% 和 0%。
如果属于一个 MLPP、MLFR 或 MFR 捆绑接口的成员链路被移动到另一个捆绑接口,或者链路在两个捆绑接口之间交换,则需要在删除和添加作之间提交,以确保正确应用配置。
如果捆绑包具有多个链路,则必须在层次结构级别包含语 per-unit-scheduler
句 [edit interfaces lsq-fpc/pic/port]
:
[edit interfaces lsq-fpc/pic/port] per-unit-scheduler;
要配置和应用调度策略,请在 [edit class-of-service]
层次结构级别包含以下语句:
[edit class-of-service] interfaces { t1-fpc/pic/port unit logical-unit-number { scheduler-map map-name; } } forwarding-classes { queue queue-number class-name; } scheduler-maps { map-name { forwarding-class class-name scheduler scheduler-name; } } schedulers { scheduler-name { buffer-size (percent percentage | remainder | temporal microseconds); priority priority-level; transmit-rate (rate | percent percentage | remainder) <exact>; } }
对于链路服务 IQ 接口,严格高优先级队列可能会使其他三个队列匮乏,因为严格高优先级队列中的流量先于任何其他队列提供服务之前传输。此实现与标准 Junos CoS 实现不同,在标准 Junos CoS 实现中,严格高优先级队列与高优先级队列进行轮询,如 服务等级用户指南(路由器和 EX9200 交换机)中所述。
调度程序从队列中移除数据包后,将执行特定作。该作取决于数据包是来自多链路封装队列(分段和序列化)还是非封装队列(散列但无分段)。每个队列都可以指定为多链路封装或非封装,彼此独立。默认情况下,所有转发类中的流量都是多链路封装的。要在队列上配置数据包分片处理,请在[edit class-of-service]
层次结构级别包含语fragmentation-maps
句:
fragmentation-maps { map-name { forwarding-class class-name { fragment-threshold bytes; multilink-class number; no-fragmentation; } } }
对于 N使用 MLPPP 的 xT1 捆绑包,多链路封装队列中使用的按字节负载平衡优于非封装队列中使用的按流负载平衡。所有其他考虑因素都相同。因此,建议将所有队列配置为多链路封装。为此,可以在配置中包含 fragment-threshold
语句。如果选择将队列上的流量设置为非封装而不是多链路封装,请将语句包含在 no-fragmentation
分段映射中。您可以使用该 multilink-class
语句将转发类映射到多类 MLPPP (MCML)。 。有关分段映射的更多信息,请参阅 在 LSQ 接口上按转发类配置 CoS 分段。
从多链路封装队列中移除数据包时,软件会为数据包提供一个 MLPPP 标头。MLPPP 报头包含一个序列号字段,该字段用计数器中的下一个可用序列号填充。然后,软件会将数据包放在其中一个 N 不同的 T1 链路上。系统会逐个数据包选择链路,以平衡各个 T1 链路的负载。
如果数据包超过最小链路 MTU,或者队列在 [edit class-of-service fragmentation-maps map-name forwarding-class class-name]
层次结构级别配置了分段阈值,软件会将数据包拆分成两个或更多分段,为它们分配连续的多链路序列号。选择每个片段的传出链路时会独立于所有其他片段。
如果未在分段映射中包含该 fragment-threshold
语句,则您在 [edit interfaces interface-name unit logical-unit-number]
层次结构级别设置的分段阈值是所有转发类的默认值。如果未在配置中的任意位置设置最大分段大小,则当数据包超过捆绑包中所有链路中的最小 MTU,则数据包将被分段。
即使未在配置中的任意位置设置最大分段大小,也可以通过在[edit interfaces lsq-fpc/pic/port unit logical-unit-number]
层次结构级别包含mrru
语句来配置最大接收重构单元 (MRRU)。MRRU 类似于 MTU,但特定于链路服务接口。默认情况下,MRRU 大小为 1500 字节,你可以将其配置为 1500 到 4500 字节。有关更多信息,请参阅在多链路和链路服务逻辑接口上配置 MRRU。
从非封装队列中移除数据包时,将使用纯 PPP 报头进行传输。由于没有 MLPPP 报头,因此没有序列号信息。因此,软件必须采取特殊措施来避免数据包重新排序。为避免数据包重新排序,软件会将数据包放在其中一个 N 不同的 T1 链路上。通过对标头中的值进行哈希处理来确定链路。对于 IP,软件根据源地址、目标地址和 IP 协议计算散列。对于 MPLS,软件基于最多 5 个 MPLS 标签,或 4 个 MPLS 标签和 IP 报头来计算散列。
对于 UDP 和 TCP,软件根据源端口和目标端口以及源和目标 IP 地址计算散列。这可以保证属于同一 TCP/UDP 流的所有数据包始终通过同一 T1 链路,因此无法重新排序。但是,它并不能保证各个 T1 链路上的负载是平衡的。如果有许多流量,则负载通常是平衡的。
N不同的 T1 接口连接到另一台路由器,该路由器可以来自瞻博网络,也可以来自其他供应商。远端的路由器从所有 T1 链路收集数据包。如果数据包有 MLPPP 报头,则序列号字段用于将数据包放回序列号顺序。如果数据包具有纯 PPP 报头,则软件会按数据包到达的顺序接受数据包,并且不会尝试对数据包进行重组或重新排序。
示例:使用 MLPPP 将 LSQ 接口配置为 NxT1 束
[edit chassis] fpc 1 { pic 3 { adaptive-services { service-package layer-2; } } } [edit interfaces] t1-0/0/0 { encapsulation ppp; unit 0 { family mlppp { bundle lsq-1/3/0.1; # This adds t1-0/0/0 to the specified bundle. } } } t1-0/0/1 { encapsulation ppp; unit 0 { family mlppp { bundle lsq-1/3/0.1; } } } lsq-1/3/0 { unit 1 { # This is the virtual link that concatenates multiple T1s. encapsulation multilink-ppp; drop-timeout 1000; fragment-threshold 128; link-layer-overhead 0.5; minimum-links 2; mrru 4500; short-sequence; family inet { address 10.2.3.4/24; } } [edit interfaces] lsq-1/3/0 { per-unit-scheduler; } [edit class-of-service] interfaces { lsq-1/3/0 { # multilink PPP constituent link unit 0 { scheduler-map sched-map1; } } t1-0/0/0 { # multilink PPP constituent link unit 0 { scheduler-map sched-map1; } t1-0/0/1 { # multilink PPP constituent link unit 0 { scheduler-map sched-map1; } forwarding-classes { queue 0 be; queue 1 ef; queue 2 af; queue 3 nc; } scheduler-maps { sched-map1 { forwarding-class af scheduler af-scheduler; forwarding-class be scheduler be-scheduler; forwarding-class ef scheduler ef-scheduler; forwarding-class nc scheduler nc-scheduler; } } schedulers { af-scheduler { transmit-rate percent 30; buffer-size percent 30; priority low; } be-scheduler { transmit-rate percent 25; buffer-size percent 25; priority low; } ef-scheduler { transmit-rate percent 40; buffer-size percent 40; priority strict-high; # voice queue } nc-scheduler { transmit-rate percent 5; buffer-size percent 5; priority high; } } fragmentation-maps { fragmap-1 { forwarding-class be { fragment-threshold 180; } forwarding-class ef { fragment-threshold 100; } } } [edit interfaces] lsq-1/3/0 { unit 0 { fragmentation-map fragmap-1; } }
另见
使用 FRF.16 将 LSQ 接口配置为 NxT1 或 NxE1 束
要使用 FRF.16 配置 NxT1 捆绑包,您需要将不同的 T1 链路聚合 N 到一个捆绑包中。 NxT1 捆绑包可能携带大量帧中继 PVC,通过其 DLCI 进行标识。每个 DLCI 都称为一个逻辑接口,因为它可以表示路由邻接等。
要将 T1 链路聚合到 FRF.16 捆绑包中,请在[edit chassis fpc slot-number pic slot-number]
层次结构级别包含mlfr-uni-nni-bundles
语句,并在层次结构级别包含语bundle
句[edit interfaces t1-fpc/pic/port unit logical-unit-number family mlfr-uni-nni]
:
[edit chassis fpc slot-number pic slot-number] mlfr-uni-nni-bundles number; [edit interfaces t1-fpc/pic/port unit logical-unit-number family mlfr-uni-nni] bundle lsq-fpc/pic/port:channel;
链路服务 IQ 接口同时支持 T1 和 E1 物理接口。这些说明适用于 T1 接口,但 E1 接口的配置与此类似。
要配置链路服务 IQ 接口属性,请在 [edit interfaces lsq- fpc/pic/port:channel]
层次结构级别包含以下语句:
[edit interfaces lsq- fpc/pic/port:channel] encapsulation multilink-frame-relay-uni-nni; dce; mlfr-uni-nni-options { acknowledge-retries number; acknowledge-timer milliseconds; action-red-differential-delay (disable-tx | remove-link); drop-timeout milliseconds; fragment-threshold bytes; hello-timer milliseconds; link-layer-overhead percent; lmi-type (ansi | itu); minimum-links number; mrru bytes; n391 number; n392 number; n393 number; red-differential-delay milliseconds; t391 number; t392 number; yellow-differential-delay milliseconds; } unit logical-unit-number { dlci dlci-identifier; family inet { address address; } }
链路服务 IQ 通道表示 FRF.16 束。四个队列与每个 DLCI 相关联。调度程序根据调度策略从队列中删除数据包。在链路服务 IQ 接口上,通常指定一个队列具有严格的优先级。其余队列将根据您配置的权重按比例提供服务。
对于链路服务 IQ 接口,严格高优先级队列可能会使其他三个队列匮乏,因为严格高优先级队列中的流量先于任何其他队列提供服务之前传输。此实现与标准 Junos CoS 实现不同,在标准 Junos CoS 实现中,严格高优先级队列与高优先级队列进行轮询,如 服务等级用户指南(路由器和 EX9200 交换机)中所述。
如果捆绑包具有多个链路,则必须在层次结构级别包含语 per-unit-scheduler
句 [edit interfaces lsq-fpc/pic/port:channel]
:
[edit interfaces lsq-fpc/pic/port:channel] per-unit-scheduler;
对于 FRF.16,您可以将单个调度器图分配给链路服务 IQ 接口 (lsq
) 和每个链路服务 IQ DLCI,也可以将不同的调度器图分配给捆绑包的各个 DLCI,如 示例:使用 FRF.16 将 LSQ 接口配置为 NxT1 捆绑包中所示。
对于 FRF.16 捆绑包的构成链路,无需配置自定义调度程序。由于 FRF.16 不支持 LFI 和多类,因此来自每个组成链路的流量从队列 0 传输。这意味着应允许队列 0 使用大部分带宽。对于 M Series 和 T Series 路由器,队列 0 到 3 的默认调度器传输速率和缓冲区大小百分比分别为 95%、0%、0% 和 5%。这些默认调度程序将所有用户流量发送到队列 0,并将所有网络控制流量发送到队列 3,因此非常适合 FRF.16 的行为。如果需要,可以配置一个自定义调度程序来显式复制 95%、0%、0% 和 5% 的排队行为,并将其应用于组成链路。
对于 M320 和 T Series 路由器,队列 0 到 7 的默认调度器传输速率和缓冲区大小百分比为 95%、0%、0%、5%、0%、0% 和 0%。
如果属于一个 MLPP、MLFR 或 MFR 捆绑接口的成员链路被移动到另一个捆绑接口,或者链路在两个捆绑接口之间交换,则需要在删除和添加作之间提交,以确保正确应用配置。
要配置和应用调度策略,请在 [edit class-of-service]
层次结构级别包含以下语句:
[edit class-of-service] interfaces { lsq-fpc/pic/port:channel { unit logical-unit-number { scheduler-map map-name; } } } forwarding-classes { queue queue-number class-name; } scheduler-maps { map-name { forwarding-class class-name scheduler scheduler-name; } } schedulers { scheduler-name { buffer-size (percent percentage | remainder | temporal microseconds); priority priority-level; transmit-rate (rate | percent percentage | remainder) <exact>; } }
要在队列上配置数据包分片处理,请在[edit class-of-service]
层次结构级别包含语fragmentation-maps
句:
[edit class-of-service] fragmentation-maps { map-name { forwarding-class class-name { fragment-threshold bytes; } } }
对于 FRF.16 流量,仅支持多链路封装(分段和序列化)队列。这是所有转发类的默认排队行为。FRF.16 不允许非封装流量,因为协议要求所有数据包都带有分段标头。如果将一个大数据包拆分为多个分段,则这些分片必须具有连续的序列号。因此,您不能在[edit class-of-service fragmentation-maps map-name forwarding-class class-name]
层次结构级别为 FRF.16 流量包含no-fragmentation
该语句。对于 FRF.16,如果要传输语音或任何其他延迟敏感型流量,则不应使用慢速链接。在 T1 速度及以上时,串行化延迟足够小,因此无需使用显式 LFI。
从多链路封装队列中移除数据包时,软件会为数据包提供 FRF.16 标头。FRF.16 报头包含一个序列号字段,该字段用计数器中的下一个可用序列号填充。然后,软件会将数据包放在其中一个 N 不同的 T1 链路上。系统会逐个数据包选择链路,以平衡各个 T1 链路的负载。
如果数据包超过最小链路 MTU,或者队列在 [edit class-of-service fragmentation-maps map-name forwarding-class class-name]
层次结构级别配置了分段阈值,软件会将数据包拆分成两个或更多分段,为它们分配连续的多链路序列号。选择每个片段的传出链路时会独立于所有其他片段。
如果未在分段映射中包含该 fragment-threshold
语句,则在 [edit interfaces interface-name unit logical-unit-number]
或 [edit interfaces interface-name mlfr-uni-nni-bundle-options]
层次结构级别设置的分段阈值是所有转发类的默认值。如果未在配置中的任意位置设置最大分段大小,则当数据包超过捆绑包中所有链路中的最小 MTU,则数据包将被分段。
即使未在配置中的任意位置设置最大分段大小,也可以通过在[edit interfaces lsq-fpc/pic/port unit logical-unit-number]
[edit interfaces interface-name mlfr-uni-nni-bundle-options]
或层次结构级别包含mrru
语句来配置最大接收重构单元 (MRRU)。MRRU 类似于 MTU,但特定于链路服务接口。默认情况下,MRRU 大小为 1500 字节,你可以将其配置为 1500 到 4500 字节。有关更多信息,请参阅在多链路和链路服务逻辑接口上配置 MRRU。
N不同的 T1 接口连接到另一台路由器,该路由器可以来自瞻博网络,也可以来自其他供应商。远端的路由器从所有 T1 链路收集数据包。由于每个数据包都有一个 FRF.16 报头,因此序列号字段用于将数据包放回序列号顺序。
示例:使用 FRF.16 将 LSQ 接口配置为 NxT1 束
使用 FRF.16 和多个 CoS 调度器图配置 NxT1 捆绑包:
[edit chassis fpc 1 pic 3] adaptive-services { service-package layer-2; } mlfr-uni-nni-bundles 2; # Creates channelized LSQ interfaces/FRF.16 bundles. [edit interfaces] t1-0/0/0 { encapsulation multilink-frame-relay-uni-nni; unit 0 { family mlfr-uni-nni { bundle lsq-1/3/0:1; } } } t1-0/0/1 { encapsulation multilink-frame-relay-uni-nni; unit 0 { family mlfr-uni-nni { bundle lsq-1/3/0:1; } } } lsq-1/3/0:1 { # Bundle link consisting of t1-0/0/0 and t1-0/0/1 per-unit-scheduler; encapsulation multilink-frame-relay-uni-nni; dce; # One end needs to be configured as DCE. mlfr-uni-nni-bundle-options { drop-timeout 180; fragment-threshold 64; hello-timer 180; minimum-links 2; mrru 3000; link-layer-overhead 0.5; } unit 0 { dlci 26; # Each logical unit maps a single DLCI. family inet { address 10.2.3.4/24; } } unit 1 { dlci 42; family inet { address 10.20.30.40/24; } } unit 2 { dlci 69; family inet { address 10.20.30.40/24; } } [edit class-of-service] scheduler-maps { sched-map-lsq0 { forwarding-class af scheduler af-scheduler-lsq0; forwarding-class be scheduler be-scheduler-lsq0; forwarding-class ef scheduler ef-scheduler-lsq0; forwarding-class nc scheduler nc-scheduler-lsq0; } sched-map-lsq1 { forwarding-class af scheduler af-scheduler-lsq1; forwarding-class be scheduler be-scheduler-lsq1; forwarding-class ef scheduler ef-scheduler-lsq1; forwarding-class nc scheduler nc-scheduler-lsq1; } } schedulers { af-scheduler-lsq0 { transmit-rate percent 60; buffer-size percent 60; priority low; } be-scheduler-lsq0 { transmit-rate percent 30; buffer-size percent 30; priority low; } ef-scheduler-lsq0 { transmit-rate percent 5; buffer-size percent 5; priority strict-high; } nc-scheduler-lsq0 { transmit-rate percent 5; buffer-size percent 5; priority high; } af-scheduler-lsq1 { transmit-rate percent 50; buffer-size percent 50; priority low; } be-scheduler-lsq1 { transmit-rate percent 30; buffer-size percent 30; priority low; } ef-scheduler-lsq1 { transmit-rate percent 15; buffer-size percent 15; priority strict-high; } nc-scheduler-lsq1 { transmit-rate percent 5; buffer-size percent 5; priority high; } } interfaces { lsq-1/3/0:1 { # MLFR FRF.16 unit 0 { scheduler-map sched-map-lsq0; } unit 1 { scheduler-map sched-map-lsq1; } }
另见
使用 FRF.15 将 LSQ 接口配置为 NxT1 或 NxE1 束
此示例在链路服务 IQ 接口上使用 FRF.15 配置 N
xT1 捆绑包。FRF.15 与 FRF.12 类似,如 使用 FRF.12 为单个部分 T1 或 E1 接口配置 LSQ 接口中所述。不同之处在于,FRF.15 支持捆绑包中的多个物理链路,而 FRF.12 仅支持每个捆绑包一个物理链路。对于 FRF.15 的 Junos OS 实现,可以为每个物理链路配置一个 DLCI。
链路服务 IQ 接口同时支持 T1 和 E1 物理接口。此示例指的是 T1 接口,但 E1 接口的配置与此类似。
[edit interfaces] lsq-1/3/0 { per-unit-scheduler; unit 0 { dlci 69; encapsulation multilink-frame-relay-end-to-end; } } unit 1 { dlci 13; encapsulation multilink-frame-relay-end-to-end; } # First physical link t1-1/1/0:1 { encapsulation frame-relay; unit 0 { family mlfr-end-to-end { bundle lsq-1/3/0.0; } } } # Second physical link t1-1/1/0:2 { encapsulation frame-relay; unit 0 { family mlfr-end-to-end { bundle lsq-1/3/0.0; } } }
另见
使用 MLPPP 和 LFI 为单个小数 T1 或 E1 接口配置 LSQ 接口
配置单个部分 T1 接口时,该接口称为逻辑接口,因为它可以表示路由邻接等。
逻辑链路服务 IQ 接口表示 MLPPP 捆绑包。四个队列与逻辑接口相关联。调度程序根据调度策略从队列中删除数据包。通常,您指定一个队列具有严格的优先级,其余队列将按您配置的权重按比例提供服务。
要使用 MLPPP 和 LFI 配置单个部分 T1 接口,请将一个 DS0(部分 T1)接口与链路服务 IQ 接口相关联。要将部分 T1 接口与链路服务 IQ 接口进行关联,请在[edit interfaces ds-fpc/pic/port:channel unit logical-unit-number family mlppp]
层次结构级别包含以下bundle
语句:
[edit interfaces ds-fpc/pic/port:channel unit logical-unit-number family mlppp] bundle lsq-fpc/pic/port.logical-unit-number;
链路服务 IQ 接口同时支持 T1 和 E1 物理接口。这些说明适用于 T1 接口,但 E1 接口的配置与此类似。
要配置链路服务 IQ 接口属性,请在 [edit interfaces lsq-fpc/pic/port unit logical-unit-number]
层次结构级别包含以下语句:
[edit interfaces lsq-fpc/pic/port unit logical-unit-number] drop-timeout milliseconds; encapsulation multilink-ppp; fragment-threshold bytes; link-layer-overhead percent; minimum-links number; mrru bytes; short-sequence; family inet { address address; }
对于 MLPPP,请为链路服务 IQ (lsq
) 接口和每个组成链路分配一个调度器图。当您配置 LFI 或多类流量时,M Series 和 T Series 路由器的默认调度程序会为队列 0、1、2 和 3 的传输速率和缓冲区大小分配 95%、0% 和 5% 的带宽,但这些调度器是不够的。因此,对于 MLPPP,您应为队列 0 到 3 配置一个传输速率和缓冲区大小为非零的调度器,并将此调度器分配给链路服务 IQ (lsq
) 接口、每个组成链路和每个组成链路,如 示例:使用 MLPPP 和 LFI 为部分 T1 接口配置 LSQ 接口中所示。
对于 M320 和 T Series 路由器,队列 0 到 7 的默认调度器传输速率和缓冲区大小百分比为 95%、0%、0%、5%、0%、0% 和 0%。
要配置和应用调度策略,请在 [edit class-of-service]
层次结构级别包含以下语句:
[edit class-of-service] interfaces { ds-fpc/pic/port.channel { scheduler-map map-name; } } forwarding-classes { queue queue-number class-name; } scheduler-maps { map-name { forwarding-class class-name scheduler scheduler-name; } } schedulers { scheduler-name { buffer-size (percent percentage | remainder | temporal microseconds); priority priority-level; transmit-rate (rate | percent percentage | remainder) <exact>; } }
对于链路服务 IQ 接口,严格-高优先级队列可能会使所有其他队列匮乏,因为严格-高优先级队列中的流量会在任何其他队列得到服务之前传输。此实现与标准 Junos CoS 实现不同,在标准 Junos CoS 实现中,严格高优先级队列接收无限配额并与高优先级队列进行循环,如 服务等级用户指南(路由器和 EX9200 交换机)中所述。
调度程序从队列中移除数据包后,将执行特定作。该作取决于数据包是来自多链路封装队列(分段和序列化)还是非封装队列(散列但无分段)。每个队列都可以指定为多链路封装或非封装,彼此独立。默认情况下,所有转发类中的流量都是多链路封装的。要在队列上配置数据包分片处理,请在[edit class-of-service]
层次结构级别包含语fragmentation-maps
句:
[edit class-of-service] fragmentation-maps { map-name { forwarding-class class-name { fragment-threshold bytes; no-fragmentation; } } }
如果要求队列以低延迟传输小型数据包,请通过包含 no-fragmentation
语句将队列配置为非封装。如果您要求队列以正常延迟传输大型数据包,请通过包含 fragment-threshold
语句将队列配置为多链路封装。如果您要求队列以低延迟传输大型数据包,建议使用更快的链路,并将队列配置为非封装。有关分段映射的更多信息,请参阅 在 LSQ 接口上按转发类配置 CoS 分段。
从多链路封装队列中移除数据包时,会进行分段处理。如果数据包超过最小链路 MTU,或者队列在 [edit class-of-service fragmentation-maps map-name forwarding-class class-name]
层次结构级别配置了分段阈值,软件会将数据包拆分成两个或更多分段,为它们分配连续的多链路序列号。
如果未在分段映射中包含该 fragment-threshold
语句,则您在 [edit interfaces interface-name unit logical-unit-number]
层次结构级别设置的分段阈值是所有转发类的默认值。如果未在配置中的任意位置设置最大分段大小,则当数据包超过捆绑包中所有链路中的最小 MTU,则数据包将被分段。
即使未在配置中的任意位置设置最大分段大小,也可以通过在[edit interfaces lsq-fpc/pic/port unit logical-unit-number]
层次结构级别包含mrru
语句来配置最大接收重构单元 (MRRU)。MRRU 类似于 MTU,但特定于链路服务接口。默认情况下,MRRU 大小为 1500 字节,你可以将其配置为 1500 到 4500 字节。有关更多信息,请参阅在多链路和链路服务逻辑接口上配置 MRRU。
从多链路封装队列中移除数据包时,软件会为数据包提供一个 MLPPP 标头。MLPPP 报头包含一个序列号字段,该字段用计数器中的下一个可用序列号填充。然后,软件将数据包放在部分 T1 链路上。来自其他队列的流量可能会在数据包的两个分段之间交错。
从非封装队列中移除数据包时,将使用纯 PPP 报头进行传输。然后尽快将数据包放置在部分 T1 链路上。如有必要,数据包会放置在来自另一个队列的数据包的片段之间。
部分 T1 接口连接到另一台路由器,该路由器可以来自瞻博网络或其他供应商。远端的路由器从部分 T1 链路收集数据包。如果数据包具有 MLPPP 标头,则软件会假定该数据包是较大数据包的分段,并且片段编号字段用于重新组合较大的数据包。如果数据包具有纯 PPP 报头,则软件将按数据包到达的顺序接受数据包,并且软件不会尝试对数据包进行重新组合或重新排序。
示例:使用 MLPPP 和 LFI 为部分 T1 接口配置 LSQ 接口
配置单个部分 T1 逻辑接口:
[edit interfaces] lsq-0/2/0 { per-unit-scheduler; unit 0 { encapsulation multilink-ppp; link-layer-overhead 0.5; family inet { address 10.40.1.1/30; } } } ct3-1/0/0 { partition 1 interface-type ct1; } ct1-1/0/0:1 { partition 1 timeslots 1-2 interface-type ds; } ds-1/0/0:1:1 { encapsulation ppp; unit 0 { family mlppp { bundle lsq-0/2/0.0; } } } [edit class-of-service] interfaces { ds-1/0/0:1:1 { # multilink PPP constituent link unit 0 { scheduler-map sched-map1; } } forwarding-classes { queue 0 be; queue 1 ef; queue 2 af; queue 3 nc; } scheduler-maps { sched-map1 { forwarding-class af scheduler af-scheduler; forwarding-class be scheduler be-scheduler; forwarding-class ef scheduler ef-scheduler; forwarding-class nc scheduler nc-scheduler; } } schedulers { af-scheduler { transmit-rate percent 20; buffer-size percent 20; priority low; } be-scheduler { transmit-rate percent 20; buffer-size percent 20; priority low; } ef-scheduler { transmit-rate percent 50; buffer-size percent 50; priority strict-high; # voice queue } nc-scheduler { transmit-rate percent 10; buffer-size percent 10; priority high; } } fragmentation-maps { fragmap-1 { forwarding-class be { fragment-threshold 180; } forwarding-class ef { fragment-threshold 100; } } } [edit interfaces] lsq-0/2/0 { unit 0 { fragmentation-map fragmap-1; } }
另见
使用 FRF.12 为单个部分 T1 或 E1 接口配置 LSQ 接口
要使用 FRF.16 配置单个部分 T1 接口,请将 DS0 接口与链路服务 IQ (lsq
) 接口相关联。配置单个部分 T1 时,部分 T1 可能会携带大量按其 DLCI 标识的帧中继 PVC。每个 DLCI 都称为一个逻辑接口,因为它可以表示路由邻接等。要将 DS0 接口与链路服务 IQ 接口进行关联,请在[edit interfaces ds-fpc/pic/port:channel unit logical-unit-number family mlfr-end-to-end]
层次结构级别包含以下bundle
语句:
[edit interfaces ds-fpc/pic/port:channel unit logical-unit-number family mlfr-end-to-end] bundle lsq-fpc/pic/port.logical-unit-number;
链路服务 IQ 接口同时支持 T1 和 E1 物理接口。这些说明适用于 T1 接口,但 E1 接口的配置与此类似。
要配置链路服务 IQ 接口属性,请在 [edit interfaces lsq-fpc/pic/port unit logical-unit-number]
层次结构级别包含以下语句:
[edit interfaces lsq-fpc/pic/port unit logical-unit-number] drop-timeout milliseconds; encapsulation multilink-frame-relay-end-to-end; fragment-threshold bytes; link-layer-overhead percent; minimum-links number; mrru bytes; short-sequence; family inet { address address; }
逻辑链路服务 IQ 接口表示 FRF.12 捆绑包。每个逻辑接口关联四个队列。调度程序根据调度策略从队列中删除数据包。通常,您指定一个队列具有严格的优先级,其余队列将按您配置的权重按比例提供服务。
对于 FRF.12,将单个调度器图分配给链路服务 IQ 接口 (lsq
) 和每个组成链路。对于 M Series 和 T Series 路由器,在配置 LFI 或多类流量时,默认调度程序(可为队列 0、1、2 和 3 的传输速率和缓冲区大小分配 95%、0% 和 5% 的带宽)不足以满足需求。因此,对于 FRF.12,您应为队列 0 到 3 配置具有非零传输速率和缓冲区大小的调度器,并将其分配给链路服务 IQ 接口 (lsq
) 和每个组成链路,如 示例:使用 FRF.12 为部分 T1 接口配置 LSQ 接口中所示。
对于 M320 和 T Series 路由器,队列 0 到 7 的默认调度器传输速率和缓冲区大小百分比为 95%、0%、0%、5%、0%、0% 和 0%。
要配置和应用调度策略,请在 [edit class-of-service]
层次结构级别包含以下语句:
[edit class-of-service] interfaces { ds-fpc/pic/port.channel { scheduler-map map-name; } } forwarding-classes { queue queue-number class-name; } scheduler-maps { map-name { forwarding-class class-name scheduler scheduler-name; } } schedulers { scheduler-name { buffer-size (percent percentage | remainder | temporal microseconds); priority priority-level; transmit-rate (rate | percent percentage | remainder) <exact>; } }
对于链路服务 IQ 接口,严格高优先级队列可能会使其他三个队列匮乏,因为严格高优先级队列中的流量先于任何其他队列提供服务之前传输。此实现与标准 Junos CoS 实现不同,在标准 Junos CoS 实现中,严格高优先级队列与高优先级队列进行轮询,如 服务等级用户指南(路由器和 EX9200 交换机)中所述。
调度程序从队列中移除数据包后,将执行特定作。该作取决于数据包是来自多链路封装队列(分段和序列化)还是非封装队列(散列但无分段)。每个队列都可以指定为多链路封装或非封装,彼此独立。默认情况下,所有转发类中的流量都是多链路封装的。要在队列上配置数据包分片处理,请在[edit class-of-service]
层次结构级别包含语fragmentation-maps
句:
[edit class-of-service] fragmentation-maps { map-name { forwarding-class class-name { fragment-threshold bytes; no-fragmentation; } } }
如果要求队列以低延迟传输小型数据包,请通过包含 no-fragmentation
语句将队列配置为非封装。如果您要求队列以正常延迟传输大型数据包,请通过包含 fragment-threshold
语句将队列配置为多链路封装。如果您要求队列以低延迟传输大型数据包,建议使用更快的链路,并将队列配置为非封装。有关分段映射的更多信息,请参阅 在 LSQ 接口上按转发类配置 CoS 分段。
从多链路封装队列中移除数据包时,会进行分段处理。如果数据包超过最小链路 MTU,或者队列在 [edit class-of-service fragmentation-maps map-name forwarding-class class-name]
层次结构级别配置了分段阈值,软件会将数据包拆分成两个或更多分段,为它们分配连续的多链路序列号。
如果未在分段映射中包含该 fragment-threshold
语句,则您在 [edit interfaces interface-name unit logical-unit-number]
层次结构级别设置的分段阈值是所有转发类的默认值。如果未在配置中的任意位置设置最大分段大小,则当数据包超过捆绑包中所有链路中的最小 MTU,则数据包将被分段。
即使未在配置中的任意位置设置最大分段大小,也可以通过在[edit interfaces lsq-fpc/pic/port unit logical-unit-number]
层次结构级别包含mrru
语句来配置最大接收重构单元 (MRRU)。MRRU 类似于 MTU,但特定于链路服务接口。默认情况下,MRRU 大小为 1500 字节,你可以将其配置为 1500 到 4500 字节。有关更多信息,请参阅在多链路和链路服务逻辑接口上配置 MRRU。
从多链路封装队列中移除数据包时,软件会为数据包提供 FRF.12 标头。FRF.12 报头包含一个序列号字段,该字段用计数器中的下一个可用序列号填充。然后,软件将数据包放在部分 T1 链路上。来自其他队列的流量可能会在数据包的两个分段之间交错。
从非封装队列中移除数据包时,将使用普通帧中继标头进行传输。然后尽快将数据包放置在部分 T1 链路上。如有必要,数据包会放置在来自另一个队列的数据包的片段之间。
部分 T1 接口连接到另一台路由器,该路由器可以来自瞻博网络或其他供应商。远端的路由器从部分 T1 链路收集数据包。如果数据包具有 FRF.12 标头,则软件会假定该数据包是较大数据包的分段,并且片段编号字段用于重新组合较大的数据包。如果数据包具有纯帧中继标头,则软件将按数据包到达的顺序接受数据包,并且软件不会尝试对数据包进行重新组合或重新排序。
可以将来自非封装队列的整个数据包放在多链路封装队列的片段之间。但是,一个多链路封装队列中的片段不能与另一个多链路封装队列中的片段交错。这就是规范 FRF.12 帧 中继分段实施协议的意图。如果来自两个不同队列的片段是交错的,则标头字段可能没有足够的信息来分隔这些片段。
示例:使用 FRF.12 为部分 T1 接口配置 LSQ 接口
FRF.12,带分段,不带 LFI
此示例显示了一个 128 KB 的 DS0 接口。上 ge-0/0/0
有一个流量流,它被归类为队列 0 (be
)。数据包根据分段映射中配置的阈值在链路服务 IQ (lsq-
) 接口中分段。
[edit chassis] fpc 0 { pic 3 { adaptive-services { service-package layer-2; } } } [edit interfaces] ge-0/0/0 { unit 0 { family inet { address 20.1.1.1/24 { arp 20.1.1.2 mac 00.00.5e.00.53.56; } } } } ce1-0/2/0 { partition 1 timeslots 1-2 interface-type ds; } ds-0/2/0:1 { no-keepalives; dce; encapsulation frame-relay; unit 0 { dlci 100; family mlfr-end-to-end { bundle lsq-0/3/0.0; } } } lsq-0/3/0 { per-unit-scheduler; unit 0 { encapsulation multilink-frame-relay-end-to-end; family inet { address 10.200.0.78/30; } } } fxp0 { unit 0 { family inet { address 172.16.1.162/24; } } } lo0 { unit 0 { family inet { address 10.0.0.1/32; } } } [edit class-of-service] forwarding-classes { queue 0 be; queue 1 ef; queue 2 af; queue 3 nc; } interfaces { lsq-0/3/0 { unit 0 { fragmentation-map map1; } } } fragmentation-maps { map1 { forwarding-class { be { fragment-threshold 160; } } } }
具有分段和 LFI 的 FRF.12
此示例显示了一个 512 KB 的 DS0 捆绑包和四个 ge-0/0/0
被分类为四个队列的流量流。队列 0、队列 1 和队列 2 的片段大小为 160。队列 3 上的语音流配置了 LFI。
[edit chassis] fpc 0 { pic 3 { adaptive-services { service-package layer-2; } } } [edit interfaces] ge-0/0/0 { unit 0 { family inet { address 20.1.1.1/24 { arp 20.1.1.2 mac 00.00.5e.00.53.56; } } } ce1-0/2/0 { partition 1 timeslots 1-8 interface-type ds; } ds-0/2/0:1 { no-keepalives; dce; encapsulation frame-relay; unit 0 { dlci 100; family mlfr-end-to-end { bundle lsq-0/3/0.0; } } } lsq-0/3/0 { per-unit-scheduler; unit 0 { encapsulation multilink-frame-relay-end-to-end; family inet { address 10.200.0.78/30; } } } [edit class-of-service] classifiers { inet-precedence ge-interface-classifier { forwarding-class be { loss-priority low code-points 000; } forwarding-class ef { loss-priority low code-points 010; } forwarding-class af { loss-priority low code-points 100; } forwarding-class nc { loss-priority low code-points 110; } } } forwarding-classes { queue 0 be; queue 1 ef; queue 2 af; queue 3 nc; } interfaces { lsq-0/3/0 { unit 0 { scheduler-map sched2; fragmentation-map map2; } } ds-0/2/0:1 { scheduler-map link-map2; } ge-0/0/0 { unit 0 { classifiers { inet-precedence ge-interface-classifier; } } } } scheduler-maps { sched2 { forwarding-class be scheduler economy; forwarding-class ef scheduler business; forwarding-class af scheduler stream; forwarding-class nc scheduler voice; } link-map2 { forwarding-class be scheduler link-economy; forwarding-class ef scheduler link-business; forwarding-class af scheduler link-stream; forwarding-class nc scheduler link-voice; } } fragmentation-maps { map2 { forwarding-class { be { fragment-threshold 160; } ef { fragment-threshold 160; } af { fragment-threshold 160; } nc { no-fragmentation; } } } schedulers { economy { transmit-rate percent 26; buffer-size percent 26; } business { transmit-rate percent 26; buffer-size percent 26; } stream { transmit-rate percent 35; buffer-size percent 35; } voice { transmit-rate percent 13; buffer-size percent 13; } link-economy { transmit-rate percent 26; buffer-size percent 26; } link-business { transmit-rate percent 26; buffer-size percent 26; } link-stream { transmit-rate percent 35; buffer-size percent 35; } link-voice { transmit-rate percent 13; buffer-size percent 13; } } } }
另见
为配置为通过 MLPPP 压缩的 RTP 配置的 T3 链路的 LSQ 接口
此示例使用 MLPPP 封装将单个 T3 接口捆绑在链路服务 IQ 接口上。通过将单个 T3 接口绑定到多链路捆绑包,您可以在 T3 接口上配置压缩 RTP (CRTP)。
此方案仅适用于 MLPPP 捆绑包。Junos OS 当前不支持基于帧中继的 CRTP。有关详细信息,请参阅 为语音服务配置服务接口。
无需以 DS3 速度配置 LFI,因为数据包序列化延迟可以忽略。
[edit interfaces] t3-0/0/0 { unit 0 { family mlppp { bundle lsq-1/3/0.1; } } } lsq-1/3/0.1 { encapsulation multilink-ppp; } compression { rtp { # cRTP parameters go here # port minimum 2000 maximum 64009; } }
此配置使用默认分段映射,这会导致所有转发类(队列)都使用多链路标头发出。
要消除多链路标头,您可以配置一个分段映射,其中所有队列在[edit class-of-service fragmentation-maps map-name forwarding-class class-name]
层次结构级别都有语no-fragmentation
句,并将分段映射附加到接口,lsq-1/3/0.1
如下所示:
[edit class-of-service] fragmentation-maps { fragmap { forwarding-class { be { no-fragmentation; } af { no-fragmentation; } ef { no-fragmentation; } nc { no-fragmentation; } } } } interfaces { lsq-1/3/0.1 { fragmentation-map fragmap; } }
另见
使用 FRF.12 将 LSQ 接口配置为 T3 或 OC3 束
此示例配置一个明信道 T3 或 OC3 接口,并在链路上使用多个逻辑接口 (DLCI)。在此方案中,每个 DLCI 代表一个客户。DLCI 在出口 PIC 处以特定速度 (NxDS0) 进行整形。这允许您在帧中继 DLCI 上使用 FRF.12 端到端协议来配置 LFI。
为此,请先在物理接口上配置逻辑接口 (DLCI)。然后捆绑 DLCI,以便每个捆绑包只有一个 DLCI。
物理接口必须能够按 DLCI 进行调度,这允许您为每个 DLCI 附加整形速率。有关详细信息,请参阅 路由设备的 Junos OS 网络接口库。
为防止出口 PIC 出现分段丢弃,必须为链路服务 IQ 逻辑接口和出口 DLCI 分配整形速率。DLCI 上的整形速率指定每个 DLCI 的可用带宽量。链路服务 IQ 接口上的整形速率应与分配给与捆绑包关联的 DLCI 的整形速率相匹配。
出口接口还必须附加调度程序映射。携带语音的队列应为严格高优先级,而所有其他队列应为低优先级。这使得 LFI 成为可能。
此示例显示队列中的 ef
语音流量。语音流量与批量数据交错。或者,您可以使用多类 MLPPP 在不同的多链路类中传输多类流量。
[edit interfaces] t3-0/0/0 { per-unit-scheduler; encapsulation frame-relay; unit 0 { dlci 69; family mlfr-end-to-end { bundle lsq-1/3/0.0; } } unit 1 { dlci 42; family mlfr-end-to-end { bundle lsq-1/3/0.1; } } } lsq-1/3/0 { unit 0 { encapsulation multilink-frame-relay-end-to-end; } fragment-threshold 320; # Multilink packets must be fragmented } unit 1 { encapsulation multilink-frame-relay-end-to-end; } fragment-threshold 160; [edit class-of-service] scheduler-maps { sched { # Scheduling parameters that apply to bundles on AS or Multiservices PICs. ... } pic-sched { # Scheduling parameters for egress DLCIs. # The voice queue should be strict-high priority. # All other queues should be low priority. ... } fragmentation-maps { fragmap { forwarding-class { ef { no-fragmentation; } # Voice is carried in the ef queue. # It is interleaved with bulk data. } } } interfaces { t3-0/0/0 { unit 0 { shaping-rate 512k; scheduler-map pic-sched; } unit 1 { shaping-rate 128k; scheduler-map pic-sched; } } lsq-1/3/0 { # Assign fragmentation and scheduling to LSQ interfaces. unit 0 { shaping-rate 512k; scheduler-map sched; fragmentation-map fragmap; } unit 1 { shaping-rate 128k; scheduler-map sched; fragmentation-map fragmap; } }
有关 FRF.12 如何与链路服务 IQ 接口配合使用的详细信息,请参阅 使用 FRF.12 为单个部分 T1 或 E1 接口配置 LSQ 接口。
另见
使用 MLPPP 为 ATM2 IQ 接口配置 LSQ 接口
此示例配置一个 ATM2 IQ 接口,其 MLPPP 与链路服务 IQ 接口捆绑在一起。这允许您在 ATM 虚拟电路上配置 LFI。
对于这种类型的配置,ATM2 IQ 接口必须具有 LLC 封装。
此方案支持以下 ATM PIC:
2 端口 OC-3/STM1 ATM2 IQ
4 端口 DS3 ATM2 IQ
不支持通过 AAL5 的虚拟电路多路复用 PPP。不支持帧中继。不支持将多个 ATM VC 捆绑到单个逻辑接口中。
与 DS3 和 OC3 接口不同,无需为 ATM PIC 创建单独的调度器图。对于 ATM,您可以在层次结构级别定义 CoS 组件 [edit interfaces at-fpc/pic/port atm-options]
,如 路由设备的 Junos OS 网络接口库中所述。
请勿在捆绑的 ATM 逻辑接口上配置 RED 配置文件。ATM 接口不会发生丢弃。
在此示例中,配置了两个 ATM VC,并将其捆绑到两个链路服务 IQ 捆绑包中。分段映射用于将语音流量与其他多链路流量交错。由于使用了 MLPPP,因此可以为 CRTP 配置每个链路服务 IQ 包。
[edit interfaces] at-1/2/0 { atm-options { vpi 0; pic-type atm2; } unit 0 { vci 0.69; encapsulation atm-mlppp-llc; family mlppp { bundle lsq-1/3/0.10; } } unit 1 { vci 0.42; encapsulation atm-mlppp-llc; family mlppp { bundle lsq-1/3/0.11; } } } lsq-1/3/0 { unit 10 { encapsulation multilink-ppp; } # Large packets must be fragmented. # You can specify fragmentation for each forwarding class. fragment-threshold 320; compression { rtp { port minimum 2000 maximum 64009; } } } unit 11 { encapsulation multilink-ppp; } fragment-threshold 160; [edit class-of-service] scheduler-maps { sched { # Scheduling parameters that apply to LSQ bundles on AS or Multiservices PICs. ... } fragmentation-maps { fragmap { forwarding-class { ef { no-fragmentation; } } } } interfaces { # Assign fragmentation and scheduling parameters to LSQ interfaces. lsq-1/3/0 { unit 0 { shaping-rate 512k; scheduler-map sched; fragmentation-map fragmap; } unit 1 { shaping-rate 128k; scheduler-map sched; fragmentation-map fragmap; } }
另见
变更历史表
是否支持某项功能取决于您使用的平台和版本。使用 功能浏览器 查看您使用的平台是否支持某项功能。