IP : 开放最短路径优先 (OSPF)

OSPF 为什么不在 PRI、BRI 或者拨号程序接口形成邻接?

2015 年 8 月 28 日 - 机器翻译
其他版本: PDFpdf | 英语 (2015 年 4 月 22 日) | 反馈


目录


简介

当拨号接口配置作为点对点链路时,此技术说明解释与OSPF邻接的形成的一个问题。

先决条件

要求

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

使用的组件

本文档不限于特定的软件和硬件版本。

规则

有关文档规则的详细信息,请参阅 Cisco 技术提示规则

问题

主速率接口OSPF网络类型,基本速率接口(BRI),并且拨号接口点到点,因此它意味着接口不能形成与超过一个邻居的邻接。常见问题,当PRI、BRI或者拨号接口设法形成OSPF邻接时是邻居陷在Exstart/交换过程。请看以下示例。

/image/gif/paws/13691/20a.gif

使用show ip ospf neighbor命令,我们能看到邻居状态在“EXSTART”被滞留。

RTR-A# show ip ospf neighbor
Neighbor ID     Pri   State           Dead Time   Address         Interface
3.3.3.3           1   EXSTART/  -     00:00:37    3.3.3.3         Serial6/0:23
3.3.3.4           1   EXSTART/  -     00:00:39    3.3.3.4         Serial6/0:23

RTR-B# show ip ospf neighbor
Neighbor ID     Pri   State           Dead Time   Address         Interface
3.3.3.2           1   EXSTART/  -     00:00:36    3.3.3.2         BRI0

RTR-C# show ip ospf neighbor
Neighbor ID     Pri   State           Dead Time   Address         Interface
3.3.3.2           1   EXSTART/  -     00:00:35    3.3.3.2         BRI0

RTR-Bs配置显示网络类型点到点:

RTR-B# show ip ospf interface bri0 
     BRI0 is up, line protocol is up (spoofing) 
       Internet Address 3.3.3.3/24, Area 2 
       Process ID 1, Router ID 3.3.3.3, Network Type POINT_TO_POINT, Cost: 1562 
       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:06 
       Index 1/1, flood queue length 0 
       Next 0x0(0)/0x0(0) 
       Last flood scan length is 1, maximum is 1 
       Last flood scan time is 0 msec, maximum is 0 msec 
       Neighbor Count is 1, Adjacent neighbor count is 0 
       Suppress hello for 0 neighbor(s) 

使用debug ip ospf adj命令,我们能调试此情况。请查看被采取的若干输出示例:,当运行此on命令RTR-B在以上图时:

1: Send DBD to 3.3.3.2 on BRI0 seq 0xB41 opt 0x42 flag 0x7 len 32 
2: Rcv DBD from 3.3.3.2 on BRI0 seq 0x1D06 opt 0x42 flag 0x7 len 32 
   mtu 1500 state EXSTART 
3: First DBD and we are not SLAVE 
4: Rcv DBD from 3.3.3.2 on BRI0 seq 0xB41 opt 0x42 flag 0x2 len 92 mtu 
   1500 state EXSTART 
5: NBR Negotiation Done. We are the MASTER 
6: Send DBD to 3.3.3.2 on BRI0 seq 0xB42 opt 0x42 flag 0x3 len 92 
7: Database request to 3.3.3.2 
8: sent LS REQ packet to 3.3.3.2, length 12 
9: Rcv DBD from 3.3.3.2 on BRI0 seq 0x250 opt 0x42 flag 0x7 len 32 
   mtu 1500 state EXCHANGE 
10: EXCHANGE - inconsistent in MASTER/SLAVE 
11: Bad seq received from 3.3.3.2 on BRI0 
12: Send DBD to 3.3.3.2 on BRI0 seq 0x2441 opt 0x42 flag 0x7 len 32 
13: Rcv DBD from 3.3.3.2 on BRI0 seq 0x152C opt 0x42 flag 0x2 len 92 
    mtu 1500 state EXSTART 
14: Unrecognized dbd for EXSTART 
15: Rcv DBD from 3.3.3.2 on BRI0 seq 0xB42 opt 0x42 flag 0x0 len 32 
    mtu 1500 state EXSTART 
16: Unrecognized dbd for EXSTART 

线路1 - 3 :RTR-B发送第一DBD对3.3.3.2 (RTR-A)与顺序0xB41并且接收从3.3.3.2的第一DBD (RTR-A)与seq- 0x1D06。邻接协商仍然不完成。

