收藏 分销(赏)

OSPF协议总结(最终版).doc

上传人:精**** 文档编号:10342261 上传时间:2025-05-23 格式:DOC 页数:22 大小:676.51KB
下载 相关 举报
OSPF协议总结(最终版).doc_第1页
第1页 / 共22页
OSPF协议总结(最终版).doc_第2页
第2页 / 共22页
点击查看更多>>
资源描述
OSPF协议总结---By Joe&东东&校长 OSPF的五个包: 1.Hello:9项内容,4个必要 2.DBD:数据库描述数据包(主要描述始发路由器数据库中的一些或者全部LSA信息),主要包括接口的MTU,主从位MS,数据库描述序列号等); 3.LSR:链路状态请求数据包(查看收到的LSA是否在自己的数据库,或是更新的LSA,如果是将向邻居发送请求); 4.LSU:链路状态更新数据包(用于LSA的泛洪扩散和发送LSA去响应链路状态请求数据包); 5.LSACK:链路状态确认数据包(用来进行LSA可靠的泛洪扩散,即对可靠包的确认)。 Hello包作用: 1.发现邻居; 2.建立邻居关系; 3.维持邻居关系; 4.选举DR,BDR 5.确保双向通信。 Hello包所包含的内容: 路由器id Hello&Dead间隔 * 区域id * 邻居 DR BDR 优先级 验证 * 末节区域 * 注:1.“*”部分全部匹配才能建立邻居关系。 2.邻居关系为FULL状态;而邻接关系是处于TWO-WAY状态。 Hello时间间隔: 在点对点网络与广播网络中为10秒; 在NBMA网络与点对多点网络中为30秒。 注: 保持时间为hello时间4倍 虚电路传送的LSA为DNA,时间抑制,永不老化. OSPF的组播地址: DR将使用组播地址224.0.0.5泛洪扩散更新的数据包到DRothers DRothers使用组播地址224.0.0.6发送更新数据包 组播的MAC地址分别为:0100.5E00.0005,0100.5E00.0006 OSPF的包头格式: | 版本    | 类型 | 长度  | 路由器ID | 区域ID  | 验证和 | 验证类型  |验证 | 数据  | | 1 byte |   1   | 2 | 4 | 4 | 2 | 2 | 8 | variance | OSPF支持的验证类型: OSPF支持明文和md5认证,用Sniffer抓包看到明文验证的代码是“1”,md5验证的代码是“2”。 OSPF支持的网络类型: 1.广播 2.非广播 3.点对点(若MTU不匹配 将停留在EX-START状态) 4.点对多点 5.虚电路(虚电路的网络类型是点对点) 虚链路必须配置在ABR上, 虚链路的配置使用的命令是area transit-area-id virtual-link router-id 虚链路的Metric等同于所经过的全部链路开销之和 DR /BDR选举: 1. 优先级(0~255; 0代表不参加选举;默认为1); 2. 比较Router-id。 次者为BDR。 在Point-to-Point, Point-to-Multipoint(广播与非广播)这三种网络类型不选取DR与BDR; Broadcast, NBMA选取DR与BDR。 先启动OSPF进程的路由器会等待一段时间,这个时间内你没有启动其它路由的OSPF进程的话,第一台路由就认为自己是DR,之后再加进来的也不能在选举了,这个等待时间叫做Wait Timer计时器,CISCO规定的Wait Timer是40秒。这个时间内你启动的路由是参与选举的,所以真实工作环境中,40秒你大概只启动了两台,DR会再前两台启动的路由中产生,工作一段时间以后,活的最久的路由最有可能成为DR OSPF over FRAME-RELAY 的配置: (1) NBMA : 在HUB上指定邻居;SPOKE上设置优先级为0。 (2) P-TO-P: 接口下配置命令 ip ospf network point-to-point。 (3) P-TO-MULT P:接口下配置命令 ip ospf network point-to-multipoint。 按需电路配置: 接口下配置命令 ip ospf demand-cricuit。 孤立区域问题解决: 1. 虚电路 (虚电路穿过的区域一定是标准区域,标准区域一定是全路由的) 2. 隧道 3. 多进程重分发 注:如果中间间隔区域为stub区域,则只能用隧道解决. OSPF分区域的原因: 1.LSA数据过大,造成带宽负载过大。 2.计算全网拓扑,对cup要求过高。 3.数据库过大,对内存要求过高。 OSPF的区域类型: 骨干: LSA:1 2 3 4 5 标准: LSA:1 2 3 4 5 stub: LSA1 2 3 nssa: LSA1 2 3 7 7(default) AREA 1 NSSA DEFAULT INFORMATION-ORIGINATE (ABR上产生默认路由LSA 7) total-stub: 1 2一条默认3 total-nssa: 1 2 7一条默认3 LSA的类型: 类型1: 路由器链路信息 内容包括:路由器链路Router-id; 接口地址; 接口网络; 接口花费 可使用show ospf database router命令查看。 类型2: 网络链路信息 由DR通告,如果是点对点的网络类型,没有LSA2 类型3、4:汇总链路(都是ABR通告) 3号通告ospf区域间信息 4号通告asbr的router-id信息(通告nssa区域的abr) 类型5: 通告外部路由 类型7: nssa区域外部路由 类型11: 用于打标签 类型代码 类型名称 描述 1 路由器LSA 每台路由器都会产生,在区域内泛洪 2 网络LSA DR产生,在区域内泛洪 3 网络汇总LSA ABR始发,在整个OSPF域中泛洪 4 ASBR汇总LSA ABR始发,在整个OSPF域中泛洪 5 AS外部LSA ASBR始发,在整个OSPF域中泛洪 6 组成员LSA 标识OSPF组播中的组成员,不做讨论 7 NSSA外部LSA ASBR始发, 8 外部属性LSA 没有实现 9 Opaque LSA(本地链路范围) 用于MPLS流量工程,不做讨论 10 Opaque LSA(本地区域范围) 11 Opaque LSA(AS范围) OSPF邻居建立过程: A-------------------------B down init B收到A 发来hello进入init状态 two way hello 4个“*”匹配,选举DR BDR ;A在hello中发现自己的Router-id; exstart 交换DBD;确立主从关系(多路访问Router-id高为主,低为从; 串行接口下接口地址大的为主) exchange 交换数据DBD (主的先发) loading 交换完整数据包LSR LSU full 注: 每个LSA由序列号确认为最新的更新。 当路由器收到LSA之后的处理过程: (1)如果数据库有这样的,再查看序列号,如果序列号相同,忽略这条LSA;如果序列号偏大,将其转到数据库,并进行SPF,更新路由表;如果序列号偏小,将一个包含自己的LSA新信息发送给发送方。 (2)如果数据可没有这样的,将其加到数据库表,并发一个ACK返回,并运行SPF,更新路由表。‘ OSPF的Metric值: Cost=10的8次方/带宽,简便记做100Mb/带宽值。Metric值是由cost值逐跳累加的。 环回口的路由,掩码为/32,既我们所说的“主机路由”。在实际应用中,环回口以32位的居多,用作ospf的管理接口。但是如果你想让环回口模拟一个网段,我们可以通过以下配置来消除。 R1(config)#int loopback 0 R1(config-if)#ip ospf network point-to-point 环回口只能配置成point-to-point这种类型,不可以配置成其它的类型。 其他: 1.当一个路由器既是ABR又是ASBR时为了不让巨量外部路由分发进nssa区域使用命令:area 1 nssa no-redistribution default-information originate 2.配置命令show ip ospf database router用来查询拓扑 3.一个路由器在理论上支持65535个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数据 列出一张表,方便看 网络类型 邻居自动发现 有无DR选举 Hello间隔 传输方式 默认 否 有 30s 单播 Broadcast 是 有 10s 组播 Point-to-Point 是 无 10s 组播 Point-to-Multipoint 是 无 30s 组播 Point-to-Multipoint(非广播) 否,单边指即可 无 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抓得包 Hello包 Lsu包 LSACK包 上面是一般情况,下面是明文验证的几个包 Hello DBD LSR LSU LSACK 下面是MD5加密认证得包 Hello DBD LSR LSU LSACK
展开阅读全文

开通  VIP会员、SVIP会员  优惠大
下载10份以上建议开通VIP会员
下载20份以上建议开通SVIP会员


开通VIP      成为共赢上传
相似文档                                   自信AI助手自信AI助手

当前位置:首页 > 通信科技 > 网络/通信

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2025 宁波自信网络信息技术有限公司  版权所有

客服电话:4009-655-100  投诉/维权电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服