1、OSPF的原理与配置方法,目 录,链路状态协议的特点 单域OSPF的工作过程 单域OSPF的基本配置 OSPF验证的配置方法 OSPF配置的核查与排错,链路状态协议的特点,链路状态协议的工作过程,1 泛洪(Flooding)链路状态信息,2 构建拓扑库,3 执行SPF算法,4 构建SPF树,5 计算路由表,链路状态协议的特点,收敛迅速: 一旦发生变化受影响的源端立即发送更新信息 强有力的防止环路措施: 路由器了解整体的拓扑信息 链路状态数据包是有序且带确认机制的 SPF算法保证无环路 链路状态协议支持 VLSM和CIDR 对路由器的资源(CPU和内存)要求较高 需要对网络进行严格的规划和(层次
2、化)设计 初始化过程中会产生过量的泛洪信息,单域OSPF的工作过程,OSPF术语,Interfaces,Link: 对应路由器的接口 Link state: 描述路由器的接口与它邻居工作状态的信息:接口的IP地址和掩码,接口连接的网络类型链路的度量(cost),OSPF属于链路状态路由协议,全部链路状态信息组成一个链路状态库(LSDB)。,Interfaces,构建邻居关系有严格的规则 !,OSPF术语,Interfaces,Cost = 10,Cost = 6,Cost = 48,Cisco OSPF Cost 的计算方法 : 108/接口带宽(bps) 路由的度量值是路由器的某个接口到目的
3、网络之间所有出方向接口Cost之和。,E1 (2.048-Mbps 串行链接) = 48 Ethernet = 10 16-Mbps Token Ring = 6 Fast Ethernet = 1 问题:Gigabit Ethernet及更高速率 = 1,OSPF术语,Autonomous System (自治系统),Interfaces,Area 1,Area 0,Cost = 10,Cost = 6,Cost = 48,OSPF术语,Routing Table Lists Best Routes,Topology Database Lists All Routes,Neighborshi
4、p Table Lists Neighbors,Cost = 10,Cost = 6,Interfaces,Area 1,Area 0,Cost = 48,Autonomous System(自治系统),OSPF术语,OSPF 数据包类型,Hello 数据包,数据报头,Hello 数据包,Hello,afadjfjorqpoeru 39547439070713,Router ID Hello/dead intervals Neighbors Area-ID Router priority DR IP address BDR IP address Authentication password
5、Stub area flag,*,*,*,标记*的内容在邻居之间必须一致,建立邻居关系,*,Router ID 在OSPF网络中标识路由器 OSPF中选择router-id的规则:Highest loopback address Highest active IP address Loopback接口永远不会被动关闭。,Router ID,Hello/Dead 间隔,路由器在每个启用OSPF的接口上发送 Hello包: 在多路访问和点到点链路上缺省Hello间隔为10秒 在NBMA网络中缺省Hello间隔为30秒 OSPF的Hello包的目的地址通常为组播地址224.0.0.5 Cisco路由
6、器上缺省的Dead间隔为Hello间隔的4倍。 注意: 相邻的路由器的Hello和Dead 间隔必须一致才能建立邻居关系,否则Hello包被丢弃。,Hello,afadjfjorqpoeru 39547439070713,Router ID Hello/dead intervals Neighbors Area-ID Router priority DR IP address BDR IP address Authentication password Stub area flag,*,*,*,*,建立邻居关系,标记*的内容在邻居之间必须一致,Hello,afadjfjorqpoeru 395
7、47439070713,相邻两个接口IP地址在同一子网 Hello/dead间隔相同 Area-ID相同 如果配置验证要求口令和验证类型相同,建立邻居关系的必要条件,OSPF的工作过程,172.16.5.1/24 E0,172.16.5.2/24 E1,A,B,Down State,Down State OSPF已启动并且发送了Hello包,但没有收到对端的Hello包。,172.16.5.1/24 E0,172.16.5.2/24 E1,Router B Neighbors List 172.16.5.1/24, int E1,I am router ID 172.16.5.1 and I
8、see no one.,Down State,Init State,A,B,OSPF的Hello数据包的目的地址通常为 224.0.0.5 ,其中包含Router ID信息 Init State 收到了Hello包,但其中不包含该路由器的Router ID,OSPF的工作过程,172.16.5.1/24 E0,I am router ID 172.16.5.2, and I see 172.16.5.1.,172.16.5.2/24 E1,Router B Neighbors List 172.16.5.1/24, int E1,I am router ID 172.16.5.1 and I
9、see no one.,Down State,Init State,A,B,OSPF的工作过程,172.16.5.1/24 E0,I am router ID 172.16.5.2, and I see 172.16.5.1.,Router A Neighbors List 172.16.5.2/24, int E0,172.16.5.2/24 E1,Router B Neighbors List 172.16.5.1/24, int E1,I am router ID 172.16.5.1 and I see no one.,Down State,Init State,Two-Way Sta
10、te,A,B,Two-way State 收到Hello包,而且包含该路由器的Router ID 。,OSPF的工作过程,OSPF的工作过程,OSPF的工作过程,OSPF的工作过程,拓扑库的内容一致,OSPF 拓扑 (网络类型),Point-to-Point,NBMA,Broadcast Multiaccess,X.25 Frame Relay,广播型多路访问网,DR,BDR,达到Two-Way状态后选举DR(Designated Router)和BDR (Backup Designated Router)代表某个广播域 每个路由器与DR和BDR的拓扑库保持一致 (Full State),Fu
11、ll State :所有路由器应保持一致的拓扑库信息,注意:每个子网一对DR/BDR 。,P=1,P=0,P=1,选举DR和BDR,P=3,P=2,DR,BDR,接口优先级最高的路由器被选为DR ,若优先级相同Router ID最大的当选。可以在接口上设置优先级,缺省为1 ,设置范围是0至255 ,0表示不能被选为DR或BDR 。 向DR/BDR发送的OSPF数据包的目的地址为224.0.0.6 DR向其它路由器发送的OSPF数据包的目的地址为224.0.0.5,DRother,DRother,DRother,一旦DR选举完毕,一台拥有更高优先级的路由器加入后不会成为新的DR 。 如果DR失败
12、,BDR会成为新的DR并选举新的BDR 。,P=1,P=0,P=1,P=3,P=2,DR,BDR,Hello,DRother,DRother,DRother,新加入的路由器对DR/BDR选举的影响,P=1,P=0,P=1,DR的工作过程(每个子网一个DR/BDR),P=3,P=2,DR,BDR,P=2,P=1,DR,BDR,x,LSU - 224.0.0.6 LSU - 224.0.0.5,P=1,DRother,DRother,DRother,P=1,Point-to-Point 链接,通常是采用PPP或HDLC封装的串行接口或帧中继/ATM中的点到点子接口不需要选举DR/BDROSPF自动
13、探测这种接口类型OSPF数据包在这种网络类型中使用目的IP地址224.0.0.5,在NBMA拓扑中选举DR/BDR,OSPF将NBMA看做广播型媒介。 在全网状拓扑中要选举DR/BDR ,但NBMA网络并不总是全网状的。 是否选举DR/BDR取决于NBMA的拓扑,例如设置了点到点子接口的帧中继网络不选举DR/BDR 。,X.25 Frame Relay,计算路由表,Topology TableNet Cost Out Interface 10.2.2.0 7 To0 10.3.3.0 17 To0 10.3.3.0 20 E0,Cost=10,Cost=6,Cost=1,A,B,C,这是去往1
14、0.3.3.0/24子网的最优路由。,10.1.1.0/24,10.2.2.0/24,10.3.3.0/24,10.4.4.0/24,Cost=10,E0,To0,单域OSPF的基本配置,单域OSPF的基本配置命令,Process-id 是本地有效的,不需要与其它路由器上OSPF的进程号相同。,配置路由器的Router ID H3Crouter-id router-id 启动OSPF协议 H3C ospf process-id 配置OSPF区域 H3C-ospf-1area area-id 在指定网段使能ospf H3C-ospf-1-area-0.0.0.0 network ip-addre
15、ss wildcard-mask,OSPF 配置实例,路由器A: Interface Ethernet0/0ip address 1.1.1.1 255.255.255.0 Interface Serial0/0ip address 2.2.2.1 255.255.255.0 Ospf 1area 0.0.0.0network 2.2.2.0 0.0.0.255area 0.0.0.1network 1.1.1.0 0.0.0.255,路由器B: Interface Ethernet0/0ip address 3.3.3.1 255.255.255.0 Interface Serial0/0i
16、p address 2.2.2.2 255.255.255.0 Ospf 1area 0.0.0.0network 2.2.2.0 0.0.0.255area 0.0.0.2network 3.3.3.0 0.0.0.255,配置环回地址,h3cinterface loopback 0 H3C-loopback0ip address 172.16.17.5 255.255.255.255,如果配置新的环回接口地址时,OSPF进程已经启动,则该环回接口地址不参与Router ID 的选举,除非重新启动路由器或关掉 OSPF进程后重启。,router-id ip-address,后面可跟任意的32
17、比特IP地址(点分十进制形式)。 如果执行该命令时,OSPF进程已经启动,需要重新启动路由器或执行下列命令后新的Router ID才生效:,OSPF router-id 命令,H3C,H3Cospf 1 H3Crouter-id 172.16.1.1H3Creset ospf 1 process,reset ospf process-id process,H3C,配置OSPF 接口的路由器优先级,接口的DR 优先级决定了该接口在选举DR/BDR 时所具有的资格,优先级的设置范围是0至255,数值越大,优先级越高。 设置为0意味着该接口所在的子网中此路由器不能被选为DR或BDR。缺省的接口优先级
18、是 1, 设备不支持在Null 接口、Loopback 接口上配置DR 优先级。,system-view H3Cinterface interface-type interface-number H3C-Ethernet1/0ospf dr-priority priority,设置OSPF的计时器,H3C-Ethernet1/0ospf timer hello seconds H3C-Ethernet1/0 ospf timer dead seconds如果网络中有多个厂商的设备,可能需要调整这些间隔值。 缺省情况下:在多路访问和点到点链路上缺省Hello间隔为10秒, Dead间隔40秒在N
19、BMA网络中缺省Hello间隔为30秒,Dead间隔120秒。 注意:修改Hello间隔时,Dead间隔会自动调整为Hello间隔的4倍。,禁止接口发送OSPF 报文,缺省情况下,允许接口发送OSPF 报文。 禁止接口发送OSPF 报文后,它将成为被动接口(Passive interface),不再发送Hello 报文。 如果要使OSPF 路由信息不被某一网络中的路由器获得,可使用本命令禁止在此接口上发送OSPF 报文。,system-view H3C ospf process-id | router-id router-id H3C-ospf-1silent-interface all |i
20、nterface-type interface-number ,default-route-advertise always|cost cost|type type,H3C,不带always参数时,仅当本路由器的路由表中含有缺省路由时才会向邻居传播0.0.0.0的缺省路由带always参数时, 无论本路由器的路由表中是否含有缺省路由都会向邻居传播0.0.0.0的缺省路由,在OSPF域中传播缺省路由,在OSPF域中配置缺省路由的实例,Company X,H3C A,ospf 20area 0 network 10.0.0.0 0.255.255.255default-route-advertis
21、e always ip route-static 0.0.0.0 0.0.0.0 s0,S0,Public Network,OSPF验证的配置方法,配置OSPF区域验证, interface Ethernet0ip address 10.64.0.2 255.255.255.0ospf authentication-mode simple cipher 1234 ! interface Serial0ip address 10.2.1.2 255.255.255.0 router ospf 50area 0network 10.2.1.2 0.0.0.0 network 10.64.0.2 0
22、.0.0.0authentication-mode simple,Broadcast Network,Point-to-Point Network,E0 10.64.0.1,10.64.0.2 E0,S0 10.2.1.2,10. 2.1.1 S1,A,B,C, interface Ethernet0ip address 10.64.0.1 255.255.255.0ospf authentication-mode simple cipher 1234 ! router ospf 1area 0 network 10.0.0.0 0.255.255.255authentication-mode
23、 simple,明文口令, interface Ethernet0ip address 10.64.0.2 255.255.255.0ospf authentication-mode md5 15 cipher 1234 ! interface Serial0ip address 10.2.1.2 255.255.255.0router ospf 50area 0 network 10.2.1.2 0.0.0.0network 10.64.0.2 0.0.0.0authentication-mode md5,Broadcast Network,Point-to-Point Network,E0
24、 10.64.0.1,10.64.0.2 E0,S0 10.2.1.2,10. 2.1.1 S1,A,B,C,interface Ethernet0ip address 10.64.0.1 255.255.255.0ospf authentication-mode md5 15 cipher 1234 !router ospf 1area 0 network 10.0.0.0 0.255.255.255authentication-mode md5,加密口令,配置OSPF区域验证,key-id 配置范围1至255, interface Ethernet0ip address 10.64.0.2
25、 255.255.255.0ospf authentication-mode simple cipher 1234 ! interface Serial0ip address 10.2.1.2 255.255.255.0router ospf 50area 0 network 10.2.1.2 0.0.0.0network 10.64.0.2 0.0.0.0,Broadcast Network,Point-to-Point Network,E0 10.64.0.1,10.64.0.2 E0,S0 10.2.1.2,10. 2.1.1 S1,A,B,C, interface Ethernet0i
26、p address 10.64.0.1 255.255.255.0ospf authentication-mode simple cipher 1234 !router ospf 1area 0network 10.0.0.0 0.255.255.255,配置OSPF接口验证(简单模式), interface Ethernet0ip address 10.64.0.2 255.255.255.0ospf authentication-mode md5 15 cipher 1234 ! interface Serial0ip address 10.2.1.2 255.255.255.0route
27、r ospf 50area 0 network 10.2.1.2 0.0.0.0network 10.64.0.2 0.0.0.0,Broadcast Network,Point-to-Point Network,E0 10.64.0.1,10.64.0.2 E0,S0 10.2.1.2,10. 2.1.1 S1,A,B,C, interface Ethernet0ip address 10.64.0.1 255.255.255.0ospf authentication-mode md5 15 cipher 1234!router ospf 1area 0network 10.0.0.0 0.
28、255.255.255,加密口令,key-id 配置范围1至255,配置OSPF接口验证,一个区域中所有的路由器的验证类型必须一致,一个网段中所有路由器的验证字口令也必须一致。,OSPF配置的核查与排错,display ip routing-table, display ip routing-table Routing Tables: Public Destinations : 6 Routes : 6 Destination/Mask Proto Pre Cost NextHop Interface 2.2.2.0/24 Direct 0 0 2.2.2.1 Eth0/1 2.2.2.1/3
29、2 Direct 0 0 127.0.0.1 InLoop0 127.0.0.0/8 Direct 0 0 127.0.0.1 InLoop0 127.0.0.1/32 Direct 0 0 127.0.0.1 InLoop0 192.168.80.0/24 Direct 0 0 192.168.80.10 Eth1/1 192.168.80.10/32 Direct 0 0 127.0.0.1 InLoop0,display ospf routing, display ospf routing OSPF Process 1 with Router ID 192.168.1.2 Routing
30、 Tables Routing for Network Destination Cost Type NextHop AdvRouter Area 192.168.1.0/24 1562 Stub 192.168.1.2 192.168.1.2 0.0.0.0 172.16.0.0/16 1563 Inter 192.168.1.1 192.168.1.1 0.0.0.0 Total Nets: 2 Intra Area: 1 Inter Area: 1 ASE: 0 NSSA: 0,display ospf interface, display ospf interface OSPF Proc
31、ess 1 with Router ID 192.168.1.1 Interfaces Area: 0.0.0.0 IP Address Type State Cost Pri DR BDR 192.168.1.1 PTP P-2-P 1562 1 0.0.0.0 0.0.0.0 Area: 0.0.0.1 IP Address Type State Cost Pri DR BDR 172.16.0.1 Broadcast DR 1 1 172.16.0.1 0.0.0.0,display ospf peer, display ospf peer OSPF Process 1 with Rou
32、ter ID 1.1.1.1 Neighbor Brief Information Area: 0.0.0.0 Router ID Address Pri Dead-Time Interface State 1.1.1.2 1.1.1.2 1 40 Eth0/1/0 Full/DR,OSPF的拓扑库display ospf lsdb, display ospf lsdb OSPF Process 1 with Router ID 192.168.0.1 Link State Database Area: 0.0.0.0 Type LinkState ID AdvRouter Age Len S
33、equence Metric Router 192.168.0.2 192.168.0.2 474 36 80000004 0 Network 192.168.0.1 192.168.0.1 321 32 80000003 0 Sum-Net 192.168.1.0 192.168.0.1 321 28 80000002 1,LinkState ID: 产生该 router LSA的Router ID 。 ADV Router: 通告该 router LSA 的OSPF路由器的Router ID 。 Age :LSA 的老化时间 Len :LSA 的长度 Sequence: LSA 序列号 M
34、etric :度量值,display ospf brief 显示OSPF 的概要信息。, display ospf brief OSPF Process 1 with Router ID 192.168.1.2 OSPF Protocol Information RouterID: 192.168.1.2 Border Router: NSSA Route Tag: 0 Multi-VPN-Instance is not enabled Applications Supported: MPLS Traffic-Engineering SPF-schedule-interval: 5 0 500
35、0 LSA generation interval: 5 0 5000 LSA arrival interval: 1000 Default ASE parameters: Metric: 1 Tag: 1 Type: 2 Route Preference: 10 ASE Route Preference: 150 SPF Computation Count: 22 RFC 1583 Compatible Area Count: 1 Nssa Area Count: 1 ExChange/Loading Neighbors: 0,路由重分发,在不同的协议转换过渡期间 特定的应用需求 一种协议不
36、能满足所有的要求 不同的行政区划 不同的域之间采用不同的路由协议 设备之间不兼容 不同厂商的设备互操作问题,为什么需要使用多种路由协议?,不同的协议采用不同的度量类型 不同的度量类型之间没有可比性 需要对不同类型的度量进行转换(Redistribution) 同一台路由设备上运行多种路由协议时选择最优路由的规则:1. 首先比较双方的管理距离(Administrative Distance)2. 管理距离相同再比较度量,172.16,RIP,172.16,OSPF,RIP 172.16.0.0,OSPF,172.16,RIP,172.16,OSPF,不同的路由协议之间如何衔接?,Seed Met
37、ric,最初的度量值(seed metric)是根据路由的直连接口确定的。 不同的协议之间做路由重分发时度量的处理方式:根据初始的度量值按照该路由协议的规则继续计算度量新设置的度量值应比该路由域中最大的度量值大,RIP,OSPF,协议之间重分发(转换)的命令,H3C-rip-1 import-route ?bgp Border Gateway Protocol (BGP)direct Connectedegp Exterior Gateway Protocol (EGP)eigrp Enhanced Interior Gateway Routing Protocol (EIGRP)igrp I
38、nterior Gateway Routing Protocol (IGRP)isis ISO IS-ISiso-igrp IGRP for OSI networksodr On Demand stub Routesospf Open Shortest Path First (OSPF)rip Routing Information Protocol (RIP)static Static routes,缺省的Seed Metrics,示例:重分发之前,示例:重分发之前,H3C配置重分发,import-route rip 40 type 2 tag 33 cost 50,import-route
39、 ospf cost 3,示例:配置重分发之后的路由表,OSPF典型案例(一),故障现象: 两台路由器上的以太网段无法互相ping通; 两台路由器都无法学习到对方的OSPF路由。,OSPF典型案例(一),RTA上的配置:,RTB上的配置:,router id 197.7.1.1sysname RTA #interface Ethernet0/0ip address 111.111.111.1 255.255.255.0 #interface Serial1/0link-protocol frip address 100.1.0.1 255.255.0.0ospf network-type nb
40、mafr interface-type DCEfr map ip 100.1.0.2 16 # ospf 1 peer 100.1.0.2 area 0.0.0.0 network 100.1.0.0 0.0.255.255 network 197.7.1.1 0.0.0.0 network 111.111.111.0 0.0.0.255,router id 197.7.1.2sysname RTB#interface Ethernet0ip address 222.222.222.1 255.255.255.0 #interface Serial0/0clock DTECLK1link-pr
41、otocol frip address 100.1.0.2 255.255.0.0ospf network-type broadcastfr map ip 100.1.0.1 16 # ospf 1 peer 100.1.0.1 area 0.0.0.0 network 100.1.0.0 0.0.255.255 network 197.7.1.2 0.0.0.0 network 222.222.222.0 0.0.0.255,解决问题,从查看的路由器配置和相应的接口状态信息看来,RTA和RTB相连接口的OSPF网络类型配置得并不一致,因此导致路由计算错误,无法得到OSPF路由。 在RTA和R
42、TB的相应接口把网络类型改为一致,则可以正常学习OSPF路由。改变RTB的s0/0接口的OSPF网络类型:RTB-Serial0/0ospf network-type nbma,OSPF典型案例(二),故障现象: RTB和RTC之间的虚连接总是处于down状态 RTA无法访问RTB和RTC上的Loopback网段,S1/0:55.2.1.2/24,area1,RTC,RTBdisplay ospf vlink OSPF Process 1 with Router ID 2.2.2.2 Virtual Links Virtual-link Neighbor-id - 3.3.3.3, State
43、: Down Cost: 0 State: Down Type: Virtual Transit Area: 0.0.0.1 Timers: Hello 10, Dead 40, Poll 0, Retransmit 5,RTCdisplay ospf vlink OSPF Process 1 with Router ID 3.3.3.3 Virtual Links Virtual-link Neighbor-id - 2.2.2.2, State: Down Cost: 0 State: Down Type: Virtual Transit Area: 0.0.0.1 Timers: Hel
44、lo 10, Dead 40, Poll 0, Retransmit 5,OSPF典型案例(二),查看路由器上的相关配置:,RTBdisplay current-configuration#router id 2.2.2.2sysname RTB#ospf 1 area 0.0.0.1vlink-peer 3.3.3.3 #,RTCdisplay current-configuration #router id 3.3.3.3sysname RTC# ospf 1 area 0.0.0.1vlink-peer 2.2.2.2 #,OSPF典型案例(二),查看两台路由器上的邻居列表和邻居状态:,
45、display ospf peer OSPF Process 1 with Router ID 2.2.2.2 Neighbors Area 0.0.0.0 interface 57.1.1.1(Serial1/1)s neighbor(s) RouterID: 55.2.1.2 Address: 57.1.1.2 State: Full Mode: Nbr is Master Priority: 1 DR: None BDR: None Dead timer expires in 35s Neighbor has been up for 00:00:50 Area 0.0.0.1 inter
46、face 55.0.1.2(Serial1/0)s neighbor(s) RouterID: 1.1.1.1 Address: 55.0.1.1 State: Full Mode: Nbr is Slave Priority: 1 DR: None BDR: None Dead timer expires in 39s Neighbor has been up for 00:04:57 Virtual link with interface (null)s neighbor RouterID: 3.3.3.3 Address:(null) State: Down Mode: None Priority: 0,