ospf协议范例6篇

前言:中文期刊网精心挑选了ospf协议范文供你参考和学习,希望我们的参考范文能激发你的文章创作灵感,欢迎阅读。

ospf协议

ospf协议范文1

【关键词】 ospf协议 安全性 报文验证

OSPF全称为Open Shortest Path First,属于内部网关协议,在如今的互联网之中应用最为广泛。OSPF本身具有一定的安全性,但是其本身所具备的安全性却并不能够完全胜任新形势下的网络安全要求。为此,我们必须要加强对OSPF协议安全性的研究,在在此基础上强化OSPF安全性。

一、OSPF安全机制

1.1 层次化路由结构

利用OSPF路由协议可以将自治网络划分成为多个区域,在每一个划分之后的区域之中都存在有独立的链路状态数据库,并各自独立执行链路状态路由算法。这就可以让本区域中的拓扑结构对区域之外的网络进行隐藏,并可以让自治系统在交换、传播路由信息的时候的网络流量得到减少,促进收敛速度的加速。

1.2 具有可靠的泛洪机制

在OSPF协议之中采用LSU报文来对路由信息进行携带,并运用协议本身所定义的泛洪机制让区域之中的路由器的链路状态数据库保持良好的一致性,让路由选择一致性得到保障。LSA是OSPF路由协议中路由协议的最小单元,由路由器生成,并在其中包含了LSA的路由器的标识信息,根据这个标识之下的机制,让OSPF拥有一定自我纠错的能力。

1.3 优良的报文验证机制

OSPF的报文之中包含了认证类型以及认证数据字段。当前,在OSPF路由协议中主要有密码认证、空认证以及明文认证这三种认证模式。其中,明文认证是将口令通过明文的方式来进行传输,只要可以访问到网络的人都可以获得这个口令,很容易让OSPF路由域的安全受到威胁。而密码认证则能够提供良好的安全性。为接入同一个网络或者是子网的路由器配置一个共享密码,然后这些路由器所发送的每一个OSPF报文都会携带一个建立在这个共享密码基础之上的信息摘要。通过MD5算法以及OSPF的报文来生成相应的信息摘要,当路由器接收到这个报文之后,根据路由器上配置的共享密码以及接收到的这个报文来生成一个信息摘要,并将所生成的信息摘要和接收到的信息摘要进行对比,如果两者一致那么就接收,如果不一致则丢弃。

二、OSPF路由协议安全性完善措施

相对来讲OSPF的安全性较高,在很多时候外部对其进行攻击都是因为OSPF路由没有启用密码认证机制或者是攻击者对密码破译之后所实现的。当然即使是启用了密码认证也可以利用重放攻击的方式来进行攻击。要加强其安全性需要注意以下几点:

2.1 对于空验证与简单口令验证的防范

对于空验证和简单口令验证带来的安全问题,可以启用密码验证来进行防范。当启用密码验证之后,OSPF报文会产生一个无符号非递减的加密序列号。在附近的所有邻居路由器中会存放该路由器的最新加密序列号。对于邻居路由器所收到的报文的加密序列号需要大于或者等于所存储的加密序列号,如果不满足该要求则丢弃。

2.2 对于密码验证漏洞的防范

在三种验证方案之中密码验证是最为安全的一种,但是也并不是牢不可破的。即使是启用了密码验证也不代表所有报文内容都是经过加密后传输的,其中LSU报文头部仍然会采用明文,这就存在被攻击者篡改的可能性。即使是采用的MD5算法也并不是绝对安全,例如中国山东大学的科学家就已经破解了MD5算法。对密钥进行管理与维护需要较高成本,所以可以考虑和其他成本较低的方式进行结合,例如数字签名技术。这样可以对大部分的威胁进行有效的抵御。

但是用于生成与验证签名的开销也是非常巨大的。一个路由器需要验证签名的数量会受到很多因素的影响,例如网络之中路由器的数量、对网络区域的划分、链路状态信息的变化以及刷新频率等等。在OSPF之中,因为每一条外部子网络径存在有单独的链路状态信息描述,因此在网络之中就有可能存在有成千上万条这一类链路状态信息。因此,还需要考虑到缓解这些信息对于路由器性能的影响。通常情况下采用的方法是在路由器之上采用额外的硬件,对OSPF路由协议进行改进,周期性或者是按需进行验证签名。在当前的研究方向是在利用密码体制安全性的同时,利用有效的入侵检测技术让OSPF的安全性得到保证。

