故事会1:OSPF状态机那些事儿(入门)

  • A+
所属分类:安全文章

OSPF可真是有意思,学的撕心裂肺,然而必将有段时间你会收获一个感慨:一条静态路由就能打天下!!

其实还有很多隐藏的东西.....

本文关键字:状态机

出自公众号:工程师江湖



故事:一个名字叫做ospf状态机的故事


很久很久以前,有一个区域,这个区域叫做 自治系统AS,在AS内部有很多管理员,管理员来有个别名叫做IGP协议,这是对外的说法,里面的每个实体协议都具有属于自己的管理体系,很好理解,每个管理者都有属于自己的管理风格。


IGP里面的实体协议管理员我们把它分别叫做 OSPF,ISIS,Rip,Eigrp。


那么,OSPF的故事开始了。

故事会1:OSPF状态机那些事儿(入门)


刚才也说了,OSPF这个实体管理员有属于自己的管理风格,我相信每个管理员都会做一件事情,拆分团队,让他们各司其职。


所以,ospf里面存在区域这么一个说法,重要骨干小团队叫做骨干区域,也就是area0,其余的团队叫做非骨干区域,这些非骨干区域可以是area 1 ,area3,area4.....


管理员并不是很关心,他只关心核心小团队,area0。

至于其余的非骨干区域,让他们负责好自己的一亩三分地就行,发生变动时候都要联系area0,也就是骨干区域,换句话说就是,骨干区域里面的队员都是对外的小领导,叫做ABR。

故事会1:OSPF状态机那些事儿(入门)


就好像网工们一般运气不好进入了外包团队,那么等待你的将是颐指气使。哪怕是一个客户的普通职员,也会是你的领导。

故事会1:OSPF状态机那些事儿(入门)

问题来了,这些非骨干区域怎么把重要消息汇报给管理员呢。


很简单,每个非骨干区域都要和骨干区域的队员建立连接。

这个连接方式叫做虚连接,通过骨干区域绕一圈才能汇报上去。

故事会1:OSPF状态机那些事儿(入门)


其实有一个点需要意识到,不管你是谁,都脱离不了最基本的关系。


在ospf里面我们叫做邻居或者领接关系。


怎么讲?

你上班了,你的同事对于你来说只是一个象征合伙做事的意义,只在上班的时候才会有交集,关系很简单,这个叫做邻居关系。


不过随着时间的推移,忽然渐渐发现,你和这个同事居然有相同的兴趣,相同的语言,相同的饮食习惯。


额,可能在朝着像基友那方面发展,别想歪,我是说关系很紧密,有私事,大家互相帮助。


这个就已经到了领接FULL的关系。


先看下面这个图。

故事会1:OSPF状态机那些事儿(入门)

FULL就是最终的基友关系,2-way就只是陌路旁人的关系。


串联一下

你加入一个公司了,签完协议了,好了,这时候你是这个公司的职员了。

什么都不知道,只是在公司的通讯录上面见到一串人名,ok,这时候是DOWN的状态,加入,但是没有和其他人建立了联系。


放在ospf里面来讲就是,我只是刚刚把ospf协议配置上去,还没有任何动静。

// OSPF配置

ospf 1 router-id 1.1.1.1non-stop-routingarea 0.0.0.0network 192.168.10.1 0.0.0.255......


接着你的领导在群里面发了个消息,欢迎新同事。

然后一堆同事的消息在QQ或者微信群里面弹出来,欢迎加入我们。


这时候这些欢迎你的同事,对于你来说,是单播消息,也就是ospf里面的Init状态,你收到了对方的hello报文消息,但是对方的通讯录里面并没有你。

故事会1:OSPF状态机那些事儿(入门)


这时候你就开始蠢蠢欲动了,在想,部门同事我得赶快一个一个的加上去,联络一下感情,要不没法做事,转正还要靠他们指点。


我加,我加,我使劲加好友.....


hello,我是新入职的同事,名字叫做,“工程师江湖——售后”,请多多指教。


对方回你消息了,你们的点对点建立成功了,在OSPF里面叫做2-Way状态。


稍等,在这个里面会发生一件悄无声息的小战争,占据制高点。

在公司总会有上下级。

老员工,新员工。

大神,菜鸟的区别。


这时候2-way状态下就是在无声无息的争这个事情。

也就是DR,BDR的选举。


前提,你不是外包人员,如果是外包人员,伙计,我只能说你被默认放弃了,大家都不会拿你很当做一回事。


哪怕是在OSPF协议里面也是这样残酷。

你是外包人员,那么很抱歉,你的优先级为0,累的,麻烦的你来做,轻松的也是能让你做,就尽量让你做。

故事会1:OSPF状态机那些事儿(入门)


在OSPF协议里面,优先级为0的设备是不能参与DR,BDR的竞争的。


