ospf协议详解

2024-08-20

ospf协议详解(通用8篇)

ospf协议详解 篇1

(下面所讲的都是在网络设备正确安装配置,OSPF协议正常运行,网络全互联状态下)

(一)首先先讲下接口下的认证:

1.接口下基于明文的认证

R1(config)#interface serial 1/1

R1(config-if)#ip ospf authentication

R1(config-if)#ip ospf authentication-key free

R1(config-if)#exit

这时候debug会出现以下信息

00:30:33: OSPF: 192.168.1.5 address 192.168.1.2 on Serial1/1 is dead

00:30:33: OSPF: 192.168.1.5 address 192.168.1.2 on Serial1/1 is dead, state DOWN

00:30:33: %OSPF-5-ADJCHG: Process 1, Nbr 192.168.1.5 on Serial1/1 from FULL to DOWN, Neighbor Down: Dead timer expired

00:30:35: OSPF: Rcv pkt from 192.168.1.2, Serial1/1 : Mismatch Authentication type. Input packet specified type 0, we use type 1

00:54:45: OSPF: Rcv pkt from 192.168.1.2, Serial1/1 : Mismatch Authentication Key - Clear Text

大意为认证的失败导致邻居关系DOWN,明文认证。

这时候就需要在对端接口下启用相同命令就可以正常建立邻居关系。

2.接口下基于MD5认证:

R1(config)#interface serial 1/1

R1(config-if)#ip ospf authentication message-digest

R1(config-if)#ip ospf message-digest-key 1 md5 free

命令和上面的明文差不多,第一句是启用基于MD5的认证,第二句中数字1是key ID,范围为1-255,

md5后面为密码,16位以内字符即可,不过双方需要一致。

配置完成同样会出现邻接关系DOWN掉的提示,依旧在对方配置相同信息即可。

(二)下面讲讲基于区域的认证。

1.基于区域的明文认证:

R1(config)#router ospf 1

R1(config-router)#area 1 authentication(区域1开启认证)

R1(config-router)#exit

R1(config)#interface serial 1/1

R1(config-if)#ip ospf authentication-key free(配置认证的明文密码)

配置完成后会出现下面的提示

01:10:25: %OSPF-5-ADJCHG: Process 1, Nbr 192.168.1.5 on Serial1/1 from FULL to DOWN, Neighbor Down: Dead timer expired

这时候同样在对方配上相同信息即可。

2.基于区域的MD5认证:

R1(config)#router ospf 1

R1(config-router)#area 1 authentication message-digest(区域1开启MD5认证)

R1(config-router)#exit

R1(config)#interface serial 1/1

R1(config-if)#ip ospf message-digest-key 1 md5 free(配置认证的MD5密码)

然后同样在对方配置完成即可正常建立邻居关系。

当然,当你想更换密码的话,可以用一下命令,

R1(config)#interface serial 1/1

R1(config-if)#ip ospf message-digest-key 2 md5 free2

这样OSPF在发送数据时会同时使用1和2两种加密密码,发送两份不同数据。当两端同时配好,2可以正常使用,就可以no掉1了。这样做不影响正常邻居关系。

ospf协议详解 篇2

1 路由协议

路由协议是路由器之间相互学习所连网络的信息, 进行路由信息交换所要遵循的网络协议。路由器通过路由协议所定义的方式与设定好的路由器进行路由信息交换, 并根据不断获得的信息计算或刷新路由器中保存的路径信息, 并产生相应的路由表。路由器利用路由表作出当前收到的IP数据包应该转发往何处的判断。

2 OSPF路由协议

2.1 SPF算法

S P F算法是O S P F路由协议的基础。S P F算法有时也被称为Dijkstra算法, 这是因为最短路径优先算法SPF是Dijkstra发明的。SPF算法将每一个路由器作为根 (ROOT) 来计算其到每一个目的地路由器的距离, 每一个路由器根据一个统一的数据库会计算出路由域的拓扑结构图, 该结构图类似于一棵树, 在SPF算法中, 被称为最短路径树。在OSPF路由协议中, 最短路径树的树干长度, 即OSPF路由器至每一个目的地路由器的距离, 称为OSPF的Cost, 其算法为:Cost=100×106/链路带宽。在一个OSPF区域中只能有一个骨干区域, 可以有多个非骨干区域, 骨干区域的区域号为0, 各非骨干区域只与骨干区域相连, 通过骨干区域相互交换信息。

2.2 OSPF协议具体应用

网络拓扑如下图所示

3 结语

OSPF作为一种重要的内部网关协协议的普遍应用, 极大地增强了网络的可扩展性和稳定性, 同时也反映出了动态路由协议的强大功能。相信随着研究的深入OSPF协议将更为广泛的被应用。

参考文献

[1]陈月东, 唐国光.《网络设备互联技术》.中国劳动社会保障出版社, 2010.12.

OSPF路由协议分析 篇3

【关键词】OSPF;邻接关系通告;分组;区域;数据库

一、OSPF介绍

OSPF:Open Shortest Path First 开放最短路径优先是基于RFC 2328的开放标准协议,它非常复杂涉及到多种数据类型,网络类型,数据通告过程等,灵活的接口类型,可以随处设置通告网络地址,方便的修改链路开销等。

二、OSPF邻居关系的建立

1.在局域网中路由器A启动后处于down状态,此时没有其它路由器与它进行信息交换,它会从启用OSPF协议的接口向外发送Hello分组,发送分组使用组播地址:224.0.0.5。

2.所有运行OSPF的直连路由器将会收到Hello分组,并将路由器A加入到邻居列表中,此时的邻居处于Init状态(初始化状态)。

3.所有收到Hello分组的路由器都会向路由器A发送一个单播应答分组,其中包含它们自身的信息,并包含自己的邻居表(其中包括路由器A)。

4.路由器A收到这些Hello分组后,将它们加入到自己的邻居表中,并发现自己在邻居的邻居表中,这时就建立了双向邻居关系(two-way)状态。

5.在广播型网络中要选举DR和BDR,选举后路由器处于预启动(exstart)状态。

