首页 最新 热门 推荐

  • 首页
  • 最新
  • 热门
  • 推荐

OSPF协议五种网络类型中DR和BDR选举说明

  • 25-03-04 08:41
  • 3161
  • 5608
blog.csdn.net

OSPF协议五种网络类型中DR和BDR选举说明

OSPF链路类型有3种:点到点,广播型,NBMA(非广播-多路访问网络(Non-Broadcast Multiple Access,NBMA))。

在3种链路类型上扩展出5种网络类型:点到点,广播,NBMA,点到多点,虚链路。其中虚链路较为特殊,不针对具体链路,而NBMA链路对应NBMA和点到多点两种网络类型。

以上是RFC的定义,在Cisco路由器的实现上,我们应记为3种链路类型扩展出8种网络类型,其中NBMA链路就对应5种,即在RFC的定义基础上又增加了3种类型。

首先分析一下3种链路类型的特点: 

1. 点到点:一个网络里仅有2个接口,使用HDLC或PPP封装,不需寻址,地址字段固定为FF。

2. 广播型:广播型多路访问,目前而言指的就是以太网链路,涉及IP 和Mac,用ARP实现二层和三层映射。

3. NBMA:网络中允许存在多台Router,物理上链路共享,通过二层虚链路(VC)建立逻辑上的连接。 

NBMA网络不是没有广播的能力,而是广播针对每一条VC发送,这样就使得一台路由器在不是Full-Mesh(全网状)的NBMA拓扑中,发送的广播或组播分组可能无法到达其他所有路由器。 在点到点链路上运行OSPF没有必要选举DR,因为就是两点一线,简单得很;而在NBMA网络中运行OSPF由于是多路访问,DR可以存在,通过调整成手动发现邻居可以防止过多的Hello开销。 

下面具体分析一下RFC中定义的5种网络类型: 

1. 点到点 串行封装HDLC或PPP,OSPF会自动检测接口类型(发现封装模式为PPP或HDLC,就认为是点到点),OSPF数据包使用224.0.0.5发送,不知道DR是什么东西,就知道对端是谁,OSPF hello间隔为10s,失效为40s。 (224.0.0.6指代一个多路访问网络中DR和BDR的组播接收地址,224.0.0.5指代在任意网络中所有运行OSPF进程的接口都属于该组,于是接收所有224.0.0.5的组播数据包。

重点理解好:属于某一组 和 接收怎样的组播数据包。

比如 DR/BDR属于组播地址为224.0.0.6的组(Group),因此它接收目的地址为224.0.0.6的组播数据包,也就可以理解为何多路访问通过设置DR/BDR可以防止信息过多处理(因为属于某组的接收者(指OSPF接口),只会剥离到二层,而不会进一步处理,也就省去了很多资源浪费。)

2. 广播型 选举DR/BDR,自动发现邻居。Hello间隔为10s,失效为40s (这里比较一下,NBMA类型的 Hello和Dead 隔分别为30s 和120s。) 

3-4. NBMA 思科路由器在NBMA网络上实现的链路类型有5个,2 × RFC + 3 × Cisco,区分较为复杂。 

这5种类型形式上的差异在于:

1)是否选举DR  

2)是否自动发现邻居

3)更新时间  

这5种NBMA类型应用上的差异在于:

1)NBMA拓扑是否是Full-Mesh 

2)NBMA接口是否在同一IP子网  

3)Frame-Relay 在定义Map时是否支持广播,即是否加了关键字broadcast。

默认情况下OSPF 不能通过NBMA接口自动与邻居建立邻接关系,RFC 2328为OSPF在NBMA拓扑中的运行定义了两种模式:NBMA和点到多点,分别对应的接口模式为: ip ospf network non-broadcast /point-to-multipoint 

在Non-Broadcast 模式下是模仿OSPF在广播型链路中的运行,通常在Full-Mesh 者Partial-Mesh 使用,如果不是Full-Mesh必须手动选举DR/BDR。路由器接口处于同一IP子网,手动指定邻居,选举DR/BDR且必须与DRother在VC上直连。

在 Point-to-Multipoint 模式下是将NBMA视为一系列点到点的集合,通常用于Hub-and-Spoke 者Partial-Mesh,接口处于同一IP子网,使用OSPF组播自动发现邻居,不选举DR/BDR。 

Cisco为NBMA多设计了三种模式,分别为广播,点到多点非广播和点到点。 ip ospf network broadcast

ip ospf network point-to-multipoint non-broadcast  

ip ospf network point-to-pioint 

1. 如果说non-broadcast是在模仿广播型链路,那么broadcast就是将NBMA完全当成广播型链路,使用OSPF组播Hello来自动发现邻居,而不是像non-broadcast为每个PVC提供一个LSA拷贝。应用这种模式的前提是NMBA拓扑为Full-Mesh,且在FR Map中使用了关键字broadcast。 