三、结语

作为一种应用非常广泛的路由协议OSPF的安全性受到广泛的关注,虽然其本身具有一定的安全性,但是却难以满足当前网络安全形势的需要。为此我们需要加强对OSPF安全性的研究,并积极思考如何对其安全性进行完善。

参考文献

ospf协议范文2

广东省国防科技技师学院现主要由两个校区和若干个分校区组成,每个校区都由学生宿舍区、教学区组成,两个主校区和各个分校区已经建立局域网和互联网接口,但是两个主校区未能互联互通,主校区与分校区之前未能互通。目前随着学校考试管理系统和协同办公系统(OA系统)的建立,迫切需要建立一个广域网,把整个学校的各个校区互联互通,保证教学信息能够及时、准确和快速地传输,满足教学管理、日常管理和整个学校办公自动化等需求,并在此基础上开发建设现代化的教学应用系统,实现智能型、信息化、快节奏、高效率的管理教学模式。网络的建立将连接所有教学楼、实验楼、办公室及宿舍区中的PC,提供校内信息资源管理、事务管理、办公应用、课堂教学以及电子邮件、WWW等服务。

一、OSPF路由协议介绍

1.OSPF路由协议的基本介绍

优先开放最短路径(OSPF)(Open Shortest Path First)路由协议是Internet网络TCP/IP协议族中一种内部网关路由协议,是Internet OSPF网络协议工作组于1991年制定出,并以Internet协议标准RFC1583确立下来,被广泛应用于Internet路由器路由协议、ATM交换机选路上的一种功能很强的通用性非常高的路由协议。它是IETF组织开发的一个基于链路状态的自治系统内部路由协议。在IP网络上,它通过收集和传递自治系统的链路状态来动态地发现并传播路由。OSPF具有支持大型网络、路由收敛快、占用网络资源少等优点,在目前应用的路由协议中占有相当重要的地位。

2.OSPF协议的基本概念

(1)链路状态OSPF路由器收集其所在网络区域上各路由器的连接状态信息,即链路状态信息(Link-State),生成链路状态数据库(Link-State Database)。路由器掌握了该区域上所有路由器的链路状态信息,也就等于了解了整个网络的拓扑状况。OSPF路由器利用“最短路径优先算法(Shortest Path First, SPF)”,独立地计算出到达任意目的地的路由。

(2)区域OSPF协议引入“分层路由”的概念,将网络分割成一个“主干”连接的一组相互独立的部分,这些相互独立的部分被称为“区域”(Area),“主干”的部分称为“主干区域”。每个区域就如同一个独立的网络,该区域的OSPF路由器只保存该区域的链路状态。每个路由器的链路状态数据库都可以保持合理的大小,路由计算的时间、报文数量都不会过大。

(3)OSPF网络类型根据路由器所连接的物理网络不同,OSPF将网络划分为四种类型:广播多路访问型(Broadcast MultiAccess)、非广播多路访问型(None Broadcast MultiAccess,NBMA)、点到点型(Point-to-Point)、点到多点型(Point-to-MultiPoint)。

(4)指派路由器(DR)和备份指派路由器(BDR)在多路访问网络上可能存在多个路由器,为了避免路由器之间建立完全相邻关系而引起的大量开销,OSPF要求在区域中选举一个指派路由器(DR)。每个路由器都与之建立完全相邻关系。指派路由器负责收集所有的链路状态信息,并给其他路由器。选举指派路由器的同时也选举出一个备份指派路由器,在指派路由器失效的时候,备份指派路由器担负起指派路由器的职责。

对广播型网络和非广播型多路访问网络,路由器使用Hello协议选举出一个DR。在广播型网络里,Hello报文使用多播地址224.0.0.5周期性广播,并通过这个过程自动发现路由器邻居。在NBMA网络中,DR负责向其他路由器逐一发送Hello报文。

3.OSPF路由协议的路由计算

OSPF把整个网络看成一个自治系统(AS)。每一个AS内若干个物理上相邻的路由器(Router)、网络(Network)组成Area,这些Area内部一般是不相交的,它们划分了整个自治系统。

