配置链路和多链路服务逻辑接口
多链路和链路服务逻辑接口配置概述
您可以在逻辑单元级别配置多链路和链路服务接口属性。多链路和链路服务逻辑接口属性的默认设置在"多链路和链路服务逻辑接口的默认设置" 中介绍。
有关逻辑单元属性或属性的常规 family inet
信息,请参阅 Junos OS 设备的网络接口库 。有关在层次结构级别配置的多链路和链路服务属性的信息,请参阅 在多链路或链路服务捆绑包中配置 family inet
链路。
在 LSQ 捆绑包中的 DS0、E1 或 T1 接口上,您可以配置语句,但如果 MLPPP 或 MLFR 捆绑包中包含接口,路由器将使用带宽 bandwidth
值。带宽根据接口的时隙、成帧和字节编码在内部计算。有关逻辑接口属性的信息,请参阅 Junos OS 设备的网络接口库。
多链路和链路服务逻辑接口的默认设置
表 1 列出了多链路和链路服务语句的默认设置,以及其他允许的值或值范围。
选项 |
默认值 |
可能的值 |
---|---|---|
DLCI |
没有 |
16 到 1022 |
丢弃超时时间 |
500 毫秒(对于捆绑包)大于或等于 T1 带宽值,1500 毫秒(其他捆绑包为 1500 毫秒)。 |
0 到 2000 毫秒 |
封装 |
对于多链路接口, |
|
分片阈值 |
0 字节 |
128 到 16,320 字节 ( N x64) |
交错分片 |
禁用 |
启用、禁用 |
最小链路 |
1 个链路 |
1 至 8 个链路 |
最大接收重构单位 (MRRU) |
1504 字节 |
1500 到 4500 字节 |
MLPPP 序列 ID 格式 |
24 位 |
12 位或 24 位 |
MLFR FRF.15 和 FRF.16 序列 ID 格式 |
12 位 |
12 位 |
请参阅 链路服务接口的 默认设置 ,了解仅适用于链路服务物理接口的语句。
另请参阅
为多链路和链路服务逻辑接口配置封装
多链路和链路服务接口支持以下逻辑接口封装类型:
MLPPP
端到端的多链路帧中继 (MLFR)
默认情况下,多链路接口上的逻辑接口封装类型为 MLPPP。链路服务接口上的默认逻辑接口封装类型为端到端 MLFR。有关封装的常规信息,请参阅 Junos OS设备的网络接口库。
您还可以在链路服务接口上配置物理接口封装。有关详细信息,请参阅 为链路服务物理接口配置封装。
要配置多链路或链路服务封装,请包含 encapsulation type
以下层级的 语句:
[edit interfaces interface-name unit logical-unit-number]
[edit logical-systems logical-system-name interfaces interface-name unit logical-unit-number]
您还必须使用相同封装类型配置 T1、E1 或 DS0 物理接口。
ACX 系列路由器不支持将 DS0 物理接口作为成员链路。
配置第一个 MLFR 封装单元或删除端口上最后一个 MLFR 封装单元时,会触发端口上的接口封装更改,这会使使用通用帧中继配置端口内的其他单元出现接口翻动。
另请参阅
在多链路和链路服务逻辑接口上配置丢弃超时时间
默认情况下,丢弃超时参数禁用。您可以配置丢弃超时值,在多链路或链路服务捆绑包中的单个链路丢弃一个或多个数据包时提供恢复机制。丢弃超时不是差分延迟容限设置,并且不会限制整体延迟。但是,您需要确保您设置的值大于链路上预计的差分延迟,以便正常抖动条件下的超时时间不会经过,但仅在存在实际数据包丢失时。只能为链路服务接口配置差分延迟容限。有关详细信息,请参阅 使用 MLFR FRF 在链路服务物理接口上配置差分延迟报警 。16。
要配置丢弃超时值,请包含 drop-timeout
语句:
drop-timeout milliseconds;
您可以在以下层级包含此语句:
[edit interfaces interface-name unit logical-unit-number]
[edit logical-systems logical-system-name interfaces interface-name unit logical-unit-number]
对于链路服务接口,您还可以在层级包含 语句,以在物理接口级别配置丢弃超时 drop-timeout
[edit interfaces ls-fpc/pic/port:channel mlfr-uni-nni-bundle-options]
值:
drop-timeout milliseconds;
默认情况下,对于大于或等于 T1 带宽值的捆绑包,丢弃计时器的值为 500 毫秒,其他束的值为 1500 毫秒。任何CLI配置的值将替代这些默认值。值的范围为 1 到 2000 毫秒。不建议使用小于 5 毫秒的值,配置的值 0 将恢复为 2000 毫秒的默认值。
对于多链路或链路服务接口,如果数据包或分片遇到错误情况,并发送到禁用捆绑包或链路,则不参与每束统计信息中丢弃的数据包和帧计数。该数据包计数在全局错误统计信息下,不会包含在全局输出字节和输出数据包计数中。只有当数据包在多链路接口内生成错误情况时,数据包才能在线路上或网络中其他位置遇到错误,此异常核算才发生。
如果使用 的值配置 语句,则 PIC 将禁用指定的 MLPPP 信息流类的任何 drop-timeout
0
重新组。数据包在转发时假定数据包按顺序到达,并且所有类的分片数据包转发均禁用。由于此设置而丢弃的分片将递增类级别的计数器。
或者,也可在 drop-timeout
层次结构级别 [edit class-of-service fragmentation-maps map-name forwarding-class class]
配置 语句。该行为以及默认值和范围值相同,但设置仅适用于指定的转发类。捆绑级别的配置替代服务等级级别的配置。
默认情况下,MLPPP 有效负载中内部 PPP 报头的压缩已启用。要禁用压缩,请包含 disable-mlppp-inner-ppp-pfc
层级 [edit interfaces interface-name unit logical-unit-number]
的 语句。例如:
interfaces lsq-1/2/0 { unit 0 { encapsulation multilink-ppp; disable-mlppp-inner-ppp-pfc; multilink-max-classes 4; family inet { address 10.50.1.2/30; } } }
有关配置CoS,请参阅 Junos OS设备的服务等级用户指南。您可通过发出 命令来查看配置的丢弃超时值以及内部 PPP 报头压缩 show interfaces interface-name extensive
的状态。
限制多链路和链路服务逻辑接口上的数据包有效负载大小
对于仅支持 MLPPP 封装的多链路和链路服务逻辑接口,您可以配置分片阈值,以限制通过多链路电路中各个链路传输的数据包有效负载的大小。软件将超过分片阈值的任何传入数据包分成适合电路大小的较小单元;它会将分片重组到另一端,但不影响输出流量流。阈值仅影响有效负载;它不会影响 MLPPP 标头。默认情况下,分片阈值参数将被禁用。
为确保正确均衡负载:
对于链路服务 MLFR(FRF.15 和 FRF.16)接口,配置中不包含
fragment-threshold
语句。对于 MLPPP 接口,配置中不要同时包含 语句
fragment-threshold
short-sequence
和 语句。对于 MLFR(FRF.15 和 FRF.16)和 MLPPP 接口,如果束中的 MTU 链路小于捆绑包 MTU 加上封装开销,将自动启用分片。对于 MLFR(FRF.15 和 FRF.16)接口以及启用短顺序的 MLPPP 接口,您应避免这种情况。
要配置分片阈值,请包含 fragment-threshold
以下语句:
fragment-threshold bytes;
您可以在以下层级包含此语句:
[edit interfaces interface-name unit logical-unit-number]
[edit logical-systems logical-system-name interfaces interface-name unit logical-unit-number]
对于链路服务接口,您还可以在物理接口级别配置分片阈值,方法为在 层级包含 fragment-threshold
[edit interfaces ls-fpc/pic/port:channel mlfr-uni-nni-bundle-options]
语句:
fragment-threshold bytes;
最大分片大小为 128 到 16,320 字节。该Junos OS会自动对超过此值的数据包有效负载进行细分。您设置的任何值都必须是 64 字节 ( N x64) 的倍数。默认值 0 会导致无分段。
另请参阅
配置多链路和链路服务逻辑接口上的最小活动链路数
ACX 系列路由器上仅支持 MLPPP。ACX 系列路由器不支持 MLFR。
您可以为要标记为 up 的多链路束设置必须上行的最小链路数。默认情况下,对于要标记为 up 的捆绑包,只需启动一个链路。当 PPP 链路控制协议 (LCP) 阶段过渡到开放状态时,成员链路被视为上行链路。
在 minimum-links
束的两端,该值应相同。
要设置最小数字,请包含 minimum-links
语句:
minimum-links number;
您可以在以下层级包含此语句:
[edit interfaces interface-name unit logical-unit-number]
[edit logical-systems logical-system-name interfaces interface-name unit logical-unit-number]
对于链路服务接口,您还可以在 层级包含 语句,以在物理接口级别配置 minimum-links
[edit interfaces ls-fpc/pic/port:channel mlfr-uni-nni-bundle-options]
最小链路数:
minimum-links number;
数字可以从 1 到 8。捆绑包中支持的最大链路数为 8。指定 8 时,束的所有配置链路都必须启动。
在多链路和链路服务逻辑接口上配置 MRRU
最大 接收重构单位 (MRRU)是多链路接口可处理的最大数据包大小。它类似于 最大传输单元 (MTU),但仅适用于多链路束。默认情况下,MRRU 设置为 1500 字节。如果对等设备允许,您可以配置不同的 MRRU 值。MRRU 考虑原始有效负载,例如第 3 层协议有效负载,但是不包含 2 字节 PPP 标头,或者当单个多链路数据包遍历捆绑包中的单独链路时应用的附加 MLPPP 或 MLFR 标头。
要配置不同的 MRRU 值,请包含 mrru
语句:
mrru bytes;
您可以在以下层级包含此语句:
[edit interfaces interface-name unit logical-unit-number]
[edit logical-systems logical-system-name interfaces interface-name unit logical-unit-number]
ACX 系列路由器不支持逻辑系统。
对于链路服务接口,您也可在物理接口级别将 语句包括在 层次结构级别中来 mrru bytes
配置不同的 MRRU。 [edit interfaces ls-fpc/pic/port:channel mlfr-uni-nni-bundle-options]
MRRU 大小的范围为 1500 到 4500 字节。
如果将束上的 MRRU 设置为大于其单个链路的MTU的值,则必须为该捆绑包启用分段阈值。将阈值设置为不大于捆绑包MTU中最小链路的阈值。
确定适用于MTU的数据包大小,方法为确保 MTU 大小不超过封装开销与MTU包中链路的 MTU 大小之和。
您可以在捆绑接口下为以下协议族配置单独 family mtu
值: 、 inet
和 inet6
iso
mpls
。如果未配置,则除使用值 1488 的配置外的所有配置均使用 mpls
默认值 1500。
ACX 系列路由器在 family inet6
MLPPP 接口上不支持。
有效的系列MTU与为 MLPPP 配置指定的MTU值不同,因为它由远程 MRRU 的约束向下调整。路由器不支持远程 MRRU M120。
在多链路和链路服务逻辑接口上配置序列标头格式
对于 MLPPP,默认情况下,序列标头格式设置为 24 位。您可以配置 12 位的替代值,但是对于大多数网络来说,24 位被视为更强大的值。
要配置不同的顺序标头值,请包含 short-sequence
语句:
short-sequence;
您可以在以下层级包含此语句:
[edit interfaces interface-name unit logical-unit-number]
[edit logical-systems logical-system-name interfaces interface-name unit logical-unit-number]
对于 MLFR FRF.15,默认情况下,序列标头格式设置为 24 位。这是唯一有效的选项。
ACX 系列路由器上仅支持 MLPPP。ACX 系列路由器不支持 MLFR。
在CoS接口上配置接口
对于链路服务 IQ ( ) 接口,Junos OS 服务等级 (CoS) 完全受支持,并且功能Junos OS路由设备服务等级用户 lsq-
指南 中介绍的功能。有关详细信息和详细的配置示例,请参阅 第 2 层服务包功能和接口。
在 SRX 系列设备上,接口是一个内部接口,不与物理 lsq-
接口相关联。有关 SRX 系列设备上链路服务的信息,请参阅 安全 Junos OS接口配置指南。
有关路由器CoS或路由器上的M Series功能和链路T Series的信息,请参阅以下章节:
CoS路由器上的链路服务M Series T Series配置
对于路由器和 M Series T Series 路由器上的链路服务 PIC 接口 ( ),队列 0 是您应配置为接收分段数据包的唯一 ls
队列。将所有其他队列配置为优先级较高的队列。
表 2 概括CoS服务 ( ) 接口上的队列 ls
工作状态。
支持的捆绑类型 |
队列 0 |
优先级较高的队列 |
---|---|---|
基于散列的负载平衡 |
不 |
是的 |
MLFR FRF.15 |
是的 |
不 |
MLFR FRF.16 |
是的 |
不 |
MLPPP |
是的 |
不 |
对于M Series路由器T Series路由器,CoS服务 ( ) 接口上的配置的工作方式 ls
如下:
在所有平台上,链路服务 PIC 当前最多支持四个队列:0、1、2 和 3。
队列 0 使用 MLFR FRF.15、MLFR FRF.16 或 MLPPP 捆绑数据包。
优先级较高的队列(1、2 和 3)使用基于散列的负载平衡捆绑数据包。散MPLS中包含 IP 和 MPLS标头信息。
使用队列 0 遍历链路服务接口的 MLPPP 数据包在成员链路上分片并分布。队列 0 数据包在利用率最低的链路上发送,与带宽成正比。队列 0 负载平衡器尝试保持所有组成链路上所有流量的均匀分布。在优先级较高的信息流很少(队列 1、2 和 3)的情况下,队列 0 流量的分布可能并不均匀。
对于 MLFR FRF.16 协议,只有队列 0 有效。如果将捆绑接口配置为使用队列 0 的 MLFR FRF.16,则必须确保分类器不会将任何流量发送到该接口上的队列 1、2 和 3。
要正确在 MLFR FRF.16 接口上承载高优先级信息流,您必须配置输出防火墙过滤器,强制 ls- / / 接口上的所有信息流排队
fpc
pic
port
channel
0。MLFR FRF.15 和 MLPPP 接口CoS信息流。MLFR FRF.16 标准不支持数据包交织,因此发往 FRF.16 PVC 接口的所有数据包都必须从同一个队列出口。
对于链路服务 PIC 的构成链路接口,您可以配置标准时间表图。
对于从构成链路收到的输入数据包和分片,可以使用常规输入防火墙过滤器和CoS服务接口上的标准分类器。
对于通过链路服务接口且发往内容链路接口的数据包,使用队列 0 的所有流量均分片。使用优先级较高的队列(1、2 和 3)的流量未分段。
对于 MLFR FRF.15 和 MLPPP,小于 128 字节的路由协议数据包将发送至队列 3;超过 128 字节的路由协议数据包将发送至队列 0 并相应地分片。对于 MLFR FRF.16,队列 0 用于所有数据包大小。
您必须为链路服务接口上的出口流量配置输出防火墙分类,而不是直接在成员链路接口上。
链路服务接口上不支持 ATM 反向多路复用 (IMA)。
示例:在CoS接口上配置接口
在CoS服务接口及其构成链路接口上配置接口。
此示例适用于路由器M Series T Series路由器。有关适用于 SRX 系列设备的示例,请参阅 Junos OS 接口配置指南。
与防火墙过滤器不匹配的数据包将发送至执行负载平衡的队列,方法为所有构成链路发送分片。
与防火墙过滤器匹配的数据包将发送至不支持数据包分片和重装的队列;而是将每个数据包流发送到不同的构成链路,以均衡负载。与防火墙过滤器匹配的每个数据包均会受 IP 源地址和 IP 目标地址上的散列影响,以确定每个数据包所属的数据包流。
配置 MLPPP 封装类型或多链路 FRF.15 帧中继端到端封装类型时,小于 128 字节的路由协议数据包将发送到结构链路接口上的网络控制队列。这样即使常规数据包使低速链路塞塞,路由协议也保持正常运行。
[edit interfaces] ls-7/0/0 { unit 0 { encapsulation multilink-ppp; interleave-fragments; family inet { filter { output lfi_ls_filter; } address 10.54.0.2/32 { destination 10.54.0.1; } } } } ge-7/2/0 { unit 0 { family inet { address 192.168.1.1/24; } } } ce1-7/3/6 { no-partition interface-type e1; } e1-7/3/6 { encapsulation ppp; unit 0 { family mlppp { bundle ls-7/0/0.0; } } } ce1-7/3/7 { no-partition interface-type e1; } e1-7/3/7 { encapsulation ppp; unit 0 { family mlppp { bundle ls-7/0/0.0; } } } [edit class-of-service] classifiers { dscp dscp_default { import default; } inet-precedence inet-precedence_default { import default; } } code-point-aliases { dscp { af11 001010; af12 001100; af13 001110; af21 010010; af22 010100; af23 010110; af31 011010; af32 011100; af33 011110; af41 100010; af42 100100; af43 100110; be 000000; cs1 001000; cs2 010000; cs3 011000; cs4 100000; cs5 101000; cs6 110000; cs7 111000; ef 101110; } inet-precedence { af11 001; af21 010; af31 011; af41 100; be 000; cs6 110; cs7 111; ef 101; nc1 110; nc2 111; } } forwarding-classes { queue 0 be; queue 1 ef; queue 2 af; queue 3 nc; } interfaces { ge-7/2/0 { scheduler-map sched-map; unit 0 { classifiers { dscp dscp_default; } } } e1-7/3/6 { scheduler-map sched-map; } e1-7/3/7 { scheduler-map sched-map; } ls-7/0/0 { scheduler-map sched-map; unit 0 { classifiers { inet-precedence inet-precedence_default; } } } } scheduler-maps { sched-map { 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 25; buffer-size percent 25; } be-scheduler { transmit-rate percent 25; buffer-size percent 25; } ef-scheduler { transmit-rate percent 25; buffer-size percent 25; } nc-scheduler { transmit-rate percent 25; buffer-size percent 25; } } [edit firewall] filter lfi_ls_filter { term term0 { from { destination-address { 192.168.1.3/32; } precedence 5; } then { count count-192-168-1-3; forwarding-class af; accept; } } term default { then { log; forwarding-class best effort; accept; } } }