1、OSPF完全总结OSPF-开放式最短路径优先概述:链路状态路由协议OSPF-开放式最短路径优先 概述: 链路状态路由协议 HELLO报文-建立邻居关系 路由器之间发送LSA(链路状态通告) 组播发送ospf报文、或单播 触发更新(LSDB-链路状态数据库更新周期30min) 支持无类IP地址(VLSM-不连续子网、CIDR-手工汇总) 基于IP协议-协议号89 支持多区域划分 支持验证-明文、MD5 OSPF报文: HELLODBD:数据库描述报文 LSR:链路状态请求 LSU:链路状态更新 LSACK:链路状态确认Router1-Router21、 组播更新、协商建立邻居的参数Hello报文
2、组成: 版本-2 报文类型-1 长度- Router-id:32bit-路由器标识(ospf无环的基本要素之一) 1、手工配置Router-id2、自动学习 -优先使用已激活的loopback接口IP地址中最大的 -其次选择已激活的物理接口IP地址中最大的 注意:不同进程OSPF-router-id不可以相同 当OSPF进程激活后,Rotuer-id不会被自动选举抢占 当OSPF进程已经形成邻居关系,手工配置Router-id也不可以抢占,只有未建立邻居关系的进程才可以直接使用手工配置修改Router-id。已经形成邻居关系的OSPF进程需要形成邻居关系需要补充命令:clear ip ospf
3、 process 整个网络中不可以出现Router-id相同的两台路由器 *区域ID:32bit (可以使用10进制或者点分十进制标识) *验证类型+验证内容:0-不验证、1-明文验证、2-MD5验证+ (以上为OSPF公共报文头部) *路由器接口地址掩码: *hello周期 10s / 30s *选项-特殊区域标识 路由器优先级:(用于选举DRBDR路由器使用) *邻居死亡时间 40s / 120s DR路由器接口IP地址 BDR路由器接口IP地址 邻居路由器Router-id列表 形成邻居关系的条件: 发送hello-接收hello-接收的hello报文中邻居路由器router-id列表要
4、包含自己router-id * 2、形成邻接关系,更新链路状态信息FLAG 3bit -init:第一次发送DD报文时,值为1 -more:后面还有DD报文时值为1 -M/S:主从关系标识位 M-1 S-0序列号:用于DD报文隐式确认 在init值为1的DD报文发送时选举主路由器(Routerid最大的路由器作为master,另一个作为slave),主路由器发送DD报文使用的序列号,从路由器在返回DD报文时,使用相同的序列号,主路由器下一次发送DD报文时,序列号加一,以此类推。 DD报文内容: LSA头部信息-总和就是路由器LSDB的摘要信息 LSR报文内容: 共有头部 请求的LSA类型 LS
5、A-id LSA发布路由器的Router-id LSU报文内容: 共有头部 发送LSA更新的数量 LSA详细内容 确认收到的LSA 主要包含了收到LSA的头部信息所有发送的LSR都收到了LSU,并且返回LSACK,邻接关系建立完成。*OSPF状态机:1、down-OSPF未激活或邻居不存在2、Init-发送hello报文3、2-way-邻居关系形成4、exstart-交互初始化DD报文(用于选举主从关系)5、exchange-交互DD报文6、loading-发送LSR并等待LSU 7、full-接收到LSU并返回LSACK补充:在非广播链路上,down状态之后会经过attempt状态,寻找邻居
6、。OSPF第一张表:邻居表-建立邻居关系时形成show ip ospf neighbor OSPF第二张表:拓扑表(链路状态数据库)-在邻接状态下完成show ip ospf database OSPF第三张表:路由表-通过SPF算法从拓扑表中选择所有到达目标的最佳路径show ip route ospfLSA更新:1、首先比较接收的LSA(new-lsa)与本地LSDB中已存在的LSA(old-lsa),如果link state id不同: -将new-lsa存放进LSDB,返回LSACK,并将new-lsa泛洪到其他邻居路由器。最后延迟一段时间运行SPF算法计算最佳路径。 如果link s
7、tate id相同,则执行第二步:2、比较两个LSA的序列号 序列号: 0x80000001-0x7fffffff每当LSA更新一次序列号加1或者每当30分钟泛红一次序列号加1序列号值越大说明LSA越新 序列号表示使用有符号补码 -7fffffff-+7fffffff当序列号增加到最大值,路由器将这条LSA的老化时间设置为60分钟(LSA老化时间),在所有的路由器上将删除这条LSA,然后重新更新。 new-lsa-seq = old-lsa-seq 忽略这条LSA,返回LSACK new-lsa-seq old-lsa-seq 添加到LSDB执行步骤1 new-lsa-seq LSA公有头部
8、Link描述:transit,stub,another Router link id:可能是DR地址,接口网段,邻居路由器的Router-id Link Data:连接DR的接口地址,掩码,连接邻居的接口地址 metric:接口度量值 二类LSA 查看:sh ip ospf database network 描述:标识DR路由器的IP地址,以及连接到这个DR所有邻居路由器的Router-id 发布者:DR 传播范围:区域内 内容: LS类型-Network LSA LS id-DR路由器的接口IP地址 掩码 所有邻居路由器Router-id列表+由ABR收集区域内1类、2类LSA计算本区域内部
9、LSDB选择最佳路径,一边存放进路由表中,一边将这些路由条目生成一种新的LSA发布到其他区域中。+三类LSA 查看:sh ip ospf database summary 描述:不同区域的路由信息 发布者:ABR发布 传播范围:区域间(除特殊区域) 内容: LS 类型: Summary Links(Network) Link State ID: 网络地址(路由表中的网段) 掩码metric 注意: 普通区域产生的3类LSA只可以直接传给骨干区域 普通区域之间3类LSA不可以直接互传 普通区不可以将从area0收到的3类LSA再重新传递到area 0 骨干区域从普通区域收到的3类LSA,不可以直
10、接在这个ABR上再重新传递到普通区域中 -区域间算法类似与水平分割 四类LSA 查看:show ip ospf database asbr-summary 描述:描述ASBR路由器所在的位置 发布者:ABR 传播范围:区域间 内容: LS 类型: ASBR-summary lsa Link State ID: ASBR路由器的Router-id 掩码-全0 metric-从发布者到达ASBR路由器的cost五类LSA 查看:show ip ospf database external 描述:其他路由器或进程或自治系统发布的路由条目 发布者:ASBR 传播范围:所有区域(除了特殊区域) 内容:
11、LS类型: AS External Link LSID:网络地址(引入的外部路由网络地址) 掩码: Metric Type: 2 (Larger than any link state path) Metric: 20 Forward Address:x.x.x.x External Route Tag: 1、度量类型 E1-SPF算法计算该路由会叠加OSPF内部路径度量值 E2-SPF算法计算该路由不会叠加OSPF内部路径度量值 默认E2 2、转发地址 -0.0.0.0:需要发布者ASBR可达 -x.x.x.x具体地址: 如果转发地址不可达,则这条LSA不会生效 外部路由的出口被OSPF宣告
12、 没有将这个出口设置为被动接口 该接口OSPF网络类型为广播或NBMA 满足以上三个条件则转发地址为一个具体地址。(即引入的外部路由信息的下一跳地址)O O IA O E1 O E2OSPF虚链路 area #(传输区域) virtual-link x.x.x.x(需要建立连接的对端路由器Router-id) 在虚链路两端可以建立邻居关系,但是邻居关系没有死亡时间; 通过v-link发现的LSA标记DNA(do-not-age),该LSA没有超时时间; 除非这条v-link关联的对端Router在LSDB中不可达,则邻居关系消失; 或者DNA的LSA通告路由器的Router-id不可达,这个D
13、NA-LSA失效;OSPF汇总路由: 区域间汇总- 自治系统间汇总-area边界汇总: 在ABR路由器上area 1 range x.x.x.x x.x.x.x (默认)advertise-通告汇总路由,抑制明细路由 cost-修改汇总路由的cost值 not-advertise-同时抑制汇总和明细路由 配置汇总路由的ABR上会产生指向NULL0口的防环路由; ABR路由器只能汇总本路由器直连区域的路由信息; OSPF汇总路由的度量值以明细路由中最小值为准;ASBR(自治系统边界)汇总summary-address x.x.x.x x.x.x.x not-advertise -不通告汇总路由
14、tag -为引入的外部路由信息打标记 普通区域或骨干区域引入的外部路由只可以在ASBR上汇总OSPF特殊区域: stub区域 完全stub区域 not so stub area(NSSA区域) 完全NSSA区域一、stub区域 过滤5类LSA(同时也过滤4类LSA) stub区域中不可以存在ASBR 虚链路不可以穿越stub区域 配置stub区域:router ospf 100area 1 stub 注意:所有属于stub区域的路由器都必须配置stub参数,否则相邻的路由器无法建立邻居关系。 配置完stub区域的路由器会产生一条缺省路由,指向ABR,由ABR路由器发布的3类LSA; 二、完全s
15、tub区域 过滤3、4、5类LSA 其他特性与stub区域相同 配置完全stub区域 在ABR路由器上:router ospf 100area 1 stub no-summary 在区域内部路由器只设置stub标记即可。 区域内部路由器只会产生一条3类LSA发布的路由-缺省路由注意:area 0不可以是任何一种特殊区域三、not so stub 区域 NSSA 过滤5类LSA(同时也过滤4类LSA) 可以存在ASBR-引入的外部路由为7类LSA发布到NSSA区域中,在NSSA区域的ABR上将7类LSA转变成5类的LSA发布到骨干区域中。 虚链路不可以穿越NSSA区域; 配置:router os
16、pf 100area 1 nssa 不会自动产生默认路由,需要手工配置:area 1 nssa default-information-originate 通过手工配置NSSA区域发布的缺省路由为7类外部路由。 如果添加no-redistribution 参数: 则在ABR上引入的外部路由也不会发布到nssa区域中,否则nssa区域中会出现多余的外部路由。 四、完全的NSSA区域 过滤3、4、5类LSA,其他特性与NSSA区域相同; 配置:router ospf 100 area 1 nssa no-summary -只需要在ABR配置 nssa区域内部路由器配置area 1 nssa; 由A
17、BR路由器向NSSA区域内部路由器发布3类缺省路由。发布缺省路由: 1、在ospf进程模式下:default-information originate -必须在本路由器已存在一条缺省路由的情况下才可以使用,路由器发布一条5类的缺省路由到其他路由器上。 如果本地路由器上没有配置缺省路由。则需要添加:always参数; 2、stub区域中由ABR向stub区域中发布的3类LSA;3、完全stub区域中由ABR向完全stub区域中发布的3类LSA; 4、nssa区域中需要手工配置由ABR发布7类LSA到nssa区域中; 5、在完全nssa区域中自动有ABR路由器发布3类LSA到完全NSSA区域中。
18、OSPF负载均衡:在路由等级相同的情况下,只比较COST。O O IA O E1 O E2 N1 N2OSPF被动接口:router ospf 100 passive-interface 被设置为被动接口将不再发送hello报文,一般用于连接主机的接口和连接其他自治系统的接口上。OSPF验证: 明文验证 1、创建密钥(接口)ip ospf authentication-key * 2、应用验证 -应用于接口ip ospf authentication -应用在区域(同时应用在该路由器上属于该区域的接口)area # authentication MD5验证 1、创建密钥(接口)ip ospf
19、message-digest-key md5 * 2、应用密钥 -接口ip ospf authentication message-digest -区域area 1 authentication message-digestV-LINK验证:area 1 virtual-link x.x.x.x authentication-key -设置明文验证密钥area 1 virtual-link x.x.x.x message-digest-key -MD5验证密钥area 1 virtual-link x.x.x.x authentication -激活明文验证area 1 virtual-link x.x.x.x authentication message-digest -激活MD5验证
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1