6.在预启动状态下路由间要交换一个或多个的DBD分组(DDP),这时路由器处于交换状态。在DBD中包含邻居路由器的网络、链路信息摘要,路由器根据其中的序列号判断收到的链路状态的新旧程度。

7.当路由器收到DBD后,使用LSAck分组来确认DBD包,并将收到的LSDB与自身的相比较,如果收到的较新,则路由器向对方发出一个LSR请求,进入加载状态,对方会用LSU进行回应,LSU中包含详细的路由信息。

8.当对方提供了自身的LSA后,相邻路由器处于同步状态和完成邻接状态,在lan中路由器只与DR和BDR建立完全邻接关系,而与DRothers只建立双向邻接关系,此时的相邻路由器进入了Full状态,完成了信息同步。

三、OSPF的分区机制

OSPF路由协议可以使用在大型网络规模中,如要规模太大,路由器需要维持很大的链路状态作息,构建大的链路状态数据库存(LSDB),路由表要较大,影响工作效率,并且当网络中拓扑出现问题时,会引起大的路由波动,所有路由器要重建路由表,所以分区的概念被提出来。

设计者可以将整个网络分为多个区域,每个区域内部的路由器只需要了解本区域内部的网络拓扑情况,而不用掌握所有路由器的链路情况,这样LSDB就减小了很多,并且当其它区域的网络拓扑变化时,相应的信息不会扩散到本区域外,如变化后影响到其它区域,这时ABR才会生成LSA发往其它区域,这样大部分的拓扑变化被隐藏在区域内部,其它区域的自身并不需要明白这些,内部路由器只需维持本区域的LSDB即可,这样就减少了协议数据包,减轻路由器及链路的负载。

四、OSPF的分组类型

1.HELLO报文(Hello Packet)。最常用的一种报文,周期性的发送给本路由器的邻居。内容包括一些定时器的数值,DR,BDR,以及自己已知的邻居。

2.DBD报文(Database Description Packet)。两台路由器进行数据库同步时,用DD报文来描述自己的LSDB,内容包括LSDB中每一条LSA的摘要(摘要是指LSA的HEAD,通过该HEAD可以唯一标识一条LSA)。这样做是为了减少路由器之间传递信息的量,因为LSA的HEAD只占一条LSA的整个数据量的一小部分,根据HEAD,对端路由器就可以判断出是否已经有了这条LSA。

3.LSR报文(Link State Request Packet)。两台路由器互相交换过DD报文之后,知道对端的路由器有哪些LSA是本地的LSDB所缺少的或是对端更新的LSA,这时需要发送LSR报文向对方请求所需的LSA。内容包括所需要的LSA的摘要。

4.LSU报文(Link State Update Packet)。用来向对端路由器发送所需要的LSA,内容是多条LSA(全部内容)的集合。

5.LSAck 报文(Link State Acknowledgment Packet)。用来对接收到的LSU报文进行确认。内容是需要确认的LSA的HEAD(一个报文可对多个LSA进行确认)。

OSPF(Open Shortest Path First开放式最短路径优先)是一个内部网关协议(Interior Gateway Protocol,簡称IGP),用于在单一自治系统(autonomous system,AS)内决策路由。与RIP相比,OSPF是链路状态路由协议,它在各方面具有较大的优势,虽然比较复杂,但其优越的工作机制却是网络规划中不可或缺的。

ospf协议详解 篇4

当路由器接收到这些信息时,它就可以根据SPF算法计算出到每个结点的最短路了。其他相临路由器通过使用OSPF路由协议的Hello协议每10秒发送一个问候包给224.0.0.5,然后接收这些路由器发回的信息。一个OSPF路由协议的hello信息包头可以通过iptraf来嗅探到,如下所示:OSPF hlo (a=3479025376 r=192.168.19.35) (64 bytes) from 192.168.253.67 to 224.0.0.5 on eth0。192.168.253.67边界路由器发送一个helo信息包给多播(224.0.0.5)来告诉其他路由器和主机怎样从192.168.19.35联系区域a(a=3479025376)。一旦路由器接受到Hello信息包,它就开始同步自己的数据库和其他路由一样。

OSPF协议相关的漏洞和防范措施

OSPF由于内建几个安全机制所以比起RIP协议安全的多,但是,其中LSA的几个组成部分也可以通过捕获和重新注入OSPF路由协议信息包被修改,JiNao小组开发了一个FREEBSD divert socket的LINUX实现并在它们的测试中使用到。

OSPF可以被配置成没有认证机制,或者使用明文密码认证,或者MD5,这样如果攻击者能获得一定程度的访问,如他们可以使用如dsniff等工具来监视OSPF信息包和或者明文密码,这个攻击者可以运行divert socket或者其他可能的各种类型ARP欺骗工具来重定向通信。JiNao小组发现了有关OSPF路由协议的4种拒绝服务的攻击方法,下面是简单的说明:

Max Age attack攻击 LSA的最大age为一小时(3600)

攻击者发送带有最大MaxAge设置的LSA信息包,这样,最开始的路由器通过产生刷新信息来发送这个LSA,而后就引起在age项中的突然改变值的竞争。如果攻击者持续的突然插入最大值到信息包给整个路由器群将会导致网络混乱和导致拒绝服务攻击。

Sequence++ 攻击 即攻击者持续插入比较大的LSA sequence(序列)号信息包,根据OSPF的RFC介绍因为LS sequence number(序列号)栏是被用来判断旧的或者是否同样的LSA,比较大的序列号表示 这个LSA越是新近的。所以到攻击者持续插入比较大的LSA sequence(序列)号信息包时候,最开始的路由器就会产生发送自己更新的LSA序列号来超过攻击者序列号的竞争,这样就导致了网络不稳定并导致拒绝服务攻击。

最大序列号攻击

就是攻击者把最大的序列号0×7FFFFFFF插入,

根据OSPF的RFC介绍,当想超过最大序列号的时候,LSA就必须从路由domain(域)中刷新,有InitialSequenceNumber初始化序列号。这样如果攻击者的路由器序列号 入最大序列号,并即将被初始化,理论上就会马上导致最开始的路由器的竞争。但在实践中发现在某些情况下,拥有最大MaxSeq(序列号)的LSA并没有被清除而是在连接状态数据库中保持一小时的时间。

伪造LSA攻击

这个攻击主要是gated守护程序的错误引起的,需要所有gated进程停止并重新启动来清除伪造的不正确的LSA,导致拒绝服务的产生。这个攻击相似对硬件的路由器不影响并且对于新版本的gated也没有效果。nemesis-ospf能对OSPF路由协议产生上述攻击,但是,由于nemesis-ospf太多的选项和需要对OSPF有详细深刻的了解,所以一般的攻击者和管理人员难于实现这些攻击。并且也听说nemesis-ospf也不是一直正常正确的工作,就更限制了这个工具的使用价值。

OSPF认证需要KEY的交换,每次路由器必须来回传递这个KEY来认证自己和尝试传递OSPF消息,路由器的HELLO信息包在默认配置下是每10秒在路由器之间传递,这样就给攻击者比较的大机会来 这个KEY,如果攻击者能 网络并获得这个KEY的话,OSPF路由协议信息包就可能被伪造,更严重的会盲目重定向这些被伪造的OSPF路由协议信息包。当然这些攻击少之又少,不光光是其难度,重要的是因为还有其他更容易的安全漏洞可以利用,谁不先捏软柿子。这里建议如果一个主机不要使用动态路由,大多数的主机使用静态路由就能很好的完成起功能。因为使用动态路由协议很会受到攻击,例如,几年以前gated软件就被发现有一个认证的问题。

关于使用IRPAS对CDP和IRDP攻击

IRPAS的cdp程序主要对发送CDP (Cisco router Discovery Protocol)消息给CISCO路由器并对内部网络段产生拒绝服务攻击,发送一些垃圾字符就会导致路由器重新启动或者崩溃。它也能作为欺骗来使用,为其他更危险的程序打开方便的大门,一种可能的攻击场景:如使用cdp来使路由器停止服务,然后使用irdp或者irdresponder工具发送高优先值来通知一新的路由器,这样如果我们的目标路由器不能与被拒绝服务攻击而停止服务的通信,新的路由器的高优先值就会被采用,如果攻击者设置的这个值被成功采用的话,攻击者就能在他们的系统中轻松插入通信路径。

ospf协议详解 篇5

广播是将数据报发送到网络中的所有主机(通常是本地相连的网络),而多播是将数据报发送到网络的一个主机组。这两个概念的基本点在于当收到送往上一个协议栈的数据帧时采用不同类型的过滤。每个协议层均可以因为不同的理由丢弃数据报。

目前有四种类型的广播地址:受限的广播、指向网络的广播、指向子网的广播和指向所有子网的广播。最常用的是指向子网的广播。受限的广播通常只在系统初始启动时才会用到。试图通过路由器进行广播而发生的问题,常常是因为路由器不了解目的网络的子网掩码。结果与多种因素有关:广播地址类型、配置参数等等。D类IP地址被称为多播组地址。通过将其低位23bit映射到相应以太网地址中便可实现多播组地址到以太网地址的转换。由于地址映射是不唯一的,因此需要其他的协议实现额外的数据报过滤。

习题

12.1广播是否增加了网络通信量?

12.2考虑一个拥有50台主机的以太网:20台运行TCP/IP,其他30台运行其他的协议族。主机如何处理来自运行另一个协议族主机的广播?

12.3登录到一个过去从来没有用过的Unix系统,并且打算找出所有支持广播的接口的指向子网的广播地址。如何做到这点?

12.4如果我们用ping程序向一个广播地址发送一个长的分组,如

它正常工作,但将分组的长度再增加一个字节后出现如下差错: sun%ping140.252.13.631473

PING140.252.13.63:1473databytessendto:Messagetoolong究竟出了什么问题?

风险投资协议详解之四保护性条款 篇6

设立保护性条款目的是保护投资人小股东,防止其利益受到大股东侵害。但投资人对保护性条款的行使,会对公司的正常运营产生一定的干扰,创业者在这个条款的谈判是要考虑如何在这两者之间找到一个适当的平衡。

保护性条款(Protective Provisions),顾名思义,就是投资人为了保护自己的利益而设置的条款,这个条款要求公司在执行某些潜在可能损害投资人利益的事件之前,要获得投资人的批准。实际上就是给予投资人一个对公司某些特定事件的否决权。

投资人为什么要保护性条款

也许你会认为投资人通过派代表进入董事会,对公司就有足够的控制,保证公司不会从事任何违背其利益的事情,投资人没有必要太关注保护性条款。

这种看法是不对的,因为作为董事会成员,投资人代表的法律职责是为公司的利益最大化而工作。有时候,公司的利益与某特定类别股份(比如A类优先股)的利益是不一致的,这时就会出现这样一种情况:作为董事,他在法律上应该为了公司的整体利益同意某件事,而作为某类股份的股东,需要通过其他渠道来保护自己的利益。

A轮融资后投资人持有的优先股通常占公司股份比例为20%-40%,如果普通股股东联合起来,他们可以控制公司的股东会和董事会:

· 优先股无法影响股东投票,因为他们的股份不够;

· 优先股也无法影响董事会投票,因为他们的席位不够。(比如,董事会组成是2个普通股席位、1个优先股席位、无独立董事席位)。

投资人需要通过保护性条款,至少要防止普通股股东(比如创始人)做以下事情:

· 将公司以$1美元价格卖给创始人的亲属,将优先股扫地出门;

· 创始人以$1亿美元价格将部分股份卖给公司,立刻过上优哉游哉的好日子;

· 发行巨量股份给创始人,将优先股比例稀释成接近零。

典型优先股保护性条款

Term Sheet中典型的优先股保护性条款(中/英文条款对照)如下:

Protective Provisions: So long as any of the Preferred is outstanding, consent of the holders of at least 50% of the Preferred will be required for any action that:

(i)amends, alters, or repeals any provision of the Certificate of Incorporation or Bylaws in a manner adverse to the Series A Preferred;

(ii)changes the authorized number of shares of Common or Preferred Stock;

(iii)authorizes or creates any new series of shares having rights, preferences or privileges senior to or on a parity with the Series A Preferred;

(iv)approves any merger, sale of assets or other corporate reorganization or acquisition;

(v)purchases or redeems any common stock of the Company(other than pursuant to stock restriction agreements approved by the board upon termination of a consultant, director or employee);

(vi)declares or pays any dividend on any shares of Common or Preferred Stock;

(vii)approves the liquidation or dissolution of the Company;

保护性条款:只要有任何优先股仍发行在外流通,以下事件需要至少持有50%优先股的股东同意:

(i)修订、改变、或废除公司注册证明或公司章程中的任何条款对A类优先股产生不利影响;

(ii)变更法定普通股或优先股股本;

(iii)设立或批准设立任何拥有高于或等同于A类优先股的权利、优先权或特许权的其他股份;

(iv)批准任何合并、资产出售或其他公司重组或收购;

(v)回购或赎回公司任何普通股(不包括董事会批准的根据股份限制协议,在顾问、董事或员工终止服务时的回购)

(vi)宣布或支付给普通股或优先股股利;

(vii)批准公司清算或解散;

这些保护性条款的数量有多有少,少则3、4条,多则二十多条。我认为以上条款是公平及标准的,而其他没有列出的条款是对投资人有利的,而且通常不是风险投资的典型条款。

谈判要点及谈判空间

跟Term Sheet所有其他条款一样,保护性条款的谈判结果,也是根据企业及投资人双方的谈判地位决定,谁强势,谁就获得有利的条款。

保护性条款通常是Term Sheet谈判的焦点,创业者当然希望保护性条款越少越好,最好没有;而VC刚好相反,希望对公司的一系列事件拥有否决权级别的控制。有没有这个权利是个问题,而行不行使是另外一个问题。

1.保护性条款的数量

如上文罗列,投资人在保护性条款中会要求对公司的一系列事件拥有批准的权利。创业者跟投资人谈判的最直接目标就是减少这些事件的数量,而不是试图取消保护性条款。

因为公司的重大事项都会通过董事会来决策,董事会保障公司的利益。投资人的保护性条款其实是防止发生有利公司但可能危害投资人利益的事件,这类事件包括几类:

· 可能改变优先股权利和地位的(如上文i、iii);

· 可能改变优先股股权比例的(如上文ii、v);

· 可能改变优先股退出回报的(如上文iv、vi、vii)。

这些事件都是与投资人的利益直接、紧密相关的,其他事件都是可以通过谈判,排除在保护性条款之外。通常而言,上文的7个条款是比较标准和容易接受的。

另外,如果投资人强势,要求对更多事件拥有批准权利,创业者也有其他处理办法,比如:

(a)要求公司运营达到阶段性里程碑之后,去除某些保护性条款;

(b)把投资人要求的某些保护性条款变成“董事会级别”,批准权由投资人的董事会代表在董事会决议时行使,而不由投资人的优先股投票。

2.条款生效的最低股份要求

公司应该要求在外流通(outstanding)的优先股要达到一个最低数量或比例,保护性条款才能生效。是“只要有任何数量的优先股在外流通”就生效,还是“超过X%的A类优先股在外流通”才生效。

很多保护性条款中要么明确,要么隐含地要求只要有“任何数量”的优先股在外流通,保护性条款都有效。这是有问题的,比如,如果因为回购或转换成普通股,优先股只有1股在外流通,这1股优先股的持有人不应该拥有阻止公司进行某些特定事项的权利。

通常而言,这个生效比例越高对创业者越有利。我看到比较多的是25%-75%,50%好像没有什么争议,双方应该都是可以接受的。

3.投票比例下限

保护性条款实施时,“同意”票的比例通常设为“多数”或“超过50%”,即公司要执行保护性条款约定的事项之前,要获得持有多数或超过50%优先股的股东同意。在很多情况下,这个比例被设置的更高,比如2/3,尤其是公司有多个投资人的时候(A轮联合投资,或公司经过多轮融资),要保证多数投资人支持公司执行的某个行为。

通常而言,这个投票比例的门槛越低对创业者越有利。如果太高,创业者就要当心股份比例小的投资人(small investors)不适当地行使否决权。比如,条款要求90%优先股同意,而不是多数(50.1%)同意,那么一个只持有10.1%优先股的投资人就可以实际控制保护性条款了,他否决就相当于全体优先股股东否决了。

4.不同类别的保护条款

当进行后续融资时,比如B轮,通常会讨论保护性条款如何实施。有2种情况:(a)B类优先股获得自己的保护性条款;或(b)B类优先股与A类优先股拥有同一份保护性条款,并一同投票。

创业者(公司)当然不希望不同类别的投资人各自拥有单独的保护性条款,而希望所有投资人采用同一份保护性条款,所有投资人一起投票(情况b)。因为A、B类优先股的保护性条款分开的话,公司做任何保护条款中的事情,需要面对2个潜在的否决表决。如果是A轮投资人继续投资B轮,那就没有什么好说的,自然是选择(b)。

防止投资人谋求自己利益

保护性条款是防止普通股大股东损害优先股小股东,但是它不是牺牲公司利益为优先股谋求利益的工具,创始人要防止优先股股东运用保护性条款谋求自己的利益。

比如,公司收到一个收购意向,创业者及管理团队认为卖掉公司对股东有利,董事会同意并批准了。但如果投资人的其他投资案例都不太好,指望这个公司通过IPO或后续可能更好的并购价格让他赚得盆满钵满,投资人就不愿意现在出售。于是,投资人在董事会投票赞成出售,通过行使保护性条款否决出售。

其实企业宁愿要一个“自私”的投资人,他通过其董事会席位为自己谋利益,而不希望投资人通过保护性条款做除了保护自己之外的任何事。至少,这个“自私”的投资人作为董事会成员的能力与其董事会席位数量成比例,而保护性条款,给予他一个跟他的股份比例及董事会席位安排完全无关的一个“一票否决权”。

总结

ospf协议详解 篇7

