频道栏目
首页 > 网络 > 其他 > 正文

OSPF详解一之OSPF基础

2017-06-19 09:33:17      个评论    来源:SupermanNet 的BLOG   
收藏   我要投稿

OSPF基础

开放式最短路径优先OSPF(Open Shortest Path First)是IETF组织开发的一个基于链路状态的内部网关协议(Interior Gateway Protocol)。针对IPV4协议使用的是OSPF version2;针对IPV6版本使用的是OSPF version3。

 

OSPF出现的背景:

 

在OSPF出现前,网络上广泛使用RIP(Routing Information Protocol)作为内部网关协议。由于RIP是基于距离矢量算法的路由协议,存在着收敛慢、路由环路、可扩展性差等问题,所以逐渐被OSPF取代。

RIP存在的缺点:

1、RIP是基于UDP协议,使用的端口号为520。无确认机制,无邻居概念。

2、收敛慢:RIP存在3大定时器:更新定时器30s、老化定时器180s、垃圾收集定时器120s,路由表每隔30s更新一次,一条路由失效到消失时间消耗总共为300s。

3、路由环路:跳数少,收敛慢(非直连链路失效等待周期久),易出环路。RIP的防环机制:1、水平分割;2、毒性逆转;3、触发更新。

 

OSPF解决了上述的诸多问题,还存在以下优点:

1、OSPF采用组播形式收发报文,这样可以减少对其它不运行OSPF路由器的影响。

OSPF采用单播和组播的形式收发报文,分别采用224.0.0.5/224.0.0.6两组组播地址发送报文。

2、OSPF支持无类型域间选路(CIDR)。

3、OSPF支持对等价路由进行负载分担。

4、OSPF支持报文加密。可以采用MD5等认证加密算法,增加了安全性。

由于OSPF具有以上优势,使得OSPF作为优秀的内部网关协议被快速接受并广泛使用。

 

OSPF基础:

OSPF是基于IP的,协议号为89。所以它只能支持IP网络,ip层是不可靠的,所以ospf开发了很多确认机制(hello包的邻居列表,DD报文使用seq做隐式确认,LSR/LSU/LSACK之间的相互确认)。基于ip的话可以使用组播发送协议报文,所以ospf可以自己发现邻居,并且建立邻居关系;工作在IP及以上的协议较易于受到安全威胁,如DoS攻击等。

OSPF具有如下特点:

一、OSPF把自治系统AS(Autonomous System)划分成逻辑意义上的一个或多个区域;

注解:OSPF划分了5大区域,分别为普通区域(骨干区域、标准区域)、STUB区域、Totally STUB区域、NSSA区域、Totally NSSA区域。在划分了区域的同时,增加了一些路由器类型:区域内路由器(Internal Router)、区域边界路由器ABR(Area Border Router)、骨干路由器(Backbone Router)、自治系统边界路由器ASBR(AS Boundary Router)。通过区域和路由器类型的划分,将一个大的AS划分多个小的区域,这样更便于灵活的操作和管理。

路由器类型详解:

1、区域内路由器:顾名思义就是在一个OSPF区域内的路由器

2、区域边界路由器ABR:两个OSPF区域边界的路由器,相当于脚踏两只船。ABR用来连接骨干区域和非骨干区域,它与骨干区域之间既可以是物理连接,也可以是逻辑上的连接(Vlink)。

3、骨干路由器:所有的ABR和位于Area0的内部设备都是骨干路由器,至少有一个接口连接在骨干区域。

4、自治系统边界路由器ASBR:1、位于AS边界的路由器;2、做了import引入的ABR。

 

二、OSPF通过LSA(Link State Advertisement)的形式发布路由;

注解:OSPF属于链路状态路由协议,在路由器和路由器之间传输的并不是路由条目,而是LSA链路状态通告,当路由器收到对方传来的LSA之后,通过Dijkstra算法计算出路由,并将有效路由放进路由表中。

 

三、OSPF依靠在OSPF区域内各设备间交互OSPF报文来达到路由信息的统一;

注释:OSPF区域内的各设备是通过DB Description报文来进行LSDB同步,同步完成后,通过Dijkstra算法计算出路由,所以各设备达到路由信息统一是依靠OSPF报文的交互。

 

四、OSPF报文封装在IP报文内,可以采用单播或组播的形式发送。

注释:OSPF是基于IP层的,OSPF报文封装在IP报文内,以单播或组播的形式发送。采用那种方式发送OSPF报文,主要决定于现网属于哪种网络类型。OSPF的网络类型有Broadcast、NBMA、P2P、P2MP 4种网络类型,具体报文形式有5种:Hello报文、DBD报文、LS Resquest报文、LS Update报文、LSAck报文。具体形式如下:

广播类型:当链路层协议是Ethernet、FDDI 时,OSPF 缺省认为网络 类型是Broadcast。

Hello报文(组播)、DBD报文、LS Resquest报文(单播)、LS Update报文、LSAck报文(组播)

NBMA类型:当链路层协议是帧中继、ATM 或X.25 时,OSPF 缺省认为网络类型是NBMA。

Hello报文、DBD报文、LS Resquest报文、LS Update报文、LSAck报文(单播)

P2P类型:当链路层协议是PPP、HDLC 和LAPB 时, OSPF 缺省认为网络类型是P2P。

Hello报文、DBD报文、LS Resquest报文、LS Update报文、LSAck报文(组播)

P2MP类型:没有一种链路层协议会被缺省的认为 是Point-to-Multipoint 类型。点到多点必须是由其他的网络类型强制更改的。常用做法是将非全连通的NBMA 改为点到多点的网络。

Hello报文(组播)、DBD报文、LS Resquest报文、LS Update报文、LSAck报文(单播)

上一篇:利用tinyproxy在Linux上搭建HTTP Proxy Server
下一篇:拦截相同IP连接数过大的会话请求 - 虚拟化应用
相关文章
图文推荐

关于我们 | 联系我们 | 广告服务 | 投资合作 | 版权申明 | 在线帮助 | 网站地图 | 作品发布 |

版权所有: 88bifa.com--致力于做实用的IT技术学习网站