码迷,mamicode.com
首页 > 其他好文 > 详细

ospf基础原理

时间:2016-06-23 01:14:19      阅读:681      评论:0      收藏:0      [点我收藏+]

标签:路由器   数据库   路由表   hello   neighbour   


ospf的五种协议报文
hello报文:周期发送,建立邻居,维护neighbour、选举DR/BDR
DD报文:描述本地LSA的摘要、查看有没有LSA 节省链路的带宽

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


hello——>neighbour (通过发送hello包建立邻居表)
neighbour lsa——>lsdb(通过邻居相互通告LSA建立链路状态数据库)
lsdb spf——>route table(通过SPF计算LSDB得出路由表)

ospf建立邻居匹配的参数:
1.hello时间和dead时间一定要一致
2.area id 要一致
3.认证密钥要一致
4.区域stub类型

LSA几种方式

router-lsa 由每个路由器生成,描述了路由器的链路状态和花费,传递到整个区域
network-lsa 由DR生成,描述了本网段的链路状态,传递到整个区域
net-summary-lsa 由ABR生成,描述了到区域内某一网段的路由,传递到相关区域
asbr-summary-lsa 由ABR生成,描述了到ASBR的路由,传递到相关区域
as-external-lsa 由ASBR生成,描述了到AS外部的路由,传递到整个AS(Stub区域除外)


LSA1 提供网络号和metric值 LSA2提供掩码的结合起来传输
LSA2不能穿过ABR(MA网络中)
LSA3穿越ABR就会标识为这个ABR的router-id
LSA4的作用:告诉其它区域ASBR所在的位置
LSA4和LSA5结合起来的、有LSA5产生才叫ASBR
LSA5不属于任何区域 通告者是不会发生改变 


七个状态

down  没建立邻居    

init 发送hello包、进入init  (hello包含自己的IP地址确定neighbour关系  收不到hello包进入attempt状态)
2-way 收到hello包含自己的router-id,进入2-way、DR/BDR选举、建立邻接关系  邻居已经建立
exstart:first交互DD包,进入exstart(选出master/slave router-id高就是master)隐式

Exchange:相互交互DD完成交互

loading:发送LSR LSU  、加载LSR、LSU

full

技术分享


SPF算法:

1.在同一区域的每台路由lsa都是一致
2.每台路由器都以自己为根计算最短路径


触发更新
周期泛洪:30分钟泛洪一次 60分钟老化时间60分钟收不到更新LSA就数据库中删除该LSA

本台路由器收到LSU查看数据库中没有LSA添加到本地的数据库中,向源端发送LSACK,然后再向邻端泛洪、若本地发现有这条LSA条目了,判断lsa是否是最新,比序列号大的是最新的LSA


OSPF为什么是无环的?内部可以保证无自环、外部引入进来不能保证
1、每一条LSA都标记了生成者、其它路由器只负责传输、不对其修改
2、路由计算的算法是SPF:计算的结果是一个棵树

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


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

1.优先选较大的priority(default=1)   在接口下修改优先级 ip ospf priority

2.较大的router-id


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

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


网络类型:    
loopback:收到32位的主机位
point-to-point:组播更新 不选DR      
broadcast:组播更新 选DR
NBMA:单播更新 选DR
P2MP:组播更新 不选DR 会产生到达对方直连接口32位的路由
P2MP NBMA:单播更新 不选DR 会产生到达对方直连接口32位的路由


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

point to point 邻居就是邻接关系
MA网络有一些只能到邻居 有一些是邻接
在MA网络中先选举DR BDR  full
DROTHER 到达two-way状态


组播地址:224.0.0.5、224.0.0.6只用于BDR监听DR


链路状态协议要分层 :传输区 常规区


划分区域的好处

1.减小路由表的条目(域间汇总)

2.将topology变化本地化
3.减少LSA泛洪范围


如果边界出现多个ABR,控制cost值处于选路


汇总:
1.基于接口还是进程
2.本地产生汇总路由吓一跳指向null0
3.所有明细路由都消失汇总路由才消失

4.cost值取明细中最小的cost值

ospf cost跟带宽有关系
cost=10*8/bw   (bandwidth单位:bps比eigrp少1000)
E2不累加cost值 seed cost 种子值 所有协议重分布进来cost的值都为16
cost的值1-65535
10M=cost的值10
100M=cost的值1
1000M=cost的值1
10000M=cost的值1


域内汇总:不能做,因为每台路由器在同一区域都有相同的数据库,都有明细
域间汇总:area x range     建议在本区域的所有ABR上做 (进程里做)
域外汇总:summary    (进程里做)


ospf的特殊区域:(NSSA、STUB)
设计特殊区域是为了减少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 区域里面只


解决不规则区域:

1.多进程的双向重分布 (配置复杂)

2.打tunnel 把tunne口宣告到area 0 (配置复杂 其实性质跟虚链路差不多)
3.虚链路(配置简单)

认证:明文 md5
1.链路认证
2.区域认证
3.虚链路认证
4.NSSA下放默认路由


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










ospf基础原理

标签:路由器   数据库   路由表   hello   neighbour   

原文地址:http://maguangjie.blog.51cto.com/11214671/1791875

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!