SPF算法是OSPF路由协议的基础。SPF算法有时也被称为Dijkstra算法,这是因为最短路径优先算法SPF是Dijkstra发明的。SPF算法将每一个路由器作为根(ROOT)来计算其到每一个目的地路由器的距离,每一个路由器根据一个统一的数据库会计算出路由域的拓扑结构图,该结构图类似于一棵树,在SPF算法中,被称为最短路径树。在OSPF路由协议中,最短路径树的树干长度,即OSPF路由器至每一个目的地路由器的距离,称为OSPF的Cost,其算法为:Cost = 100×106/链路带宽。在这里,链路带宽以Bps来表示。也就是说,OSPF的Cost与链路的带宽成反比,带宽越高,Cost越小,表示OSPF到目的地的距离越近。举例来说,FDDI或快速以太网的Cost为1,2M串行链路的Cost为48,10M以太网的Cost为10等。

二、建立基于OSPF协议的技工院校校园网络

1.选用OSPF路由协议的必要性

(1)校园局域网网络相对复杂。主校区和各分校区校园网络经过初期的建设已经具有一定的规模,随着办学规模越来越大,设备越来越多,子网越来越多,IP地址增长速度也越来越快,原有的静态路由协议由于配置繁琐,网管人员工作量大,已不适合现有规模的需要,需要引入一种动态路由协议来满足需求。

(2)原有各个校区的网络互相独立,随着教学管理、日常的管理和实现整个学校办公自动化等需求,需要建设广域网使所有校区互联互通,在此基础上开发建设现代化的教学应用系统,实现智能型、信息化、快节奏、高效率的管理教学模式。由于分校区多,分校区采用的网段不同,各个校区需要互联互通,采用静态路由协议配置复杂,不能实现动态的互联,建设高效自动互联的广域网,需要采用动态互联协议实现网络自动路由。

2.校园网的OSPF区域划分

OSPF协议引入“区域划分”的概念,将网络分割成一个“主干”连接的一组相互独立的子网,这些相互独立的部分称为“区域”,“主干”部分称为“主干区域”,每个区域如同一个独立的网络,其网络结构在区域外是不可见的,该区域的OSPF路由器只保存该区域的链路状态。对于主干区域,主要负责在区域之间分发链路状态信息。这种分层次的网络结构能缩减部分路由器的OSPF的路由条目,提高路由效率。

考虑到学校的现状和将来的发展,将每个主校区和分校区都独立划分为一个区域,从而保证各个局域网相互独立又能互联互通,具体的划分见下表。

同时考虑局域网内的网络安全,减少广播包的数量,将教学区、宿舍区和学生宿舍区分开,结合该校实际情况,分别设置不同的区域。例如同和主校区的家属区子网10.100.0.0/16,办公区子网为10.101.0.0/16,学生宿舍区子网为10.102.0.0/16和10.103.0.0/16,实验室机房子网为10.104.0.0/16。这样可以根据源地址子网的不同,分别划分不同的区域,家属区划为area100,办公区划为area101,学生宿舍区划为area102和area103,实验室机房划为area104等。这样既可以使局域网内区域规模不至于很大,又可以保证与局域网骨干网络的连通性,保证各个区域以最小的跳数到达核心区域。

为了满足教学和办公的需求,各个分校区和主校区通过广域网互联,广域网互联采用OSPF路由协议,整个广域网互联区域号为0。

3.广域网选择和OSPF配置

(1)广域网选择和网络拓扑。为了满足所有分校区都能相互连接,需要建立整个学校的广域网,考虑到所有校区均在广东省21个地级市以上城市内,可以租用现有网络运营商的网络组成广域网,从稳定性、经济性和扩展性等方面考虑,目前广域网采用2M的MSTP光纤接入网络;整个网络拓扑和区域如下图所示。

(2)OSPF配置。例如,同和校区主路由器OSPF配置如下:

ospf协议范文3

1、绝对不要在项目进行中升级,绝对不要!这样做风险巨大。即使最稳定和安全的升级也会带来一些意料不到的错误,甚至整个项目都会完蛋。因为有大量的第三方软件和硬件问题是在系统升级程序的处理范围之外的,这些问题会在之后的补丁和版本中解决,但是最好不要冒项目丢失的风险。

