网络-路由交换-IPv4-Cisco-OSPF

OSPF

邻居状态机:与邻居形成邻接关系过程的状态变迁。
1) 失效状态(down):在DeadInterval 时间内没有收到Hello 包。
2) 初始状态(Init):收到了来自邻居的一个Hello 包,但其中还没有自己的路由器ID,即邻居还不互相知道。
3) 双向通信状态(2-way):来自邻居的Hello 包包含自己的路由器ID,即邻居间已经互相知道。这是第一个可维持状态,称为邻居关系。
4) 信息交换初始状态(Exstart):发送DBD 包确定主/从关系,以便同步数据库。DBD 包有3 个重要的标记位,I 位:指明所发送的是第一个DBD 包。M 位:指明不是最后一个DBD 包。M/S 位:认为
自己为主路由器(Master)时置位。具有更高路由器ID 的成为主路由器。
5) 信息交换状态(Exchange):路由器和邻居之间发送数据库描述数据包DBD,如发现邻居有新的链路状态信息(LSA),则发送和接受LSR,LSU(隐式确认),LSAck(显示确认)进行同步。
6) 信息加载状态(Loading):路由器和邻居之间发送链路状态请求数据包LSR,LSU,LSAck 完成链路状态请求列表中剩余的条目。
7) 完全邻接状态(Full):数据库同步后,路由器与邻居之间建立起完全邻接关系。这是第二个可维持状态,称为邻接关系。

 

DR/BDR:为了减少网络中邻接关系的数量,降低无效LSA 的传输,减小LSA 泛洪规模,设计了DR/BDR。
1) DR/BDR 是路由器接口级的特性,不是整台路由器的特性。同一台路由器的不同接口可以成为DR/BDR/DROther。
2) 网络上的所有路由器都和且只和DR/BDR 同时形成邻接关系。DR/BDR 之间也形成邻接关系。
3) 路由器首先和邻居建立2-way,然后开始选举DR/BDR。观察Hello 包的优先级,DR/BDR,RID 字段。
4) 具有0 优先级的路由器不能成为DR/BDR。(ip ospf priority 0)
5) PtP,PtMP 接口类型不选举DR/BDR。
6) 路由器都宣称自己为DR 或BDR。或者在Hello 包的DR/BDR 字段是自身接口的地址。
7) 在宣称为DR 和BDR 的子集中分别选取DR 和BDR。优先级最高的选为DR/BDR,如果优先级一样,RID 最高的选为DR/BDR。
8) DR/BDR 不会抢夺,即当选举完成后即使有更高优先级的路由器出现,也不会再选举。除非OSPF 进程重启。
9) 路由更新都是由DR 向DRother 完成,DRother 相互之间和DRother 与BDR 之间不会通告。DR 与BDR 之间会通告。

 

LSA 的泛洪
拓扑发生变化后将会产生LSA 的泛洪。泛洪使用LSU,LSAck。LSU 中可以包含多个LSA。泛洪过程必须是可靠的,可确认的。它使用LSA 的序列号,校验和,老化时间进行确认。最大老化时间为1 小
时,LSA 每经过一个路由器都增加一个设定的秒数,而且在驻留在数据库时也会随时间加大。当达到最大老化时间后,从数据库中删除该条LSA 后泛洪到整个域使其他路由器也删除该LSA,只有始发路
由器才能清除LSA。路由器是以较大的序列号>较大的校验和>较大的老化时间来区分最新LSA 的。如果多条LSA 的老化时间之间的差大于MaxAgeDiff,那么此时拥有较小老化时间的LSA 是最新LSA。
在老化过程中,LSA 的始发路由器每30 分钟发送一个刷新数据包来更新LSA 的老化,以保证其不过期,而不管网络拓扑是否发生了变化。
泛洪的基本过程:
1) 发生拓扑变更时,DRother 向AllDRouter 发送LSA,

2) DR 泛洪LSA 到AllSPFRouters,
3) 接收到LSA 的所有路由器在其所有接口上泛洪LSA,
4) LSA 的过度泛洪会浪费带宽和影响网络稳定性。为了减少刷新,降低泛洪的影响,可以在LSA 中设置DNA 位(DoNotAge,不老化)。
       (config)interface s1/0
                   ip ospf flood-reduction

 

