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,如需转载请自行联系原作者
目录
相关文章
|
12月前
|
网络协议 算法 网络架构
动态路由四大天王:OSPF、RIP、IS-IS、BGP,收藏这篇文章足矣!
动态路由四大天王:OSPF、RIP、IS-IS、BGP,收藏这篇文章足矣!
159 0
|
网络协议 算法 数据库
OSPF动态路由协议基础知识
OSPF动态路由协议基础知识
149 1
OSPF动态路由协议基础知识
|
网络协议 算法 网络架构
OSPF高级配置——学习OSPF路由协议的高级应用
在一个大型的网络中会存在很多问题,如新建区域没有和骨干区域相连,路由条目过多,L.SDB过大,OSPF和其他路由协议之间如何通信等问题,需要进一步解决和优化。通过本章的学习可以解 决上面提到的OSPF网络中存在的一些问题,本章将介绍OSPF路由协议的NSSA区域的概念和配置以及一些OSPF路由协议的高级应用(路由重分发、地址汇总、虚链路等)的原理和配置。
147 0
OSPF高级配置——学习OSPF路由协议的高级应用
|
网络协议 网络架构
BGP基础理论详解
BGP是一种实现自治系统AS(Autonomous System)之间的路由可达,并选择最佳路由的距离矢量路由协议
412 0
|
存储 网络协议 数据库
OSPF深度好文:OSPF 路由汇总
路由汇总是指设备将学习到的部分路由网段按照一定的规则聚合成单个路由的操作,一般来说,路由汇总可以大大减少设备路由表项和转发表项。一方面可以减轻设备的负担,另一方面也可以让设备保存更多不同地址的路由。
157 0
OSPF深度好文:OSPF 路由汇总
|
网络协议 数据库 C++
|
算法 网络协议 数据库
大型网络实战之ospf路由协议
OSPF路由协议 楔子 为了加强自己我打算好好玩玩网络。 OSPF的基本概念和工作过程 开放式最短路径优先协议(OSFP)是基于开放标准的链路状态路由选择协议,它完成各路由选择协议算法的两大主要功能:路径选择和路径交换。
1644 1
|
算法 网络协议 网络架构