2、只有做好了完整的备份后才进行系统升级。想像一下如果你在系统完全崩溃后面临的惨状:重装系统已经是最简单的工作,所有的第三方插件的重新注册,各种升级补丁,素材全部乱掉需要重采……所以,我专业,我备份!

备份方法很简单,给系统盘做个镜像,然后存到另外的磁盘里面。或者使用CarbonCopy cloner或Deja Vu软件来进行系统盘的备份。

升级到Leopard

我在3台系统上进行了升级:17英寸PowerBook G4(2GB内存),17英寸MacBookPro(4GB内存),还有一台四核心G5(4 5GB内存,QuadroFx显卡)。以上3台都安装了FCS2软件。没有安装任何第三方硬件,除了外置火线硬盘。

在升级到Leopard的时候有三个选项:

1、Install in Place(在原系统上升级):此选项简单升级系统,对原文件不进行改动。可是我认为这样很不可靠。

2、Archive and Install(打包并升级):这和上一种方式很相像,但是它把旧的系统和用户数据备份到一个叫做Previous system的文件夹里面。这样在你需要的时候,就可以调用以前的文件,我个人建议使用这种升级方式。

3、Erase and Install(抹掉并安装):这种方式安装出来的系统最清爽。不过你需要重新安装所有的应用软件,将需要用到的数据从备份中找回来,重新设置各帐户的权限。

我在四核心G5上使用了原系统升级,在其他两个移动平台上使用了打包并升级,三套系统都很正常――但是log&Transfer模块出了问题,不能正常运行。而且在使用6.02升级补丁之前,motlom中的模板是不能使用的。经过实验发现,造成log&Transfer问题的主要原因是Noise IdustriesFXFactory插件,在将其升级到最新后问题完美解决。

在使用Compressor时发现了一些小的显示方面的问题,不过在使用中没有出现大问题。不少人在使用的时候出现了奇怪的问题,但是大部分问题都可以通过安装最新版本的插件和硬件驱动来解决。我对大家的建议是在升级前一定确认你的第三方硬件是支持Leopard的。

对于安装模式,我个人的建议是使用打包并升级。

以下列出升级到Leopard的基本步骤

1、确认你的安装盘和序列号。

2、使用磁盘工具修理所有的硬盘。

3、使用磁盘工具修理系统盘的权限。

4、使用“磁盘武士”软件梳理和修复所有的磁盘目录。

5、如前文所述,备份你的系统盘。

6、升级到Leopard

7、使用磁盘工具修复磁盘,修理权限。

升级FCP

在升级到新系统后我们的system ID文件需要从备份中提取出来,这样可以省去很多注册和设置的步骤。具体的路径是系统盘下得/library/Application Support/Pro Apps,将整个文件夹覆盖新系统的同名文件夹。

ospf协议范文4

【关键词】OSPF;邻接;实验;验证

1.引言

OSPF路由协议是一种链路状态路由协议。同时由于它是一种公有的协议,因此得到了广大网络设备厂商的支持。运行OSPF协议的路由器必须先建立完全邻接关系,然后才能传递路由信息。点到点网络是OSPF支持的多种网络类型其中的一种,本文将在GNS3模拟器上验证在点到点网络中运行OSPF协议时,各路由器建立完全邻接关系的过程。

2. OSPF路由协议

OSPF协议是一种内部网关协议,它在同一个自治系统中的各个路由器之间交换路由信息。运行OSPF的路由器会将LSA泛洪到同一区域内的所有OSPF路由器,而不仅仅是直连的路由器。OSPF路由器通过收集其他路由器发过来的LSA创建OSPF的LSDB(链路状态数据库)。然后使用SPF算法算出到每个目的网络的最短路径,并将其写入路由表。由此可见,OSPF路由器的路由条目并不是其他路由传递过来的,而是路由器本身通过LSDB和SPF算法计算得来的。OSPF定义了点到点网络(point-to-point)、广播型网络(broadcast)等多种类型的网络。本文只验证点到点网络的环境。

3. OSPF完全邻接关系建立过程

OSPF邻接关系有7个状态。

假设路由器A和B直连,A的路由器ID比B的大。并且都运行OSPF。当路由器接口开启,并讲相关接口宣告进OSPF进程之后,就开始建立邻居。以下为OSPF路由器完全邻接关系建立的过程:

