DR和BDR
DR和BDR的概念
运行OSPF的路由器通过与邻居路由器建立邻接关系,互相传递链路状态信息,如下图所示,路由器A,B,C,D,E连接在同一广播网段上,如果每两个路由器之间都要建立邻接关系,那么,就会构成n(n-1)/2个邻接关系,每台路由器都要与其他所有的邻居路由器互相传递链路状态信息,这时情况就会显得比较混乱,而且也会浪费许多不必要的网络资源。
为了避免这些问题的发生,可以在该网段上选举一个指定路由器。由DR同网络中的其他路由器建立邻接关系,并负责将网段上的变化告知他们。
网络上的每一台路由器都和DR构成一个邻接关系,那么只需要建立n-1个邻接关系就可以了
为了实现冗余,当DR失效时,需要有一个新的DR来接替它,这个路由器就是备份指定路由器。网络上所有的路由器将和DR,BDR同时形成邻接关系,DR和BDR之间也将形成邻接关系,如果DR失效了,BDR将成为新的DR。
DR和BDR选举
可以由OSPF自动选举DR和BDR,也可以手动选举
自动选举DR和BDR
网段上router ID最大的路由器将被选举为DR,第二大的将被选举为BDR。
手动选举DR和BDR
要手工选举DR和BDR,需要设置路由器的优先级,每台路由器的接口都有一个路由器优先级,用一个八位的无符号整数来表示,大小范围是0~255,数值越大,优先级越高。
DR和BDR的选举过程
当一台OSPF路由器启动并发现它的邻居路由器时,他将去检查有效的DR和BDR路由器,如果DR和BDR路由器存在,这台路由器将接受已经存在的DR和BDR路由器。如果BDR路由器不存在,将执行一个选举过程,选出具有最高优先级的路由器作为BDR路由器。如果存在多个路由器具有相同的优先级,那么router ID最大的路由器将被选中,如果没有有效的DR路由器存在,那么BDR路由器将被提升为DR路由器,然后执行一个选举过程选举BDR路由器。
OSPF数据包类型
OSPF邻接关系的建立
失效(down)状态
这是OSPF建立交互关系的初始化状态,路由器没有与任何邻居交换信息
初始(Init)状态
路由器使用224.0.0.5发送hello收到后进入初始化状态
双向(2-way)状态
路由器都收到彼此的hello表知道对方的router ID,选举DR和BDR
准启动(exstart)状态
选举DR和BDR后进入准启动状态,其他路由器和DR以及BDR建立邻接关系
交换(exchange)状态
从DR或者BDR获取多个链路状态描述信息进入到交换状态,请求摘要信息
加载(loading)状态
发送LSR请求更新详细的信息,使用LSU进行更新,需要使用LSACK进行确认
完全邻居(full)状态
转发数据
OSPF的网络类型
点到点网络:两个点通信使用,永远使用邻居,不需要选DR和BDR,使用244.0.0.5通信
广播多路访问网络:使用比较广泛的互联网,互联网就是广播多路访问网络
非广播多路访问网络:不能进行数据包广播,帧中继网络是典型非广播多路访问网络,需要管理员进行手动建立邻接关系,OSPF报文使用单播协议发送
点到多点:一个点到多点通信使用,多个点被称为组,不需要选举DR和BDR,使用组播通OSPF的优势
适合大型企业网络使用
支持的网络类型广泛
支持多区域灵活性强
是一个无环路路由协议
收敛速度快10S
支持子网划分
支持组播协议报文发送OSPF数据包
OSPF的基本配置命令
启动OSPF进程
R1(config)#router ospf 1
手动指定router ID
R1(config-router)#router-id 1.1.1.1
宣告直连网络写反掩码和OSPF区域
R1(config-router)#network 1.1.1.1 0.0.0.0 area 0
R1(config-router)#network 192.168..0 0.0.0.255 area 0
修改路由器的优先级和成本
进入接口
R1(config)#interface fastEthernet 0/0
修改优先级
R1(config-if)#ip ospf priority 200
修改cost值
R1(config)#interface fastEthernet 0/0
R1(config-if)#ip ospf cost 10
查看OSPF配置
查看邻接关系表
R1#show ip ospf neighbor
查看接口OSPF配置
R1#show ip ospf interface fastethernet 0/0
监控OSPF数据包
R1#debug ip ospf packet
原文地址:https://blog.51cto.com/14156658/2383065