18.1 OSPF动态路由协议

OSPF动态路由协议

一 OSPF路由协议介绍

·链路状态路由协议的概念:OSPF路由协议属于距离矢量路由协议类型;通过与邻居路由器建立邻接关系,相互传递路由状态信息,来了解整个网络的拓扑结构,从而能分析出最优路径,更新自己的路由表

邻居路由器:直连路由器

链路状态数据库:也叫拓扑数据库,包含所有路由器、路由器的链路以及这些链路的状态,和所有网络以及到达这些网络的路径

邻接关系:当两台运行OSPF协议的邻居路由器的链路状态数据库达到一致时,它们就是完全邻接的

·OSPF路由协议概述:开放式最短路径优先协议,是基于开放标准的链路状态路由选择协议,它完成各路由选择协议算法的两大主要功能:路径选择和路径交换

1 OSPF是内部网关路由协议:OSPF运行在AS中(拥有相同路由协议的一些路由器的集合叫做AS,自治系统);也包括RIP协议;与之对应的也有外部网关路由协议,如图

2 OSPF区域:OSPF将自治系统分割成多个小的区域,OSPF路由器只在区域内部学习完整的链路状态信息,而不必了解整个自治系统内部所有的链路状态

区域ID:区域ID可以表示成一个十进制的数字、也可以表示成一个IP

骨干区域(区域0):自治系统内部会指定一个骨干区域来连接其他所有区域;用来连接骨干区域和其他区域的路由器叫做区域边界路由器

3 Router ID:标记OSPF中的路由器的标识;Router ID选取规则:

首先,选取路由器loopback接口上数值最高的IP地址

如果没有loopback接口,在物理端口中选取IP地址最高的

也可以使用router-id命令指定Router ID

4 度量值:OSPF的用来度量路径优劣的度量值成为Cost(开销);COST= 108/BW;最短路径是基于接口指定的代价(cost)计算的

二 OSPF路由协议工作过程和原理

·OSPF工作过程:运行OSPF的路由器与邻居路由器建立连接关系,再邻居之间互相同步链路状态数据库;使用最短路径算法,从链路状态信息计算得到一个以自己为树根的最短路径树,到最后每一台路由器都将从最短路径中构建出自己的路由表;于是根据路由表转发数据

邻居列表:列出每台路由器已经建立邻接关系的全部邻居路由器

链路状态数据库:列出网络中其他路由器的信息,显示了全网络的拓扑

路由表:列出通过算法计算出的到达每个相连网络的最佳路径

·DR和DBR:在复杂的拓扑中,每台路由器都要与其他所有的邻居路由器互相传递链路状态信息,这样大大的浪费了网络资源,因此可以在这个网段上选举一个指定的路由器DR,由DR同网络中的路由器建立链接关系,并负责将网络上的变化告诉它们;为了实现冗余,当DR失效时,需要有一个指定的路由器来接替它,这个备份路由器就是DBR;网络上所有的路由器将和DR、DBR同时形成邻接关系,DR和DBR之间也形成邻接关系

1 DR和DBR的选举(针对接口而言)

·自动选举DR和BDR

网段(同一个网段)上Router ID最大的路由器将被选举为DR,第二大的将被选举为BDR

·手工选择DR和BDR

优先级范围是0~255,数值越大,优先级越高,默认为1

如果优先级相同,则需要比较Router ID

如果路由器的优先级被设置为0,它将不参与DR和DBR的选举

2 DR和DBR的选举过程

当一台OSPF路由器启动时,它先去检查有效的DR和DBR;如果DR和DBR已存在,则不管它的优先级多高,也只能接受;如果不存在,则重新自动选举;如果DR失效,则BDR提升为DR,然后再选举一个BDR

3 OSPF的组播地址

当选举结束后,其他路由器只与DR和DBR会形成邻接关系;做地址224.0.0.5代表所有参与OSPF的路由器,而组播地址224.0.0.6只有DR和DBR去监听这个地址

·OSPF工作原理

OSPF数据包

承载在IP数据包内,使用协议号89

OSPF的包类型

·OSPF邻接关系的建立(路由表的形成)

1 OSPF启动的第一个阶段是使用Hello报文建立双向通信的过程

2 OSPF启动的第二个阶段是建立完全邻接关系

3 路由器中的链路状态数据库已经一致,路由器可以根据这个一致的链路状态数据库通过最短路径优先算法计算出最佳路径并形成路由表

三 OSPF的应用

·OSPF的网络类型:OSPF将网络划分为四种类型    

点到点网络(Point-to-Point)

广播多路访问网络(Broadcast MultiAccess,BMA)

非广播多路访问网络(None Broadcast MultiAccess,NBMA)

点到多点网络(Point-to-Multipoint)

·OSPF的应用环境:从以下几方面考虑OSPF的使用

网络规模

网络拓扑

其他特殊要求

路由器自身要求

·OSPF的特点

可适应大规模网络

路由变化收敛速度快

无路由环

支持变长子网掩码VLSM

支持区域划分

支持以组播地址发送协议报

·OSPF与RIP的比较

四 OSPF单域的配置