(1)初始化时ospf协议处于down的状态。

(2)当A路由器通过宣告进OSPF协议进程的接口发送第一个组播hello报文后进入init状态。B也可以通过同样的方式进入init状态。

(3)当路由器B接收到A发过来的第一个hello报文后,会根据这个hello报文里的Router ID字段提取出来,作为自己的邻居的RID(Router ID)。然后将A的RID写入hello报文的邻居字段,将自己的RID写入Router ID字段,发送给A。A接收到该hello包,在邻居字段看到自己的RID时,A就认为B已经知道自己是它的邻居,从而A达到2way的状态。B也可以通过同样的方式达到2way状态,这时双方进入双向通信阶段。

(4)到达2way状态后,路由器开始发送第一个DBD(数据库描述)报文,这个报文用来选举主/从(master/slave)关系。选举的方法是Router ID大的路由器为master。选举完成后由master发起LSA的交互。在这里由于假设A的路由器ID比B的大,所以选举的结果为路由器A是master。此时双方到达exstart状态。

(5)A发起接下来的DBD报文交互。此时到达exchange状态。这时交互的DBD不同于上面所讲第一个DBD,exchange状态交互的DBD包含每台路由器LSDB中的LSA报头。相当于告知对方路由器,本路由器上有哪些网段的路由。

(6)当交互完DBD报文之后,路由器通过LSA报头的信息和本地LSDA中的信息进行比较,得知本地路由器缺少哪些网段的路由,从而向对方路由器发送LSR报文请求这些缺少的LSA。而收到LSR的路由器就会响应这些请求,发送对应的LSU报文。此时双方的状态为loading。

(7)当loading状态结束后,双方就进入了完全邻接FULL状态。

4. GNS3介绍

GNS3是一款思科模拟器软件,它具有图形化的界面,并且直接采用cisco路由器的网络操作系统IOS,因此可以提供接近于真实cisco路由交换设备的虚拟网络环境。GNS3实际上整合了Dynamips、Dynagen、Pemu和Winpcap等软件。

5.实验拓扑

在GNS3中创建两台路由器R1和R2,给R1和R2分别安装一个NM-4T的模块,该模块可为路由器提供4个串行接口。在R1上给环回口Loopback 0 配置ip地址1.1.1.1/8,模拟一个1.0.0.0/8的网段。配置R1连接R2的接口S0/0的IP地址为12.1.1.1/8并将接口开启,配置R2连接R1的接口的IP地址为12.1.1.2/8并将接口开启。在R1上启用OSPF路由协议,指定Router ID为1.1.1.1,将lookback 0所连接的网络1.0.0.0/8以及S0/0接口所连接的网络12.0.0.0/8都宣告进OSPF进程。在R2上启用OSPF路由协议,指定Router ID为2.2.2.2,将S0/0接口所连接的网络12.0.0.0/8宣告进OSPF进程。R1和R2在同一个区域0。配置完毕后,R2通过OSPF路由协议从R1的S0/0接口获取到一条关于目标网络为1.0.0.0/8的路由条目。实验拓扑图如图所示。

6.基本配置命令

6.1 R1的基本配置

8.结束语

本文对OSPF路由协议作了介绍,对OSPF邻接关系的建立过程进行了分析,并在GNS3模拟器上搭建了一个OSPF点到点实验拓扑,对这一过程进行了模拟,通过查看和分析调试信息验证了邻接关系从down变成full的各个过程。

参考文献:

ospf协议范文5

关键词:Linux系统;路又器;配置

Linux 作为一种新近崛起的操作系统,由于其性能稳定,源码开放及价格方面的优势而逐渐被广大用户所接受。现在Linux的主要用武之地在于服务器领域,但是,经过适当的配置之后,它还可以担当互联网的物理基石--路由器这一重要角色。

一、BGP/OSPF 概述

路由器是与两个或两个以上的网络连接的计算机,它根据路由协议生成并维护一个路由表,并按照该路由表中的信息转发包。这些路由器对公司内部的网络结构了如指掌,知道将分组送到目的地的全部细节,但对于其他公司的网络结构并不了解。像这样“在同一机构下管理的一系列路由器和网络”被称为自治系统(AS)。由不同机构掌管的自治系统,可以采用不同的路由选择算法;但同一自治系统内的所有路由器都使用同一路由协议,以便于自治系统内部各个路由器互换路由信息来维持相互的连通性。每一个自治系统都有一个16位的“自治系统(AS)编号”作为标志,就像 IP 地址一样,它是由专门机构来分配的。