线路4 - 6 :RTR-B收到从(RTR-A)表明的3.3.3.2的一回复RTR-A已接收Rtr-B的第一DBD。因为RTR-B有更高的路由器ID, RTR-A选择自己从属。在接收从RTR-A的确认以后, RTR-B自称重要并且发送与数据的第一DBD在它。注释序号,是0xB42。因为RTR-B是主控,只有能增加序号。

线路7 :RTR-B请求从RTR-A的数据,因为RTR-A指示它有发送更多的数据(对0x2的标志设置在从RTR-A接收的最后DBD)。

线路8 :RTR-B发送链路状态请求数据包对3.3.3.2 (RTR-A)。这是OSPF数据包类型3。此数据包通常发送对邻接IP地址。在这种情况下,邻接IP地址是其路由器ID。

线路9 - 11 :RTR-B收到从从的一回复(RTR-A)用一个完全不同的序号和0x7标志,是init标志。此DBD供另一个路由器使用(很可能RTR-C),但是RTR-B不正确地接收它。RTR-B宣称有差异,因为0x7标志含义从更改其状态通过设置MS (主从的)在邻接交换期间,位掌握。RTR-B,因为有故障,也抱怨序号。从应该总是跟随主设备的序号。

线路12 :RTR-B通过发送第一DBD重初始化邻接对3.3.3.2重选主控和从。

线路13 - 14 :RTR-B接收从3.3.3.2的一DBD (RTR-A),表明它是从,无需认可Rtr-B的序号。RTR-B宣称它不认可此DBD,因为主控和从属协商不完成。此DBD信息包供另一个路由器使用。

线路15 :RTR-B收到从3.3.3.2的一回复(RTR-A)旧有DBD的,但是太晚,因为RTR-B已经重初始化邻接进程。

线路16 :RTR-B不能认可此DBD,因为是为“旧有”邻接, RTR-B已经切断了。

此进程不断地将重复操作。

解决方案

根据RFC 2328的,leavingcisco.com 接口达到双向状态以后,第8.1部分, OSPF发送点对点的网络类型的一个组播信息包。因为RTR-A尝试形成与RTR-B的邻接和RTR-C, RTR-B收到为RTR-C含义的DBD信息包和RTR-C收到为RTR-B含义的DBD信息包。

要解决此问题,请更改在所有路由器的网络类型对点对多点。这更改OSPF行为在双向状态以后发送单播信息包。现在RTR-B收到为本身注定的仅数据包和RTR-C收到为本身注定的数据包。更改网络类型这样保证OSPF路由器将形成在PRI、BRI或者拨号接口的邻接。

要更改网络类型,请输入以下配置命令,结束每条线路通过按回车。我们将更改RTR-B为例。

RTR-B# configure terminal 
RTR-B(config)# int bri 0 
RTR-B(config-if)# ip ospf network point-to-multipoint 
RTR-B(config-if)# end 

现在,如果我们查看显示为RTR-B发出命令,我们能验证网络类型点对多点,并且状态全双工。

RTR-B# show ip ospf interface bri0 
BRI0 is up, line protocol is up (spoofing) 
  Internet Address 3.3.3.3/24, Area 2 
  Process ID 1, Router ID 3.3.3.3, Network Type POINT_TO_MULTIPOINT, Cost: 1562 
  Transmit Delay is 1 sec, State POINT_TO_MULTIPOINT, 
  Timer intervals configured, Hello 30, Dead 120, Wait 120, Retransmit 5 
    Hello due in 00:00:16 
  Index 1/1, flood queue length 0 
  Next 0x0(0)/0x0(0) 
  Last flood scan length is 1, maximum is 1 
  Last flood scan time is 0 msec, maximum is 0 msec 
  Neighbor Count is 1, Adjacent neighbor count is 1 
    Adjacent with neighbor 172.16.141.10 
  Suppress hello for 0 neighbor(s) 
  
RTR-B# show ip ospf neighbor
Neighbor ID     Pri   State           Dead Time   Address         Interface
172.16.141.10     1   FULL/  -        00:01:36    3.3.3.2         BRI0 

相关的思科支持社区讨论

思科支持社区是您提问、解答问题、分享建议以及与工作伙伴协作的论坛。


相关信息


Document ID: 13691