OSPF

18 篇文章 1 订阅
15 篇文章 0 订阅

OSPF是一种内部网关协议。用于在单一自治系统(这个网络单位可以是一个简单的网络也可以是一个由一个或多个普通的网络管理员来控制的网络群体,它是一个单独的可管理的网络单元,例如一所大学,一个企业或者一个公司个体)内决策路由。OSPF分为OSPFv2和OSPFv3两个版本,其中OSPFv2用在IPv4网络,OSPFv3用在IPv6网络。可用于大型网络。

OSPF的路由计算过程可以简化描述为:
1.路由器之间发现并建立邻居关系。
2.每台路由器产生并向邻居泛洪链路状态信息,同时收集来自其他路由器链路状态信息,完成LSDB(Link State Database)的同步。
3.每台路由器基于LSDB通过SPF算法,计算得到一棵以自己为根的SPT(Shortest Path Tree),再以SPT为基础计算去往各邻居连接网络的最优路由,并形成路由表。

详细:

1.通过发送hello报文建立邻接关系,完成参数协商,并周期性发送保持邻接关系,收不到hello报文中断邻接关系。

Down:这是邻居的初始状态,表示没有从邻居收到任何信息。

Init:在此状态下,路由器已经从邻居收到了Hello报文,但是自己的Router ID不在所收到的Hello报文的邻居列表中,表示尚未与邻居建立双向通信关系。
2-Way:在此状态下,路由器发现自己的Router ID存在于收到的Hello报文的邻居列表中,已确认可以双向通信。

3.因为邻居都是未知的,所以Hello报文的目的IP地址不是某个特定的单播地址。邻居从无到有,OSPF采用组播的形式发送Hello报文

4.对于不支持组播的网络可以通过手动配置实现邻居的发现与维护。

5.OSPF路由器之间建立邻居关系是为了同步链路状态信息

OSPF如何实现链路状态数据库的同步

区别于RIP路由器交换的路由信息,OSPF同步的是最原始的链路状态信息,而且对于邻居路由器发来的链路状态信息,仅作转发。最终所有路由器都将拥有一份相同且完整的原始链路状态信息。

每台运行OSPF协议的路由器所描述的信息中都应该包括链路的类型、接口IP地址及掩码、链路上的邻居、链路的开销等信息。

为什么需要知道目的网络的链路类型?

因为一个成熟的路由协议必须能够根据不同物理链路特性进行适配。

OSPF有四种网络类型(OSPF划分了四种网络类型并以此来组成拓扑信息的一部分。)

1.P2P网络

P2P网络连接了一对路由器,广播、组播数据包都可以转发。
P2P网络的例子:两台通过PPP(Point-to-Point Protocol)链路相连的路由器网络。

2.广播型网络

广播型网络支持两台及两台以上的设备接入同一共享链路且可以支持广播、组播报文的转发,是OSPF最常见的网络类型。
广播型网络的例子:通过以太网链路相连的路由器网络。
同时因为一个广播型网络中存在多台设备,邻居关系建立以及链路信息同步方面,OSPF都有对应的特性来减少同一网络多台设备带来的不利影响。
以上两种网络类型是最常见的,此外,还有两种少见的网络类型。

3.NBMA网络

与广播型网络不同的是NBMA网络默认不支持广播与组播报文的转发。在NBMA网络上,OSPF模拟在广播型网络上的操作,但是每个路由器的邻居需要手动配置。
NBMA(non-broadcast multiple access)型网络的例子:通过全互连的帧中继链路相连的路由器网络。
在现在的网络部署中,NBMA网络已经很少了。

4.P2MP网络

将一个非广播网络看成是一组P2P网络,这样的非广播网络便成为了一个点到多点(P2MP)网络。在P2MP网络上,每个路由器的OSPF邻居可以使用反向地址解析协议(Inverse ARP)来发现。P2MP可以看作是多个P2P的集合,P2MP可以支持广播、组播的转发。

没有一种链路层协议默认属于P2MP类型网络,也就是说必须是由其他的网络类型强制更改为P2MP。常见的做法是将非完全连接的帧中继或ATM改为P2MP的网络。、

除了上述四种网络类型外,还有一种虚拟链路类型--虚连接


骨干区域必须是连续的,但在物理上不连续的时候,可以使用虚连接使骨干区域在逻辑上相连。 虚连接可以在任意两个区域边界路由器上建立,但要求这两个区域边界路由器都有端口连接到一个共同非骨干区域。这个非骨干区域成为Transit区域。

虚连接技术虽然理论上使骨干区域可以在物理上不连续,但在实际组网时是不推荐的。

虚连接是属于骨干区域(Area 0)的一条虚拟链路

DR指定路由器和BDR备份路由器

每一个含有至少两个路由器的广播型网络和NBMA网络都有一个指定路由器(Designated Router ,DR)和备份指定路由器(Backup Designated Router ,BDR)。

DR和BDR的作用:


1.减少邻接关系的数量,从而减少链路状态信息以及路由信息的交换次数,这样可以节省带宽,减少路由器硬件的负担。一个既不是DR也不是BDR的路由器只与DR和BDR形成邻接关系并交换链路状态信息以及路由信息,这样就大大减少了大型网络和NBMA网络中的邻接关系数量。

本例中,虽然RTA有三个邻居,但只形成两个邻接关系

在描述拓扑的LSDB中,一个NBMA网段或者广播型网段是由单独一条LSA来描述的,这条LSA是由该网段上的DR产生的。
DR和BDR由OSPF的Hello协议选举,选举是根据端口的路由器优先级(Router Priority)进行的。

如果Router Priority被设置为0,那么该路由器将不允许被选举成DR或者BDR。

Router Priority越大越优先。如果相同,Router ID大者优先。

但是为了维护网络上邻接关系的稳定性,如果网络中已经存在DR和BDR,则新添加进该网段的路由器不会成为DR和BDR,不管该路由器的Router Priority是否最大。

如果当前DR故障,当前BDR自动成为新的DR,网络中重新选举BDR;如果当前BDR故障,则DR不变,重新选举BDR。

这种选举机制的目的是为了保持邻接关系的稳定,减小拓扑结构的改变对邻接关系的影响


ospf priority (优先级)

Router Priority的取值范围是0~255,默认值为1。
如果两台路由器Router Priority值相同,则比较Router ID,Router ID大的更优先。
如果修改了Router Priority,需要重启ospf进程才能重新参与选举DR和BDR。

OSPF的五种报文类型

1.HELLO 2.DD 3.LSR 4.LSU 5.LSACK



OSPF计算cost(开销)

OSPF在计算接口的cost时,cost=参考带宽/实际带宽,默认参考带宽为100M。当计算结果有小数位时,只取整数位;结果小于1时,cost取1。
若需要调整接口cost值有两种方式:
直接在接口下配置,需要注意的是,配置的cost是此接口最终的cost值,作用范围仅限于本接口。

修改OSPF的默认参考带宽值,作用范围是本路由器使能OSPF的接口。建议参考整个网络的带宽情况建立参考基线,所有路由器修改相同的参考带宽值,从而确保选路的一致性。



Router-LSA中的重要字段。

1.Point-to-Point(点到点)

Link ID =邻居的Router ID    Data = 该网段上本地接口的IP地址

2.TransNet

Link ID =DR的接口IP地址     Data = 该网段上本地接口的IP地址

3.StubNet

Link ID =该Stub网段的IP网络地址     Data = 该Stub网段的网络掩码

4.Virtual

Link ID =虚连接邻居的Router ID      Data =去往虚连接邻居的本地接口的IP地址



  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值