目录

简介

先决条件

要求

使用的组件

思科IOS本地路由

手动配置的主机路由

思科IOS-XR本地路由

多拓扑路由

结论

简介

本文档介绍Cisco IOS®和Cisco IOS-XR在IPv6和IPv4的路由表中安装“本地”主机路由的情况。IPv6本地路由始终存在。IPv4本地路由添加了多拓扑路由(MTR)功能。

先决条件

要求

本文档没有任何特定的要求。

使用的组件

本文档中的信息基于Cisco IOS版本15.0(1)S和Cisco IOS-XR版本4.3.1。

本文档中的信息都是基于特定实验室环境中的设备编写的。本文档中使用的所有设备最初均采用原始（默认）配置。如果您使用的是真实网络，请确保您已经了解所有命令的潜在影响。

思科IOS本地路由

本地路由在show ip route命令的输出中标有“L”。

以下是一个具有一个IPv4和一个IPv6地址的接口：

interface Ethernet0/0

ip address 10.1.1.1 255.255.255.252

ipv6 address 2001:DB8::1/64

IPv4的IP地址为10.1.1.1/30,IPv6的IP地址为2001:db8::1/64。主机路由也不是。IPv4的主机路由的掩码为/32，而IPv6的主机路由的掩码为/128。

对于每个IPv4和IPv6地址，Cisco IOS会在各自的路由表中安装主机路由。

R1#show ip route

Codes: L - local, C - connected, S - static, R - RIP,

M - mobile, B - BGP

D - EIGRP, EX - EIGRP external, O - OSPF,

IA - OSPF inter area

N1 - OSPF NSSA external type 1, N2 - OSPF NSSA

external type 2

E1 - OSPF external type 1, E2 - OSPF external type 2

i - IS-IS, su - IS-IS summary, L1 - IS-IS level-1,

L2 - IS-IS level-2

ia - IS-IS inter area, * - candidate default, U -

per-user static route

o - ODR, P - periodic downloaded static route, H - NHRP

+ - replicated route, % - next hop override

Gateway of last resort is not set

C        10.1.1.0/30 is directly connected, Ethernet0/0

L        10.1.1.1/32 is directly connected, Ethernet0/0

在上一个路由表中，10.1.1.1/32是本地主机路由。

R1#show ipv6 route

IPv6 Routing Table - default - 3 entries

Codes: C - Connected, L - Local, S - Static, U - Per-user Static route

B - BGP, R - RIP, I1 - ISIS L1, I2 - ISIS L2

IA - ISIS interarea, IS - ISIS summary, D - EIGRP, EX - EIGRP external

ND - Neighbor Discovery

O - OSPF Intra, OI - OSPF Inter, OE1 - OSPF ext 1, OE2 - OSPF ext 2

ON1 - OSPF NSSA ext 1, ON2 - OSPF NSSA ext 2

C   2001:DB8::/64 [0/0]

via Ethernet0/0, directly connected

L   2001:DB8::1/128 [0/0]

via Ethernet0/0, receive

L   FF00::/8 [0/0]

via Null0, receive

在上一个路由表中，2001:db8::1/128是本地主机路由。FF00::/8路由也是本地路由，但组播路由需要此路由，因此本文档不涉及此路由。

注意：本地路由的管理距离为0。这与连接的路由的管理距离相同。但是，当您在任何路由进程下配置重分发的connected时，已连接的路由会重分发，但本地路由不会重分发。此行为允许网络不需要大量主机路由，因为接口的网络使用其适当掩码进行通告。只有拥有IP地址的路由器才需要这些主机路由，才能处理发往该IP地址的数据包。

在Cisco IOS中，您还可以使用show ipv6 route local命令来仅显示本地IPv6路由。

以下是Cisco IOS的示例：

R1#show ipv6 route local

IPv6 Routing Table - default - 3 entries

Codes: C - Connected, L - Local, S - Static, U - Per-user Static route

B - BGP, HA - Home Agent, MR - Mobile Router, R - RIP

I1 - ISIS L1, I2 - ISIS L2, IA - ISIS interarea, IS - ISIS summary

D - EIGRP, EX - EIGRP external, NM - NEMO, ND - Neighbor Discovery

L   2001:DB8::1/128 [0/0]

via Ethernet0/0, receive

L   FF00::/8 [0/0]

via Null0, receive

以下是一些思科快速转发(CEF)条目：

R1#show ip cef 10.1.1.1/32

10.1.1.1/32

receive for Ethernet0/0

R1#show ipv6 cef 2001:db8::1/128

