ospf基础原理

简介:

OSPF开放式最短路径优先
OSPF协议是IETF组织建议使用的内部网关协议
OSPFv1用于实验、OSPFv2用于IPv4、OSPFv3用于IPv6
OSPF使用区域概念,减少路由器CPU、内存占用,构建层次化网络
宣告OSPF从接口上发出Hello数据包


OSPF特性:

1、OSPF属于IGP,是Link-State协议,基于IP Pro 89
2、采用SPF算法(Dijkstra算法)计算最佳路径、无环

3、快速响应网络变化
4、以较低频率(每隔30分钟)发送定期更新,被称为链路状态刷新
5、网络变化时是触发更新、组播发送

6、支持等价的负载均衡、备份路径

7、支持验证、安全性

……


ospf的五种协议报文
hello报文:周期发送,建立邻居,维护neighbour、选举DR/BDR,缺省时间间隔是10秒

DD报文:描述本地LSA的摘要,DBD有序号(邻接才能双方交换DD报文,交换LSA并达成LSDB的同步)

LSR报文:向对端请求本端没有或对端的更新的LSA
LSU报文:向对方发送其需要的LSA
LSack报文:收到LSU之后、进行确认


邻居与邻接区别:邻居关系仅仅交互hello  邻接关系是交互LSA

1、p2p邻居就是邻接关系(以组播224.0.0.5发送协议报文)
2、MA网络有一些只能到邻居 有一些是邻接(在MA网络中DR、BDR为full状态,而DROTHER 到达two-way状态)

组播:224.0.0.5、224.0.0.6只用于BDR监听DR,224.0.0.6称为 AllDRouters(DR只针对路由器接口)

OSPF报文格式:

wKiom1ixdw_wUqszAABoekpZBaQ808.jpg

OSPF头部报文格式:

wKioL1ixdz3CC31tAAHBrrajCJo789.jpg

OSPFhello报文格式:

wKiom1ixd3ODEW-vAAKcSpiAS1A078.jpg

OSPF的链路状态描述报文格式:

wKiom1ixd5mhJBPEAAGjkkeWEog800.jpg

OSPF的链路状态请求报文格式:

wKiom1ixgRaC7iDzAAGfmRCjqng062.jpg


wKiom1ixgEDBhYq_AAGMLkqqyOY589.jpg


LSA类型

LSA1:每个路由器产生、描述路由器链路状态和开销,在本区域传输(提供网络号和metric值 LSA2提供掩码的结合起来传输)

LSA2:由DR产生,描述本网段所有路由器的链路状态,在本区域传输(不能穿过ABR(MA网络中))
LSA3:由ABR产生,描述区域内某个网段的路由,通告给其它区域(穿越ABR就会标识为这个ABR的router-id)
LSA4:由ABR产生,描述ASBR的路由,通告给相关区域(告诉其它区域ASBR所在的位置)
LSA5:由ASBR产生,描述到AS外部的路由,通告给所有的区域(除Stub、NSSA)
LSA7:由NSSA区域内的ASBR产生,描述到AS外部的路由,仅在NSSA区域内传播


LSA4和LSA5结合起来的、有LSA5产生才叫ASBR
LSA5不属于任何区域 通告者是不会发生改变  

wKioL1jpCn7ycRn0AAMWMCD7P2Y657.jpg

wKiom1ixbYqCWDuEAAJorHq_jMU568.jpg

SPF算法:每一条LSA都标记了生成者、其它路由器只负责传输、不对其修改

1、每一个OSPF区域,所有路由器有同样的LSDB

2、每一台OSPF路由器,在计算时都以自己为树根计算一棵SPF树
3、从本路由器出发到特定目标网络的整体开销最小的那个路径,成为最佳路径
4、那么这条最佳路径,就成为OSPF这个协议,提交给路由表,到达这个目标网络的路由


最长匹配,AD比较,Metric比较
先比较最长匹配如(10.2.2.0/24,10.0.0.0/8,将选10.2.2.0/24,而不管路由协议的AD),然后比较AD,最后比较Metric


触发更新
周期泛洪:30分钟泛洪一次 60分钟老化时间60分钟收不到更新LSA就数据库中删除该LSA
本台路由器收到LSU查看数据库中没有LSA添加到本地的数据库中,向源端发送LSACK,然后再向邻端泛洪、若本地发现有这条LSA条目了,判断lsa是否是最新,比序列号大的是最新的LSA


IGP引入到OSPF中是E1、cost是不发生改变的,BGP引入到OSPF中是E2、cost是发生改变的

OSPF的选路原则:O > OIA> OE1>OE2


DR的选举方式:(DR针对的是接口不是路由器)

1、优先级越大,越可能成为DR(default=1)   在接口下修改优先级 ip ospf priority

特别注明:OSPF的优先级是针对某个特定的MA接口而言的,不是针对整个路由器的

2、较大的Router-ID。(Router-ID最大的成为DR,次大的成为BDR。其余的统统都是DR-other)


DR、BDR特点:

1、DR不抢占 BDR不抢占 (防止篡改路由表不稳定)
2、当DR Down BDR直接选举为DR,不需要重新选举DR
3、DR/BDR/DROTHER是接口概念
4、不同网段分别选DR,BDR


Router-ID选举方式:
1.手工指定(任意 唯一性)
2.loopback口最大的ip地址
3.物理接口最大的ip地址(必须活跃的物理接口)

Router-ID:建议全网唯一,不然会导致问题
同一个路由器可以启用不同的进程,但不同的进程分属与不同的as,不能互相同步信息
同一个路由器不同的进程不能使用相同的router-id