2. 如果在VC上没有启用组播和广播功能,即定义Map时没有使用关键字broadcast,那么就要应用point-to-multipoint non-broadcast 相应的取消组播hello功能,代以手动配置邻居。 

3. 如果链路中涉及多个子网,那么一定要用到Point-to-Point类型,也一定会用到子接口。子接口分为两种模式,点到点和点到多点,其中点到多点子接口和主接口配置方式一致,而点到点子接口则有些变化: 

interface Serial0/0                                interface Serial0/0.2 multipoint  

encapsulation frame-relay                         ip address 20.1.1.1 255.255.255.0  

frame-relay lmi-type ansi                            ip ospf network point-to-point 

interface Serial0/0.1 point-to-point 

  frame-relay map ip 20.1.1.2 105 broadcast 

ip address 10.1.1.1 255.255.255.0 

  frame-relay map ip 20.1.1.3 106 broadcast 

frame-relay interface-dlci 101 

  frame-relay map ip 20.1.1.4 107 broadcast  

4.若子接口使用point-to-point模式,则意味着这个子接口对应的子网里只有一台路由器,即这个IP子网只有两个节点;而使用multipoint模式时,意味着这个子接口对应多条VC,IP子网内有多于两台的路由器。通过配置就可以理解为什么说点到多点是点到点链路的集合。 PS:最初创建子接口的目的在于解决在NBMA上运行距离矢量协议引起的水平分割问题,即从一接口收到的路由信息不会再从这个接口发出去。而这个接口本身可能连着多个邻居,这样就阻碍了网络中路由信息的传递,子接口是物理接口在逻辑上的划分,能很好的解决水平分割带来的问题。 

5.虚链路 可以认为是点到点的一种特殊配置,在虚链路上OSPF数据包是以单播形式发送,并不在意物理链路是什么类型,关键是虚链路两端可以实现互通。 

最后总结一下:

  1. 凡是“Point-to系列”(包括to-point,to-multipoint,to-multipoint nonbroadcast)均不需要选举DR/BDR,在Hub-and-Spoke这种星型拓扑中建议使用“Point-to系列”模式。

 2. 凡是“Broadcast系列”(包括broadcast,non-broadcast),不管加不加non,多少都是广播型链路的翻版,需要选举DR/BDR。 

3 .凡是“Nonbroadcast系列”(包括non-broadcast,point-to-multipoint nonbroadcast),一个non就是废除广播 & 组播能力,只能手动指定邻居。

4 .在Full-Mesh的拓扑中才可以应用non-broadcast 或broadcast 模式,配置较为简单,但是如果发生链路中断,DRother可能会找不到DR,导致路由信息丢失。 

5. Hub-Spoke拓扑中如果运行non-broadcast模式,要在hub 位置配置neighbor 命令,并且都设置Spoke接口的优先级为0使其不参与DR/BDR选举。如果配置为点到多点模式,命令可大为简化。

6. 如果一个NBMA链路里有多个IP子网,则主接口网络类型一定是point-to-point,并且一定得用子接口,再看IP子网内接口,多于两个就用点到多点子接口,因为点到点子接口只能容纳一个DLCI。

7. 如果在配置FR Map时没加关键字broadcast,则只能使用“non-broadcast系列”,即non-broadcast和point-to-multipoint broadcast两种网络类型

注:本文转载自blog.csdn.net的路星辞*的文章"https://blog.csdn.net/lxc_djy/article/details/145698046"。版权归原作者所有,此博客不拥有其著作权,亦不承担相应法律责任。如有侵权,请联系我们删除。
复制链接
复制链接
相关推荐
发表评论
登录后才能发表评论和回复 注册

/ 登录

评论记录:

未查询到任何数据!
回复评论:

分类栏目

后端 (14832) 前端 (14280) 移动开发 (3760) 编程语言 (3851) Java (3904) Python (3298) 人工智能 (10119) AIGC (2810) 大数据 (3499) 数据库 (3945) 数据结构与算法 (3757) 音视频 (2669) 云原生 (3145) 云平台 (2965) 前沿技术 (2993) 开源 (2160) 小程序 (2860) 运维 (2533) 服务器 (2698) 操作系统 (2325) 硬件开发 (2491) 嵌入式 (2955) 微软技术 (2769) 软件工程 (2056) 测试 (2865) 网络空间安全 (2948) 网络与通信 (2797) 用户体验设计 (2592) 学习和成长 (2593) 搜索 (2744) 开发工具 (7108) 游戏 (2829) HarmonyOS (2935) 区块链 (2782) 数学 (3112) 3C硬件 (2759) 资讯 (2909) Android (4709) iOS (1850) 代码人生 (3043) 阅读 (2841)

热门文章

138
3C硬件
关于我们 隐私政策 免责声明 联系我们
Copyright © 2020-2025 蚁人论坛 (iYenn.com) All Rights Reserved.
Scroll to Top