【技术实现步骤摘要】
一种报文转发方法和装置
本专利技术涉及测试
,特别是涉及一种报文转发方法和装置。
技术介绍
广播环路是指报文在网络节点之间不断传输却始终无法到达目的节点的一种现象。网络拓扑发生变化时,若网络收敛缓慢产生不协调或矛盾的路径选择,节点对无法到达目的节点的路由不予理睬,就会导致用户的报文不停地循环发送,占用大量网络带宽。下面结合图1对广播风暴进行说明,如图1所示节点S要发报文到节点F,中间ABCDE节点会将同一个报文转发多次,甚至S和F节点接收到多个同样的报文并再次转发,整个网络节点都在不断转发重复的报文,导致整个网络带宽被大量占用,资源被严重浪费。目前的报文转发方法会让中间ABCDE节点各转发同一个报文多次,容易导致广播环路和广播风暴,占用大量网络带宽,并且报文转发的效率低。
技术实现思路
本专利技术提供了一种报文转发方法和装置,以解决报文转发过程中出现的广播环路、广播风暴的问题。为了解决上述问题,本专利技术公开了一种报文转发方法,包括:接收上一节点发送的报文,所述报文包括:转发跳数和/或可选节点地址;辨别所述报文的报文类型,所述报文类型包括:广播报文和单播报文;当辨别出所述报文为广播报文时,判断所述报文是否已经转发或者达到最大转发跳数,若所述报文已经转发或者达到最大转发跳数,则丢弃所述报文;若所述报文未转发且未达到最大转发跳数,则更新所述报文,将更新后的报文转发给其他节点;当辨别出所述报文为单播报文时,判断所述报文的可选节点地址是否为当前节点的地址或者所述报文已经回复;若所述报文的可选节点地址不是所述当前节点的地址或者所述报文已经回复,则丢弃所述报文;若所 ...
【技术保护点】
一种报文转发方法,其特征在于,包括:接收上一节点发送的报文,所述报文包括:转发跳数和/或可选节点地址;辨别所述报文的报文类型,所述报文类型包括:广播报文和单播报文;当辨别出所述报文为广播报文时,判断所述报文是否已经转发或者达到最大转发跳数,若所述报文已经转发或者达到最大转发跳数,则丢弃所述报文;若所述报文未转发且未达到最大转发跳数,则更新所述报文,将更新后的报文转发给其他节点;当辨别出所述报文为单播报文时,判断所述报文的可选节点地址是否为当前节点的地址或者所述报文已经回复;若所述报文的可选节点地址不是所述当前节点的地址或者所述报文已经回复,则丢弃所述报文;若所述报文的可选节点地址是所述当前节点的地址且所述报文未回复,则回复所述报文。
【技术特征摘要】
1.一种报文转发方法,其特征在于,包括:接收上一节点发送的报文,所述报文包括:转发跳数和/或可选节点地址;辨别所述报文的报文类型,所述报文类型包括:广播报文和单播报文;当辨别出所述报文为广播报文时,判断所述报文是否已经转发或者达到最大转发跳数,若所述报文已经转发或者达到最大转发跳数,则丢弃所述报文;若所述报文未转发且未达到最大转发跳数,则更新所述报文,将更新后的报文转发给其他节点;当辨别出所述报文为单播报文时,判断所述报文的可选节点地址是否为当前节点的地址或者所述报文已经回复;若所述报文的可选节点地址不是所述当前节点的地址或者所述报文已经回复,则丢弃所述报文;若所述报文的可选节点地址是所述当前节点的地址且所述报文未回复,则回复所述报文;所述报文还包括:直接节点个数、直接节点地址和/或转发节点地址;所述更新所述报文包括:判断所述报文的直接节点个数是否为0;当所述报文的直接节点个数为0时,将所述报文的转发节点地址更新为当前节点的地址,将所述报文的转发跳数加一,将所述报文的直接节点个数更新为1,将所述报文的直接节点地址更新为所述上一节点的地址;当所述报文的直接节点个数不为0时,则判断当前节点的直接节点地址是否包含在所述报文的直接节点地址中;当所述当前节点的直接节点地址包含在所述报文的直接节点地址中时,丢弃所述报文;当所述当前节点的直接节点地址未包含在所述报文的直接节点地址中时,将所述报文的转发节点地址更新为所述当前节点的地址,将所述报文的转发跳数加一,将所述报文的直接节点个数更新为所述当前节点的直接节点个数,并将所述报文的直接节点地址更新为所述当前节点的直接节点的地址。2.根据权利要求1所述的方法,其特征在于,所述报文还包括:可选长度;所述辨别所述报文的报文类型,包括:查询所述报文的可选长度;当所述报文的可选长度可选长度为0时,辨别出所述报文为广播报文;当所述报文的可选长度可选长度为不为0时,辨别出所述报文为单播报文。3.根据权利要求1所述的方法,其特征在于,所述判断所述报文是否已经达到最大转发跳数,包括:判断所述报文的转发跳数是否达到预设的转发阈值;当所述转发跳数达到预设的转发阈值时,判断所述报文达到最大转发跳数;当所述转发跳数未达到预设的转发阈值时,判断所述报文未达到最大转发跳数。4.根据权利要求1所述的方法,其特征在于,所述报文还包括:报文序列号;所述判断所述报文是否已经转发,包括:查询所述当前节点的已发送列表,所述已发送列表由当前节点在每次转发后记录所转发的报文的报文序列号;判断所述报文的报文序列号是否在所述当前节点的已发送列表中;当所述报文的报文序列号在所述当前节点的已发送列表中时,判断所述报文已经转发;当所述报文的报文序列号不在所述当前节点的已发送列表中时,判断所述报文未转发。5.根据权利要求1所述的方法,其特征在于,所述报文还包括:直接节点地址;所述将更新后的报文转发给其他节点包括:按照更新后的报文的直接节点地址将所述更新后的报文转发给更新后的报文的直接节点。6.根据权利要求1所述的方法,其特征在于,所述报文还包括:报文序列号;所述判断所述报文是否已经回复,包括:查询所述当前节点的已发送列表,所述已发送列表由当前节点在每次转发后记录所转发的报文的报文序列号;判断所述报文的报文序列号是否在所述当前节点的已发送列表中;当所述报文...
【专利技术属性】
技术研发人员:李腾飞,
申请(专利权)人:北京盈进科技有限公司,
类型:发明
国别省市:北京;11
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。