新入职的员工:我好歹也是实战经验丰富,自信和别人差距不是很大。


寒暄着,慢慢进入小型战争状态。


我最近也是有点烦,IE认证要到期了,你的到期没有?

哎,我其中的一个安全IE证书快到期了,不打算考了。


我擦,多IE,赶紧认怂,话题跳过。


无声无息在你心中,可能已经默认别人比你强了。


ospf中,这就是比较优先级,当然了还有其他的比较,这里不具体细说。


有一个问题,为什么要选举DR,DRother呢?


因为ospf是一个链路状态路由协议,具体的详细信息依靠大量的LSA报文这些泛洪,你想想,如果两两路由器之间都要交互相关信息,那么设备需要多强的性能呢?


换个思路想,在公司里面,每个管理者的下属,也就是队员不可能清清楚楚知道团队里面成员的动向,这个只有管理员知道,因为任务是它派发下去的。


也就是说有个中心点,就是DR,你们DRother统一向DR汇报,然后DR整合消息,在群里统一下下发。


如果有了DR指定转发,那么连接数关系就变为N*(N-1)个。

为了防止DR忙不过来,配置有助手BDR,DR不在,那么BDR之间选举出一个DR,这个DR负责中心节点该做的事情。


至于DRother,你们各司其职就好。

故事会1:OSPF状态机那些事儿(入门)


各位,注意一下,上面的2-way状态只是处理简单的消息,比如见面时候,hello,吃了么,等这种无关紧要的消息。


如果要进行业务上面的交集,这时候关系还要更进一步。

领接FULL,可以交换链路状态信息,同步自己的数据库,说白了就是,我知道你在做的项目,你也知道我在做的项目的具体情况,资源调用情况。


2-way以后开始进入下一个状态。


ExStart

要开始交换信息了,又有一个问题,谁先来,怎么知道这个同事确实得到过领导的授权呢?


也得加一层保险,在OSPF里面叫做隐式确认

由于OSPF直接用IP报文来封装自己的协议报文,所以在DD报文传输的过程中必须考虑到报文传输的可靠性。 

叫做主从Master/Slave选举。


好了,继续进入下一阶段,EXCHANGE状态

这是什么?

就好像你在公司通讯录的第一眼通常都是观察部门,公司有多少部门,部门里面的每个人员大概是干什么的,连蒙带猜。

比如负责售后技术支撑,售前支持等。

exchage阶段就是了解部门的介绍信息,包括部门这个整体是做什么的,部门里面的人员大概负责什么的。

ospf里面就是叫做DBD报文,数据库描述报文,描述本地LSDB信息。

换成书的目录,你可能会更好理解点。

故事会1:OSPF状态机那些事儿(入门)


ok,这个阶段完事了,下一个阶段,Loading状态

企业中遇到业务情况,我先知道找哪一个部门,然后根据部门的这个人员划分,去找这个负责人进行申请,我需要这方面的人要支持等等类似。

ospf里面就是使用LSR请求报文,然后会收到一个具体的LSU报文信息。

也就是这个员工具体可以提供的能力支持,负责人发给你这份能力表,收到的这个具体能力描述信息就是LSA报文。

收到了,回复一下这个管理人员,我知道你的队员能够做什么了,就是LSAck报文。

绕死我了,只能这样喽。

故事会1:OSPF状态机那些事儿(入门)

然后不断的交互,同步,最后发现,遇到了对的人,他就是我要找的那个技术支持人员,FULL状态,所有人的LSDB同步。

总结一下:

故事会1:OSPF状态机那些事儿(入门)

备注:

网盘感觉有点麻烦,有时候会莫名失效。干脆直接同步更新在知识星球,自行去往星球下载文件。

最后

有任何补充,欢迎入群交流。

Blue469 拉你入群。

1、投票

投票——由你,来 决定 工程师江湖 的方向!!

2、知识星球(文件分享,外快等信息发布)

网工的知识星球,终于开始邀请人加入了!

————  e n d ————


觉得文章不错的,欢迎点在看转发,长按下图关注公众号 工程师江湖,收看更多精彩。


故事会1:OSPF状态机那些事儿(入门)

今日问题:状态机部分你还有什么疑惑欢迎留言

故事会1:OSPF状态机那些事儿(入门)

今日推荐阅读

故事会1:OSPF状态机那些事儿(入门)

1、等保到底是个什么玩意(一):前序介绍

2、要搞服务器了,为什么有点慌啊,其实真的不怪我

3、HCL+ENSP 模拟器+教程

4、Telnet背后的故事

5、Linux视频资源

5、VRRP双主,真是要了我老命了

6、面试猪场,结果二面就跪了

......

本文始发于微信公众号(工程师江湖):故事会1:OSPF状态机那些事儿(入门)

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: