当前位置:文档之家› OSPF路由协议各种类型详解

OSPF路由协议各种类型详解

OSPF各种类型详解

一、OSPF数据包类型

1.Hello包:用于建立和维护相邻的两个OSPF路由器的邻接关系,该数据包是周期性地发送的。

2.Database Description(数据库描述包DBD):用于描述整个数据库,该数据包仅在OSPF初始化时发送。

3.Link state request(链路状态请求包LSQ):用于向相邻的OSPF路由器请求部分或全部的数据,这种数据包是在当路由器发现其数据已经过期时才发送的。

4.Link state update(链路状态更新包LSU):这是对link state请求数据包的响应,即通常所说的LSA数据包。

5.Link state acknowledgment(链路状态确认包LSAck):是对LSA数据包的确认,以确保可靠地传输和信息交换。

二、OSPF网络类型

OSPF链路类型有3种:点到点,广播型,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。

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和点到多点,分别对应的接口模式为: ipospf 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多设计了三种模式,分别为广播,点到多点非广播和点到点。

ipospf network broadcast

ipospf network point-to-multipoint non-broadcast

ipospf 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 ansiipospf 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 若子接口使用point-to-point模式,则意味着这个子接口对应的子网里只有一台路由器,即这个IP子网只有两个节点;而使用multipoint模式时,意味着这个子接口对应多条VC,IP子网内有多于两台的路由器。通过配置就可以理解为什么说点到多点是点到点链路的集合。

PS:最初创建子接口的目的在于解决在NBMA上运行距离矢量协议引起的水平分割问题,即从一接口收到的路由信息不会再从这个接口发出去。而这个接口本身可能连着多个邻居,

相关主题