GGSN作为连接3G核心网和外部的数据网络的网关,为了网关GGSN的数据包路由和转发的系统复杂度,在实现路由功能时需要针对GGSN的架构,在控制板上运行OSPF路由协议,由它为每个数据板生产路由表,并针对GGSN的特殊应用对OSPF协议[1]做了相应修改以便使得能被GGSN所使用。在此架构下OSPF[2,3]方法直接实现应用于GGSN是不可行的。如果系统设计每增加一个媒体网关(MGW),就需要单独实现路由和转发,这样系统的设计复杂性会大大增加。为了解决上述存在的问题,提高系统设计的可扩展性,在GGSN应用OSPF时对路由模块和转发模块加以分离的策略,并对协议和拓扑路径作适当修改之后加以应用。GGSN系统设计时主要采用了模块化,灵活可扩展的系统架构,从功能上可以大致分为两个模块:SVR和MGW,其中MGW板主要完成数据面的处理,包括GTP-U的消息处理和转发,NAT,OSPF路由消息的发送和接收等。而SVR板的功能主要包括GTP-C消息处理,会话管理,OSPF路由协议,MGW板的路由表的生产和维护。在如图1中GGSN配置了三个MGW板,在MGW的GI接口分别连接到外部网络N1,N2,N3并有三个相邻路由器R1,R2,R3。MGW在GI发送和接收OSPF路由协议报文,把收到的OSPF路由报文送到SVR板上的路由模块,路由模块为每个MGW板生成路由表,送到MGW板供MGW板转发使用。通过运行路由协议,GGSN无需再GI接口提供前端路由器,在SVR板上运行路由协议,将GGSN的数据包的路由和转发分离,减少系统的复杂程度,如果系统中多增加几块MGW的话,系统的配置和维护就会变得更难,技术更加复杂。

1 OSPF协议阐述

使用动态路由协议可以使GGSN在GI接口摆脱对Cisco的前端路由器的依赖,降低了GGSN的成本,使GGSN的组网和维护变得更简单一些。路由协议可以分为内部网关协议(Interior Gateway Protocol)和外部网关协议。内部网关协议包括RIP,OSPF,EIGRP,外部网关协议包括BGP4,EGP。使用内部网关协议或外部网关协议要视运营策略而定,不过由于OSPF成为目前Internet广域网和Intranet企业网采用最多、应用最广泛的路由协议之一,我们在GGSN上首先实现了OSPF协议。

OSPF协议是一种动态路由协议,它能迅速地检测到自治系统内网络拓扑的变化[4](比如某个网络端口不能工作),在一段网路路由信息汇聚的时间后,计算出新的、正确的路由。路由信息的汇聚时间很短,并且引起的网络开销很小。

当路由器启动时,它首先初始化路由协议数据结构,通过network配置命令使OSPF协议在相应的网络端口运行,然后路由器通过Hello协议同网络上的其他路由器建立邻居关系。在广播网络和点到点网络中路由器通过将Hello分组发送到多个目的地址ALLSPFRouter上(224.0.0.5)来动态地发现邻居。一旦路由器新获得一个邻居,它就需要试图与之建立邻居关系,并交换彼此的链路状态数据库[5,6]。一对有邻居关系的路由器它们的链路状态数据库之间的内容是保持同步的。路由更新信息只能在具有邻居关系的路由器之间发送和接收。OSPF路由器定期地发布自己的状态,成为链路状态信息(Link State Advertisement)。LSA同样在路由器状态发生变化时(如自己相连的某个网络不可达)被发布出去。在路由器发布的自己的LSA中就反映了一个路由器所建立的邻居关系。OSPF路由器发布的LSA在整个区域中扩散,而扩散算法必须是可靠的,以确保同一区域的所有路由器的链路状态数据库保持完全一致。链路状态数据库包含了同一个区域中所有路由器所发布的LSA。通过这个数据库路由器以自己为根节点计算出最短路径树,进而得到所需要的路由表。

2 OSPF在GGSN中的应用策略

OSPF必须为每个MGW板计算生成单独的路由表,在系统设计实现中,OSPF运行在SVR板上,OSPF生成的路由表的最短路由是基于GGSN的,而不是基于每个MGW板的,无法为MGW板所用。因此需要改进设计方案,采取以下应用策略来解决上述问题。

在GGSN系统中SVR上执行OSPF任务并保存所有网络拓扑,OSPF报文中的链路状态通告(Link State Advertisement)构成了链路状态数据库[7],链路状态数据库描述了网络拓扑结构,也就是一张有向图。图由节点和边构成,节点包括路由器节点(R)和网络节点(n)构成。边的权值就是节点间的开销。GGSN通过3个GI接口和N1,N2,N3相连,这些节点又和其他的路由器接口相连。

从这张拓扑生成的最短生成树如图3所示,生成的路由表如表1所示,可以看到N4的下一跳从GI出,而N5的下一跳从GI1出,所有该路由表不能被任何一个MGW所使用。

因此为了解决这个问题,我们在运行最短路径算法生成路由信息时,将分别为每一个MGW板单独生成一次路由表,并对路由状态数据库作修改,去掉除了这个MGW板外的其他GGSN所连接的与该MGW无关的GGSN的GI接口去掉。例如在位MGW1生成路由表时将链路状态数据库改为如图4。

从这张拓扑图生成的最短生成树如图5所示,生成的路由表如表2所示,可以看到,所有路径的下一跳都是从GI1出去的,该路由表可以被MGW1使用。

这样通过的改变网络拓扑路径策略,就可以得到每个MGW需要的路由表。同样,在为MGW2计算路由表时首先恢复之前的修改,然后将拓扑图与MGW2无关的GGSN的GI接口去掉,再运行生成树算法,就能得到MGW2的路由表。

3 高可用性和Flooding过程修改

3.1 OSPF高可用性

如果按照通常HA(High Availability)的做法,为了做到HA,OSPF需要在主备机之间做重要数据的同步备份,但考虑到OSPF会为每个接口和每个相邻路由器维护一个状态机,这两个状态机状态也比较多,加上数据库概要过程和Flooding过程中还会有重传队列以保证传输的可靠性,这部分的同步也比较麻烦,另外链路状态数据库也需要经常同步,所以按照传统做法会比较麻烦。