区域
1) 路由器仅和其自身所在区域内的其他路由器具有相同的链路状态数据库。
2) 非骨干区域(除area 0 外)必须通过骨干区域(area 0)交换数据,不能直接交换数据包。
3) ABR 至少有一个接口属于骨干区域;必须为每个与之相连的区域维护一个LSDB;ABR 将会汇总与之相连的区域的拓扑信息并传递给其他区域。
4) ASBR 把其他路由协议的路由通过路由重分配注入到OSPF 域的路由器中。
5) OSPF 在区域内是链路状态协议,但在区域间却是距离矢量协议算法。

 

虚链路(是一个逻辑通道,建议作为一个临时网络设计手段存在)
1) 必须配置在两台ABR 之间,其中至少一台ABR 是与area 0 相连的。
2) 经过区域必须是传送区域(即必须要有全部的路由选择信息)。
3) 用于连接两个不连续的area 0 和将远离area 0 的区域与area 0 连接起来。
4) 邻接关系可以通过虚链路建立。
5) 经过区域不能是一个stub 区域(包括stub,total stub,nssa,total nssa),
6) 虚链路是本身永远是属于骨干区域的。
7) 配置:router ospf 1
                        network 2.2.2.0 0.0.0.255 area 0
                        network 192.168.12.0 0.0.0.255 area 1
                        area 1 virtual-link 3.3.3.3 message-digest-key 1 md5 CISCO (表示virtual-link 通过area 1,对端的RouterID 是3.3.3.3,这里互相采用MD5 认证,还有明文认证和不认证。在对端要做互指的配置)

 

路由器LSA(1, 所有路由器产生,有关路由器及其各个链路的信息,域内扩散):show ip ospf database router
网络LSA(2, DR 产生,与其相连的网络和所有路由器的信息,域内扩散):show ip ospf database network
网络汇总LSA(3, ABR 产生,与其相连的其他区域的路由信息包括cost,域间扩散):show ip ospf database summary
ASBR 汇总LSA(4, ABR 产生,与其相连的ASBR 的路由信息包括cost,域间扩散):show ip ospf database asbr-summary

AS 外部LSA(5, ASBR 产生,到达AS 外部的路由信息,AS 域内扩散):show ip ospf database external
NSSA 外部LSA(7, ASBR 产生,到达AS 外部的路由信息,仅在NSSA 域内扩散,在nssa 和area0 的ABR 上被转换为类型5,从而在其余非末梢区域中扩散):show ip ospf database nssa-external

 

每区域内允许的LSA

网络-路由交换-IPv4-Cisco-OSPF

                    *一个例外,类型3的缺省路由允许

Stub 的配置
1) 必须在目标区域的ABR 路由器上配置area x stub,stub 区域中的所有路由器都必须配置为stub。
Totally-stub 的配置
1) 必须在目标区域的ABR 路由器上配置area x stub no-summary,但区域中的路由器不需要配置参数no-summary。
Nssa 的配置
1) 必须在目标区域的ABR 路由器上配置area x nssa,nssa 区域中的所有路由器都必须配置为nssa。
Totally-Nssa 的配置
1) 必须在目标区域的ABR 路由器上配置area x nssa no-summary,但区域中的路由器不需要配置参数no-summary。
Area0 骨干区域不能配置成stub 和nssa 区域。

 

网络类型对ospf 配置的影响
在NBMA 网络中,端口默认为非广播类型(non-broadcast)
1) 可以使用neighbour 指定邻居,使用单播发送Hello 以便建立邻接关系。
2) 可以修改接口类型,将其指定为broadcast 类型即可,ip ospf network broadcast。
在Point-to-Point 网络中,需要子接口
1) 多点汇聚端的路由器端需要多个子接口(有几个单点对端就需要几个子接口),单点端需要一个子接口,
2) 一个PtP 连接就是一对子接口,各个子接口对不能在一个子网段上,
3) 子接口要配置接口类型为Point-to-Point,要配置IP 地址,

4) 子接口要定义本地DLCI(frame-relay interface-dlci xxx)。

 

在NBMA 网络上配置ospf
        帧中继等NBMA 网络,为了节约费用简化配置,通常是Hub-and-Spoke 结构。对于运行其上的ospf 协议,由于网络是多路访问的,所以需要选举DR/BDR,又由于网络是非广播的,不能保证ospf 多播hello到达所有邻居,影响DR/BDR 选举。因此,在NBMA 网络中配置ospf 需要一些指定的模式。
1) NBMA 模式 (通过neighbor 指定邻居,需要选举DR/BDR)
       Hub)interface s0/0
                      Encapsulation frame-relay
                      Ip address 172.16.2.1 255.255.255.0
                      Frame-relay map ip 172.16.2.2 100
                Router ospf 1
                      Network 172.16.0.0 0.0.255.255 area 0
                      Neighbor 172.16.2.2 (手工指定ospf 邻居)
     Spoke) interface s0/0
                      Encapsulation frame-relay
                      Ip address 172.16.2.2 255.255.255.0
                      Frame-relay map ip 172.16.2.1 600
                      Ip ospf priority 0 (配置spoke 端ospf 接口优先级为0,使hub 端成为DR)
Router ospf 1
                      Network 172.16.0.0 0.0.255.255 area 0
                      Neighbor 172.16.2.1 (手工指定ospf 邻居)
2) BMA 模式 (通过多播hello 发现邻居,需要选举DR/BDR)
       Hub)interface s0/0
                      Encapsulation frame-relay
                      Ip address 172.16.2.1 255.255.255.0
                      Frame-relay map ip 172.16.2.2 100 broadcast
                      Ip ospf network broadcast (将帧中继接口配置成广播口,默认为Non-broadcast 口)

Router ospf 1
                     Network 172.16.0.0 0.0.255.255 area 0
       Spoke) interface s0/0
                     Encapsulation frame-relay
                     Ip address 172.16.2.2 255.255.255.0
                     Frame-relay map ip 172.16.2.1 600 broadcast
                     Ip ospf network broadcast (将帧中继接口配置成广播口,默认为Non-broadcast 口)
                     Ip ospf priority 0 (配置spoke 端ospf 接口优先级为0,使hub 端成为DR)
Router ospf 1
                     Network 172.16.0.0 0.0.255.255 area 0
3) Point-to-multipoint 模式 (通过单播hello 发现邻居,但这种网络类型不需要选举DR/BDR)
       Hub)interface s0/0
                     Encapsulation frame-relay
                     Ip address 172.16.2.1 255.255.255.0
                     Frame-relay map ip 172.16.2.2 100 broadcast
                     Ip ospf network point-to-multipoint (将帧中继接口配置成点到多点口,默认为Non-broadcast 口)
Router ospf 1
                     Network 172.16.0.0 0.0.255.255 area 0
       Spoke) interface s0/0
                     Encapsulation frame-relay
                     Ip address 172.16.2.2 255.255.255.0
                     Frame-relay map ip 172.16.2.1 600 broadcast
                     Ip ospf network point-to-multipoint (将帧中继接口配置成点到多点口,默认为Non-broadcast 口)
Router ospf 1
                     Network 172.16.0.0 0.0.255.255 area 0
4) Point-to-point 模式 (通过单播hello 发现邻居,但这种网络类型不需要选举DR/BDR,使用了子接口)

       Hub)Interface s0/0
                     Encapsulation frame-relay
                     Interface s0/0.1 point-to-point (将帧中继子接口配置成点到点口)
                     Ip address 172.16.2.1 255.255.255.0
                     Frame-relay interface-dlci 100 (帧中继特性,不能使用frame-relay map,只能定义本地DLCI)
Router ospf 1
                     Network 172.16.0.0 0.0.255.255 area 0
       Spoke) interface s0/0
                     Encapsulation frame-relay
                     Interface s0/0.1 point-to-point (将帧中继子接口配置成点到点口)
                     Ip address 172.16.2.2 255.255.255.0
                     Frame-relay interface-dlci 600 (帧中继特性,不能使用frame-relay map,只能定义本地DLCI)
Router ospf 1
                     Network 172.16.0.0 0.0.255.255 area 0

认证
1) 基于区域的简单口令认证
        router ospf 1
               area 0 authentication (在进程中指定区域下启用认证)
        interface s0/0
              ip ospf authentication-key CISCO (在接口下配置key)
2) 基于区域的MD5 认证
         router ospf 1
                area 0 authentication message-digest (在进程中指定区域下启用认证)
         interface s0/0
                ip ospf message-digest-key 1 md5 CISCO (在接口下配置key)
3) 基于链路的简单口令认证

         interface s0/0
                ip ospf authentication (在接口下启用认证)
                ip ospf authentication-key CISCO (在接口下配置key)
4) 基于链路的MD5 认证
         interface s0/0
                ip ospf authentication message-digest (在接口下启用认证)
                ip ospf message-digest-key 1 md5 CISCO (在接口下配置key)
注1) 都配置了时,链路认证优先于区域认证。
注2) 在所有配置了认证的路由器里增加service password-encryption 语句是推荐的配置。

路由汇总:需要在通往骨干area 0 的方向上做汇总,确保骨干只接收汇总地址并能把已汇总的地址注入到其他区域。汇总分为两种类型,区域间路由汇总和外部路由汇总。
1) 区域间路由汇总:在ABR 上配置,针对来自area 内的路由,由area range 命令生成一条可以被ABR 通告给其他区域的单一汇总路由。
例)将范围从192.168.64.0 到192.168.95.0 的子网汇总成192.168.64.0 255.255.224.0。
         (config)router ospf 100
                network 192.168.64.0 0.0.0.255 area 1
                area 1 range 192.168.64.0 255.255.224.0 [cost][advertise][not-advertise] (将area 1 中的路由汇总成一条O IA 路由。还可以指定其cost,指定是否发布出去)
配置了路由汇总后,ios 会在本地路由器上自动产生一条null0 空路由以避免可能的环回路由。可以通过下面命令产生或不产生该空路由。
         (config)router ospf 100
                [no] discard-route internal
2) 外部路由汇总:在ASBR 上配置,针对来自AS 外部的路由进行汇总或对重发布路由进行汇总,并注入到ospf 的AS 区域内。
例)将范围从192.168.64.0 到192.168.95.0 的重发布到ospf 的子网汇总成192.168.64.0 255.255.224.0。
         (config)router ospf 100
                redistribute connected subnets (将直连子网重发布到ospf)
                summary-address 192.168.64.0 255.255.224.0 (将重发布到ospf 中的路由汇总成一条O E1 或O E2,发布到ospf 域中去)
配置了路由汇总后,ios 会在本地路由器上自动产生一条null0 空路由以避免可能的环回路由。可以通过下面命令产生或不产生该空路由。
         (config)router ospf 100
                [no] discard-route external

 

路由过滤:支持下列过滤类型。
1) 在ABR 上可以过滤指定区域发布出去的指定域间路由(O IA)。
         (config)router ospf 1
                area 2 filter-list prefix area2outbound out (过滤离开area 2,到达其他区域去的路由)
         (config)ip prefix-list area2outbound seq 5 deny 192.168.1.0/24
         (config)ip prefix-list area2outbound seq 10 permit 0.0.0.0/0 le 32
2) 在广播,非广播,和点到点网络的接口出方向上过滤LSA。
         (config)interface s0/0
                ip ospf database-filter all out
3) 在NBMA 和点到多点网络上,对邻居的出方向上过滤LSA。
         (config)router ospf 1
                neighbor 192.168.1.2 database-filter all out
                但要注意:neighbor command is allowed only on NBMA and point-to-multipoint networks.
4) 对于使用distribute-list 来对ospf 进行路由过滤,只对由ASBR 重分布进入ospf 的路由有效,distribute-list 对ospf 区域内和区域间的路由过滤无效。见distribute-list 小节。

 

上一篇:ELK监控交换机日志


下一篇:python – 与Cisco路由器的持久ssh会话