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发现,原来 ...
随机推荐
- day5 python
一.常量 在Python中没有一个专门的语法代表常量,程序员约定俗成用变量名全部大写代表常量.AGE_OF_OLFBOY=73二.基本运算符的补充1.算数运算符 print(10/3) print(1 ...
- PreparedStatement与Statement区别
就这牛客网的一道题,进行分析PreparedStatement与Statement的区别. 题目: 关于PreparedStatement与Statement描述错误的是() A 一般而言,Prepa ...
- Java排序算法之选择排序
一.算法原理 简单选择排序的基本思想:给定数组:int[] arr={里面n个数据}:第1趟排序,在待排序数据arr[1]~arr[n-1]中选出最小的数据,将它与arrr[0]交换:第2趟,在待排序 ...
- topcoder srm 310 div1
problem1 link 先计算出最上面.最下面一层,根据最上面一层的数量计算答案. import java.util.*; import java.math.*; import static ja ...
- ThreadLocal 的机制与内存泄漏
ThreadLocal笔记 如上图所示 每个Thread 都有一个map,里面存着Entry<Key,value>,而key是实现了WeakReference的ThreadLocal,如果 ...
- Android 设置app 启动
首先建立一个Activity 类.然后他会自动生成一个Layout XML. 再去到AndroidManifest.xml <activity android:name="com.zx ...
- Android Studio 快捷键、Debug的使用
https://blog.csdn.net/q908555281/article/details/49331371 1.快捷键 个人习惯常用快捷键 在Eclipse中常用的快捷键 ...
- Unity3D学习笔记(三十四):Shader着色器(1)
一.GPU:图形处理器,Graphics Processing Unit 显卡的处理器就是图形处理器.与CPU类似. GPU和CPU的区别? 1.CPU主要是为了串行指令设计,GPU则是为了大规模 ...
- Bytom矿池接入协议指南
矿机配置 https://gist.github.com/HAOYUatHZ/a47400bde4a138825faef415387b532c 固件升级 https://service.bitmain ...
- Installation Guide of Ubuntu 14.04, 64bit on Dell Server
Installation Guide of Ubuntu 14.04, 64bit on Dell Server 准备:U盘(已通过ultraiso刻录ISO镜像). 1.插入U盘: 2.启动服务器, ...