自治系统内的路由器称为“内部网关”,所用的协议称为“内部网关协议”。内部网关协议大体上分为两类,一类是距离向量协议,如 RIP,EIGRP 协议;另一类是链路状态协议如 OSPF 协议。链路状态路由协议与距离向量协议的不同之处在于,采用链路状态路由协议的路由器不是交换到达目的地的距离,而是维护一张网络拓扑结构图。然后用数据库表示该图,其中的表项对应网络的一条链路。路由器根据数据库的信息计算出“最佳路由”,由此指导包的转发。当网络拓扑结构发生变化时,只需将相应纪录而非整个数据库通知其他节点。各路由器做出相应修改并重新计算路由后,就可以继续正常工作。

OSPF 具有支持多重度量制式和多重路径等诸多优点,因此成为因特网上推荐使用的内部网关协议,RIP 却由于自身的局限性而被打入冷宫。现在,在性能上唯一能够与 OSPF 相匹敌的内部网关协议便是 EIGRP--Cisco 的一个专有协议,但 OSPF 的“开放”本身就是一个响亮的招牌,因为谁也不想受制于某家供应商。

二、建立路由器

(1)安装 Zebra

既可以从 Zebra.org 网站下载 Zebra 的最新源程序,也能从 Redhat 和 Debian 中获得它,但不一定是最新版的。从源代码中进行软件安装,就会发现使用的是一些普通的安装过程。

配置脚本会搜索系统上已经安装的 IP 栈并且自动地设置成支持他们。当前,IP 栈很可能仅仅是指 IPv4,但是 IPv6 用户也不用担心,因为 Zebra 也会发现并且支持它。

程序安装之后,还可能必须在 /etc/services 中增加一些命令行。Zebra 的守护程序在他们自己的虚拟终端连接(VTY)下运行,所以的系统必须知道这些虚拟终端连接。

(2)配置 Zebra

如果已经熟悉 Cisco IOS,就能在短时间内掌握 Zebra,因为会发现两者极为相似。Zebra 的每个守护程序使用一个单独的 VTY,这些 VTY 可以通过一个远程登录会话进行动态配置。所以,如果需要设置 OSPF,简单地远程登录到该 Linux 上 2604 端口;为了修改内核的路由表或设置路由协议间的再分发,可以远程登录到端口 2601,该 Zebra 守护程序充当内核管理器,管理其他的守护程序和系统本身之间的通信。

现在介绍如何在一个服务器上创建和运行 OSPF 和 BGP。Zebra 的守护程序运用纯文本文件储存它们的配置。对于 OSPF/BGP 路由器,将用到三个文件∶zebra.conf、ospfd.conf 和 bgpd.conf。

这里的感叹号充当注解标识或分隔符。尽管存在大量不同的网络接口类型(Ethernet、ISDN 等等),但只要是 Linux 内核能够辨认的网络接口类型,Zebra 都可以使用。

(3)设置OSPF

接下来,我们还需要告诉守护程序将通过 OSPF 广播哪些网络以及相关的域(area)。OSPF 的可伸缩性允许它支持多个域。键入 router ospf 开始配置 OSPF,然后键入 network 192.168.66.0/24 area 0。这告诉路由器,我们将使用 OSPF 广播一个子网掩码为 255.255.255.0 的 192.168.66.0 网络。

在本例中,我们让 eth0 接口变成一个被动(passive)接口,以便使它不能发送路由更新。这对于实验是非常重要的,因为在那个方向上的其他的路由器可能监听到发送的路由更新,将接口变成一个被动(passive)接口,从而有效的避免扰乱网络的正常运行。为此,键入命令 passive - interface eth0。如果打算将此路由器作为工作路由器使用时,就没有这个必要了。一旦完成修改,用 end 命令从配置模式中退出,然后用 write file 命令保存。为了让 OSPF 或 BGP 在某接口上工作,那么该接口必须处于""运行""状态。为手工运行一个接口,登录到端口 2601 并且在该接口上执行 no shut 命令。