备份切换到主板时,如果OSPF任务由于没有同步数据备份,相当于任务刚进入初始化状态,它会认为周围没有相邻路由器,链路状态数据库也是为空的,这时它会生成一个空的路由表,等通过Hello报文与相邻路由器建立了双向关系后,从相邻路由器中获得网络的链路状态数据库,OSPF会再次生成一个可用路由表。

GGSN结构中,路由表是放在MGW板上供IP转发使用的,SVR板切换时,MGW板的路由信息还是可用的。所以当OSPF第一次生成空的路由表时,我们只需要禁止它往MGW板写入数据,这样就可以保证切换后路由信息依然可用。OSPF从相邻路由器建立获得链路状态数据库以后生成的路由表将允许它写入MGW板,这样就能基本做到从GGSN方考虑无缝的切换。

如果终端的PDP地址不是通过DHCP以及Radius等协议从外部数据网络获得,而是由GGSN分配,那么GGSN应该向外部数据网络广播这些地址的可达性信息,以便从外部网发送给移动终端的IP包能正确路由到GGSN,属于某个PDP地址的IP报文会由固定的某个GI接口处理,这样GGSN只要通知外部数据网络某个PDP地址(或子网)的下一跳信息是GI地址的就可以了。

OSPF把这些IP的网络地址放在类型自治区外部链路状态通告(As External Link State Advertise ment)中,广播到外部网络中。自治区外部链路状态通告中除了广播的网络地址N外,有一个域为for ward address。它告诉对方OSPF路由器从这个for ward address可以到达网络地址N。GGSN的OSPF将forward address填成分配该GI地址。GI接口就能收到从外部网络来的目的地址属于此网段的IP包。

3.2 Flooding过程修改

OSPF的flooding是路由器收到从其他路由器传来的网络拓扑更新[8](Link State Update)后向其他路由器转发的过程,整个过程要求对网络更新作快速而有可靠的扩散。

如图6所示,OSPF路由器R有三个接口分别和网络N1-N3相连,当从N1收到网络更新的报文后,R会向N2,N3转发更新。但是GGSN只是作为OSPF自治系统的边缘,并没有别的OSPF路由器需要通过GGSN与OSPF自制系统相连,与GGSN相连的外部数据网络的OSPF路由器之间并不需要GGSN做中转,GGSN也就不会转发IP数据包,为此需要对flooding过程作相应策略修改。一旦从一个GI所在的网络收到更新,只会回送响应消息而不会再转发到其他GI上,更新修改方案如图7所示,在存在多个GI的环境中,这样做也可以减少网络流量。

4 结束语

本文在分析GGSN系统设计中,存在多增加几块MGW的话,系统的配置和维护就会变得更难,技术更加复杂的问题,为此提出路由和转发模块分离策略,对OSPF协议和网络拓扑路径的修改,实现了二者的分离,从而降低了系统设计复杂度;另外系统可靠性实现能够满足系统在最小改动环境下基本做到无缝切换的需求,Flooding过程修改也能够减少网络流量。工程实践证明上述策略应用符合GGSN的功能需求,而且是行之有效的。

摘要:为了降低连接3G核心网和外部的数据网络的网关GGSN的数据包路由和转发的系统复杂度,提出了一种针对GGSN中路由和转发模块分离策略。通过对OSPF协议和网络拓扑路径的修改,实现了二者的分离。另外对Flooding过程的修改减少网络的流量,高可用性实现也达到了系统的无缝切换。实现证明,上述策略应用符合GGSN的功能需求,并且是有效的。

关键词:开放最短路径优先协议,内部网关协议,自治区域,GPRS支持节点,媒体网关

参考文献

[1]徐大海,黄健强,吴克喜,等.基于OSPF的网络拓扑搜索.计算机工程与科学,1999;21(6):17—21

[2] Shaikh A,Goyal M.An OSPF topology sever:design and evaluation.IEEE Journal on Selected Areas in Communications,2002;20(4):746—755

[3] Shaikh A,Greenberg A.OSPF monitoring:architecture design anddevelopment experience.In:Proc of the USENIX Symp.On Net-worked Systems Design and Implementation(NSDI).San Francisco:ACM Press,2004

[4]徐建锋,邓永平,丁圣勇.基于OSPF服务器的网络拓扑发现.计算机工程,2006;32(24):115—117

[5]孙作聪,王立松,顾宝根.基于OSPF的温和重启的触发机制的研究与实现.计算机工程与设计,2006;27(14):2653—2656

[6]尤澜涛,朱巧明,李培峰.基于OSPF的网络拓扑快速发现系统的设计.计算机工程,2006;32(24):115—117

[7]孟静,廖志刚,李增智,等.网络拓扑搜索的高效、完备性算法研究.计算机工程与应用,2002;6(14):167—170

ospf协议详解 篇8

1 OSPF协议背景介绍

随着Internet的发展,接入Internet的路由器越来越多,路由负载不断增加,路由表的大小也随着接入的网络数量的增加而增加。路由器和链路的数目越多,就越可能出现问题,原来的单一网络很难管理庞大的路由表以及路由更新等。于是引入了动态路由。顾名思义,动态路由协议是一些动态生成(或学习到)路由信息的协议。这些协议使路由器能动态地随着网络拓扑中产生(如某些路径的失效或新路由的产生等)的变化,更新其保存的路由表,使网络中的路由器在较短的时间内,无需网络管理员介入自动地维持一致的路由信息,使整个网络达到路由收敛状态,从而保持网络的快速收敛和高可用性。

动态路由协议中使用最广泛的是OSPF协议。所以很有必要对该协议进行深入研究并进行测试。OSPF(Open Shortest Path First)路由协议是Internet网络TCP/IP协议族中一种内部网关路由协议,是Internet OSPF网络协议工作组于1991年制定出,并以Internet协议标准RFC1583确立下来,被广泛应用于Internet路由器路由协议、ATM交换机选路上的一种功能很强的通用性非常高的路由协议。OSPF路由协议是为TCP/IP网络制定的,是基于网络链路状态变化而动态进行路由选择的一种内部网关路由协议。在IP网络内,每一个路由器维护着一个描述网络结构的数据库,路由器根据数据库,通过计算建立最短路径树而建立起路由表。

2 软件测试理论和测试方法研究

2.1 软件测试概述

