RIP2与OSPFv2 动态路由协议区别


OSPF五种报文解析
Hello:招呼信息
Route-ID:换回口地址/活动的物理接口最大值
Hello作用:
1. 发现邻居
2. 对一些数据的协商
3. 保持邻居的Keeplive状态。选举DR、BDR
Hello-interval=10s
dead-interval=40s
形成邻居的条件:区域号相同,Route-ID必须不同,认证类型(密码)相同,hello时间和死亡时间要一致
区域号:0~255
划分区域作用为了减小同步数据库开销,同步时只在相同的区域内进行同步,两个路由器之间的接口,区域需要相同。
表示方法:区域号(区域ID)为32位二进制,可以表示为一个十进制数,或者点分十进制。
- 例如:区域0等价于区域0.0.0.0;区域1等价于区域0.0.0.1。
区域0:骨干区域
非0区域:常规区域
常规区域必须和骨干区域相连,非骨干区域间通信,都需要通过骨干区域0转发。
DatabaseDescription:数据库描述,比如宣告了什么内容
Link-State Request: 链路状态请求,即根据收到数据库的描述发出请求内容
Link-State Update: 链路状态更新
Link-State Acknowledgement: 更新确认
OSPF邻居的八种状态

1. Down 关闭状态
hello包组播发出,相邻设备接收到后的状态,开始协商是否建立邻居关系
2. Init 初始化对方状态
协商确认Hello包信息一致,将发包者状态置为Init
然后组播回复发包者,同时携带发包者的Route-ID。
发包者收到回复的组播包,并且确认携带的Route-ID就是自己的,然后单播向收包者发送hello消息。开始进入下一状态:2-way
3. 2-way状态 邻居关系建立完成
开始选举DR(指定路由器)/BDR(备份指定路由器)(避免发送单播数据包过多):
1.查看优先级,列出能参选的DR/BDR 和申报自己就是DR/BDR的
2. 建立一个没有声明自己就是DR的子集。声明自己就是DR的不能被选成BDR。
3.在此子集中,优先级大的、route-id大的成为BDR。
4.然后选择DR.若无人声明自己就是DR的话,则新选的BDR成为DR.
未被选举为DR、BDR的路由器称为Ohters角色,从此停留在2-way状态.........
4. Exstart状态 (DR、DBR和所有人之间)
发送单播dbd包,每个路由器都和DR和BDR交换数据库,没有被选举问DR的路由器叫做DR的Others, 每个路由器之和DR & BDR交换数据库
Others路由器和DR/BDR之间交换数据库通过224.0.0.6
DR/BDR通过224.0.0.5 向所有路由器发单播dbd包
5. Exchange状态(DR、DBR)
交换LSR和LSU数据包,会看到单播请求和更新
6. Loading.....状态(持续发组播更新,计算路由表)
7. Full (DR、BDR 所有请求更新完成)
收敛完成后,区域内所有路由器具有相同的LSDB
OSPF动态路由协议特点优势
1. 触发更新或者30分钟更新一次,如果网络发生变化立刻向邻居发送信息,收敛时间短。
2. 增量更新机制,路由器学习路由的时候,DB DBR只发送邻居需要的LSA。
3. 收敛以后,区域内说有路由器具有相同的LSDB (链路状态数据库)
这个LSDB能体现全网的链路状态(该网络中有哪些路由器,搁置编号是多少,直连网段是什么开销是多少)
4. 分区域管理:同一个区域内的路由器才会建立邻居关系,交换LSA。
收敛后统一个区域内所有设备间具有相同的LSDB,这个LSDB反应了区域内的链路状态信息,由此计算区域内的路由。非骨干区域间通信都需要通过骨干区域0转发,如果网络中有不同的ospf区域,肯定有个区域是0区域
RIP2与OSPFv2 动态路由协议区别的更多相关文章
- (ospf、rip、isis、EIGRP)常见的动态路由协议简介
路由器要转发数据必须先配置路由数据,通常根据网络规模的大小可设置静态路由或设置动态路由.静态路由配置方便,对系统要求低,适用于拓扑结构简单并且稳定的小型网络.缺点是不能自动适应网络拓扑的变化,需要人工 ...
- 动态路由协议(RIP)
虽然静态路由在某些时刻很有用,但是必须手工配置每条路由条目,对于大中型的网络或拓补经常发生变化的清空,配置和维护静态路由的工作量就变得非常繁重,而且不小心还容易出错,因此就需要一种不需要手工配置的路由 ...
- CCNP路由实验之六 动态路由协议之IS-IS
CCNP路由实验之六动态路由协议之IS-IS 动态路由协议能够自己主动的发现远程网络.仅仅要网络拓扑结构发生了变化.路由器就会相互交换路由信息,不仅能够自己主动获知新添加的网络.还能够在当前网络 ...
- 路由与交换,cisco路由器配置,动态路由协议—RIP
一.动态路由协议分类 动态路由协议包括IGP(内部网关协议)和EGP(外部网关协议). 1.IGP IGP又包括距离向量路由协议和链路状态路由协议. (1)距离向量路由协议典型代表:RIP (2)链路 ...
- 动态路由协议与RIP配置
一.动态路由的概述 二.RIP路由协议工作原理 三.水平分割 四.RIP路由协议v1与v2的区别 五.实验配置 一.动态路由的概述 1.定义 动态路由是指利用路由器上运行的动态路由协议定期和其他路由器 ...
- HCNA Routing&Switching之动态路由协议RIP
前文我们了解了动态路由的基本概念,以及动态路由和静态路由的区别,优缺点,动态路由的分类,回顾请参考https://www.cnblogs.com/qiuhom-1874/p/14995317.html ...
- HCNA Routing&Switching之动态路由协议OSPF基础(一)
前文我们了解了基于路径矢量算法的动态路由协议RIP防环以及度量值的修改相关话题,回顾请参考https://www.cnblogs.com/qiuhom-1874/p/15012895.html:今天我 ...
- 动态路由协议、RIP
动态路由协议.RIP 一.动态路由协议 1)动态路由协议概述 2)度量值 3)收敛 4)静态路由与动态路由的比较 5)动 ...
- 《TCP/IP详解 卷一》读书笔记-----动态路由协议
1.以下条件只要有一个不满足,则需要使用动态路由协议:1)网络规模小,2)只有一个连接点用于连接其他网络,3)没有冗余的路由器(一般用作备份) 2.所谓动态路由就是各个路由器与自己相邻的路由器交换各自 ...
随机推荐
- Codeforces 1067D - Computer Game(矩阵快速幂+斜率优化)
Codeforces 题面传送门 & 洛谷题面传送门 好题. 首先显然我们如果在某一次游戏中升级,那么在接下来的游戏中我们一定会一直打 \(b_jp_j\) 最大的游戏 \(j\),因为这样得 ...
- Codeforces 632F - Magic Matrix(暴力 bitset or Prim 求最小生成树+最小瓶颈路)
题面传送门 开始挖老祖宗(ycx)留下来的东西.jpg 本来想水一道紫题作为 AC 的第 500 道紫题的,结果发现点开了道神题. 首先先讲一个我想出来的暴力做法.条件一和条件二直接扫一遍判断掉.先将 ...
- python-django-自定义查询Q函数和F函数
数据库: def page_q(request): """Q函数的使用""" #查询username和nickname都是zhangsan ...
- 漏洞检测方法如何选?详解源代码与二进制SCA检测原理
摘要:本文探讨的是SCA具体的检测原理,源代码SCA检测和二进制SCA检测有哪些相同点和不同点,在进行安全审计.漏洞检测上各自又有什么样的优势和适用场景. 本文分享自华为云社区<源代码与二进制文 ...
- Java交换数组元素
Java 交换数组元素 代码示例 import java.util.Arrays; import java.util.Collections; import java.util.List; impor ...
- Spark基础:(七)Spark Streaming入门
介绍 1.是spark core的扩展,针对实时数据流处理,具有可扩展.高吞吐量.容错. 数据可以是来自于kafka,flume,tcpsocket,使用高级函数(map reduce filter ...
- canal从mysql拉取数据,并以protobuf的格式往kafka中写数据
大致思路: canal去mysql拉取数据,放在canal所在的节点上,并且自身对外提供一个tcp服务,我们只要写一个连接该服务的客户端,去拉取数据并且指定往kafka写数据的格式就能达到以proto ...
- Shell学习(五)—— awk命令详解
一.awk简介 awk是一个非常好用的数据处理工具,相对于sed常常作用于一整个行的处理,awk则比较倾向于一行当中分成数个[字段]处理,因此,awk相当适合处理小型的数据数据处理.awk是一种报 ...
- Stream.toMap
Collectors类的tomap方法将流收集到映射实例中. list 转 map collection.stream().collect(Collectors.toMap(User::getId, ...
- Output of C++ Program | Set 5
Difficulty Level: Rookie Predict the output of below C++ programs. Question 1 1 #include<iostream ...