ospf协议范文6

关键词:ospf;漏洞;数字签名

一 ospf 协议概述

ospf(open shortest path first)作为目前互联网络应用最为广泛的内部网关路由协议,主要提供自治系统(autonomous system,as)内的动态选择路由。它是一种典型的链路状态协议,不同于距离向量协议(如 rip 等)。ospf 主要有以下特性:

适应范围广——支持各种规模的网络,最大可支持数百台路由器。

快速收敛——网络拓扑结构发生变化后立刻发送更新报文,使这一变化在自治系统中同步。

无自环——由于 ospf 根据收集到的链路状态用 spf 算法计算路由,从算法本身保证了不会生成自环路由。

区域划分——允许将自治系统划分成区域,区域间传送的路由信息被进一步抽象,从而减少了占用的网络带宽。

等价路由——支持到同一目的地的多条等价路由。

二ospf 的漏洞分析

2.1 存在的漏洞

ospf 路由协议虽然采取了多种安全机制来保护其不受侵犯,但是这些安全机制并非能让 ospf 路由协议成为一个绝对安全的协议,它还存在相当多的漏洞。

1、空验证和简单口令验证的安全漏洞分析

当验证类型字段置为 0 时,即表示该报文为空验证。空验证时验证字段的值可为任意值,路由器在发送和接收该报文时不做任何额外的身份验证处理,接收方只要校验和无误便接收该 ospf 报文并将其中的 lsa 加入到链路状态数据库中。这一验证类型可以认为是没有任何的安全性的。当使用简单口令验证时,验证类型字段置为 1,64 位的验证字段中存放的是简单口令验证用的口令。简单口令验证的报文是以明文的形式传输的,这其中也包括口令。接收方只要确定校验和正确且验证字段的口令等于预先约定的值即可接收。这一方案对于在传输过程中的窃听者,没有任何的安全性可言。窃听者可以很轻松地监听到口令,然后伪造 ospf 报文并发送出去,扰乱正常的路由秩序。

2、加密验证的漏洞

加密验证可预防外部窃听、重播、修改路由消息及阻塞协议报文传输等攻击。但是外部的攻击者还可以通过发送恶意报文来耗尽路由器的资源,使得路由器由于一直应付这样的恶意攻击而陷入一种更加脆弱的境界。

3、协议中的其它威胁

(1)最大年龄攻击:

在 ospf 路由协议中,由于 lsa 的 age 字段在经过任何一个路由器的时候都需要修改其值,因此它一般不被验证字段的 md5 摘要所覆盖。攻击者可轻松利用该漏洞在lsa 的传播过程中将其截获并修改 lsa 的 age 为 maxage。一旦一个 lsa 的 age 字段被修改为 maxage,就可引起路由器链路状态数据库中 lsa 的早熟,lsdb 过早的将lsa 剔除导致 lsdb 中路由信息的缺失。

(2)针对序列号的攻击:

由于 ospf 的 lsa 是采用泛洪的方式传播的,因此在泛洪途中区域中的入侵者或错误路由器都可以对 lsa 信息发起攻击,篡改其内容。针对序列号的攻击有两种,序列号加一攻击和最大序列号攻击。

(3)分块网络攻击:

如果使虚假 lsa 不被泛洪给该 lsa 的合法生成者,则该 lsa 的合法生成者就不会启动其自反击机制来纠正该 lsa。假设有一个被入侵的路由器所处的位置可以将区域分为两个子区域,则攻击者就可以只向其中的一个子区域以另一个子区域中的某路由器的身份注入虚假 lsa,而不向另一个子区域注入 lsa,这显然就可以达到欺骗的效果。

2.2漏洞防范策略

1、针对空验证和简单口令验证漏洞的防范策略

采用密码验证类型来解决对 ospf 报文任意修改、甚至生成新报文的漏洞,并且验证类型时,每个 ospf 路由器发出的报文都包含 32 位无符号非递减加密序列号,在所有邻居路由器中都存放着当前该路由器的最新加密序列号,并要求接收到的 ospf 报文的加密序列号必须大于或等于存储在路由器中的加密序列号。

2、针对密码验证漏洞的防范策略