信息技术的飞速发展,使软件产品应用到社会的各个领域,软件产品的质量自然成为人们共同关注的焦点。不论软件的生产者还是软件的使用者,均生存在竞争的环境中,软件开发商为了占有市场,必须把产品质量作为企业的重要目标之一,以免在激烈的竞争中被淘汰出局。用户为了保证自己业务的顺利完成,当然希望选用优质的软件。质量不佳的软件产品不仅会使开发商的维护费用和用户的使用成本大幅增加,还可能产生其他的责任风险,造成公司信誉下降,继而冲击股票市场。在一些关键应用(如民航订票系统、银行结算系统、证券交易系统、自动飞行控制软件、军事防御和核电站安全控制系统等)中使用质量有问题的软件,还可能造成灾难性的后果。

事实上,对于软件来讲,还没有象银弹那样的东西。不论采用什么技术和什么方法,软件中仍然会有错。采用新的语言、先进的开发方式、完善的开发过程,可以减少错误的引入,但是不可能完全杜绝软件中的错误,这些引入的错误需要测试来找出,软件中的错误密度也需要测试来进行估计。

2.2 软件测试的基本方法

软件测试的方法和技术是多种多样的。软件测试方法,可以从宏观和微观两个方面看。

从宏观看软件测试方法,也就是讨论软件测试的方法论。从方法论看,更多体现了一种哲学的思想,例如辩证统一的方法,在测试中有许多对立统一体,如静态测试和动态测试、白盒测试和黑盒测试、自动化测试和手工测试等。软件测试的方法论来源于软件工程的方法论,例如有面向对象的开发方法,就有面向对象的测试方法;有敏捷方法,就有和敏捷方法对应的测试方法。

从微观看软件测试方法,就是软件测试过程中所使用的、具体的测试方法,例如等价类划分、边界值分析、正交试验方法等。

包括下列各种方法:

1)白盒测试方法;

2)黑盒测试方法;

3)静态测试和动态测试;

4)主动测试和被动测试;

5)形式化测试方法;

6)基于风险的测试;

7)模糊测试方法;

8)ALAC测试和随机测试方法;

9)软件可靠性评估方法。

3 OSPF协议测试方法应用与测试

3.1 常用测试方法测试

1)配置测试。

这类测试是要检查计算机系统内各个设备或各种资源之间的相互联结和功能分配中的错误。它主要包括配置命令测试、循环配置测试和修复测试。

2)等价类划分测试。

等价类划分是一种典型的黑盒测试方法,使用这一方法时,完全不考虑程序的内部结构,只依据程序的规格说明来设计测试用例。等价类划分方法把所有可能的输入数据,即程序的输入域划分成若干部分,然后从每一部分中选取少数有代表性的数据做为测试用例。

3)边界值测试。

边界值分析方法是对等价类划分方法的补充。长期的测试工作经验告诉我们,大量的错误是发生在输入或输出范围的边界上而不是发生在输入输出范围的内部。因此针对各种边界情况设计测试用例,可以查出更多的错误。

4)功能测试。

功能测试又称正确性测试,即测试软件系统的功能是否正确,其依据是需求文档,如产品需求规格说明书。它检查软件的功能是否符合规格说明。

3.2 自我总结方法测试

对OSPF协议与软件测试方法深入研究,经过反复测试和总结,在常用测试方法基础上进行优化,作者总结了自己的一套测试方法。

1)用户角度测试。

软件系统的需求来源于用户,最终使用权也是用户,所以用户的感受很重要,只有满足用户需求和习惯的软件系统才能称之为真正意义的好系统,在此基础上,作者总结出了用户角度测试方法。用户角度测试是指测试人员进行换位思考,从用户角度考虑来对被测对象进行功能、界面等测试,从而判断被测试对象的界面等操作是否符合用户习惯,是否易用。

2)系统有故障下测试。

人生病了,可能是人体的某个功能器官发生了病变,需要针对性治疗,但是一般情况没有发生病变的功能器官运行正常,不会受到或者很少受到影响。比如手受伤了,并不会影响脚的行走。对于软件系统来讲,同样也适用。所以作者总结了系统有故障下测试方法。系统有故障下测试是指软件系统在有故障情况下,还能“带病运行”,只是某些功能点缺失,不会对整个系统造成大的影响。

3)满配测试。

当我们发现软件系统在正常情况或者配置量小的情况能工作正常,那么如果对软件施加压力进行满配置,软件系统是否还能正常运行呢?在此基础上作者总结了满配测试,有点类似于压力测试或者容量测试,但是又有区别。满配测试是指对被测对象的某项指标进行满配,看看系统是否正常运行,然后配置超过标称容量,看看系统是否正常运行,最后使配置又恢复到满配置或者略小于满配置,系统是否正常运行。

4)版本升级回退测试。

我们在使用某款软件时,会发现软件经常会升级,比如从1.0升级2.0。那么是否也可以引申出一种测试方法呢?在此基础上作者总结了版本升级回退测试方法。版本升级回退是指软件系统从低版本升级到高版本或者从高版本回退到低版本时,软件是否正常运行。

5)一种操作反复测试。

电灯大家都会用到,每天都要操作多次开和关。好的电灯频繁开和关都没有问题,不好的电灯有可能反反复复后就坏掉了。既然这个可以作为检验电灯好坏的一种方法,那么对于我们的软件系统是否也适用呢?在此基础上作者总结了一种操作反复测试方法。一种操作反复测试是指对软件系统反复多次进行同一种或者几种操作,看看软件系统是否能正常运行。

6)兼容测试。

我们日常生活中经常会使用螺丝和配套的螺帽,螺丝和螺帽的生产厂商有很多个,但是不同厂商出厂的螺丝和螺帽为什么能匹配呢?需要一个标准,厂商根据标准生产螺丝和螺帽。符合标准的即使是不同厂商的也没有关系,也能够匹配,如果不匹配则不符合标准,则有问题。那么我们的软件系统是否也存在同样的问题呢?在此基础上作者总结了兼容测试方法。

兼容测试按照功能可以划分为三种兼容测试方法:向上兼容、向下兼容和不同厂商兼容测试方法。前两种测试方法是针对同一软件系统,而第三种测试方法是针对不同的软件系统。