2001:DB8::1/128

receive for Ethernet0/0

由于本地主机路由在路由表中，因此这些本地主机路由也存在于CEF表中。由于这些IP地址是在此路由器上配置的（它们是本地的），因此这些CEF条目是接收条目。因此，当路由器看到目的IP地址与这些CEF条目匹配的数据包时，会传送数据包，以便由路由器自己处理。

手动配置的主机路由

如果IPv4地址在路由器接口上配置了掩码/32（环回接口的典型掩码），则主机路由仅在连接时显示在路由表中（它具有C标志）。

R1#show ip route | include 10.100.1.1

C        10.100.1.1/32 is directly connected, Loopback0

R1#show ip route 10.100.1.1

Routing entry for 10.100.1.1/32

Known via "connected", distance 0, metric 0 (connected, via interface)

Routing Descriptor Blocks:

* directly connected, via Loopback0

Route metric is 0, traffic share count is 1

如果IPv6地址在路由器接口上配置了掩码/128（环回接口的典型掩码），则主机路由将显示L和C标志。

R1#show ipv6 route

IPv6 Routing Table - default - 4 entries

Codes: C - Connected, L - Local, S - Static, U - Per-user Static route

B - BGP, HA - Home Agent, MR - Mobile Router, R - RIP

I1 - ISIS L1, I2 - ISIS L2, IA - ISIS interarea, IS - ISIS summary

D - EIGRP, EX - EIGRP external, NM - NEMO, ND - Neighbor Discovery

LC  2001:DB8:1111::1/128 [0/0]

via Loopback0, receive

当在路由协议下配置redistribute connected时，会重分发这些路由。

思科IOS-XR本地路由

在Cisco IOS-XR中，使用show route local或show route ipv6 local命令来查看本地主机路由。

如果IPv4地址在路由器接口上配置了掩码/32，或IPv6地址配置了掩码/128，则主机路由会显示L标志。它们通过本地获知，但安装为连接路由。因此，当在路由协议下配置重分布连接时，这些路由将被重分布。

示例如下：

RP/0/RP0/CPU0:router#show route 10.10.10.1/32

Routing entry for 10.10.10.1/32

Known via "local", distance 0, metric 0 (connected)

Installed Jul 10 10:50:30.265 for 00:20:07

Routing Descriptor Blocks

directly connected, via Loopback0

Route metric is 0

No advertising protos.

RP/0/RP0/CPU0:router#show route ipv6 2001:db8:2222::1/128

Routing entry for 2001:db8:2222::1/128

Known via "local", distance 0, metric 0 (connected)

Installed Jul 10 10:53:05.745 for 00:16:51

Routing Descriptor Blocks

directly connected, via Loopback0

Route metric is 0

No advertising protos.

结果是，如果路由器只搜索路由表中的相应条目，则始终可以为已配置的IP地址安装CEF条目。这还可以防止从另一路由器获取掩码比所连接条目长的路由的错误配置，从而导致发往本地IP地址的流量被误定向到远程路由器。

多拓扑路由

MTR功能需要本地条目。在MTR中，一个接口/IP地址可以属于多个拓扑。如果MTR中的一个接口上未启用一个拓扑，则该拓扑中不存在该连接的路由。但是，发往该IP地址的数据包仍必须由拥有该IP地址的路由器处理，即使该接口上未启用该拓扑。这就是为什么本地主机路由存在于所有拓扑中的原因，即使拓扑已禁用。

在本示例中，接口Ethernet 0/0上启用了拓扑红色，但未启用拓扑蓝色。

global-address-family ipv4

topology blue

!

topology red

!

interface Ethernet0/0

ip address 10.1.1.1 255.255.255.252

ipv6 address 2001:DB8::1/64

!

topology ipv4 unicast red

!

R1#show ip route topology red

Routing Table: red

C        10.1.1.0/30 is directly connected, Ethernet0/0

L        10.1.1.1/32 is directly connected, Ethernet0/0

R1#show ip route topology blue

Routing Table: blue

L        10.1.1.1 is directly connected, Ethernet0/0

拓扑红色的路由表中有连接的/30路由和本地/32路由。Ethernet0/0上未启用拓扑蓝色。虽然拓扑蓝色的路由表中没有连接的/30路由，但它有本地/32路由。

结论

在IPv4和IPv6路由表中列出本地主机路由，对于路由器接口的IP地址，这是正常的。其目的是创建相应的CEF条目作为接收条目，以便路由器自身可以处理发往此IP地址的数据包。这些路由不能重分发到任何路由协议中。