协议家族和接口地址属性
本节讨论如何配置协议家族和接口地址属性。
配置协议家族
协议家族是接口配置中的一组逻辑属性。协议家族包括构成协议套件的所有协议。要在特定套件中使用协议,必须将整个协议家族配置为某个接口的逻辑属性。
协议系列包括以下通用协议套件:
-
Inet — 支持 IP 协议流量,包括 OSPF、BGP 和互联网控制消息协议 (ICMP)。
-
Inet6 — 支持 IPv6 协议流量,包括适用于 IPv6 (RIPng)、IS-IS 和 BGP 的 RIP。
-
ISO — 支持 IS-IS 流量。
-
MPLS — 支持 MPLS。
要为逻辑接口配置协议家族,请包括语句 family
,指定所选系列。
配置协议家族时,在层次结构下 [edit interfaces interface-name unit logical-unit-number family family]
完成以下任务。
-
配置 MTU。
-
配置单元和系列,以便接口仅传输和接收组播流量。
-
禁用路由器发送重定向消息。
-
为接口分配地址。
分配接口地址
在配置协议家族时指定地址,即可为接口分配地址。 inet
对于或 inet6
系列,配置接口 IP 地址。对于该 iso
系列,为环路接口配置一个或多个地址。 ccc
对于 、 ethernet-switching
、 tcc
、 mpls
、 tnp
、 和 vpls
系列,您永远不会配置地址。
要为接口分配地址,请执行以下步骤:
配置默认、主要地址和首选地址和接口
以下部分介绍如何配置默认、主地址和首选地址和接口。
默认、主要地址和首选地址和接口
路由器有一个默认地址和一个主接口;接口有主要地址和首选地址。
路由器 的默认地址 用作未编号接口上的源地址。路由协议进程尝试选择默认地址作为路由器 ID,供协议使用,包括 OSPF 和内部 BGP (IBGP)。
路由器 的主接口 是当未指定接口名称且目标地址未暗示特定传出接口时,数据包会传出。
默认情况下,接口 的主地址 用作本地来源并发送出接口的广播和组播数据包的本地地址。接口 的首选地址 是默认本地地址,用于本地路由器将数据包源到子网上的目标。
您可以使用配置语句将接口的 IP 显式标记为主要 IP 和首选 IP。如果仅为某个接口分配了一个 IP,则默认情况下该地址将被视为主要地址和首选地址。分配多个 IP 地址(其中没有一个地址被显式配置为主地址)时,数字上最低的 IP 地址用作该接口上的主地址。
路由器的默认地址按以下顺序选择:
-
环路接口
lo0
上未127.0.0.1
使用的主地址。 -
使用主接口上的主地址。
-
当存在多个具有“主要”地址和“首选”地址的接口时,将选择具有最低接口索引的接口,并使用主地址。如果接口的 IP 地址均未用
primary
语句显式标记,则该接口上数字上最低的地址将用作系统默认地址。 -
可以选择具有 IP 地址的任何剩余接口。这包括路由器的管理或内部接口。因此,建议分配环路地址,或显式配置主接口,以控制默认地址选择。
配置路由器的主接口
路由器 的主接口 具有以下特征:
-
键入 ping 255.255.255.255.255 等命令(即不包含接口名称(没有接口
type-0/0/0.0
限定符)且目标地址不暗示任何特定传出接口的命令时,数据包会退出。 -
这是在路由器本地运行的组播应用程序(如会话通知协议 (SAP))默认加入组的接口。
-
如果环路接口 lo0 上没有配置非 127 地址,则为源出未编号接口的数据包派生默认本地地址的接口。
默认情况下,具有最低索引地址的组播接口被选为主接口。
要将其他接口配置为主接口,请添加以下 primary
语句:
primary
您可以在以下层级包含此语句:
[edit interfaces interface-name unit logical-unit-number family family]
配置接口的主地址
接口上的 主地址 是默认情况下用作本地地址的广播和组播数据包的本地地址,这些数据包来自本地并发送出接口。例如,命令发送 ping interface et-0/0/0.0 255.255.255.255
的数据包中的本地地址就是接口 et-0/0/0.0
上的主地址。当环路接口上配置了多个非 127 地址时,主地址标志也可用于选择用于发送未编号接口的数据包的本地地址 lo0
。默认情况下,接口上的主地址被选为接口上配置的数字最低本地地址。
要设置不同的主地址,请添加 primary
以下语句:
primary
您可以在以下层级包含此语句:
[edit interfaces interface-name unit logical-unit-number family family address address]
配置接口的首选地址
接口上的首选地址是默认本地地址,用于将本地路由器源到子网上目标的数据包。默认情况下,选择数字最低的本地地址。例如,如果地址 172.16.1.1/12
、 172.16.1.2/12
和172.16.1.3/12
配置在同一ping 172.16.1.5
接口上,则当您发出命令时,子网上的首选地址(默认情况下172.16.1.1
)将用作本地地址。
要为子网设置不同的首选地址,请添加语句 preferred
:
preferred
您可以在以下层级包含此语句:
[edit interfaces interface-name unit logical-unit-number family family address address]
相同 IPv4 地址的接口的操作行为
您可以在多个物理接口上配置相同的 IP 版本 4 (IPv4) 地址。将同一 IPv4 地址分配给多个物理接口时,这些接口的操作行为会有所不同,具体取决于它们是否是(隐式)点对点的。
如果您在同一路由实例中的多个接口上配置相同的 IP 地址,则操作系统会随机对其中一个接口应用配置。其他接口将保留没有 IP 地址。
以下示例显示了将同一 IPv4 地址分配给隐式和显式点对点接口的示例配置。这些示例还显示与 show interfaces terse
隐式和显式点对点接口对应的命令输出,以显示其操作状态。
-
在两个非 P2P 接口上配置相同的 IPv4 地址:
[edit interfaces] user@host# show et-0/1/0 { unit 0 { family inet { address 203.0.113.1/24; } } }
et-3/0/1 { unit 0 { family inet { address 203.0.113.1/24; } } }
以下示例输出(适用于之前的配置)显示,仅
et-0/1/0.0
分配了相同的 IPv4 地址203.0.113.1/24
,其link
状态为up
,而et-3/0/1.0
未分配 IPv4 地址,尽管其link
状态已启动,这意味着,只有当它获得除203.0.113.1/24
其他唯一 IPv4 地址时,它才会正常运行。show interfaces terse
user@host> show interfaces terse et* Interface Admin Link Proto Local Remote et-0/1/0 up up et-0/1/0.0 up up inet 203.0.113.1/24 multiservice et-0/1/1 up down et-3/0/0 up down et-3/0/1 up up et-3/0/1.0 up up inet multiservice
-
在(隐式)P2P 接口上配置相同的 IPv4 地址:
[edit] user@host# show et-0/0/0 { unit 0 { family inet { address 203.0.113.1/24; } } } et-0/0/3 { unit 0 { family inet { address 203.0.113.1/24; } } }
以下示例输出(适用于上述配置)显示,两者均
et-0/0/0.0
et-0/0/3.0
分配了相同的 IPv4 地址203.0.113.1/24
,并且其link
状态已关闭。接口关闭是由于链路问题,而不是因为将相同的 IPv4 地址分配给了两个接口。预计在任何给定时间(在 Junos OS 演化版设备范围以外的冗余方案之后)启动的接口不会超过一个,因为两个启动都可能会造成不利影响。show interfaces terse
user@host> show interfaces terse et* Interface Admin Link Proto Local Remote et-0/0/0 up up et-0/0/0.0 up down inet 203.0.113.1/24 et-0/0/1 up up et-0/0/2 up down et-0/0/3 up up et-0/0/3.0 up down inet 203.0.113.1/24 et-1/1/0 up down et-1/1/1 up down et-1/1/2 up up et-1/1/3 up up et-2/0/0 up up et-2/0/1 up up et-2/0/2 up up et-2/0/3 up down
-
在非 P2P 接口的多个实例中配置相同的 IPv4 地址:
[edit interfaces] user@host# show et-0/0/1 { vlan-tagging; unit 0 { vlan-id 1; family inet { address 10.1.1.1/24; } } unit 1{ vlan-id 2; family inet { address 10.1.1.1/24; } } }
在非 P2P 接口上,您不能在不同接口的不同单元上配置相同的本地地址。如果这样做,将引发提交错误,配置将失败。
-
在同一 P2P 接口的多个实例中配置相同的 IPv4 地址:
[edit interfaces] user@host# show et-0/0/10 { unit 0 { tunnel { source 10.1.1.1; destination 10.1.1.2; } family inet { mtu 1500; address 10.2.2.2/24; } } unit 1{ family inet { address 10.2.2.2/24; } } }
以下示例输出(适用于上述配置)显示,当您尝试为不同接口的多个实例配置同一 IPv4 地址时,在 P2P 接口上只会成功配置一个接口。
show interfaces terse
user@host> show interfaces terse | match 10.2.2.2 Interface Admin Link Proto Local Remote et-0/0/10.0 up up inet 10.2.2.2/24
配置未编号的接口:概述
未编号接口概述
需要保留 IP 地址时,可以配置未编号的接口。通过设置不编号的接口,可以在接口上进行 IP 处理,而无需为接口分配显式 IP 地址。对于不主要关注保留地址的 IP 版本 6 (IPv6),您可以将未编号的接口配置为在多个接口之间共享同一子网。
IPv6 未编号的接口仅在以太网接口上受支持。用于配置未编号接口的语句取决于您配置的接口类型:点到点接口或以太网接口:
- 配置未编号的点对点接口
- 配置未编号的以太网或多路复用接口
- 将辅助地址配置为未编号的以太网或多路复用接口的首选源地址
- 未编号以太网接口配置的限制
- 示例:显示未编号的以太网接口配置
- 示例:显示未编号的以太网接口配置的首选源地址
- 示例:将未编号以太网接口的配置显示为静态路由的下一跃点
配置未编号的点对点接口
要配置未编号的点对点接口:
-
配置无编号接口时,必须确保在路由器的接口上配置了源地址。此地址为默认地址。为此,我们建议将地址分配给环路接口 (
lo0
),如 环回接口配置中所述。在接口上
lo0
配置可路由地址时,该地址始终为默认地址。这是理想的选择,因为环路接口独立于任何物理接口,因此始终可访问。
配置未编号的以太网或多路复用接口
要配置未编号的以太网或多路分离 (demux) 接口:
-
该
unnumbered-address
语句当前仅支持为 IP 版本 4 (IPv4) 地址系列配置未编号多路复用接口。您可以为 IPv4 和 IPv6 地址族配置未编号的以太网接口。 -
您配置为对另一个接口分配的 IP 地址进行 borrows 无编号,因此称为 borrower interface。借用 IP 地址的接口称为 donor interface。在语句中
unnumbered-address
,interface-name
指定捐赠方接口。对于未编号的以太网接口,捐赠者接口可以是具有逻辑单元号和配置的 IP 地址且本身不是未编号的接口的以太网或环路接口。对于未编号的 IP 多路分离接口,捐赠方接口可以是具有逻辑单元号和配置的 IP 地址的以太网或环路接口,本身不是未编号的接口。此外,对于以太网或多路分离,捐赠方接口和借方接口必须是同一路由实例和相同逻辑系统的成员。 -
配置未编号的以太网或多路复用接口时,捐赠方接口的 IP 地址将成为未编号接口生成的数据包中的源地址。
-
您可以配置指向未编号以太网或多路复用接口的主机路由。
将辅助地址配置为未编号的以太网或多路复用接口的首选源地址
将具有多个辅助 IP 地址的环路接口配置为未编号以太网或多路分离 (demux) 接口的供方接口时,您可以选择将环路接口的任何一个辅助地址指定为未编号的以太网或多路分离接口的首选源地址。此功能允许您在网络中的某些未编号的以太网或多路复用接口上使用除主 IP 地址以外的 IP 地址。
要将环路捐赠方接口上的辅助地址配置为未编号的以太网或多路分用接口的首选源地址:
在未编号的以太网或多路分用接口上配置首选源地址时,需要考虑以下事项:
该
unnumbered-address
语句当前仅支持用于多路复用接口的 IP 版本 4 (IPv4) 地址系列以及以太网接口的 IPv4 和 IP 版本 6 (IPv6) 地址族的首选源地址配置。如果未指定首选源地址,路由器将使用捐赠方接口的默认主 IP 地址。
当捐赠方环路接口上的地址用作未编号的以太网或多路分用接口的首选源地址时,您不能删除该地址。
未编号以太网接口配置的限制
配置未编号的以太网接口时,以下要求和限制适用:
该
unnumbered-address
语句当前支持配置 IP 版本 4 (IPv4) 和 IP 版本 6 (IPv6) 地址族的未编号以太网接口。您只能将 IP 地址分配给尚未配置为无编号接口的以太网接口。
您必须在捐赠方接口上为未编号的以太网接口配置一个或多个 IP 地址。
您无法将未编号以太网接口的捐赠者接口配置为未编号。
-
未编号的以太网接口不支持以下
address
语句选项的配置:arp
、 、broadcast
primary
、preferred
、 或vrrp-group
。 只能在直接面对主机且没有下游 PIM 邻接方且未编号的以太网接口上运行互联网组管理协议 (IGMP) 和物理接口模块 (PIM)。您无法在作为 PIM 拓扑中上游接口的未编号以太网接口上运行 IGMP 或 PIM。
您可以通过配置为点对点 (P2P) 连接的未编号以太网接口运行 OSPF。但是,您不能在未配置为 P2P 的未编号以太网接口上运行 OSPF 或 IS-IS。
对于使用内部网关协议 (IGP) 的链路状态分配,请确保在捐赠方接口上为未编号的接口配置启用 OSPF,以便可访问捐赠方 IP 地址来建立 OSPF 会话。
如果您在同一路由实例中的多个接口上配置同一地址,则操作系统只会使用第一个配置。在这种情况下,剩余地址配置将被忽略,可以离开没有地址的接口。未分配地址的接口不能用作未编号以太网接口的供体接口。
例如,在以下配置中,将忽略接口 et-0/0/1.0 的地址配置:
interfaces { et-0/0/0 { unit 0 { family inet { address 192.168.1.1/24; } } } et-0/0/1 { unit 0 { family inet { address 192.168.1.1/24; } } }
示例:显示未编号的以太网接口配置
目的
要显示层次结构级别上 [edit interfaces interface-name unit logical-unit-number]
配置的未编号接口:
-
未编号的接口 — et-1/0/0
-
捐赠者接口 — et-0/0/0
-
捐赠者接口地址 —4.4.4.1/24
未编号的接口从捐赠者接口“借用”一个 IP 地址。
行动
-
在
show
[edit]
层次结构级别运行命令。interfaces { et-0/0/0 { unit 0 { family inet { address 4.4.4.1/24; } } } et-1/0/0 { unit 0 { family inet { unnumbered-address et-0/0/0.0; } } } }
示例:显示未编号的以太网接口配置的首选源地址
目的
要显示层级未编号接口 [edit interfaces interface-name unit logical-unit-number family inet]
的首选源地址配置:
-
未编号接口 — et-4/0/0
捐赠者接口 —lo0
捐赠者接口主地址 — 2.2.2.1/32
捐赠者接口辅助地址 — 3.3.3.1/32
行动
-
在
show
[edit]
层次结构级别运行命令。interfaces { lo0 { unit 0 { family inet { address 2.2.2.1/32; address 3.3.3.1/32; } } } } interfaces { et-4/0/0 { unit 0 { family inet { unnumbered-address lo0.0 preferred-source-address 3.3.3.1; } } } }
意义
环路接口 lo0
是未编号的以太网接口“借用”IP 地址的供体接口 et-4/0/0
。
此示例显示了环路接口的辅助地址之一 3.3.3.1,作为未编号的以太网接口的首选源地址。
示例:将未编号以太网接口的配置显示为静态路由的下一跃点
目的
要显示配置为层级静态路由 [edit interfaces interface-name unit logical-unit-number family inet]
的下一跃点的未编号接口:
-
未编号接口 — et-0/0/0
捐赠者接口 —lo0
捐赠者接口主地址 — 5.5.5.1/32
捐赠者接口辅助地址 — 6.6.6.1/32
静态路由 — 7.7.7.1/32
行动
-
在
show
[edit]
层次结构级别运行命令。interfaces { et-0/0/0 { unit 0 { family inet { unnumbered-address lo0.0; } } } } lo0 { unit 0 { family inet { address 5.5.5.1/32; address 6.6.6.1/32; } } }
-
以下配置使内核能够安装静态路由,以地址 7.7.7.1/32,并通过未编号的接口 et-0/0/0.0 进行下一跃点。
static { route 7.7.7.1/32 { qualified-next-hop et-0/0/0.0; } }
意义
在此示例中, et-0/0/0
是未编号的接口。环路接口 lo0
是“借用”IP 地址的供体接口 et-0/0/0
。此示例还将静态路由 7.7.7.1/32
配置为通过未编号的接口 et-0/0/0.0
包含下一跃点。
协议 MTU
概述
默认协议 MTU 取决于设备和接口类型。初始配置接口时,将自动计算协议 MTU。如果随后更改介质 MTU,现有地址族上的协议 MTU 会自动更改。
如果减小介质 MTU 大小,但接口上已配置了一个或多个地址族并处于活动状态,则还必须减小协议 MTU 大小。如果增大协议 MTU 的大小,则必须确保介质 MTU 大小等于或大于协议 MTU 和封装开销的总和。
如果未配置 MPLS MTU, Junos OS Evolved 将从物理接口 MTU 派生 MPLS MTU。从此值中,软件将减去可能在数据包转发引擎中推送的最大标签数量特定于封装的开销和空间。该软件提供三个标签,每个四个字节,总共 12 个字节。
换言之,用于确定 MPLS MTU 的公式如下所示:
MPLS MTU = physical interface MTU – encapsulation overhead – 12
您可以在所有隧道接口上配置协议 MTU。
配置协议 MTU
更改介质 MTU 或协议 MTU 将导致删除并再次添加接口。这会导致链路翻动。
要配置协议 MTU:
禁用删除地址和控制字节
对于某些接口,默认情况下,在数据包封装到隧道中之前,地址和控制字节将被移除。
但是,您可以禁用地址和控制字节的移除。
要禁用地址和控制字节的移除,请包括以下 keep-address-and-control
语句:
keep-address-and-control;
您可以在以下层级包含此语句:
[edit interfaces interface-name unit logical-unit-number family ccc]
另请参阅
禁用在接口上传输重定向消息
默认情况下,接口会发送协议重定向消息。要禁用在接口上发送这些消息,请包括以下 no-redirects
语句:
no-redirects
您可以在以下层级包含此语句:
[edit interfaces interface-name unit logical-unit-number family family]
要禁用对整个路由器或交换机发送协议重定向消息,请在 no-redirects
层次结构级别包含语句 [edit system]
。
将过滤器应用于接口
在防火墙过滤器中定义接口组
应用防火墙过滤器时,可将接口定义为 接口组的一部分。该接口上收到的数据包被标记为该组的一部分。然后,您可以使用 match 语句匹配这些数据包 interface-group
,如 路由策略、防火墙过滤器和流量监管器用户指南中所述。
要将接口定义为接口组的一部分,请包括以下 group
语句:
group filter-group-number;
您可以在以下层级包含此语句:
[edit interfaces interface-name unit logical-unit-number family family filter]
数字 0 不是有效的接口组编号。
输出接口上基于过滤器的转发
如果要根据数据包标头中的模式将端口镜像的数据包分发到多个监控或收集接口,那么在端口镜像出口接口上配置基于过滤器的转发 (FBF) 过滤器会很有帮助。
将 FBF 过滤器安装为输出过滤器时,转发到过滤器的数据包已至少经历了一次路由查找。在出口接口上由 FBF 过滤器对数据包进行分类后,它将重定向到另一个路由表,以便进行其他路由查找。为避免数据包转发引擎内部出现数据包环路,后一个路由表中的路由查找(由 FBF 路由实例指定)的下一跃点必须与已应用于数据包的表中指定的任何下一跃点不同。
如果为 FBF 配置了输入接口,则会对那些标题为不同路由实例的数据包禁用源查找,因为并未设置路由表来处理源查找。
将过滤器应用于接口
要对接口应用防火墙过滤器,请包括以下 filter
语句:
filter
{
group filter-group-number;
input filter-name;
input-list [ filter-names ];
output filter-name;
output-list [ filter-names ];
}
要应用单个过滤器,请添加以下 input
语句:
filter
{
input filter-name;
}
要应用过滤器列表以评估接口上接收的数据包,请添加语句 input-list
。
filter
{
input-list [ filter-names ];
}
一个输入列表中最多可包含 16 个过滤器名称。
要应用过滤器列表以评估接口上传输的数据包,请添加语句 output-list
。
filter
{
output-list [ filter-names ];
}
使用 input-list
语句或 output-list
语句应用过滤器时,将创建新的过滤器,名称为 <interface-name>.<unit-direction>。此过滤器完全特定于接口。
您可以在以下层次结构级别包括这些语句:
[edit interfaces interface-name unit logical-unit-number family family]
在语句中 family
,协议家族可以是 ccc
、 inet
、 inet6
、 mpls
或 vpls
。
在语句中 group
,指定要与过滤器关联的接口组编号。
在语句中 input
,列出接口上收到数据包时要评估的一个防火墙过滤器的名称。
在语句中 input-list
,列出接口上接收数据包时要评估的过滤器名称。最多可包含 16 个过滤器名称。
在语句中 output
,列出当数据包在接口上传输时要评估的防火墙过滤器的名称。
由于产品限制,PTX10003 路由器不支持在输出接口上应用的 MPLS 系列防火墙过滤器。
在语句中 output-list
,列出在接口上传输数据包时要评估的过滤器名称。最多可包含 16 个过滤器名称。
如果将过滤器应用于接口 lo0
,它将应用于路由引擎接收或传输的数据包。
有关防火墙过滤器的更多信息,请参阅 路由策略、防火墙过滤器和流量监管器用户指南。有关 MPLS 过滤器的更多信息,请参阅 MPLS 应用程序用户指南。
示例:VPLS 流量的输入过滤器
[edit interfaces] et-2/2/3 { vlan-tagging; encapsulation vlan-vpls; unit 601 { encapsulation vlan-vpls; vlan-id 601; family vpls { filter { input filter1; # Works for multicast destination MAC address output filter1; # Does not work for multicast destination MAC address } } } } [edit firewall] family vpls { filter filter1 { term 1 { from { destination-mac-address { 01:00:0c:cc:cc:cd/48; } } then { discard; } } term 2 { then { accept; } } } }
示例:输出接口上的基于过滤器的转发
以下示例说明了输出接口上基于过滤器的转发的配置。在此示例中,数据包流遵循以下路径:
-
数据包分别到达具有源地址和目标地址
10.50.200.1
的10.50.100.1
接口et-1/2/0.0
。 -
路由表中
inet.0
的路由查找指向出口接口et-0/0/3.0
。 -
在安装时
et-0/0/3.0
安装的输出过滤器会将数据包重定向到路由表fbf.inet.0
。 -
数据包与表中的
fbf.inet.0
条目10.50.100.0/25
匹配,数据包最终从接口et-2/0/0.0
离开路由器。[edit interfaces] et-0/0/3 { unit 0 { family inet { filter { output fbf; } address 10.50.10.2/25; } } } et-1/2/0 { unit 0 { family inet { address 10.50.50.2/25; } } } et-2/0/0 { unit 0 { family inet { address 10.50.20.2/25; } } } [edit firewall] filter fbf { term 0 { from { source-address { 10.50.200.0/25; } } then routing-instance fbf; } term d { then count d; } } [edit routing-instances] fbf { instance-type forwarding; routing-options { static { route 10.50.100.0/25 next-hop et-2/0/0.0; } } } [edit routing-options] interface-routes { rib-group inet fbf-group; } static { route 10.50.100.0/25 next-hop 10.50.10.1; } rib-groups { fbf-group { import-rib [inet.0 fbf.inet.0]; } }
启用源类和目标类使用
源类和目标类使用概述
对于携带 IP 版本 4 (IPv4)、IP 版本 6 (IPv6)、MPLS 或对等方 AS 计费流量的接口,您可以根据通过网络传输的流量的入口点和出口点维护数据包计数。入口点和出口点由分组为不相交集的源和目标前缀标识,这些前缀被定义为 源类 和 目标类。您可以基于各种参数来定义类,例如路由邻接方、自治系统和路由过滤器。
通过对 IP 源地址执行查找,源类使用 (SCU) 计费对发送给客户的数据包进行计数。借助 SCU,可以跟踪来自提供商核心上特定前缀且发往客户边缘特定前缀的流量。您必须在入站和出站物理接口上启用 SCU 计费,并且数据包源的路由必须位于转发表。
SCU 和目标类使用 (DCU) 核算均无法与直接连接的接口路由配合使用。由于软件架构限制,源类使用不计算来自转发表中具有直接路由的源的数据包。
目标类使用 (DCU) 通过执行 IP 目标地址查找来对来自客户的数据包进行计数。DCU 可以跟踪来自客户边缘且发往提供商核心路由器上特定前缀的流量。
建议先停止某个接口上的网络流量,然后再修改该接口的 DCU 或 SCU 配置。在不停止流量的情况下修改 DCU 或 SCU 配置可能会损坏 DCU 或 SCU 统计信息。修改配置后重新启动流量之前,请输入 clear interfaces statistics
命令。
图 1 展示了 ISP 网络。在此拓扑中,您可以使用 DCU 对客户发送到特定前缀的数据包进行计数。例如,您可以有三个计数器,每个客户一个,用于对发往前缀210.210/16
和220.220/16
的数据包进行计数。
您可以使用 SCU 对提供商从特定前缀发送的数据包进行计数。例如,您可以对从前缀 210.210/16
发送的数据包以及 215.215/16
在特定输出接口上传输的数据包进行计数。
您可以配置多达 126 个源类和 126 个目标类。对于启用目标类使用和源类使用的每个接口,操作系统会为每个相应的类维护一个接口特定的计数器,最高可达到 126 类的限制。
对于通过隧道退出路由器的传输数据包,在您配置为隧道流量输出接口的接口上不支持转发路径功能,如 RPF、转发表过滤、源类使用和目标类使用。对于防火墙过滤,您必须允许输出隧道数据包通过防火墙过滤器应用于接口上的输入流量(该接口是下一跃点接口朝隧道目标发送)。
启用输出服务时执行 DCU 计费,在以下配置中会产生不一致的行为:
-
SCU 输入和 DCU 均在数据包输入接口上配置。
-
在数据包输出接口上配置 SCU 输出。
-
输出接口上启用了接口服务。
对于具有与路由器中配置的 SCU 和 DCU 类别匹配的源和目标前缀的传入数据包,SCU 和 DCU 计数器都将递增。此行为无害,无负面行为。但是,它与非服务数据包不一致,因为只有 SCU 计数会递增(因为在这种情况下,SCU 类 ID 将覆盖 DCU 类 ID)。
要对接口启用数据包计数,请包括以下 accounting
语句:
accounting {
destination-class-usage;
source-class-usage
{
direction;
}
}
direction
可以是以下其中一种:
-
input
- 至少配置一个预期的入口点。 -
output
- 至少配置一个预期的出口点。 -
input output
- 在单个接口上,至少配置一个预期的入口点和一个预期出口点。
您可以在以下层次结构级别包括这些语句:
[edit interfaces interface-name unit logical-unit-number family (inet | inet6 | mpls)]
要使 SCU 正常工作,必须至少配置一个输入接口和至少一个输出接口。
在接口上启用计费后,操作系统会为该接口维护数据包计数器,同时为 inet
inet6
、 和mpls
协议族提供单独的计数器。然后,您必须在策略操作语句中配置源类和目标类属性,这些属性必须包含在转发表导出策略中。
配置策略操作语句时,只能为每个匹配路由配置一个源类。换句话说,不能将多个源类应用于同一路由。
您可以为使用 vrf-table-label
语句配置的第 3 层 VPN 配置 SCU 计费。在 source-class-usage
层次结构级别包括语句 [edit routing-instances routing-instance-name vrf-table-label]
。 source-class-usage
此层级的语句仅对虚拟路由和转发 (VRF) 实例类型受支持。
当在 VRF 中配置语句时 vrf-table-label
,无法在动态创建的标签交换接口 (LSI) 上启用 DCU 计数器。
启用源类和目标类使用
必须先在一个接口上配置 DCU 和 SCU 输出,然后才能启用源类使用 (SCU) 和目标类使用 (DCU):
[edit] interfaces { et-6/1/0 { unit 0 { family inet { accounting { destination-class-usage; source-class-usage { output; } } } } } }
要启用源类和目标类使用:
了解目标广播
目标广播是指使用源自不同子网的第 3 层广播 IP 数据包对目标子网进行泛洪的过程。定向广播的意图是用 LAN 接口上的广播数据包在目标子网中泛洪,而不广播到整个网络。目标广播在路由器或交换机的出口接口上配置了各种选项,而 IP 数据包仅在 LAN(出口)接口上广播。目标广播可帮助您在 LAN 接口上实施远程管理任务,如备份和 LAN 唤醒 (WOL),并支持虚拟路由和转发 (VRF) 实例。
源自子网的常规第 3 层广播 IP 数据包在同一子网内广播。当这些 IP 数据包到达不同的子网时,它们将被转发到路由引擎(转发至其他应用程序)。因此,无法通过另一个子网对特定子网执行备份等远程管理任务。作为应对方案,您可以启用定向广播,以转发源自不同子网的广播数据包。
第 3 层广播 IP 数据包有一个目标 IP 地址,该地址是目标子网的有效广播地址。这些 IP 数据包会以与单播 IP 数据包相同的方式遍历网络,直至到达目标子网,如下所示:
- 在目标子网中,如果接收路由器在出口接口上启用了定向广播,则 IP 数据包将被转发至出口接口和路由引擎,或仅转发到出口接口。
- 然后,IP 数据包被转换为广播 IP 数据包,广播 IP 数据包仅通过 LAN 接口泛洪目标子网,目标子网上的所有主机都会接收 IP 数据包。数据包被丢弃如果不存在 LAN 接口
- 序列的最后一步取决于目标广播:
- 如果在接收路由器上未启用目标广播,则 IP 数据包将被视为常规第 3 层广播 IP 数据包,并转发至路由引擎。
- 如果在没有任何选项的情况下启用了目标广播,则 IP 数据包将被转发到路由引擎。
您可以将目标广播配置为仅将 IP 数据包转发至出口接口。当路由器被泛洪处理数据包时,或者同时对出口接口和路由引擎,这非常有用。
在路由引擎环路接口 (lo0) 上配置的任何 防火墙过滤器 都不能应用于由于定向广播而转发到路由引擎的 IP 数据包。这是因为广播数据包转发为泛洪下一跃点流量,而不是作为本地下一跃点流量,并且您只能将防火墙过滤器应用于定向至路由引擎的本地下一跃点路由。
配置目标广播
以下部分介绍如何在出口接口及其选项上配置定向广播:
配置目标广播及其选项
您可以在具有不同选项的出口接口上配置目标广播。
以下任一配置均可接受:
-
您可以允许在出口接口上转发发往第 3 层广播地址的 IP 数据包,并将 IP 数据包的副本发送到路由引擎。
-
您只能在出口接口上转发 IP 数据包。
请注意,仅当出口接口为 LAN 接口时,才会广播数据包。
要配置目标广播及其选项:
显示目标广播配置选项
以下示例主题显示有针对性的广播配置选项:
示例:将 IP 数据包转发到出口接口上和路由引擎
目的
当在出口接口上配置目标广播时,显示配置,以转发出口接口上的 IP 数据包,并将 IP 数据包的副本发送到路由引擎。
行动
要显示配置,请 show
从 [edit interfaces interface-name unit interface-unit-number family inet]
接口名称为 et-2/0/0、单元值设置为 0 且协议家族设置为 inet 的位置运行命令。
[edit interfaces interface-name unit interface-unit-number family inet] user@host#show targeted-broadcast { forward-and-send-to-re; }
示例:仅出口接口上的转发 IP 数据包
目的
当在出口接口上配置目标广播以仅转发出口接口上的 IP 数据包时,显示配置。
行动
要显示配置,请 show
从 [edit interfaces interface-name unit interface-unit-number family inet]
接口名称为 et-2/0/0、单元值设置为 0 且协议家族设置为 inet 的位置运行命令。
[edit interfaces interface-name unit interface-unit-number family inet] user@host#show targeted-broadcast { forward-only; }