7)后台告警测试。

开过汽车的都知道,汽车启动时会进行整车系统自检,如果检测失败会有相应提示,告知哪个部件有问题。能否将这应用于我们的软件测试呢?在此基础上作者总结了后台告警测试方法。后台告警测试是指系统在出现故障或者出现隐患时,在软件系统的后台上会看到告警提示,并提示信息正确等。

8)分析关键点测试。

我们在政治学上学到事物有很多矛盾,我们要抓住主要矛盾。那么我们的软件子系统测试呢?如果软件子系统测试提供很多功能点,又需要在短时间测试完怎么办?在此基础上作者总结了分析关键测试方法。分析关键点测试是指被测对象有很多功能点需要测试,在测试过程中需要分析哪些功能点是关键点,哪些功能点容易出错误,然后有针对性测试。

3.3 OSPF协议在校园网中的应用

1)校园网设计。

某校园网网络拓扑图如图1所示。

整个校园网采用三层星型拓扑结构,配置一台高端核心交换机,支持双电源双引擎热备,支持万兆扩展和IPV6平滑升级过渡;在教学楼和信息楼等区域配置汇聚交换机,为本楼的接入交换机提供汇聚功能,汇聚交换机支持高密度的千兆接口,并能扩展万兆和IPV6,构建万兆骨干IPV6校园网;食堂、操场等区域直接采用接入交换机通过千兆光纤连接核心交换机。接入交换机要求支持丰富的安全功能,能够防御各种ARP欺骗,支持环路检测和自动阻断并在设置的时间内自动恢复,支持端口防雷等功能,确保接入的安全、稳定;出口采用一台千兆防火墙,负责出口的地址转换,流量控制和安全策略控制,并能够进行出口NAT、URL日志记录,输出到专用的日志审计系统中进行至少60天的自动覆盖保存,满足公安部的要求。

为了方便学校进行统一管理,需要提供一套对用户身份认证进行管理和网络设备进行管理的系统,实现对用户上网认证、地址绑定、日志审计,拓扑管理,配置保存等功能,方便学校使用和管理。

2)校园网路由设计。

核心交换机、汇聚交换机和接入交换机我们可以选择三层交换机(也可以理解为路由器)即支持动态路由协议的交换机。

在动态路由选择上,OSPF协议无疑是我们的最佳选择。

1)路由区域的划分。

根据地理环境或管理体制,在路由设计中将网络拓扑上相邻的节点密集区域集合成若干相互连接的路由区域,这就是路由区域的划分。因此我们把核心交换机和汇聚交换机都划分在area 0区域即骨干区域。

2)边界路由器的设计。

校园网边界路由决定校园网与INTERNET间的数据通信转发,它负责校园网路由信息的对外发布与INTERNET路由信息的注入。由于校园网都是通过核心交换机和INTERNET交换数据,所以我们把核心交换机作为边界路由器。

3)校园网OSPF测试应用。

校园网组设计和组建好了后,我们可以应用前一章提到的测试方法对校园网进行测试,测试交换机以及整个网络拓扑设计是否合理,运行是否良好。下面以一个简单的实际网络出现故障的案例来阐述问题的定位以及相应测试方法的应用。

在运行过程中发现教学楼的有一片区域不能上网。因为有了关于OSPF协议的知识和测试方法的研究,我们于是对故障进行定位。通过研究校园网的网络拓扑结构,我们可以顺藤摸瓜,一步一步定位出问题的所在。

1)查看不能上网的教学楼某区域相对应的接入交换机是否有问题。首先我们通过串口登陆到接入交换机上查看对接入交换机的各个端口是否up,发现有一个端口状态一直是down状态,这个出问题的接口是和上游交换机连接的,于是判断应该是组网问题,需要对上游汇聚交换机进行定位。在定位过程中,我们使用了功能测试方法(查看端口状态信息)和关键点测试方法(根据经验选择最有可能出问题的功能点端口状态进行测试)。

2)查看与出问题的接入交换机对接的汇聚交换机是否有问题。同样我们通过串口登陆到汇聚交换机出问题的那个端口,发现其端口状态一直是down掉的。于是定位出来是汇聚交换机和接入交换机相邻端口连接出问题了。在这个定位过程中,我们使用了功能测试方法(查看端口状态信息)和关键点测试方法(直接对出问题的端口查看端口状态,其它的功能点都不需要进行测试)。

3)更换网线,查看问题是否解决。分别登陆到出问题的汇聚交换机和接入交换机查看问题端口的状态,发现端口up,而且在界面上有端口up的打印信息。这时不能上网的教学楼某区域已经可以上网,问题解决。在定位过程中,我们使用了了功能测试方法(查看端口状态信息)、关键点测试方法(网线出问题的概率最大,直接更换网线)和后台告警方法测试(界面有端口up的打印信息)。

4 展望

本文虽然对主流的测试方法进行了研究,并在此基础上总结了一套自己的测试方法,但是并没有覆盖所有的测试方法,下一步可以对其它的测试方法也进行研究。在对OSPF协议进行测试时,由于主要目的是将常见的和自己总结的测试方法应用到OSPF协议的测试中,虽然涉及到一些主要测试方法,但是并没有覆盖到被测试对象的OSPF协议的所有功能点,所以说测试还不是很全面,下一步可以对照OSPF协议标准,对OSPF协议做一致性测试覆盖所有功能点。

摘要:该论文介绍了OSPF协议的背景;对软件测试理论和软件测试方法进行研究;将两者相结合得出常见的测试方法,并且在此基础上总结了自己的一套测试方法。这些测试方法可以对支持OSPF协议的不同厂商的路由器进行针对性测试,从而判断路由器的OSPF协议是否正确。最后举例说明校园网OSPF协议的应用。

关键词:OSPF协议,软件测试理论,软件测试方法,校园网

参考文献

[1]张尚韬.OSPF路由协议的研究[J].福建信息技术教育,2007(3):14-15.

[2]Paul C.Jorgensen.软件测试[M].2版.北京:机械工业出版社,2003.

上一篇:六盘水市民政局政务公开工作制度下一篇:2022工作总结 王坤