一种ospf中lsdb同步方法及系统的制作方法

文档序号:7823819阅读:1507来源:国知局
一种ospf中lsdb同步方法及系统的制作方法
【专利摘要】本发明提供一种OSPF中LSDB同步方法及系统。所述OSPF中LSDB同步方法包括:协商确定对同步需要发送的LSA数据采用预设的压缩方式;将所述需要发送的LSA数据按所述压缩方式压缩后封装在LSU报文中发送;接收所述LSU报文并解压所述LSU报文中的LSA数据。所述OSPF中LSDB同步系统包括:压缩确认模块用于协商确定对同步需要发送的LSA数据采用预设的压缩方式;压缩发送模块用于将所述需要发送的LSA数据按所述压缩方式压缩后封装在LSU报文中发送。本发明的技术方案通过压缩LSA数据,可以大大减少LSDB同步中需要发送的数据量,加快LSDB同步的速度。同时完全可以和现有设备兼容。
【专利说明】—种OSPF中LSDB同步方法及系统

【技术领域】
[0001]本发明涉及一种网络通信技术,特别是涉及一种OSPF中LSDB同步方法及系统。

【背景技术】
[0002]现有的LSDB(LinkState Database,链路状态数据库)同步是两台设备先通过DD (Database Descript1n)报文进行 LSA(LinkState Advertisement,链路状态广播)摘要同步,DD报文描述本地LSDB中每一条LSA的摘要信息。然后通过比较本地LSA与对端LSA的不同,判断出需要哪些LSA,进行LS Req(LinkState Request)报文请求。收到请求后,就发送相应的LSA给对端,现有实现是把LSA封装在LS Update (LinkState Update)报文中进行发送,然后本地收到后发送LS Ack (LinkState Acknowledge)进行确认。其中,LSUpdate报文中是直接封装的一条条LSA,未经过任何处理。所以当LSDB中的LSA很多时,需要大量LS Update报文来完成LSA的发送。当需要同步的LSA很多时,需要较长时间才能完成LSDB同步,导致网络收敛慢。例如一台设备刚加入网络或者断电重启,这时需要和周边设备重新同步所有的LSA,如果网络中有成千上万条LSA,可能要几分钟才能完成同步。
[0003]鉴于此,如何提高LSDB (LinkState Database,链路状态数据库)同步的效率成为了本领域技术人员亟待解决的问题。


【发明内容】

[0004]鉴于以上所述现有技术的缺点,本发明的目的在于提供一种OSPF中LSDB同步方法及系统,用于解决现有技术中LSDB(LinkState Database,链路状态数据库)同步效率低的问题。
[0005]为实现上述目的及其他相关目的,本发明提供一种OSPF中LSDB同步方法,所述OSPF中LSDB同步方法包括:协商确定对同步需要发送的LSA数据采用预设的压缩方式;将所述需要发送的LSA数据按所述压缩方式压缩后封装在LSU报文中发送;接收所述LSU报文并解压所述LSU报文中的LSA数据。
[0006]可选地,所述协商确定对同步中LSA数据采用预设的压缩方式的具体实现为:通过设置DD报文中的一个未使用位来标识采用预设的压缩方式。
[0007]可选地,所述预设的压缩方式为gzip压缩方式。
[0008]可选地,所述OSPF中LSDB同步方法还包括:接收LSR报文并根据所述LSR报文确定所述需要发送的LSA数据。
[0009]本发明还提供一种OSPF中LSDB同步系统,所述OSPF中LSDB同步系统包括:压缩确认模块,用于协商确定对同步需要发送的LSA数据采用预设的压缩方式;压缩发送模块,用于将所述需要发送的LSA数据按所述压缩方式压缩后封装在LSU报文中发送。
[0010]可选地,所述协商确定对同步中LSA数据采用预设的压缩方式的具体实现为:通过设置DD报文中的一个未使用位来标识采用预设的压缩方式。
[0011]可选地,所述预设的压缩方式为gzip压缩方式。
[0012]可选地,所述压缩发送模块还用于:接收LSR报文并根据所述LSR报文确定所述需要发送的LSA数据。
[0013]本发明还提供一种OSPF中LSDB同步系统,所述OSPF中LSDB同步系统包括:压缩确认模块,用于协商确定对同步需要发送的LSA数据采用预设的压缩方式;接收解压模块,用于接收LSU报文并解压所述LSU报文中的LSA数据。
[0014]可选地,所述协商确定对同步中LSA数据采用预设的压缩方式的具体实现为:通过设置DD报文中的一个未使用位来标识采用预设的压缩方式。
[0015]可选地,所述预设的压缩方式为gzip压缩方式。
[0016]如上所述,本发明的一种OSPF中LSDB同步方法及系统,具有以下有益效果:通过gzip压缩算法来压缩OSPF Update报文中的LSA数据,使得每个Update报文中可以携带更多的LSA,减少了所需发送的Update报文数,加快LSDB同步的速度。尤其是针对OSPF LSDB中有大量LSA的情况,通过压缩LSA数据,可以大大减少LSDB同步中需要发送的数据量,加快LSDB同步的速度。同时对于是否启用压缩可以通过协商来完成,完全可以和现有设备兼容。