启动OSPF路由进程

Router(config)# router ospf process-id

process-id:进程号,范围1~65535之间

例如Router(config)# router ospf 1

指定OSPF协议运行的接口和所在的区域:

Router(config-router)# network address inverse-mask area area-id

inverse-mask:反码

area-id:区域号,可以是0、1、2......

例如Router(config-router)# network 192.168.1.0 255.255.255.0 area 0

修改接口的优先级

Router(config-if)#ip ospf priority priority

Priority:默认为1,范文0~255,为0时表示不参与DR与DBR的竞争

如Router(config-if)#ip ospf priority 0

修改接口的Cost值

Router(config-if)#ip ospf cost cost

Cost:开销大小,范围1~65535

如Router(config-if)#ip ospf cost 1000

清除OSPF配置

R1(config)#no ip ospf

查看路由表

Router#show ip route

查看邻居列表及其状态

Router#show ip ospf neighbor

查看OSPF的配置

Router#show ip ospf

查看OSPF接口的数据结构

Router#show ip ospf interface type number

如R1#show ip ospf int f0/0

五 实验

实验目的:配置OSPF,实现全网互通

实验环境:如图

实验要求:

1 配置默认OSPF,实现全网互通,并说明哪一个是DR、DBR

2要求通过指定Router ID,将路由器R2指定为DR,将路由器R1指定为BDR

3要求通过设置接口优先级将路由器R1指定为DR,将路由器R2指定为BDR

实验步骤:

要求1

配置R1

基本配置

R1>en

R1#conf t

R1(config)#int f1/0

R1(config-if)#ip add 192.168.1.1 255.255.255.0

R1(config-if)#no shu

R1(config-if)#int f0/0

R1(config-if)#ip add 10.0.0.1 255.0.0.0

R1(config-if)#no shu

R1(config-if)#exit

OSPF配置

R1(config)#router ospf 1

R1(config-router)#network 192.168.1.0 0.0.0.255 area 0

R1(config-router)#network 10.0.0.0 0.255.255.255 area 0

配置R2

基本配置

R2>en

R2#conf t

R2(config)#int f0/0

R2(config-if)#ip add 10.0.0.2 255.0.0.0

R2(config-if)#no shu

R2(config)#int f1/0

R2(config-if)#ip add 20.0.0.1 255.255.255.0

R2(config-if)#no shu

R2(config-if)#exit

OSPF配置

R2(config)#router ospf 1

R2(config-router)#network 10.0.0.0 0.255.255.255 area 0

R2(config-router)#network 20.0.1.0 0.0.0.255 area 0

配置R3

基本配置

R3>en

R3#conf t

R3(config)#int f1/0

R3(config-if)#ip add 20.0.1.2 255.255.255.0

R3(config-if)#no shu

R3(config-if)#int f0/0

R3(config-if)#ip add 192.168.2.1 255.255.255.0

R3(config-if)#no shu

R3(config-if)#exit

OSPF配置

R3(config)#router ospf 1

R3(config-router)#network 20.0.1.0 0.255.255.255 area 0

R3(config-router)#network 192.168.2.0 0.0.0.255 area 0

测试:使用C1 pingC2成功;使用show ip ospf int f0/0查看并分析DR和BDR角色

分析:默认情况下优先级都相同,所以只考虑IP地址

·首先在每个路由器上选举IP地址最大的为Router ID,R1为192.168.1.1、R2为20.0.1.1、R3为192.168.2.1;使用show ip ospf neighbor验证。

·然后在每个网段上作比较,routerID大的为DR,次之的为BDR;但是当DR和BDR产生后,后接入的路由器则不参与竞争

    192.168.1.0网段上只有一个R1的routerID,所以它的DR为R1,没有BDR

    10.0.0.0/8网段上,R1的routerID大于R2routerID,所以它的DR为R1,BDR为R2

    20.0.1.0/24网段,由于当R3接入时已经产生了DR和BDR,所以即使R3的routerID大于R2,但是这个网段的DR还是R2,BDR是R3;使用show show ip ospf int f0/0验证

要求2:配置要求2时,环境最好是初始状态,或者清除之前的自动选举配置

关闭与其他路由器相连的接口,指定RouterID

配置R1

R1(config-if)#int f0/0

R1(config-if)#shu

R1(config)#router ospf 1

R1(config-router)#router-id 10.0.0.1

配置R2

R2(config-if)#int f0/0

R2(config-if)#shu

R2(config)#router ospf 1

R2(config-router)#router-id 20.0.1.1

配置R3

R3(config-if)#int f1/0

R3(config-if)#shu

R3(config)#router ospf 1

R3(config-router)#router-id 192.168.2.1

先开启R1和R2的接口,(30秒之后)再开启R3接口,并验证DR和BDR

要求3

更改R1的优先级为2,同时关闭R1和R2的接口在开启接口

配置R1

R1(config)#int f0/0

R1(config-if)#ip ospf priority 2

R1(config-if)#shu

配置R2

R2(config)#int f0/0

R2(config-if)#shu

开启后验证查看DR和BDR,已经改变

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章