21-OSPF,DR和BDR
1.OSPF网络类型
OSPF推出时间较早,为了支持不同的链路,而设计了网络类型
OSPF网络类型:
广播网络类型(BMA)
点到点网络类型(P2P)
非广播多路访问类型(NBMA)
点到多点网络类型(P2MP)
1)判断网络类型
判断网络类型的方式:基于接口
默认情况下:
ospf认为以太网的网络类型是BMA(以太网接口);
PPP、HDLC的网络类型是P2P(串口);
2)四种网络类型
类型
|
备注
|
广播类型 BMA
|
通过以太网接口连接设备,支持广播和组播
|
点到点P2P
|
通过串行接口连接设备,支持广播和组播
|
非广播多路访问NBMA
|
早期使用帧中继,ATM组网的设备,不支持广播和组播
|
点到多点 P2MP
|
多个点到点的集合,没有一种链路层协议会被缺省的认为是P2MP类型。点到多点必须是由其他的网络类型强制更改的。
|
BMP类型的网络:
链路上可以连接多台设备
Hello包都发给组播地址244.0.0.5,为了让区域内所有的路由器都能收到;
NBMP类型的网络:
也可以连接多个设备;
中间有一个交换机,设备都接在交换机上;
不支持广播、组播,建立邻居使用单播的方式,因此有Attemp状态;
点到点类型的网络:
链路上只有两台设备,你发给我收,我发给你收;
因此像PPP协议中不需要字段来保存mac地址,而以太网封装需要源mac、目标mac;
2.DR和BDR
1)关于DR和BDR
只要是BMA和NBMA网络中,为了减少邻接关系的数量
从而减少数据包的交互次数,最终节省带宽,降低路由器的处理压力
如下图:
以太网类型的链路上接了5台路由器;每个路由器有4个邻居;
需要互相之间建立邻接关系;建立邻接关系的次数为10次;
再加一台路由器时,需要建立邻接关系的次数呈几何增长;
邻接关系越多,代表要交互的数据包次数越多,越消耗资源,并且后期当有路由变化时,消耗的资源也越多;
只要是多路访问的网络(BMA、NBMA)都会遇到邻接关系增长带来的问题;
为了缓解这一问题,减少邻接关系的数量,从而减少数据包交换的次数,最终节省宽带、降低路由器处理能力的压力,需要选出BR和BDR;
选两个路由器作为代表,就像班级里选出班长和副班长
班级的人越来越多,都希望手上的路由信息一模一样,最简单的办法是相互交换信息,两两交互,但这样交互次数太多;
有班长后,所有人都把自己的路由信息交给班长,也就是所有人都只需要和班长交互;
班长得到了完整的路由信息,然后分给每一个人,这样也能达到目的,并且减少了交互次数;
而副班长的作用相当于一个班长的备胎;
也就是普通路由器DRthers互相之间只建立邻居关系,状态为2-way;
DROther和DR、BDR之间建立邻接关系,状态为Full;
DR、BDR相关的字段保存在hello包中:
术语
|
备注
|
DR
|
Designed Router 指定路由器 ,类似于班长
|
BDR
|
Backup Designed Router 指定备份路由器,DR的备份,类似于副班长
|
DROther
|
路由器,类似于普通学生
|
关系
|
DR、BDR、DROther之间都保持邻接关系 (Full)
DROther之间都保持邻居关系(2-Way)
|
地址
|
224.0.0.6向DR和BDR发送
224.0.0.5向所有OSPF路由器发送
|
选举规则
|
首先比较Hello报文中携带的优先级
优先级范围0~255,默认为1
优先级最高的被选举为DR,优先级次高的被选举为BDR
优先级为0不参与选举
优先级一致,比较RID,越大越优先
选举具有非抢占性(选举完成后出现更好的OSPF路由器不会强占角色,除非DR或BDR挂掉或者重启OSPF)
|
DR和BDR基于多路访问的网络(BMA、NBMA),而网络类型是基于接口的;
也就是说:DR和BDR是基于接口的而不是基于路由器的;
也就是说,一台路由器的某个接口是DR,也可能它的另一个接口位于其它区域是DRther
2)关于组播地址
如图:当R3中有一台设备挂掉后,向224.0.0.6发送LSU;
只有DR和BDR属于224.0.0.6
DR收到更新后,向224.0.0.5发送LSU,所有路由器都收到更新