OSPF的路由汇总:注意路由汇总要精确
生成的汇总路由包含范围过大,则很可能形成路由黑洞
生成的汇总路由包含范围过小,则很可能丢失部分明细路由
域内汇总:不能做,因为每台路由器在同一区域都有相同的数据库,都有明细


划分区域的主要目的:

1.减小路由表的条目,进而减少每个路由器内存中的路由,及其内存消耗,提高转发效率

2.将topology变化本地化
3.减少LSA泛洪范围,防止某个区域中的路由抖动,影响到别的区域。(减少爱波及的范围)


ospf的特殊区域:设计特殊区域是为了减少LSA条目 泛洪

stub区域规则:
1、过滤LSA4/5,stub主动下放LSA3的默认路由,cost的值是1  
2、建立邻居区域要匹配(这个区域所有路由器都要配置stub)
3、配置stub区域不能出现ASBR
4、不能把area 0 配置stub区域


stub  过滤LSA4/5、下放默认路由(LSA3)seed cost=1
totally stub 过滤LSA3/4/5、下放默认路由(LSA3)seed cost=1
NSSA 过滤LSA4/5将LSA7转换为LSA5、不下放默认路由(default LSA7)seed cost=1
totally NSSA过滤LSA3/4/5、下放默认路由(no-summary LSA3)cost=1                    
totally stub 减少路由表条目 cisco私用 在ABR上配置area 1 stub no-summary 区域里面只


虚拟链路的产生:area 【穿越区域】 virtual-link 192.100.0.2【对端的route-id】

1.在大型网络工程中,由于历史原因,导致网络扩展不佳,迫于网络扩容的原因,被迫新建OSPF区域。
2.在大型网络中,处于网络冗余考虑,避免因为个别物理链路的中断,导致整个OSPF区域的全网中断
3.导致OSPF的Area0区域出现双BackBone
解决办法:虚链路(配置简单)、GRE(配置复杂)、不同进程间的重分布(配置复杂)

第一种做法:需要先写一条静态的默认路由,再用命令下发
ip route 0.0.0.0 0.0.0.0 Serial 0
default-information originate
第二种做法:不需要写一条静态的默认路由,直接下发

router ospf 100
  default-information originate always 

  log adjcency-changes detail 日志管理

  ospf的重分布需要加上subnet


距离矢量选路依据是邻居、链路状态选路依据自己的LSDB

单区域的OSPF还不如静态路由


OSPF配置
ospf 110 router-id 1.1.1.1 建立进程号 router-id
peer 10.1.1.2 配置邻居
log-peer-change 开启邻居变化日志信息
filter-policy import 对接收的路由信息进行过滤的规则
filter-policy export 对发布的路由信息进行过滤的规则
import-route static 重分布静态
default-route-advertise 下放默认路由
asbr-summary 10.1.0.0 255.255.252.0 ASBR地址汇总
area 0  区域零
network 2.2.2.0 0.0.0.255  反掩码(0表示严格匹配,1表示任意匹配)

area 1
abr-summary 10.1.0.0 255.255.252.0   ABR地址汇总
当网络中出现两台核心时,ospf的cost一定要做修改,不然路径等价负载会出现丢包现象。
修改cost值不在ospf进程打 bandwidth-reference 不然你改cost的值就会出现麻烦


reset ospf 110 process 重启ospf110 进程

display ospf 显示ospf全局信息、包括router-id、area、abr、asbr
display ospf error 显示接收报文时记录的所发生的错误
display ospf interface 查看接口信息、包括cost、type、state、dr等
display ospf peer 查看与邻居router之间的关系
display interface brief 查看接口的计数










本文转自 周小玉 51CTO博客,原文链接:http://blog.51cto.com/maguangjie/1791875,如需转载请自行联系原作者
目录
相关文章
|
3月前
|
网络协议 算法 数据库
搞清RIP和OSPF的区别,这是我见过最好的总结!
搞清RIP和OSPF的区别,这是我见过最好的总结!
213 0
|
网络协议 算法 数据库
OSPF动态路由协议基础知识
OSPF动态路由协议基础知识
214 1
OSPF动态路由协议基础知识
|
网络协议 算法 网络架构
动态路由四大天王:OSPF、RIP、IS-IS、BGP,收藏这篇文章足矣!
动态路由四大天王:OSPF、RIP、IS-IS、BGP,收藏这篇文章足矣!
263 0
|
网络协议 算法 数据库
IS-IS 路由选择协议入门
为了理解中间系统一中间系统(IntermediateSystem-to-Intermediate System, IS-IS) 路由选择协议的本质和内在的工作原理,把它放在整个网际协议和相关技术的框架中学习是十分重要的。本章深入IS-IS协议的本质,并且探讨了国际标准化组织(Intemational Organization forStandardization, ISO) 支持的无连接网络环境。
260 0
IS-IS 路由选择协议入门
|
网络协议 网络架构
BGP基础理论详解
BGP是一种实现自治系统AS(Autonomous System)之间的路由可达,并选择最佳路由的距离矢量路由协议
549 0
|
算法 网络协议 数据库
大型网络实战之ospf路由协议
OSPF路由协议 楔子 为了加强自己我打算好好玩玩网络。 OSPF的基本概念和工作过程 开放式最短路径优先协议(OSFP)是基于开放标准的链路状态路由选择协议,它完成各路由选择协议算法的两大主要功能:路径选择和路径交换。
1726 1
|
算法 网络协议 网络架构
|
算法 网络协议