第四天总结

OSPF(开放式最短路径优先协议)

更新量大,运用于大型网络时需要合理的将网络分为若干区块,区块之内传拓扑,区块之间传路由,同时合理的分配ip,力图减少更新量,使网络更通畅。

OSPF更新方式

一种是触发式更新,当路由结构出现突变时第一时间进行过更新,这里断了那里挂了得马上知道,保障网络的时效性。

还有一种是周期性更新,周期更新不是确保网络时效的,一个周期一个周期的没有时效性可言。周期性更新是一种保底机制,有些触发式更新没有确认机制,所以就不停发,一次两次可能收不到,但总能收得到吧。

周期更新还是路由器间的保活机制,本来更新包很稳定,但突然就收不到了,一个dead time时间收不到那就断开邻居关系,从那边学的路由全部删掉。

但是OSPF有lsack包用于确认,有hello包保活,周期更新的事已经干完了,但OSPF还是有周期更新,30min一次。这里是为了纠错,毕竟更新量大,情况多,多留一手。

OSPF的亮点是防环,因为其基于lsa(拓扑)收敛,就是通过拓扑图来选择路由

OSPF通过组播更新,224.0.0.5是通用地址,224.0.0.6是DR和BDR专用的

OSPF的五种数据包

这五种数据包都是跨层封装于3层报头,协议号是89,跨层封装就没有端口号了,用协议号来区分。五种包都有一个统一格式:

 第一个是版本号,版本1淘汰了,现在主要是版本2,版本3用在ipv6里

第二个是包的类型编号        

第三个是包的长度

第四个是路由器的“名字”要做到全网唯一

第五个是区域id,用于划分区域

第六个是效验和,用于确定包的完整

第七个是认证类型,有没有认证,明文认证和加密认证三种

第八个是呼应第七个的用于装密码的区域

最后一个是对应包的具体信息

这五个包分别是:

Hello        用于发现邻居

DBD      数据描述

LSR        链路请求

LSU        链路状态更新(LSA是具体的每一条拓扑或者路由信息,它基于LSU传输)

LSAck        链路状态确认

具体的建邻过程为:两台互不认识的路由器R1,R2有一方通过244.0.0.5发出了Hello包(假定R1发出,其中关键信息为router id),R2收到后,回一个Hello包以表确认并交代自己的router id。R2在收到Hello包的时候就从Down状态进入到 Iint 状态。在R1收到回复后,R1,R2都进入了Two-way状态,建立邻居关系,生成邻居表。

在符合一定条件后(下文展开说明),会从邻居关系变为邻接关系,R1会在Exstart状态发出不携带内容的DBD包(只有router id)进行主从选举以进入Exchange状态并开始交换路由清单(选主从是为了决定谁先发出路由清单以避免双方同时发送导致的网络卡顿,router id数值大的为主,主路由器先发)

看过路由清单后,双方进入Loading状态,不知道的路由就会向对方发出LSR包请求告知,对方回复LSU包告知,收到后再回复LSAck表示收到。收发完毕后,双方进入Full状态,本地数据库表完成(LSDB链路状态数据库)。

本地数据库同步完成后,先将其转化为有向图,再转化为最短路径树,然后加载所有到达位置网段的最短路径于本地路由表中(此计算过程称为SFP最短路径优先计算),至此,OSPF完成建立

路由表生成后,邻接关系建立,收敛完成,一般情况组播Hello包保活即可。

上述的“一定条件”是:非DR/BDR之间建立邻居关系。

因为一个网段中的节点数量不受限制,理论上两两皆可邻接,会导致大量重复更新,距离矢量协议(rip)中可以使用水平分割机制解决该问题,但是ospf需要邻接间比对数据库,不能使用接口水平分割,所以采用DR/BDR选举,非DR/BDR之间就不进行LSA的同步了

DR/BDR选举,先比较参选接口的优先级,越大越优,此优先级默认为1,取值范围0~255

OSPF不规则区域

分为两种:1.远离了骨干的非骨干区域

                  2.不连续骨干

不规则区域会导致路由无法传递,没有连接到区域0的ABR是非法ABR,无权传递自己学到的路由。

有一个很简单粗暴的解决方案:用gre把非法ABR在逻辑上和区域0连起来变成自己人,让其合法。

但是缺点也很明显:毕竟是逻辑连接,其周期保活会对中间的物理设备造成负担。还有更重要的一点:会造成选路不佳。因为在路由传递中,区域0的骨干路由享有贵宾待遇,是优先于度量值的,这就会导致区域0那边的信息全部走虚拟接口,所有包都要多加一层封装,这是大硬伤。

所以就得用另一种解决方案

OSPF虚链路,相当于趋于0的合法ABR给了非法ABR一个合法授权。此方案没有增加新的链路,避免了选路不佳。但是周期保活对中间设备还是有资源占用。

这个方案还是不痛快,方案总是有更好的

多进程双向重发布

多进程就是ospf协议运行多个,相当于一个电脑登录多个QQ。配有多个ospf的ABR可以正常接收LSA并生成总路由表,但不同进程的ospf数据不共享,就像电脑里的QQ们聊天记录不共享一样。然后重发布,把最终的路由表共享出去。

这样就可以解决上述的保活问题,遥远的ABR不再和骨干的ABR有联系了。

OSPF的MTU值问题(MTU是包的大小上限)

ospf要求邻接关系的接口的MTU值完全一致,不然就会止步于exstart或者exchange状态,因为会检测BDB包中的MTU值

cisco默认jianceMTU,华为默认不携带

LSA类别                  传播范围                  link-ID                           通告者                     携带的内容

LSA1-->router          单区域                 通告者router id               该区域内每台设备     本地直连拓扑

LSA2-->network       单区域                   DR的接口ip                     该网段的DR           DR网段拓扑

LSA3-->summry       整个OSPF域       域间路由的目标网络号       ABR                      域间路由

LSA4-->asbr        除ASBR所在以外的OSPF域        ASBR的router    ABR                ASBR位置

LSA5-->ase         整个OSPF域             域外路由的目标网络号          ASBR                域外路由

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值