数据包中转限制方法及设备的制作方法

文档序号:7658243阅读:103来源:国知局

专利名称::数据包中转限制方法及设备的制作方法
技术领域
:本发明涉及网络通信领域,尤其涉及一种数据包中转限制的方法及其设备。
背景技术
:在网络通信当中,数据从源设备被发送到目的设备的方式主要有两种直接发送和通过其它设备进行中转后发送。直接发送通常是在两个设备相隔比较近,互相能够直接通信的情况下,但如果相隔比较远,就必须通过其它设备进行数据包中转了。对于第二种发送方式,完成数据中转功能的设备可能是一个或多个。这些完成数据中转功能的设备被称为路由器,通过路由器对数据包进行中转,很大程度的扩大了数据传输的范围。数据发送通常有单播、多播和广播三种方式单播是指把数据发送到单个设备,包括直接发送和经过路由器发送;多播是指一次把数据发送到多个设备,与多次单播不同,多播的源设备只发送一次;广播是指一次把数据发送给所有设备。设备接收到数据包之后,可以根据算法决定丟弃还是继续转发给其它设备,也可以决定继续转发的时候是单播、多播还是广播。虽然路由器扩大了数据传输的范围,但这种数据中转功能也同时增加了网络的数据量,并带来了一定的安全问题。由于前面提到的路由算法中存在着不完善的地方,或者由于数据发送方式本身的特点,都可能造成大量不必要的数据包转发,甚至无限的转发。以单播的方式为例,如果某个时刻网络当中存在路由环,即数据传递的路径形成一个环路,比如路由器A认为应该转发到路由器B,而路由器B认为应该转发到路由器A,这时如果缺少对数据包的转发的限制,就会造成数据的无限发送。造成路由环的原因很多,比如不好的路由算法或者路由信息不能及时更新等等。网络设备发生变化也会影响网络拓朴,并可能造成大量不必要的数据包转发,比如目的设备失效,但其它设备并未获知,那么数据包发送到目的设备的上一跳设备时发现不能到达目的,就会选择其它路径转发,而其它路径也不能到达目的设备,这就会造成数据包的不断的转发,尝试所有可能的路径。对于多播和广播的方式来说,也同样可能造成大量不必要的数据包转发。比如广播的方式,由于发送到所有设备,影响范围很大,如果不加限制,一般是整个网络的设备都能收到数据包,而且有可能造成广播数据包的无限中转,形成"广播风暴"。基于上述原因,需要对数据包的中转进行限制,现有技术是在源设备发送数据包的时候加上跳数的限制,每中转一次剩余跳数减一,如果剩余跳数减为零,则将数据包丢弃不再转发。但仅在源设备进行跳数限制仍会造成大量多余的数据包,首先源设备可能不知道网络中具体情况和要求,难以设置最为合理的跳数限制,从而造成多余的数据包。其次,这种方案只能对源设备进行跳数限制,而当恶意设备作为源设备时,可能不会做这种跳数限制,从而造成大量多余的数据包。对于广播方式来说,由于这种发送方式本身具有无方向性,即使从源设备进行跳数限制,数据包在各个方向上中转的最大跳数都是相同的,但实际上设备可能仅对某些特定方向的设备进行广播,在其它方向上发送的数据包还是多余的。
发明内容本发明实施例提供一种数据包中转限制方法及设备,能够限制多余的数据包中转,减少网络中的多余数据量,提高网络效率。为实现上述目的,本发明的实施例提供了一种数据包中转限制方法,包括以下步骤接收包含跳数限制信息的数据包,并在判断所述数据包不符合跳数限制条件时,对所述数据包执行预定处理操作。为实现上述目的,本发明的另一实施例提供了一种数据包中转限制设备,包括数据包接收模块,用于接收包含跳数限制信息的数据包;判断模块,用于判断所述数据包是否符合跳数限制条件;数据包处理模块,用于在所述数据包不符合跳数限制条件时,对所述数据包执行预定处理操作。基于上述技术方案,本发明实施例可以方便的根据具体的网络情况对接收的数据包进行跳数限制,极大地减少了网络中的多余数据量,提高了网络的利用效率。图1为依据本发明实施例的数据包中转的网络拓朴结构示意图。图2为本发明数据包中转限制方法的第一实施例的流程示意图。图3为本发明数据包中转限制方法的第二实施例的流程示意图。图4为本发明数据包中转限制方法的第三实施例的流程示意图。图5为本发明数据包中转限制方法的第四实施例的流程示意图。图6为本发明数据包中转限制方法的第五实施例的流程示意图。图7为应用本发明实施例的信息服务网络的结构示意图。图8为本发明数据包中转限制设备的第一实施例的结构示意图。图9为本发明数据包中转限制设备的第二实施例的结构示意图。图10为本发明数据包中转限制设备的第三实施例的结构示意图。具体实施例方式下面通过附图和实施例,对本发明的技术方案做进一步的详细描述。为了减少不必要的数据包转发,本发明实施例在中转设备上实现了限制转发的功能,限制的依据为相邻设备或者源设备的跳数限制阈值。这里的相邻设备即直接可达的设备。如图2所示,为本发明数据包中转限制方法的第一实施例的流程示意图,本实施例包括以下步骤步骤IOI、中转设备接收相邻设备发送来的数据包,在数据包中包含有跳数限制信息,这种跳数限制信息一般是由源设备设定的,也可以由其他中转设备进行设定;步骤102、中转设备判断数据包是否符合跳数限制阈值,即是否小于等于跳数限制阈值,是则执行步骤103,否则执行步骤104;步骤103、中转设备将该数据包转发到路径的下一个设备;步骤1(M、中转设备对该数据包执行预定的处理操作,例如丢弃该数据包或者对该数据包的跳数限制信息重新进行设置。在上述技术方案的步骤102中,中转设备判断数据包是否符合跳数限制阈值的依据可以是根据自身存储的邻居表或者路由表中加入的限制字段,也可以是专门建立的用于标识相邻设备或源设备的跳数限制表。中转设备通常会在自身存储一些相邻设备的信息,并存储在一个表中,通常称之为邻居表,本实施例在邻居表中增加了对跳数的限制字段,也就是跳数限制阈值。有的中转设备中并不一定保存有邻居表,但可能会存有路由表,在路由表中保存的可能不仅是相邻设备的信息,还包括了远端的设备信息,利用路由表还可以设置除相邻设备之外的源设备的跳数限制阈值。本实施例还适用于中转设备同时存有路由表和邻居表的情况,可以根据具体情况选择查找哪种表或者查表的顺序,并要求两个表都满足。跳数限制阈值通常是根据业务需要以及拓朴情况进行设定的,例如根据新加入节点可能达到的业务层次来确定该跳数限制阈值。在跳数限制阈值的设定上还要考虑接收5ij的数据包中的跳数限制信息与跳数限制阈值比较之前先减1还是在比较之后减1,举例来说如果先对数据包中的跳数限制信息减一再进行比较,则需要设定与跳数限制信息减一的结果相适应的跳数限制阈值。如果比较后再对数据包中的跳数限制信息减一,则需要设定与跳数限制信息相适应的跳数限制阈值。下面将通过几个实施例并结合图1中的网络拓朴结构的示意图来说明。假设源设备A需要发送一个数据包到I,其路径为A-〉D-〉E->H-〉I,并在中转设备E上实现这种数据包的限制功能。图3为本发明数据包中转限制方法的第二实施例的流程示意图,在本实施例中,中转设备E的自身存储有邻居表,并在该邻居表中设置了与E相邻的设备的跳数限制阈值,如下<table>tableseeoriginaldocumentpage9</column></row><table>设备A在数据包中设置跳数限制信息为5,当数据包转发给中转设备D后,中转设备D将跳数限制信息减1得到4,然后将数据包转发给中转设备E,中转设备E接收到数据包后,在步骤102a查找自身存储的邻居表,发现D对应的跳数限制阈值为3,而数据包中的跳数限制信息为4,超过了中转设备D的跳数限制阈值,因此不符合被限制设备经过限制设备转发的数据包跳数限制信息不能超过跳数限制阈值的转发条件,这需要执行步骤104a中的丢弃该数据包的操作。在丟弃数据包时,可以向源设备或者中转设备D返回用来表示该数据包不符合转发条件的错误响应,但这个响应并非必需的,一般是针对于某些需要反馈的中转设备在没有接收到任何响应时,可能会重复发送数据包的情况。以下给出一个错误通知的命令格式作为例子进行说明<table>tableseeoriginaldocumentpage10</column></row><table>图4为本发明数据包中转限制方法的第三实施例的流程示意图。如图4所示,本实施例可以对非相邻设备进行跳数限制,仍以图l的网络拓朴结构为例,中转设备E中保存了路由表(如下),对源设备的中转跳数进行了限制。<table>tableseeoriginaldocumentpage10</column></row><table>源设备A发出数据包的时候,数据包中包含的跳数限制信息为5,经过中转设备D后,跳数限制信息减1得到4,数据包被转发给中转设备E。中转设备E接收到数据包后,在步骤102b中查询自身存储的路由表,发现该数据包的源地址为设备A,并且设备A对应的跳数限制阈值为2,而数据包中的跳数限制信息超过了这个跳数限制阈值,因此不满足转发条件,这时可以采用上一实施例的丢弃数据包的处理方法,也可以采用步骤104b中的根据跳数限制阈值重新设置数据包中的跳数限制信息,以使跳数限制信息满足跳数限制阈值。例如根据设备A的跳数限制阈值2修改跳数限制信息为2-1=1,然后在步骤104c中判断跳数限制信息是否符合允许继续转发的条件,例如判断跳数限制信息是否仍大于0,如果符合则按照步骤103进行转发,否则丟弃该数据包(步骤104d)。如图5所示,为本发明数据包中转限制方法的第四实施例的流程示意图,在中转设备中可以在路由表中保存着相邻设备的跳数限制阈值,也可以将邻居表从路由表独立出来,在步骤102c中对路由表和邻居表都进行查询,来判断数据包中的跳数限制信息是否符合相邻设备或者源设备的跳数限制阈值。在路由表和邻居表不一致的时候,按照路由表和邻居表中设备的最小阈值来进行判断,从而使得同时满足跳数限制阈值。如果不符合,则执行步骤104b对数据包中的跳数限制信息重新设定,然后在步骤104c中判断跳数限制信息是否符合允许继续转发的条件,例如判断跳数限制信息是否仍大于O,如果符合则按照步骤103进行转发,否则丟弃该数据包(步骤104d)。对于不同类型的数据包,中转设备可以采用不同的处理策略,如图6所示,为本发明数据包中转限制方法的第五实施例的流程示意图,其中源设备可能发出两种类型的数据包数据帧和命令帧。其中需要对数据帧作比较严格的跳数控制,而对命令帧则不需要,因此在中转设备判断跳数限制之前,可以在步骤101a先对数据包的类型进行判断,如果数据包为数据帧,则执行步骤102对跳数限制进行判断;如果数据包为命令帧,则直接转发该命令帧。中转设备在接收到数据包时,确定类型的方法可以是检查数据包的帧头,一般帧头都会包括该数据包的类型。本实施例通过区分类型的方式可以降低网络中一些特定功能的设备的负担,例如网络设备中的负责安全处理的设备,该设备一般只能处理有关鉴权和密钥的命令,如果接收到其他中转设备发送的数据帧,则会极大地加重其负担,因此通过本实施例可以对数据帧进行限制,使得数据帧不能干扰到安全设备的正常工作。下面通过一个应用的实例来说明一下上述数据包中转限制方法的实施例,如图7所示,为应用本发明实施例的信息服务网络的结构示意图。其中g为移动终端,与该移动终端相关的一些设备也能够构成一个网络,例如具有无线功能的MP3、无线耳机等,这里g和终端侧网络节点h、i、j形成了一个终端侧的网络,当g接入到运营商网络时,这个网络会加入原运营商网络合并成一个新的网络。其中f、d、e、b、c都是信息接入点,a为网关。为了保护运营商网络,需要在信息服务网络的基础设施(信息接入点和网关)加入对终端的发送跳数的限制,例如将信息接入点f设置所有移动终端的跳数限制阈值为1,这里的信息接入点f采用的是接收到数据包后先进行判断的方式,对其它的信息接入点和网关不做限制,这样就可以使得来自移动终端g的多余数据包在信息接入点就会被丢弃,不会进入到信息服务网络而影响网络运营,而有用的数据包(例如终端向接入点发送的服务请求)则会被接受并处理。采用本发明的实施例还在一定程度上减轻了恶意设备的危害,即使恶意设备加入了网络,并不断地发出广播消息,但由于信息接入点和网关的跳数限制,广播消息到达信息接入点或网关后就会被丟弃,从而避免了恶意设备对网络的侵害。本发明的上述实施例还可以应用于路由生成过程,在建立前对某个相邻设备设定跳数限制阈值为1,可以使得建立路由过程中大大的减少经过该中转设备的路径,避免建立一些理论上最短,但不可行的路径。另外,本发明的上述实施例中的跳数限制阈值并非不可调整的,可以修改路由表和/或邻居表,或跳数限制表中的相邻设备或源设备的跳数限制阈值,或者根据源设备的网络层权限修改所述邻居表中的相邻设备的跳数限制阈值。修改的依据,可以是源设备的网络层权限,也可以是相邻设备的网络层权限,还可以是其他依据,例如网络接入策略。仍以刚才的信息服务网络为例,对于未通过安全验证的移动终端,中转设备就需要设置很低的跳数限制阈值,来限制这种移动终端可能带来的威胁;而对于通过安全验证的移动终端,则可以在验证通过时,修改中转设备中的邻居表或路由表中的跳转限制阈值,使得移动终端能够发送数据包到网络侧,以实现更多的功能。本领域普通技术人员可以理解实现上述方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成,前述的程序可以存储于一计算机可读取存储介质中,该程序在执行时,执行包括上述方法实施例的步骤;而前述的存储介质包括ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。如图8所示,为本发明数据包中转限制设备的第一实施例的结构示意图,本实施例包括以下功能模块数据包接收模块1,判断模块2和数据包处理模块4,其中数据包接收模块1用于接收包含跳数限制信息的数据包;判断模块2用于判断所述数据包是否符合跳数限制条件;数据包处理模块4用于在数据包不符合跳数限制条件时,对所述数据包执行预定处理操作。本实施例还可以包括第一转发模块3用于在数据包符合跳数限制条件时,对所述数据包执行转发操作。如图9所示,为本发明数据包中转限制设备的第二实施例的结构示意图。与上一实施例相比,本实施例还包括存储模块7,用于存储有路由表和/或邻居表,或存储有跳数限制表,路由表中包括相邻设备或源设备的跳数限制阈值,所述邻居表中包括相邻设备的跳数限制阈值,跳数限制表包括相邻设备或源设备的跳数限制阈值。本实施例还可包括设置模块5,用于对存储模块7中的路由表设置相邻设备或源设备的跳数限制阈值,或者对存储模块7中的邻居表设置相邻设备的跳数限制阈值,或者对存储模块7中的跳数限制表设置相邻设备或源设备的跳数限制阈值。如图10所示,为本发明数据包中转限制设备的第三实施例的结构示意图。与上述两个实施例相比,本实施例还包括类型判断模块6,用于在判断数据包是否符合跳数限制之前,判断所述数据包的类型,并根据所述类型选择是否对数据包进行跳数限制。以上三个设备实施例中数据包处理模块4可以具体包括第一数据包丢弃模块,用于在所述数据包不符合跳数限制阔值时,丟弃所述数据包。或者具体包括阈值重设模块、数据包判断模块和第二数据包丟弃模块,其中阈值重设模块用于在所述数据包不符合跳数限制阈值时,根据所述跳数限制阈值重新设置该数据包中的跳数限制信息;数据包判断模块用于判断弃模块用于在重新设置后的跳数限制信息不符合允许继续转发的条件时,丢弃该数据包。现集中式管理,即在网络中设置一个拓朴控制器,在其中记录网络中的各个设备的跳数限制阈值,可以实现了对数据包的中转限制,并且也可实现管理网络设备权限的目的,不仅控制网络的物理拓朴,也控制了网络的逻辑拓朴,并可以根据权限变化来进行调整。仍以图l为例,假设E是拓朴控制器,为了方便管理,把网络分成逻辑上的两部分一一A,B,C,D是一部分,F,G,H,I是另一部分,E管理和连接这两部分。在拓朴控制器E上设置所有相邻设备的跳数限制阈值为1,并且发送最大跳数更改命令到C,D,F和G,命令当中带有更改后的跳数限制阈值和目标设备(即要限制的设备),例如该命令中设置更改后的跳数限制阈值为1,并且目标设备分别是F,G,C,D。当B发送数据包到I,当从C发送到F的时候,因为F对C中转的数据包进行了限制,因此不再继续中转数据包到I,所以B只能先发送数据包到F,F对数据包处理后生成新的数据包再发送到I,从而使得网络的两个逻辑部分都只能通过两部分边界的设备进行通信,内部的设备不能互相直接通信,达到一定的控制目的。最后应当说明的是以上实施例仅用以说明本发明的技术方案而非对其限制;尽管参照较佳实施例对本发明进行了详细的说明,所属领域的普通技术人员应当理解依然可以对本发明的具体实施方式进行修改或者对部分技术特征进行等同替换;而不脱离本发明技术方案的精神,其均应涵盖在本发明请求保护的技术方案范围当中。权利要求1、一种数据包中转限制方法,其特征在于,包括以下步骤接收包含跳数限制信息的数据包,并在判断所述数据包不符合跳数限制条件时,对所述数据包执行预定处理操作。2、根据权利要求1所述的数据包中转限制方法,其特征在于,在判断所述数据包符合跳数限制条件时,继续转发该数据包。3、根据权利要求1所述的数据包中转限制方法,其特征在于,所述判断数据包是否符合跳数限制条件的操作包括中转设备根据自身存储的路由表和/或邻居表,或跳数限制表查找所述数据包中的跳数限制信息是否符合相邻设备或源设备的跳数限制阈值。4、根据权利要求3所述的数据包中转限制方法,其特征在于,所述中转设备自身存储的路由表中设置有相邻设备或源设备的跳数限制阈值,所述中转设备自身存储的邻居表中设置有相邻设备的跳数限制阈值,所述中转设备自身存储的跳数限制表中设置有相邻设备或源设备的跳数限制阈值。5、根据权利要求3所述的数据包中转限制方法,其特征在于,还包括修改所述路由表和/或邻居表中的跳数限制阈值,或跳数限制表中的跳数限制阈值。6、根据权利要求1所述的数据包中转限制方法,其特征在于,在判断数据包是否符合跳数限制条件之前,还包括判断所述数据包的类型,并根据所述类型选择是否对数据包进行跳数限制。7、根据权利要求6所述的数据包中转限制方法,其特征在于,所述判断所述数据包的类型包括根据所述数据包的帧头判断所述数据包是否为数据帧或命令帧,如果为数据帧,则对该数据包进行跳数限制;如果为命令帧,则直接转发该数据包。8、根据权利要求l-7任一所述的数据包中转限制方法,其特征在于,所述对数据包执行预定处理操作包括所述中转设备丢弃该数据包;或者所述中转设备根据所述跳数限制阈值重新设置该数据包中的跳数限制信息,并判断重新设置后的跳数限制信息是否符合允许继续转发的条件,是则继续转发,否则丢弃该数据包。9、一种数据包中转限制设备,其特征在于,包括数据包接收模块,用于接收包含跳数限制信息的数据包;判断模块,用于判断所述数据包是否符合跳数限制条件;数据包处理模块,用于在所述数据包不符合跳数限制条件时,对所述数据包执行预定处理操作。10、根据权利要求9所述的数据包中转限制设备,其特征在于,还包括第一转发模块,用于在所述数据包符合跳数限制条件时,对所述数据包执行转发操作。11、根据权利要求9所述的数据包中转限制设备,其特征在于,还包括存储模块,用于存储路由表和/或邻居表,或跳数限制表,所述路由表中包括相邻设备或源设备的跳数限制阈值,所述邻居表中包括相邻设备的跳数限制阚值,所述跳数限制表包括相邻设备或源设备的跳数限制阈值。12、根据权利要求9所述的数据包中转限制设备,其特征在于,还包括类型判断模块,用于在判断数据包是否符合跳数限制之前,判断所述数据包的类型,并根据所述类型选择是否对数据包进行跳数限制。13、根据权利要求9-12任一所述的数据包中转限制设备,其特征在于,所述数据包处理模块包括第一数据包丢弃模块,用于在所述数据包不符合跳数限制阈值时,丟弃所述数据包。14、根据权利要求9-12任一所述的数据包中转限制设备,其特征在于,所述数据包处理模块包括阈值重设模块,用于在所述数据包不符合跳数限制阈值时,根据所述跳数限制阈值重新设置该数据包中的刃匸数限制信息;数据包判断模块,用于判断重新设置后的跳数限制信息是否符合允许继续转发的条件;第二数据包丢弃模块,用于在重新设置后的跳数限制信息不符合允许继续转发的条件时,丟弃该数据包。全文摘要本发明涉及一种数据包中转限制方法,包括接收包含跳数限制信息的数据包,并在判断所述数据包不符合跳数限制条件时,对所述数据包执行预定处理操作。本发明还涉及一种数据包中转限制设备,包括数据包接收模块,用于接收包含跳数限制信息的数据包;判断模块,用于判断所述数据包是否符合跳数限制条件;数据包处理模块,用于在所述数据包不符合跳数限制条件时,对所述数据包执行预定处理操作。本发明可以方便的根据具体的网络情况对接收的数据包进行跳数限制,极大地减少了网络中的多余数据量,提高了网络的利用效率。文档编号H04L12/56GK101340361SQ20071012937公开日2009年1月7日申请日期2007年7月5日优先权日2007年7月5日发明者刘永俊申请人:华为技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1