【专利附图】

【附图说明】
[0017]图1显示为本发明一种OSPF中LSDB同步方法的一实施例的流程示意图。
[0018]图2显示为本发明一种OSPF中LSDB同步系统的一实施例的模块示意图。
[0019]图3显示为本发明一种OSPF中LSDB同步系统的一实施例的模块示意图。
[0020]图4显示为本发明一种OSPF中LSDB同步系统的一实施例的模块示意图。
[0021]元件标号说明
[0022]IOSPF中LSDB同步系统
[0023]11压缩确认模块
[0024]12压缩发送模块
[0025]13 接收解压模块
[0026]SI ?S3 步骤

【具体实施方式】
[0027]以下通过特定的具体实例说明本发明的实施方式,本领域技术人员可由本说明书所揭露的内容轻易地了解本发明的其他优点与功效。本发明还可以通过另外不同的【具体实施方式】加以实施或应用,本说明书中的各项细节也可以基于不同观点与应用,在没有背离本发明的精神下进行各种修饰或改变。
[0028]需要说明的是,本实施例中所提供的图示仅以示意方式说明本发明的基本构想,遂图式中仅显示与本发明中有关的组件而非按照实际实施时的组件数目、形状及尺寸绘制,其实际实施时各组件的型态、数量及比例可为一种随意的改变,且其组件布局型态也可能更为复杂。
[0029]本发明提供一种OSPF 中 LSDB 同步方法。OSPF(Open Shortest Path First 开放式最短路径优先)是一个内部网关协议(Inter1r Gateway Protocol,简称IGP),用于在单一自治系统(autonomous system, AS)内决策路由。OSPF通过路由器之间通告网络接口的状态来建立链路状态数据库,生成最短路径树,每个OSPF路由器使用这些最短路径构造路由表。OSPF路由协议是一种典型的链路状态(Link-state)的路由协议,一般用于同一个路由域内。在这里,路由域是指一个自治系统(Autonomous System),即AS,它是指一组通过统一的路由政策或路由协议互相交换路由信息的网络。在这个AS中,所有的OSPF路由器都维护一个相同的描述这个AS结构的数据库,该数据库中存放的是路由域中相应链路的状态信息,OSPF路由器正是通过这个数据库计算出其OSPF路由表的。作为一种链路状态的路由协议,OSPF将链路状态组播数据LSA(Link State Advertisement)传送给在某一区域内的所有路由器。
[0030]通过路由器间的路由信息交换,自治系统内部可以达到信息同步,即LSDB(连接状态数据库)描述的网络拓扑同步。典型的LSDB(LinkState Database,链路状态数据库)同步方法包括:路由器设备之间通过互发DD(Database Descript1n)报文来了解彼此之间的差异,并通过LSR(LinkState Request)报文向对端设备请求需要的LSA(LinkStateAdvertisement,链路状态广播),对端设备通过LSU (LinkState Update)报文发送请求的LSA数据;本地收到后发送LSAck (LinkState Acknowledge)报文确认。本发明对该LSDB同步方法进行了改进。在一个实施例中,如图1所示,本发明的所述OSPF中LSDB同步方法包括:
[0031]步骤SI,协商确定对同步需要发送的LSA数据采用预设的压缩方式。在一个实施例中,所述协商确定对同步中LSA数据采用预设的压缩方式的具体实现为:通过设置DD报文中的一个未使用位来标识采用预设的压缩方式。所述压缩方式可以为gzip压缩方式,或其他预设的压缩方式。在一个实施例中,路由器设备之间通过互发DD报文来协商确定对同步需要发送的LSA数据采用预设的压缩方式。两台路由器进行数据库同步时,用DD报文来描述自己的LSDB,内容包括LSDB中每一条LSA的Header (LSA的Header可以唯一标识一条LSA)。在DD报文的发送过程中需要确定双方的主从关系,这其中要用到DD报文中的一些标志。由于目前只用到8个标志中的3个,我们可以利用其中一个未使用位来标志压缩。如果本地支持gzip压缩的话,就在发送的DD报文中置上相应的位;如果本地不支持gzip压缩的话,则在发送的DD报文中不置上相应的位。在收到DD报文后,检查该位,如果置位,则认为对%5也支持gzip压缩,如果本地也支持gzip压缩,则后续LSU报文用gzip压缩后再发送。如果不置位,则认为对端不支持gzip压缩,则后续LSU报文不用gzip压缩,按不压缩方式发送。gzip压缩算法已经广泛地使用在HTTP协议中,通过对网页内容进行gzip压缩后再传输,来提高传输效率。gzip压缩算法是一种很成熟的压缩算法。DD报文协商字段的格式如下所示:
[0032]Interface MTU (16 位)+Opt1ns (8 位)+0 | O | O | O | O 111M | MS (8 位标志位)+DDSequence number(32 位)
[0033]其中,8位标志位中目前只用到3个(I |M|MS),可以选用其中5个未用标志位中的任何一个来标识压缩。
[0034]步骤S2,将所述需要发送的LSA数据按所述压缩方式压缩后封装在LSU报文中发送。在一个实施例中,接收LSR报文并根据所述LSR报文确定所述需要发送的LSA数据,然后将所述需要发送的LSA数据按所述压缩方式压缩后封装在LSU报文中发送。OSPF中的LSU报文的数据部分包括为LSA数据,LSA数据包括#LSAs以及LSAs。其中,#LSAs标识其中LSA的数目,LSAs代表多条LSA的内容,其中LSA的内容是一条接一条添加的。当采用预设的压缩方式时,对LSA数据进行压缩后封装在LSU报文中发送。
[0035]步骤S3,接收所述LSU报文并解压所述LSU报文中的LSA数据。具体地,接收所述LSU报文并对所述LSU报文中的LSA数据进行解压得到所述需要发送的LSA数据,即得到未压缩状态的一条条LSA。在一个实施例中,在接收到所述LSU报文时还将发送LSAck报文确认。
[0036]本发明还提供一种OSPF中LSDB同步系统。在一个实施例中,如图2所示,所述OSPF中LSDB同步系统I包括压缩确认模块11以及压缩发送模块12,其中:
[0037]压缩确认模块11用于协商确定对同步需要发送的LSA数据采用预设的压缩方式。在一个实施例中,所述协商确定对同步中LSA数据采用预设的压缩方式的具体实现为:通过设置DD报文中的一个未使用位来标识采用预设的压缩方式。所述预设的压缩方式可以为gzip压缩方式,或其他预设的压缩方式。在一个实施例中,路由器设备之间通过互发DD报文来协商确定对同步需要发送的LSA数据采用预设的压缩方式。两台路由器进行数据库同步时,用DD报文来描述自己的LSDB,内容包括LSDB中每一条LSA的Header (LSA的Header可以唯一标识一条LSA)。在DD报文的发送过程中需要确定双方的主从关系,这其中要用到DD报文中的一些标志。由于目前只用到8个标志中的3个,我们可以利用其中一个未使用位来标志压缩。如果本地支持gzip压缩的话,就在发送的DD报文中置上相应的位;如果本地不支持gzip压缩的话,则在发送的DD报文中不置上相应的位。在收到DD报文后,检查该位,如果直位,则认为对%5也支持gzip压缩,如果本地也支持gzip压缩,则后续LSU报文用gzip压缩后再发送。如果不置位,则认为对端不支持gzip压缩,则后续LSU报文不用gzip压缩,按不压缩方式发送。gzip压缩算法已经广泛地使用在HTTP协议中,通过对网页内容进行gzip压缩后再传输,来提高传输效率。gzip压缩算法是一种很成熟的压缩算法。
[0038]压缩发送模块12与所述压缩确认模块11相连,用于将所述需要发送的LSA数据按所述压缩方式压缩后封装在LSU报文中发送。具体地,压缩发送模块12从所述压缩确认模块11中得到压缩方式,并将所述需要发送的LSA数据按所述压缩方式压缩后封装在LSU报文中发送。在一个实施例中,压缩发送模块12接收LSR报文并根据所述LSR报文确定所述需要发送的LSA数据,然后将所述需要发送的LSA数据按所述压缩方式压缩后封装在LSU报文中发送。OSPF中的LSU报文的数据部分即为LSA数据,LSA数据包以及LSAs。其中,#LSAs标识其中LSA的数目,LSAs代表多条LSA的内容,其中LSA的内容是一条接一条添加的。当采用预设的压缩方式时,对LSA数据进行压缩后封装在LSU报文中发送。
[0039]本发明还提供一种OSPF中LSDB同步系统1,在一个实施例中,如图3所示,所述OSPF中LSDB同步系统I包括压缩确认模块11以及接收解压模块13,其中:
[0040]压缩确认模块11用于协商确定对同步需要发送的LSA数据采用预设的压缩方式。在一个实施例中,所述协商确定对同步中LSA数据采用预设的压缩方式的具体实现为:通过设置DD报文中的一个未使用位来标识采用预设的压缩方式。所述压缩方式可以为gzip压缩方式,或其他预设的压缩方式。在一个实施例中,路由器设备之间通过互发DD报文来协商确定对同步需要发送的LSA数据采用预设的压缩方式。两台路由器进行数据库同步时,用DD报文来描述自己的LSDB,内容包括LSDB中每一条LSA的Header (LSA的Header可以唯一标识一条LSA)。在DD报文的发送过程中需要确定双方的主从关系,这其中要用到DD报文中的一些标志。由于目前只用到8个标志中的3个,我们可以利用其中一个未使用位来标志压缩。如果本地支持gzip压缩的话,就在发送的DD报文中置上相应的位;如果本地不支持gzip压缩的话,则在发送的DD报文中不置上相应的位。在收到DD报文后,检查该位,如果置位,则认为对端也支持gzip压缩,如果本地也支持gzip压缩,则后续LSU报文用gzip压缩后再发送。如果不置位,则认为对端不支持gzip压缩,则后续LSU报文不用gzip压缩,按不压缩方式发送。gzip压缩算法已经广泛地使用在HTTP协议中,通过对网页内容进行gzip压缩后再传输,来提高传输效率。gzip压缩算法是一种很成熟的压缩算法。
[0041]接收解压模块13与所述压缩确认模块11相连,用于接收LSU报文并解压所述LSU报文中的LSA数据。具体地,接收解压模块13从所述压缩确认模块11中确认采用的压缩方式,并接收所述LSU报文并对所述LSU报文中的LSA数据根据所述压缩方式进行解压得到所述需要发送的LSA数据,即得到未压缩状态的一条条LSA。在一个实施例中,在接收到所述LSU报文时还将发送LSAck报文确认。
[0042]本发明还提供一种OSPF中LSDB同步系统1,在一个实施例中,如图4所示,所述OSPF中LSDB同步系统I包括压缩确认模块11、压缩发送模块12以及接收解压模块13,其中:
[0043]压缩确认模块11用于协商确定对同步需要发送的LSA数据采用预设的压缩方式。在一个实施例中,所述协商确定对同步中LSA数据采用预设的压缩方式的具体实现为:通过设置DD报文中的一个未使用位来标识采用预设的压缩方式。所述压缩方式可以为gzip压缩方式,或其他预设的压缩方式。在一个实施例中,路由器设备之间通过互发DD报文来协商确定对同步需要发送的LSA数据采用预设的压缩方式。两台路由器进行数据库同步时,用DD报文来描述自己的LSDB,内容包括LSDB中每一条LSA的Header (LSA的Header可以唯一标识一条LSA)。在DD报文的发送过程中需要确定双方的主从关系,这其中要用到DD报文中的一些标志。由于目前只用到8个标志中的3个,我们可以利用其中一个未使用位来标志压缩。如果本地支持gzip压缩的话,就在发送的DD报文中置上相应的位;如果本地不支持gzip压缩的话,则在发送的DD报文中不置上相应的位。在收到DD报文后,检查该位,如果置位,则认为对端也支持gzip压缩,如果本地也支持gzip压缩,则后续LSU报文用gzip压缩后再发送。如果不置位,则认为对端不支持gzip压缩,则后续LSU报文不用gzip压缩,按不压缩方式发送。gzip压缩算法已经广泛地使用在HTTP协议中,通过对网页内容进行gzip压缩后再传输,来提高传输效率。gzip压缩算法是一种很成熟的压缩算法。
[0044]压缩发送模块12与所述压缩确认模块11相连,用于将所述需要发送的LSA数据按所述压缩方式压缩后封装在LSU报文中发送。具体地,压缩发送模块12从所述压缩确认模块11中得到压缩方式,并将所述需要发送的LSA数据按所述压缩方式压缩后封装在LSU报文中发送。在一个实施例中,压缩发送模块12接收LSR报文并根据所述LSR报文确定所述需要发送的LSA数据,然后将所述需要发送的LSA数据按所述压缩方式压缩后封装在LSU报文中发送。OSPF中的LSU报文的数据部分即为LSA数据,LSA数据包以及LSAs。其中,#LSAs标识其中LSA的数目,LSAs代表多条LSA的内容,其中LSA的内容是一条接一条添加的。当采用预设的压缩方式时,对LSA数据进行压缩后封装在LSU报文中发送。
[0045]接收解压模块13与所述压缩确认模块11以及压缩发送模块12相连,用于接收压缩发送模块12发送的所述LSU报文并解压所述LSA数据。具体地,接收解压模块13从所述压缩确认模块11中确认采用的压缩方式,并接收压缩发送模块I发送的所述LSU报文并对所述LSU报文中的LSA数据根据所述压缩方式进行解压得到所述需要发送的LSA数据,即得到未压缩状态的一条条LSA。在一个实施例中,接收解压模块13在接收到所述LSU报文时还将发送LSAck报文确认。
[0046]综上所述,本发明的一种OSPF中LSDB同步方法及系统,具有以下有益效果:通过gzip压缩算法来压缩OSPF Update报文中的LSA数据,使得每个Update报文中可以携带更多的LSA,减少了所需发送的Update报文数,加快LSDB同步的速度。尤其是针对OSPF LSDB中有大量LSA的情况,通过压缩LSA数据,可以大大减少LSDB同步中需要发送的数据量,力口快LSDB同步的速度。同时对于是否启用压缩可以通过协商来完成,完全可以和现有设备兼容。所以,本发明有效克服了现有技术中的种种缺点而具高度产业利用价值。
[0047]上述实施例仅例示性说明本发明的原理及其功效,而非用于限制本发明。任何熟悉此技术的人士皆可在不违背本发明的精神及范畴下,对上述实施例进行修饰或改变。因此,举凡所属【技术领域】中具有通常知识者在未脱离本发明所揭示的精神与技术思想下所完成的一切等效修饰或改变,仍应由本发明的权利要求所涵盖。
【权利要求】
1.一种OSPF中LSDB同步方法,其特征在于,所述OSPF中LSDB同步方法包括: 协商确定对同步需要发送的LSA数据采用预设的压缩方式; 将所述需要发送的LSA数据按所述压缩方式压缩后封装在LSU报文中发送; 接收所述LSU报文并解压所述LSU报文中的LSA数据。
2.根据权利要求1所述的OSPF中LSDB同步方法,其特征在于:所述协商确定对同步中LSA数据采用预设的压缩方式的具体实现为:通过设置DD报文中的一个未使用位来标识采用预设的压缩方式。
3.根据权利要求1所述的OSPF中LSDB同步方法,其特征在于:所述预设的压缩方式为gzip压缩方式。
4.根据权利要求1所述的OSPF中LSDB同步方法,其特征在于:所述OSPF中LSDB同步方法还包括:接收LSR报文并根据所述LSR报文确定所述需要发送的LSA数据。
5.一种OSPF中LSDB同步系统,其特征在于:所述OSPF中LSDB同步系统包括: 压缩确认模块,用于协商确定对同步需要发送的LSA数据采用预设的压缩方式; 压缩发送模块,用于将所述需要发送的LSA数据按所述压缩方式压缩后封装在LSU报文中发送。
6.根据权利要求5所述的OSPF中LSDB同步系统,其特征在于:所述协商确定对同步中LSA数据采用预设的压缩方式的具体实现为:通过设置DD报文中的一个未使用位来标识采用预设的压缩方式。
7.根据权利要求5所述的OSPF中LSDB同步系统,其特征在于:所述预设的压缩方式为gzip压缩方式。
8.一种OSPF中LSDB同步系统,其特征在于:所述OSPF中LSDB同步系统包括: 压缩确认模块,用于协商确定对同步需要发送的LSA数据采用预设的压缩方式; 接收解压模块,用于接收LSU报文并解压所述LSU报文中的LSA数据。
9.根据权利要求8所述的OSPF中LSDB同步系统,其特征在于:所述协商确定对同步中LSA数据采用预设的压缩方式的具体实现为:通过设置DD报文中的一个未使用位来标识采用预设的压缩方式。
10.根据权利要求8所述的OSPF中LSDB同步系统,其特征在于:所述预设的压缩方式为gzip压缩方式。
【文档编号】H04L29/06GK104410723SQ201410814717
【公开日】2015年3月11日 申请日期:2014年12月19日 优先权日:2014年12月19日
【发明者】郭俊敏 申请人:上海斐讯数据通信技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1