HCIA-RS自用笔记(15)OSPF基础、OSPF核心工作流程、OSPF数据包类型、OSPF邻居建立条件及过程
OSPF(7/20,41min)
开放式最短路径优先(Open Shortest Path First)协议是IETF定义的一种基于链路状态的内部网关路由协议
Open指公有协议;Cost以带宽进行计算 ,汇总与子网划分相关,精简路由;
OSPF核心工作流程(7/20,20min)
LSA不是数据包类型,存放在LSDB中
从数据库中通过SPF算法得到路由表
OSPF数据包与状态(7/20,51min)
Router ID:
dis ospf brief可以看到Router-id
一台路由器开机后只开启进程,其Router-id为0.0.0.0
手动配置Router-id
[Router]ospf 1 router-id 1.1.1.1(此ip不需要是该设备的任何一个接口地址)该命令建议起手配置
重启OSPF进程
<Router>reset ospf process或者重启(生产环境会引发路由震荡)
OSPF数据包结构和类型(On IP,Port 89,网络层协议 )
数据链路帧报头-IP数据报头-OSPF数据包报头-OSPF数据包特定类型数据Hello 数据包
Ospf Header(所有OSPF包的头部结构都一样)
版本:V2;类型:共五种;数据包长度;路由器ID与区域ID;校验和;Auth type与Auth data,认证相关信息
Hello
Hello间隔10s,死亡时间40s
包类型:
OSPF数据包类型 | 作用 |
Hello | 建立并维护邻居关系 |
Database Desciption(DD/DBD) 数据库描述 |
LSDB的摘要(仅包含LSA头部) |
Link State Request(LSR) 链路状态请求 |
请求LSA |
Link State Update(LSU) 链路状态更新 |
发送LSA |
Link State Acknowledge(LSAck) 链路状态确认 |
对LSU的确认 |
A、B建立邻居后,先发送DD(DD只存在与邻居建立之初),
如A:我知道路由1与路由2,B:我知道路由2与路由3,二者发送DD比较后再互相学习自己没有的路由(如A:请把路由3给我,发送LSR数据包,此时B发送LSU,A收到后发送LSAck确认已经收到)
(attempt处于帧中继环境)
是邻居(我们认识)不一定是邻接(我们LSDB同步)
A(开启OSPF进程)(发送hello包):大较好,我是A,我现在不认识任何人
B:(接收A的Hello包后发送自己的Hello包)我是B,我有一个邻居A
A:(收到hello包)从init进入2way,见下面
OSPF工作流程(1/2)
两种情况:
由down到2way(如R1)
由down打破Init再到2way(例如R2)
OSPF第一阶段是使用Hello包建立双向通信的过程,成为邻居关系。
A和B成为邻居后,进入交换初始状态(extart)
前几(前2个)个DBD来决定主从关系
Init:是否第一个包
More:后面还有没有包
Master:我是主人还是仆人(每个人的第一个DBD都认为自己是主)
通过Rid对比,Rid更大的成为Master,序列号dd Sequence只能Master改变
OSPF工作流程(1.5/2)
OSPF工作流程(2/2)
R2拥有R1所有 路由,可以直接进入full状态。R1需要请求R2的其他路由,则先进入loadoing再进入full
OSPF第二阶段是通过交换LSA达到LSDB同步,建立邻接关系
同一个OSPF Area里,路由表不一样(每个人到不同地方的路径不同),LSDB(地图)一定同步
OSPF邻居建立条件(7/20,15min)
邻居到底是怎样建立起来的?
许多技术都设计到比较、抢占
双方的Hello包必须保证:
RID唯一,不能冲突
Hello/Dead时间间隔一致,默认10s与40s(保持4倍关系),int端口 ospf timer hello
区域ID一致
若启用认证,则必须保持认证一致
链路MTU大小一致(默认不开启检查,Cisco默认开启)(若不一致,则邻居建立可能一直停留在EX-Start与Exchange状态下)
以太网环境下(如点到点环境),子网掩码一致
网络地址一致
末梢区域设置一致(Option)
HCIA-RS自用笔记(15)OSPF基础、OSPF核心工作流程、OSPF数据包类型、OSPF邻居建立条件及过程相关推荐
- Google机器学习速成课程 - 视频笔记整理汇总 - 基础篇核心部分
Google机器学习速成课程 - 视频笔记整理 - 基础篇核心部分 课程网址: https://developers.google.com/machine-learning/crash-course/ ...
- 神经肿瘤组学基础知识、工作流程及应用
在过去几年中,从脑肿瘤患者中采集的具有常规临床用途的神经影像数据的数量.种类和复杂性以及由此产生的影像参数数量都大幅增加.因此,如果没有人工智能(AI)领域的方法支持,对成像数据进行及时且成本效益高的 ...
- (2)RabbitMQ基础概念及工作流程详解
上一节中我们对MQ做了一个概要介绍,这一节开始我们选取RabbitMQ开始进行学习,本节将会RabbitMQ做个简单介绍,并且会对其常见的基础概念做个讲解,最后会简单介绍一下RabbitMQ的工作流程 ...
- 大数据笔记30—Hadoop基础篇13(Hive优化及数据倾斜)
Hive优化及数据倾斜 知识点01:回顾 知识点02:目标 知识点03:Hive函数:多行转多列 知识点04:Hive函数:多行转单列 知识点05:Hive函数:多列转多行 知识点06:Hive函数: ...
- WinPcap笔记(5):不用回调方法捕获数据包
这里使用pcap_next_ex()函数代替pcap_loop()函数来实现捕获数据包.pcap_loop()函数基于回调原理实现数据捕获,这是一种精妙的方法,并且在某些场合中,它是一种很好的选择. ...
- WinPcap笔记(4):打开适配器并捕获数据包
前面已经能够得到是设备的信息了,现在开始做真正有意义的事情:打开适配器并捕获数据包.这里将用到函数pcap_open(),下面是函数的具体格式: pcap_t* pcap_open ( const c ...
- Charles笔记-配置Charles代理抓取HTTP和HTTPS数据包,安卓模拟器连接Charles
这里要记住:雷电4是连不上的,有问题.我这里换成了逍遥7模拟器. Charles的版本是4.6.1 首先是代理配置: 把这2个都勾上: 然后是ssl的配置: 所有.com的443端口,都进行ssl 然 ...
- 大数据之-Hadoop3.x_MapReduce工作流程---大数据之hadoop3.x工作笔记0109
1.然后我们再去看MapReduce的详细工作流程,可以看到比如首先我们有个200m的文件ss.txt,然后首先,我们写的客户端程序,首先去 获取待处理的数据,然后根据参数配置,形成任务规划,实际上就 ...
- 【2017.11.15】设计师的正确工作流程
天才靠的是积累,聪明靠的是努力. 扩展扩展: banner 编辑: 可以作为网站页面的横幅广告,也可以作为游行活动时用的旗帜,还可以是报纸杂志上的大标题.Banner[1] 主要体现中心意旨,形象鲜明 ...
最新文章
- SAP MM Reset预留单上的Deletion Flag?
- jvm性能调优实战 - 44Metaspace区域是如何因为类太多而发生内存溢出OOM
- lombok链式调用_记一次使用 Lombok 翻车造成的事故!
- linux pxe启动ftp格式,FTP+DHCP+TFTP+PXElinux实现RHLINUX的网络自动安装
- ubnutu18.10拔除硬盘后进行recovery mode
- 再看经典推荐算法之召回算法
- Scheme学习系列O:启动篇
- 细胞亚器文献阅读之酵母液泡与线粒体的动态互作A Dynamic Interface between Vacuoles and Mitochondria in Yeast
- 基于Cocos2d-x的手机游戏性能监控
- Latch up 闩锁效应
- 计算机网络的商业价值和应用,计算机网络建模数学工具的分析与比较
- 园林景观cad_5+ 园林景观设计PSD树木建筑人物鸟瞰图效果图ps后期分层素材库配景A...
- 手把手教你用Python画直方图
- Espresso Idling Resource
- 百度无线音乐盒刷打印服务器,百度无线音乐盒固件
- 写在元旦(鼓励自己)
- 人工智能 α-β剪枝
- sublime text3解决Gosublime无法自动补全代码
- Unity3D 集成 高德地图SDK 地图
- .sh(shell)文件打印文件夹下所有文件的文件名
热门文章
- 读《最受欢迎的图表简报术》(1)如何写计划书
- 诛仙游戏SQL充值语句(mysql不存在则插入,存在则更新)
- 18届完全模型组预总
- Web行内和块级元素 及表格应用
- 史上最全Android build.gradle配置详解
- 大四开始学java b站java人话
- 西门子plc java_我在试着用java程序控制PLC,现在卡在了SIMATIC NET与PLC连接这一步...
- 使用vue-i18n切换中英文-网页语言切换案例-vue文件中或路由(Router)文件中使用
- 人人网Httpclient
- 解决@Vue-cli版本过高导致“export ‘default‘ (imported as ‘Vue‘) was not found in ‘vue‘