密码验证虽然是三种验证方案中最为安全的一种方案,但是它还远没有达到牢不可破的程度。密码验证方案中,lsu 报文的头部仍然是以明文的形式在网络中传播,这给恶意攻击者以很大的机会篡改 lsu 报文。另外,采用 md5 算法并非绝对安全,中国山东大学的科学家已经破解出 md5 算法。再者,维护、管理密钥的成本较高。本文建议在此验证类型的基础上,结合数字签名保护机制来确保 ospf 路由协议的安全。这样的防护可以有效的防备大部分的威胁。本文在后面将提出一种基于 lsu 的报文数字签名方案,可以实现上述功能。

三 基于 lsu 的数字签名 ospf

基于 lsu 的数字签名方案与 ospf 路由协议报文的加密验证机制的有机结合,有效防止了一系列的威胁、攻击。具体分析如下:

1.内部的恶意路由器篡改 lsa 链路状态信息。由于内部的恶意路由器掌握了加密验证所需的密钥,因此它可以毫不费力的修改 lsa 数据,然后重新生成一个 md5 摘要放入验证字段。但是采用上述的数字签名方案后,除生成该 lsu 的源路由器外,其它路由器一旦修改 lsu 的内容都将在接收方路由器被验证出来,这很好的保证了路由信息不被外来入侵者尤其是内部错误路由器的篡改。这主要得益于数字签名的不可否认性。这同样解决了困扰 ospf 路由协议安全的序列号攻击,包括序列号加一攻击和最大序列号攻击,原理与防止篡改内容是相同的。

2.最大程度的防止了最大年龄攻击:在标准 ospf 中,maxage 字段是 lsa 中最容易受到攻击的地方,这是由于 maxage 的特殊性而造成的。在签名的 lsu 中添加了 is maxage 字段用于判断该 lsu 中是否携带了最大年龄的 lsa。本文提出的这种方案有效地阻止了入侵者对年龄字段的修改,一旦年龄字段修改为 maxage,则路由器在接收该 lsu 报文后的验证过程中通过比对消息摘要时可发现篡改,从而抛弃该 lsu。这在一定程度上阻止了针对 lsa 的最大年龄攻击。但是,有些入侵者将 lsa 的 age 字段修改为一个很接近maxage 的值,这种情况本方案将很难对此进行判别并作出应对,目前来看也没有有效的应对措施。这种攻击方式从一定程度上加快了路由器更新 lsa 的速度,消耗了一定的资源,却无特别大的威胁,应该在可以容忍的范围之内。

基于 lsu 的数字签名 ospf 机制的效率可以从计算时间、网络带宽和存储三方面来分析。

时间:数字签名保护的 ospf 协议其核心内容就是对一定的内容进行数字签名。这一过程包括求不定长度的数据的 hash 序列、使用不对称密钥加解密数据。实验在一台amd duron 750mhz 256m memory 配置的 pc 仿真的路由器上进行,系统为 cygwin 仿真的 unix 操作系统。采用 rsaref2 库算法得到如下的结果:对于一个 16 比特的数据,使用 512-bit 的 key 产生和验证一个数字签名数据需要耗时 0.47 秒和 0.023 秒。事实上本文采用的 hash 函数计算出的散列值长度为 128 比特,也就是说系统在产生和验证该数字签名时需要耗费的时间可能还要多。

网络带宽:数字签名保护的 ospf 协议相对于标准 ospf,其多占用的网络带宽主要体现在以下几个方面:1、lsu 中数字签名保护数据使得 lsu 的长度增大,直接增大了网络中数据的传输量。2、数字签名体制中 key 的分发与管理,这包括 pklsa 的传播以及相应的应答等。这些额外的网络带宽负载与网络的容量相比都是极其微小的。

存储:数字签名的 ospf路由器都需要存放自身的私钥和区域中其它路由器的公钥,这一部分存储空间大小一定程度上决定于 area 的大小。而对于数字签名的 lsu 或 lsa,在接受 lsu 报文后通过验证后会将这些报文中的 lsa 存入链路状态数据库之中,这与普通的 ospf 路由器无异,不会将额外的签名信息保存下来占用空间。而对于那些不能通过验证的 lsa 则抛弃不用。

参考文献

[1]钟廷龙,李鑫,郭云飞. ospf 路由协议安全性分析[j]. 微计算机信息, 2005

相关精选