當開放最短路徑優先(OSPF)鏈路配置為需求電路時,OSPF Hello會被抑制,並且定期LSA刷新不會在鏈路上泛洪。這些資料包僅在首次交換時或在包含的資訊發生更改時啟動鏈路。這樣可以在網路拓撲穩定時關閉底層資料鏈路層。上下跳動的需求迴路表示需要調查的問題。本文檔演示了一些可能的原因並提供解決方案。
有關請求電路的更多資訊,請參閱OSPF請求電路功能。
本文件沒有特定需求。
本文件所述內容不限於特定軟體和硬體版本。
如需文件慣例的詳細資訊,請參閱思科技術提示慣例。
上面提到的問題,可通過以下網路圖和配置進行描述。
路由器1 | 路由器2 |
---|---|
interface BRI1/1 ip address 192.158.254.13 255.255.255.252 ip ospf demand-circuit router ospf 20 network 192.158.254.0 0.0.0.255 area 0 |
interface BRI1/0 ip address 192.158.254.14 255.255.255.252 router ospf 20 network 192.158.254.0 0.0.0.255 area 0 |
註:您只需要將需求電路配置在鏈路的一端。但是,如果在兩端配置此命令,則不會造成任何損害。
在上圖中,路由器1和2通過ISDN鏈路運行OSPF需求電路。路由器1和路由器2之間的鏈路不斷啟動,這破壞了OSPF需求電路的用途。show dialer命令的輸出顯示,鏈路是因為OSPF組播Hello資料包而啟動的。
Router1# show dialer BRI1/1:1 - dialer type = ISDN Idle timer (120 secs), Fast idle timer (20 secs) Wait for carrier (30 secs), Re-enable (2 secs) Dialer state is data link layer up Dial reason: ip (s=192.168.254.13, d=224.0.0.5)
出現該連結的原因有很多。下面我們探討幾個常見案例並提供解決方案。
每當OSPF網路拓撲發生變化時,必須通知OSPF路由器。在這種情況下,應啟動OSPF需求電路,以便鄰居可以交換新資訊。交換新資料庫後,鏈路可以再次關閉,鄰接關係仍處於FULL狀態。
要確定鏈路是否由於網路拓撲更改而啟用,請使用debug ip ospf monitor命令。它顯示哪個LSA正在更改,如下所示:
Router1# debug ip ospf monitor OSPF: Schedule SPF in area 0.0.0.0 Change in LS ID 192.168.246.41, LSA type R, OSPF: schedule SPF: spf_time 1620348064ms wait_interval 10s
上面的輸出顯示,路由器ID為192.168.246.41的路由器LSA發生更改,從而導致資料庫重新同步。如果網路穩定,則此偵錯輸出不會顯示任何內容。
為減少鏈路抖動對需求電路的影響,請將包含需求電路的區域配置為完全末節。如果這不可行,並且網路中存在持續的鏈路抖動,則需求電路可能不是您理想的選擇。
在鏈路上配置需求電路時,鏈路型別必須定義為點對點或點對多點。任何其他鏈路型別都可能導致鏈路不必要地啟動,因為如果網路型別不是點對點或點對多點,則不會抑制OSPF Hello。以下是說明路由器1和2上此問題的配置示例。
路由器1 | 路由器2 |
---|---|
interface BRI1/1 ip address 192.158.254.13 255.255.255.252 ip ospf network broadcast router ospf 20 network 192.158.254.0 0.0.0.255 area 0 |
interface BRI1/0 ip address 192.158.254.14 255.255.255.252 ip ospf network broadcast router ospf 20 network 192.158.254.0 0.0.0.255 area 0 |
網路型別定義為廣播時,OSPF Hello在每個Hello間隔啟動鏈路。show dialer輸出顯示上次啟動鏈路是因為OSPF Hello。
Router1# show dialer BRI1/1:1 - dialer type = ISDN Idle timer (120 secs), Fast idle timer (20 secs) Wait for carrier (30 secs), Re-enable (2 secs) Dialer state is data link layer up Dial reason: ip (s=192.168.254.13, d=224.0.0.5) Interface bound to profile Di1 Current call connected 00:00:08 Connected to 57654 (R2)
要解決此問題,請將網路型別更改為點對點或點對多點。此處我們刪除網路型別廣播,因此預設情況下將其配置為點對點。
路由器1 | 路由器2 |
---|---|
interface BRI1/1 ip address 192.158.254.13 255.255.255.252 router ospf 20 network 192.158.254.0 0.0.0.255 area 0 |
interface BRI1/0 ip address 192.158.254.14 255.255.255.252 router ospf 20 network 192.158.254.0 0.0.0.255 area 0 |
通過將網路型別更改為點對點或點對多點,鏈路上的OSPF Hello被抑制,並且需求電路鏈路停止抖動。
當OSPF域中的一台或多台路由器不瞭解需求電路時,會進行定期LSA刷新。要瞭解如何解決此問題,請參閱本文檔的何時通過OSPF需求電路傳送定期LSA刷新?部分。
讓我們考慮以下網路圖作為範例:
路由器1和路由器2之間的鏈路是131.108.1.0/24,路由器1和路由器2之間配置了請求電路。Router 1將路由資訊協定(RIP)路由重分發到OSPF。
路由器1 |
---|
router ospf 1 redistribute rip subnets network 131.108.1.0 0.0.0.255 area 1 ! router rip network 131.108.0.0 |
由於鏈路封裝型別是PPP,因此兩台路由器都會為鏈路的另一端安裝主機路由,如下所示。
Router1# show ip route 131.108.1.2 Routing entry for 131.108.1.2/32 Known via "connected", distance 0, metric 0 (connected, via interface) Routing Descriptor Blocks: * directly connected, via BRI1/1 Route metric is 0, traffic share count is 1
內部網關路由協定(IGRP)和RIP是有類路由協定,因此配置中的network語句用於有類網路131.108.0.0。因此,131.108.1.2/32的主機路由被視為由RIP產生,並作為外部路由重新分發到OSPF,如下所示。
Router1# show ip ospf database external 131.108.1.2 OSPF Router with ID (131.108.3.1) (Process ID 1) Type-5 AS External Link States LS age: 298 Options: (No TOS-capability, DC) LS Type: AS External Link Link State ID: 131.108.1.2 (External Network Number ) Advertising Router: 131.108.3.1 LS Seq Number: 80000001 Checksum: 0xDC2B Length: 36 Network Mask: /32 Metric Type: 2 (Larger than any link state path) TOS: 0 Metric: 20 Forward Address: 0.0.0.0 External Route Tag: 0
當鏈路斷開時,/32消失,OSPF將此理解為拓撲的變化。需求電路再次啟動該連結,以向其鄰居傳播/32掩碼的MAXAGE版本。當連結啟動時,/32掩碼將再次有效,因此LSA期限將重置。然後,在鏈路的dead計時器啟動後,鏈路將再次關閉。此過程會不斷重複,並且需求電路鏈路不斷抖動。解決此問題的方法有三種,如下所示。
在運行需求電路的BRI介面下,配置no peer neighbor-route。這將阻止安裝/32掩碼。您只能在Router 1上使用如下所示的組態,但為了保持一致,我們建議您在兩端配置此命令。
R1# configure terminal R1(config)# interface BRI1/1 R1(config-if)# no peer neighbor-route
從RIP重分發到OSPF時,請使用route-map命令和deny /32命令,這樣它就不會被注入到OSPF資料庫中。只有執行重分發的路由器需要此配置命令,在我們的示例中為Router 1。
首先必須建立一個訪問清單以匹配/32掩碼。然後,我們將此訪問清單應用到路由對映,並在應用redistribution命令時使用路由對映,如下所示。
R1# configure terminal R1(config)# access-list 1 deny host 131.108.1.2 R1(config)# access-list 1 permit any R1# configure terminal R1(config)# route-map rip-ospf R1(config-route-map)# match ip address 1 R1(config)# router ospf 1 R1(config-router)# redistribute rip subnets route-map rip-ospf
對RIP或OSPF域使用不同的主網。其思想是在需求電路鏈路上使用不同的主網,因此當鏈路在PPP封裝下啟動時,它會為鏈路的另一端安裝主機路由。如果主機路由與RIP中所使用的主機路由處於不同的主網中,則RIP並不擁有此安裝了PPP的主機路由,因為它沒有主網的network語句。以下網路圖顯示範例。
RIP域現在位於141.108.0.0網路之下,而OSPF域(和需求電路鏈路)位於131.108.0.0網路之下。
在非同步(非同步)介面上配置需求電路時,當第2層關閉時,實際物理介面將關閉。這將觸發OSPF資料庫發生更改,非同步介面將再次恢復以交換資料庫。第2層再次關閉,這將再次觸發資料庫中的更改,因此此過程不斷重複。
以下場景用於重現上述問題。
以上場景使用以下配置。
路由器1 | 路由器2 |
---|---|
interface Async 1 ip address 192.158.254.13 255.255.255.252 encapsulation ppp ip ospf demand-circuit dialer in-band async default routing async mode dedicated ppp authentication chap ppp chap hostname Router1 ppp chap password 7 13061E010803 ! router ospf 20 network 192.158.254.0 0.0.0.255 area 1 |
interface Async 1 ip address 192.158.254.14 255.255.255.252 encapsulation ppp ip ospf demand-circuit dialer in-band dialer map ip 192.158.254.13 broadcast 12345 dialer-group 2 async default routing async mode dedicated ppp authentication chap callin ! dialer-list 2 protocol ip permit ! router ospf 20 network 192.158.254.0 0.0.0.255 area 1 |
非同步介面上的OSPF預設網路型別為點對點,但需求電路仍會不斷開啟鏈路。
Rouer1# show ip ospf interface Async1 Async1 is up, line protocol is up (spoofing) Internet Address 192.158.254.13/32, Area 1 Process ID 1, Router ID 1.1.1.1, Network Type POINT_TO_POINT, Cost:869 Transmit Delay is 1 sec, State POINT_TO_POINT, Timer intervals configured, Hello 10, Dead 40, Wait 40, Retransmit 5 Hello due in 00:00:02 Index 1/2, flood queue length 0 Next 0x0(0)/0x0(0) Last flood scan length is 0, maximum is 1 Last flood scan time is 0 msec, maximum is 0 msec Neighbor Count is 0, Adjacent neighbor count is 0 Suppress hello for 0 neighbor(s)
要求電路不斷開啟連結的原因在於,當閒置逾時到期後第2層關閉時,整個介面就會關閉。但是在BRI或PRI的情況下,當其中一個通道關閉時,介面仍保持開啟狀態(處於欺騙模式)。要解決此問題,您必須配置撥號器介面,因為它從不關閉。撥號器介面會一直運作(處於欺騙模式)。
路由器1 | 路由器2 |
---|---|
interface Async 1 no ip address encapsulation ppp async default routing async mode dedicated dialer in-band dialer rotary-group 0 ! interface Dialer0 ip address 192.158.254.13 255.255.255.252 encapsulation ppp ip ospf demand-circuit ppp authentication chap ppp chap hostname Router1 ppp chap password 7 13061E010803 ! router ospf 20 network 192.158.254.0 0.0.0.255 area 0 |
interface Async 1 no ip address encapsulation ppp async default routing async mode dedicated dialer in-band dialer rotary-group 0 ! interface Dialer0 ip address 192.158.254.14 255.255.255.252 encapsulation ppp ip ospf demand-circuit dialer map ip 192.158.254.13 broadcast 12345 dialer-group 2 ppp authentication callin ! dialer-list 2 protocol ip permit ! router ospf 20 network 192.158.254.0 0.0.0.255 area 0 |
由於撥號器介面從不關閉,因此不會造成非同步介面關閉時產生的問題。
當存在多個WAN鏈路時,可使用多鏈路PPP功能進行負載均衡。在OSPF方面,需要記住的一個重要因素是多鏈路PPP的頻寬。當合併多條鏈路時,多鏈路介面的頻寬將發生變化。
以下場景用於重現上述問題。
以上場景使用以下配置。
路由器1 | 路由器2 |
---|---|
interface Multilink1 ip address 192.158.254.1 255.255.255.0 no cdp enable ppp multilink no ppp multilink fragmentation multilink-group 1 ! interface Serial0/1/0:0 no ip address ip route-cache distributed encapsulation ppp tx-queue-limit 26 no fair-queue ppp multilink multilink-group 1 ! interface Serial0/1/1:0 no ip address ip route-cache distributed encapsulation ppp tx-queue-limit 26 no fair-queue ppp multilink multilink-group 1 ! interface Serial0/1/2:0 no ip address ip route-cache distributed encapsulation ppp tx-queue-limit 26 no fair-queue ppp multilink multilink-group 1 ! router ospf 20 network 192.158.254.0 0.0.0.255 area 1 |
interface Multilink1 ip address 192.158.254.2 255.255.255.0 no cdp enable ppp multilink no ppp multilink fragmentation multilink-group 1 ! interface Serial0/1/0:0 no ip address ip route-cache distributed encapsulation ppp tx-queue-limit 26 no fair-queue ppp multilink multilink-group 1 ! interface Serial0/1/1:0 no ip address ip route-cache distributed encapsulation ppp tx-queue-limit 26 no fair-queue ppp multilink multilink-group 1 ! interface Serial0/1/2:0 no ip address ip route-cache distributed encapsulation ppp tx-queue-limit 26 no fair-queue ppp multilink multilink-group 1 ! router ospf 20 network 192.158.254.0 0.0.0.255 area 1 |
以下輸出顯示,多鏈路PPP中有三個串列介面捆綁在一起。
Router1# show ppp multilink Multilink1, bundle name is Router2 Bundle up for 00:05:35 Bundle is Distributed 0 lost fragments, 0 reordered, 0 unassigned 0 discarded, 0 lost received, 3/255 load 0x1226 received sequence, 0x1226 sent sequence Member links: 3 active, 0 inactive (max not set, min not set) Serial1/0/0:0, since 00:05:35, no frags rcvd Serial1/0/1:0, since 00:05:35, no frags rcvd Serial1/0/2:0, since 00:05:35, no frags rcvd
介面頻寬將表示鏈路的聚合頻寬,並且此頻寬將用於OSPF開銷計算。
Router1# show interface multilink 1 Multilink1 is up, line protocol is up Hardware is multilink group interface Internet address is 192.168.254.1/24 MTU 1500 bytes, BW 5952 Kbit, DLY 100000 usec, reliability 255/255, txload 3/255, rxload 3/255 Encapsulation PPP, loopback not set Keepalive set (10 sec) DTR is pulsed for 2 seconds on reset LCP Open, multilink Open Open: IPCP Last input 00:00:00, output never, output hang never Last clearing of "show interface" counters 00:06:39 Input queue: 1/75/0/0 (size/max/drops/flushes); Total output drops: 0 Queueing strategy: fifo Output queue :0/40 (size/max) 5 minute input rate 241000 bits/sec, 28 packets/sec 5 minute output rate 241000 bits/sec, 28 packets/sec 6525 packets input, 9810620 bytes, 0 no buffer Received 0 broadcasts, 0 runts, 0 giants, 0 throttles 0 input errors, 0 CRC, 0 frame, 0 overrun, 0 ignored, 0 abort 6526 packets output, 9796112 bytes, 0 underruns 0 output errors, 0 collisions, 0 interface resets 0 output buffer failures, 0 output buffers swapped out 0 carrier transitions
show ip ospf interface的輸出顯示當前OSPF開銷,即16。
Router1# show ip ospf interface multilink 1 Multilink1 is up, line protocol is up Internet Address 192.158.254.13/24, Area 1 Process ID 1, Router ID 1.1.1.1, Network Type POINT_TO_POINT, Cost:16 Transmit Delay is 1 sec, State POINT_TO_POINT, Timer intervals configured, Hello 10, Dead 40, Wait 40, Retransmit 5 Hello due in 00:00:02 Index 1/2, flood queue length 0 Next 0x0(0)/0x0(0) Last flood scan length is 0, maximum is 1 Last flood scan time is 0 msec, maximum is 0 msec Neighbor Count is 0, Adjacent neighbor count is 0 Suppress hello for 0 neighbor(s)
現在連結關閉,我們可以在日誌中看到這點:
Router1# show log | include down %LINK-3-UPDOWN: Interface Serial1/0/0:0, changed state to down %LINEPROTO-5-UPDOWN: Line protocol on Interface Serial1/0/0:0, changed state to down
如果我們再次檢查頻寬,它將不同於我們之前看到的頻寬。現在它顯示的是3968,套件組合只有兩個介面,而不是三個介面,因為一個介面已關閉。請注意,介面下方的狀態仍為up:
Router1# show ppp multilink Multilink1, bundle name is Router2 Bundle up for 00:05:35 Bundle is Distributed 0 lost fragments, 0 reordered, 0 unassigned 0 discarded, 0 lost received, 3/255 load 0x1226 received sequence, 0x1226 sent sequence Member links: 2 active, 1 inactive (max not set, min not set) Serial1/0/1:0, since 00:05:35, no frags rcvd Serial1/0/2:0, since 00:05:35, no frags rcvd Serial1/0/0:0 (inactive)
此外,PPP多鏈路仍在顯示,但由於一條鏈路斷開,OSPF開銷現在更改為25
Router1# show ip ospf interface multilink 1 Multilink1 is up, line protocol is up Internet Address 192.158.254.13/24, Area 1 Process ID 1, Router ID 1.1.1.1, Network Type POINT_TO_POINT, Cost:25 Transmit Delay is 1 sec, State POINT_TO_POINT, Timer intervals configured, Hello 10, Dead 40, Wait 40, Retransmit 5 Hello due in 00:00:02 Index 1/2, flood queue length 0 Next 0x0(0)/0x0(0) Last flood scan length is 0, maximum is 1 Last flood scan time is 0 msec, maximum is 0 msec Neighbor Count is 0, Adjacent neighbor count is 0 Suppress hello for 0 neighbor(s)
這將觸發SPF計算,並且OSPF將啟動需求電路。如果鏈路不斷擺動,我們可能會看到需求電路不斷擺動,因為每次鏈路增加或從多鏈路PPP捆綁中刪除鏈路時,開銷都會更改。
OSPF支援PPP多鏈路,但只要捆綁中的所有鏈路保持運行,需求電路就會保持穩定。一旦鏈路斷開,即使沒有關聯的IP地址,也會影響OSPF開銷計算,因此,OSPF將運行SPF來重新計算最佳路徑。要解決此問題,唯一的解決方法是使用以下命令手動配置OSPF開銷。
路由器1 | 路由器2 |
---|---|
interface Multilink1 ip address 192.158.254.1 255.255.255.0 no cdp enable ip ospf cost 10 ppp multilink no ppp multilink fragmentation multilink-group 1 ! router ospf 20 network 192.158.254.0 0.0.0.255 area 1 |
interface Multilink1 ip address 192.158.254.2 255.255.255.0 no cdp enable ip ospf cost 10 ppp multilink no ppp multilink fragmentation multilink-group 1 ! router ospf 20 network 192.158.254.0 0.0.0.255 area 1 |
此命令將確保每當多鏈路PPP捆綁包中新增或刪除一條鏈路時,OSPF開銷不會受到影響。這將穩定PPP多鏈路上的OSPF需求電路。
修訂 | 發佈日期 | 意見 |
---|---|---|
1.0 |
03-Oct-2001 |
初始版本 |