目錄

簡介

必要條件

需求

採用元件

Cisco IOS本地路由

手動配置的主機路由

Cisco IOS-XR本地路由

多拓撲路由

結論

簡介

本文檔介紹以下情況：Cisco IOS®和Cisco IOS-XR在IPv6和IPv4的路由表中安裝「本地」主機路由。IPv6本地路由始終存在。IPv4本地路由是在引入多拓撲路由(MTR)功能後新增的。

必要條件

需求

本文件沒有特定需求。

採用元件

本檔案中的資訊是根據Cisco IOS版本15.0(1)S和Cisco IOS-XR版本4.3.1。

本文中的資訊是根據特定實驗室環境內的裝置所建立。文中使用到的所有裝置皆從已清除（預設）的組態來啟動。如果您的網路正在作用，請確保您已瞭解任何指令可能造成的影響。

Cisco 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

分配給Ethernet0/0的IP地址是10.1.1.1/30（對於IPv4）和2001:db8::1/64（對於IPv6）。主機路由都不是。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。這與連線的路由的管理距離相同。但是，當您在任何路由進程下配置redistributed 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時，會重新分發這些路由。

Cisco IOS-XR本地路由

在Cisco IOS-XR中，使用show route local或show route ipv6 local命令來檢視本地主機路由。

如果路由器介面上配置的IPv4地址掩碼為/32,或IPv6地址配置的掩碼為/128，則主機路由會顯示L標誌。它們通過本地路由獲知，但作為連線的路由安裝。因此，在路由協定下配置redistribute connected時，這些路由會進行重分發。

以下是範例：

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上啟用了Topology Red，但未啟用Topology Blue。

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

拓撲紅色的路由表包含connected /30 route和local /32 route。Ethernet0/0上未啟用拓撲藍。雖然拓撲藍的路由表沒有連線的/30路由，但是它有本地/32路由。

結論

在IPv4和IPv6路由表中列出路由器介面IP地址的本地主機路由是正常的。其目的是建立作為接收條目的相應CEF條目，以便路由器本身可以處理髮往此IP地址的資料包。這些路由不能重分發到任何路由協定中。