OPSF - 2,状态机
1,报文更新地址
点到点:所有报文发送224.0.0.5
虚链路:单播地址
广播网络上:DR OTHER至DR/BDR 224.0.0.6,DR/BDR至DR OTEHER 224.0.0.5
即:默认都发到224.0.0.5,MA网络发给多出来的DR/BDR是224.0.0.6
2,报文种类
HELLO:周期性发送给邻居,发现和维持OSPF邻居关系。
data包含Neighbors/DR IP address/BDR IP address/RouterID/Router priority(选DR和BDR用到的)/四个打星的参数等。
LSR:向对方请求自己所缺的LSA,只有双方成功交换DD后才会发送。data包含请求的LSA摘要。
LSU:包含完整的LSA信息,向对方更新LSA,可以包含多条LSA。data包含详细的LSA信息。
LSAck:对LSU的确认。data包含空。
DD(DBD):发送LSA摘要,描述LSDB。data包含所有LSA摘要。
备注:LSAck对LSU的确认是显示确认,DBD是隐式确认即对方需发一条序列号更新的过来。
3,DBD报文
有三个字段,3个BIT,组成flag值0X0-0X7
Init:首次发送1
More:还有更多1
Master/Slave:主1
例如,首次发送认为自己是主0x7,非首次自己是主0x3
4,状态机
Down :邻居会话的初始阶段,表明没有在邻居失效时间间隔内收到来自邻居路由器的Hello数据包。
Attempt : 该状态仅发生在NBMA网络中,表明对端在邻居失效时间间隔(dead interval)超时后仍然没有回复Hello报文。此时路由器依然每发送轮询Hello报文的时间间隔(poll interval)向对端发送Hello报文。
Init :发送Hello报文后状态为Init。
2-way :建立邻居。收到的Hello报文中包含有自己的Router ID,则状态为2-way;如果不形成邻接关系则邻居状态机就停留在此状态,否则进入Exstart状态。
Exstart :如果形成邻居关系,则从Init状态转到Exstart状态,开始协商主从关系,并确定DBD的序列号,对DBD的隐式确认。(第一个DBD报文用来选主从关系,RouterID大的为主)
Exchange :主从关系协商完毕后开始交换DD报文,此时状态为Exchange。
Loading :DD报文交换完成即Exchange done,此时状态为Loading。
Full :建立邻接。LSR重传列表为空,此时状态为Full。
5,状态机简述
down:初始,没有收到信息,但能发hello包
attempt :
Init :收到hello包,但是没有路由器ID
2-way :收到包含自己RouterID的hello包,选DR/BDR
Exstart :通过first DBD,确认主从
Exchange :DBD交互
Loading :LSR和LSU交互
Full 最终状态
OPSF - 2,状态机的更多相关文章
- 适合WebApi的简单的C#状态机实现
目标 采用了Restful WebApi的架构,再把业务逻辑状态转移放到后端就有点违背初衷了.实际上只要后端Api的权限设置的好,把状态转移放到前端也未尝不可.我考虑的结果是,一般如果变更这个状态本身 ...
- 趣说游戏AI开发:对状态机的褒扬和批判
0x00 前言 因为临近年关工作繁忙,已经有一段时间没有更新博客了.到了元旦终于有时间来写点东西,既是积累也是分享.如题目所示,本文要来聊一聊在游戏开发中经常会涉及到的话题--游戏AI.设计游戏AI的 ...
- Workflow笔记2——状态机工作流
状态机工作流 在上一节Workflow笔记1——工作流介绍中,介绍的是流程图工作流,后来微软又推出了状态机工作流,它比流程图功能更加强大. 状态机工作流:就是将工作流系统中的所有的工作节点都可以看做成 ...
- Unity Animator动画状态机 深入理解(一)
接触Unity以来就已经有了Animator,Animation用的少,不过也大概理解他俩之间的一个区别于联系. 图中其实就是Animator和Animation之间的区别于联系了,啊!你肯定会告诉我 ...
- FSM(状态机)、HFSM(分层状态机)、BT(行为树)的区别
游戏人工智能AI中最常听见的就是这三个词拉: FSM 这个不用说拉,百度一大堆解释, 简单将就是将游戏AI行为分为一个一个的状态,状态与状态之间的过渡通过事件的触发来形成. 比如士兵的行为有“巡逻”, ...
- JavaScript状态机程序逻辑编辑器
制作背景 之前做Win8 Metro动态加载内容框架的时候,由于采用了XAML+JavaScript的方法,程序复杂的执行逻辑是由JavaScript控制的,而页面一多,流程一复杂,制作起来就非常麻烦 ...
- react+redux教程(二)redux的单一状态树完全替代了react的状态机?
上篇react+redux教程,我们讲解了官方计数器的代码实现,react+redux教程(一).我们发现我们没有用到react组件本身的state,而是通过props来导入数据和操作的. 我们知道r ...
- Game中的状态机
我相信大多数博友都会玩游戏. 玩游戏,牵涉到状态包含 登陆,正常,死亡,复活,下线, 在上面状态的基础上.同时包含 站立,走动,跑动,不可移动施法状态, 战斗状态, 通常这是三个不同的分组.也就说可以 ...
- SharePoint 2013 状态机工作流之扩展自定义状态
当我们使用SharePoint 2013的状态机工作流时,发现一个非常不爽的事情,就是SharePoint 所有的工作流状态,都是固定的那些,没办法显示我们自定义的状态,后来经过Google发现,原来 ...
随机推荐
- rabbitmq install erlang faild
我安装的时候莫名的出现这2个错误 No Presto metadata available for rabbitmq-erlangwarning: /var/cache/yum/x86_64/7/ra ...
- django基础 -- 1. 前奏 web框架的本质
一. http协议 1.请求方法(get和post) 1.GET提交的数据会放在URL之后,也就是请求行里面,以?分割URL和传输数据,参数之间以&相连,如EditBook?name=test ...
- Python 读写文件 中文乱码 错误TypeError: write() argument must be str, not bytes+
今天写上传文件代码,如下 def uploadHandle(request): pic1=request.FILES['pic1'] picName=os.path.join(settings.MED ...
- PyCharm史上最强攻略
Ctrl + D 复制选定的区域或行 Ctrl + Y 删除选定的行 Ctrl + Alt + L 代码格式化 Ctrl + Alt + O 优化导入(去掉用不到的包导入) Ctrl + 鼠标 简介/ ...
- TI 多模雷达1843毫米波雷达做自动泊车(用了8个雷达)
http://e2e.ti.com/blogs_/b/behind_the_wheel/archive/2019/01/09/how-mmwave-sensors-enable-autonomous- ...
- 【bzoj1706】[usaco2007 Nov]relays 奶牛接力跑
题意 给出一张无向图,求出恰巧经过n条边的最短路. 题解 考虑先离散化,那么点的个数只会有202个最多.于是复杂度里面就可以有一个\(n^3\).考虑构造矩阵\(d^1\)表示经过一条边的最短路,那么 ...
- 什么是SpringCloud
SpringCloud是在SpringBoot的基础上构建的,用于简化分布式系统构建的工具集. 该工具集为微服务架构中所涉及的配置管理,服务发现,智能路由,断路器,微代理和控制总线等操作 提供了一种简 ...
- Docker3之Swarm
Make sure you have published the friendlyhello image you created by pushing it to a registry. We’ll ...
- tcpdump使用方法
TcpDump可以将网络中传送的数据包完全截获下来提供分析.它支持针对网络层.协议.主机.网络或端口的过滤,并提供and.or.not等逻辑语句来帮助你去掉无用的信息. 工作中使用tcpdump命令抓 ...
- DIV+CSS+PS实现背景图的三层嵌套以及背景图的合并
传说中的“三层嵌套技术”. 一.背景图合并: div+css+ps合图相结合的技术:通过精确到1px的css设置,使用ps合成背景图片,特别是小图片合并,来完成页面效果. 首先讲讲三层 ...