OSPF_协议的解析及详解 联系客服

发布时间 : 星期日 文章OSPF_协议的解析及详解更新完毕开始阅读

OSPF汇总

在OSPF骨干区域当中,一个区域的所有地址都会被通告进来。但是如果某个子网忽好忽坏不稳定,那么在它每次改变状态的时候,都会引起LSA在整个网络中泛洪。为了解决这个问题,我们可以对网络地址进行汇总。

Cisco路由器的汇总有两种类型:区域汇总和外部路由汇总。区域汇总就是区域之间的地址汇总,一般配置在ABR上;外部路由汇总就是一组外部路由通过重发布进入OSPF中,将这些外部路由进行汇总。一般配置在ASBR上。

区域汇总:

area area-id range ip-address mask 外部路由汇总:

summary-address ip-address mask

我设计的两个试验,把几个知识点串起来 试验一

用一个试验总结一下ospf over 桢中继的时候,OSPF几种网络类型的差别。

封装好FR,DEBUG看到的几种情况

情况一:两边只起了OSPF进程,其它全部默认 这种情况下邻居需要手动配置! R2(config)#router ospf 10

R2(config-router)#neighbor 12.1.1.3 选举了DR,BDR hello的间隔是30s

OSPF的数据包是单播传送的。

情况二:两边的网络类型改为Broadcast(命令接口下ip ospf network broadcast) 这种网络类型下是不需要手动配置邻居关系 有DR与BDR的选举。 Hello时间间隔为10s。

使用224.0.0.5这个组播地址传送数据包。

情况三:网络类型改为Point-to-Point(命令接口下ip ospf net point-to-point) 不需要手动指定邻居 没有DR/BDR的选举 Hello时间间隔为10s

使用224.0.0.5这个组播地址传送数据。

情况四:Point-to-Multipoint(命令接口下ip ospf network point-to-multipoint) 不需要手动指定邻居 没有DR和BDR的选举 Hello时间间隔为30s

以224.0.0.5这个组播地址发送数据

情况五:非广播的Point-to-Multipoint

(命令接口下ip ospf network point-to-multipoint non-broadcast) 邻居需要手动指定,但是邻居只要在一边指定即可。 没有DR和BDR的选取 Hello时间间隔为30s 使用单播传送OSPF数据

列出一张表,方便看 网络类型 默认 Broadcast Point-to-Point Point-to-Multipoint Point-to-Multipoint(非广播) 邻居自动发现 否 是 是 是 否,单边指即可 有无DR选举 有 有 无 无 无 Hello间隔 30s 10s 10s 30s 30s 传输方式 单播 组播 组播 组播 单播 试验二

OSPF的认证总结:

OSPF的认证有2种类型(不验证也算的话是3种),使用DEBUG可以看到type0表示无认证,type1表示明文认证,type2表示MD5认证。明文认证发送密码进行认证,而MD5认证发送的是报文摘要。

OSPF的认证可以在链路上进行,也可以在整个区域内进行认证。另外虚链路同样也可以进行认证。

同样也是分情况来讨论。 情况一:R1和R2明文验证 R1(config)#int s1/0

R1(config-if)#ip ospf authentication(启用认证)

R1(config-if)#ip ospf authentication-key cisco(配置密码) 不配置R2的话

通过debug工具我们可以看到如下信息:

*Aug 15 22:51:54.275: OSPF: Rcv pkt from 10.1.1.2, Serial1/0 : Mismatch Authentication type. Input packet specified type 0, we use type 1 这里的type0是指对方没有启用认证,type1是明文认证。

在R2上配置认证,使得邻居关系恢复。 R2(config)#int s1/0

R2(config-if)#ip ospf authentication

R2(config-if)#ip ospf authentication-key cisco

*Aug 15 22:54:55.815: %OSPF-5-ADJCHG: Process 10, Nbr 1.1.1.1 on Serial1/0 from LOADING to FULL, Loading Done

情况二:在R2和R3的串行链路上进行MD5认证的: R2(config)#int s1/1

R2(config-if)#ip ospf authentication message-digest(定义认证类型为MD5) R2(config-if)#ip ospf message-digest-key 1 md5 cisco(定义key和密码) R3(config)#int s1/0

R3(config-if)#ip ospf authentication message-digest R3(config-if)#ip ospf message-digest-key 1 md5 cisco

情况三:增加R2和R3上串行链路的MD5认证的密码: 在R2原有的配置上加上下面这条命令:

R2(config-if)#ip ospf message-digest-key 2 md5 openlab R2#sho ip ospf neighbor

Neighbor ID Pri State Dead Time Address Interface 3.3.3.3 0 FULL/ - - 11.1.1.2 OSPF_VL0 1.1.1.1 1 FULL/BDR 00:00:34 21.1.1.1 FastEthernet0/0 1.1.1.1 0 FULL/ - 00:00:37 10.1.1.1 Serial1/0 3.3.3.3 0 FULL/ - 00:00:31 11.1.1.2 Serial1/1 邻居关系没有丢失。

增加新的密码钥匙,然后在将原来的密码删除,候邻居关系不受影响。

情况四:在Area0上进行区域认证(以前没做过吧) R1(config)#router ospf 10

R1(config-router)#area 0 authentication

还没有写下一步,就是刚启用,还没设置密码,邻居就down掉了 同样,R2上启用一下,邻居就恢复 或者都设置相同的密码也可以。

情况五:Area0上进行区域认证以后。。。

R2#clear ip ospf pro清进程,A2区域的学不到邻居了。R3是通过虚链路连接到骨干区域的。因为virtual-link属于Area0,因此在R2配置完成Area0区域认证后,R3也需要相应的配置。 R3(config)#router ospf 10

R3(config-router)#area 0 authentication 这样就可以了

情况六:单纯的虚链路的认证(这个以前也没做过吧) 明文认证,MD5认证。配置命令如下:

明文:

R2(config-router)#area 1 virtual-link 3.3.3.3 authentication-key cisco R3(config-router)#area 1 virtual-link 2.2.2.2 authentication-key cisco

MD5:

R2(config-router)#area 1 virtual-link 3.3.3.3 authentication message-digest R2(config-router)#area 1 virtual-link 3.3.3.3 message-digest-key 1 md5 cisco R3(config-router)#area 1 virtual-link 2.2.2.2 authentication message-digest R3(config-router)#area 1 virtual-link 2.2.2.2 message-digest-key 1 md5 cisco

另外通过实验知道虚链路在建立起来后是DNA LSA(不老化LSA),所以如果没有重启OSPF进程的话,即使一端配置了认证,虚链路也是不会断开的。

后面是sniffer抓得包