初识OSPF

OSPF(Open Shortest Path First)是一个内部网关协议(Interior Gateway Protocol,简称IGP)。与RIP相对,OSPF是链路状态路由协议,而RIP是距离向量路由协议.ospf有两个版本,一个是v2,针对的是ipv4,一个是v3,针对的是ipv6

OSPF具有一下几个特点:

(1)无环路,采用SPF算法

(2)收敛速度快,具有出发更新机制

(3)扩展性好

(4)支持认证,可采用md5认证

OSPF采用hello报文来建立和维护邻居关系,每10s发送一次hello报文,如果40s后没收到hello报文,则认为邻居关系断开。

ospf报文封装在IP报文中,协议号为89,采用的组播地址为224.0.0.5和224.0.0.6;224.0.0.5是DR用来发送LSA信息时的组播地址,224.0.0.6是DRother用来发送LSA信息时的组播地址也是DR和BDR用来接受LSA的组播地址。DRonter采用224.0.0.6发送LSA时,只有DR和BDR能接受,DRthoer是接受不到的,而DR和BDR发送LSA时,必须采用224.0.0.5这个组播地址才能让所有的DRother都接受到LSA,因为DRthoer接受LSA时采用的组播地址是224.0.0.5。

OSPF有五种报文类型:

hello报文:用来建立和维护邻居关系,互相发送hello报文来确认关系

DD(DatabaseDescription)报文:两个路由器交互LSA并不是把对方全部的LSA都一次性发过去,而是先通过DD报文来交互LSA的头部信息,选择主从关系,DD报文包含routerID和序列号,选取routerID较大的作为主,序列号用于双方交互确认。通过DD报文交互LSA头部信息,就可以知道对方有哪些LSA,从而向对方发出LSA报文

LSR报文:向邻居请求LSA

LSU报文:作为LSR报文的确认,回复邻居所需要的LSA

LSACK报文:作为LSU报文的确认

ospf邻居状态机如下:


Down状态:没收到邻居发送的hello包

Init状态:收到了邻居发送过来的hello包,但是邻居发送过来的hello包中并没有包含我本身的routerID,也就是说邻居并没有发现我

2way状态:收到了邻居发送过来的包含自己本身routerID的hello包,表示邻居关系已经建立

ExStart状态:发送DD报文,选举主从关系

Exchange状态:进行LSA头部信息交互

Loading状态:进行LSA,LSU,Lsack的发送

FULL状态:邻接关系建立完成

OSPF的路由器有三种角色,分别为DR、BDR、Drother。DR和Brother、BDR都是邻接关系,可以交互LSA报文,Drother和Drother是邻居关系,不交互LSA报文。DR和BDR的选举发生在邻居关系形成之后邻接关系形成之前,如果邻居关系是DRother,那就不用进入EXStart状态来交互DD报文了。

DR和BDR的选举原则:先比较优先级,优先级最大的成为DR,如果优先级相同,则比较routerID,routerID最大的,成为DR。优先级的范围为1-255。优先级为0则表示不参与DR的选举。DR和BDR是针对一个网段来说的,也就是说一个路由器可以在一个网段内充当DR的角色,也可以在另一个网段内充当BDR的角色。DR和BDR具有非抢占式和稳定性的特点,即是,一个DR和BDR选举完成的网络,即使有另一个优先级更高,routerID更大的路由器接入进来,也不会再次进行新一轮的选举,避免发生网络的动荡.

OSPF多区域概念:每个区域维护一个独立的LSDB数据库,同个区域内的每台路由器拥有相同的LSDB数据库。区域内传递的信息包括路由信息和拓扑信息,区域间只传递路由信息,由于区域间传递的仅仅是路由信息,采用的是DV型路由算法,所以可能产生环路问题,为了避免产生环路,ospf设置了区域0这个区域,也就是骨干区域,所有区域都必须与区域0相连接,才能传递路由信息。

附上ospf单区域配置命令:如下图所示


通过display ospf peer 查看邻居信息

通过display ospf interface 查看ospf接口信息

通过reset ospf process 重置ospf进程,可以重新进行DR选举

通过display ospf lsdb 查看区域LSA数据库

在接口下通过ospf cost X 可以修改ospf的开销值

ospf的认证分为接口认证和区域认证,接口认证是针对的是两个接口之间的一段链路,区域认证针对的是一个区域,区域认证其实可以说是简化了接口认证,这样我们就不用在每个接口下进行认证配置。

接口认证配置命令如图所示:


区域认证配置命令:

ospf 1 routerID 1.1.1.1      进入ospf进程制定routerID

area 0             进入区域0

ospf authentication-mode md5 1 cipher huawei             配置认证模式与密钥









  • 6
    点赞
  • 36
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
02f,18aug03,agi added #include 02e,02jun03,agi removed #include "rwproto.h" 02d,02jun03,agi changed #include "rwos.h" to include "ospf_rwos.h" 02c,29may03,agi removed unused includes, added new includes 02c,08may03,asr Changes to make OSPF virtual stack compatible 02b,09may03,agi added #include , removed #include 02a,17feb02,ram SPR 81808 Added OSPF memory partition support 21,13october01,kc Dynamic configuration changes. 20,21september01,kc Removed unused raw socket specific declarations. 19,26september00,reshma Added WindRiver CopyRight 18,25september00,reshma RFC-1587 implementation for OSPF NSSA Option, also tested against ANVL. 17,20july00,reshma Unix compatibility related changes. 16,06july00,reshma Removed unnecessary header files and defines. 15,23february00,reshma Changes for ospf mib 14,23december99,reshma Compatibility with VxWorks-IP and VxWorks RTM-interface 13,13august99,jack compilation fixes no IP case 12,05august99,nishit Replaced including IP header files by the new ospf_ip_structures.h 11,17may99,jack Added new include file ospf_patricia_32_bits_key_prototypes.h 10,28december98,jack Compiled and added some comments 09,25november98,rajive Deleted socket include file 08,11november98,jack Config changes, linted and big endian changes 07,30october98,jack Incorporate changes for compilation on Vxworks 06,12february98,release engineer code style changes, feature enhancements, complete CISCO and BAY compaltibility. OSPF v4.2.0 05,10july97,cindy Pre-release v1.52b 04,10february97,cindy Release Version 1.52 03,22october97,cindy Release Version 1.50 02,05june96,cindy Including visnpstr.h as a kludge for the first beta release. 01,05june96,cindy First Beta Release
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值