买专利卖专利找龙图腾,真高效! 查专利查商标用IPTOP,全免费!专利年费监控用IP管家,真方便!
申请/专利权人:南京邮电大学
摘要:本发明提供一种基于Headmodify技术的分组封装和传输方法,采用将网络拓扑中的中继节点作为基础实现的Headmodify的方法,使得源节点发向不同目的节点的多播数据包可以无状态的进行转发,且在相同转发路径只发送一个数据包负载载荷,从而解决了传统方案相同路径重复转发和有状态导致的数据流量消耗过多的问题。
主权项:1.一种基于Headmodify技术的分组封装和传输方法,其特征在于:所述方法步骤如下:步骤一:确定网络中的工作路径、保护路径和中继节点;步骤二:基于中继节点构造数据包的Headmodify报头,将一次多播路由的转发目的节点和路径中继节点列成列表,然后进行HM报头的构造;步骤三:数据包在节点处根据不同的Headmodify报头进行相应的处理;步骤四:逐步执行步骤3,直到完成此次多播转发;所述步骤二中Headmodify报头分为三部分,第一部分是Bitstring,描述的是重复路径上的中继节点和其他多播组成员;第三部分是Relaystring,描述中继节点成员,该字段用于选择和删除Hmstring中的报头标签;第二部分是Hmstring,描述的是要替换的报头标签组,它由多个备选报头标签构成,其数量等于Relaystring中描述的中继节点数量;所述步骤三中当一个数据包到达一个节点时,先检测HM报头的第一部分Bitstring是否有该节点,若无则根据第一部分的Bitstring继续传输;若当前节点在HM报头的第一部分Bitstring中,则检测该节点是否在HM报头的第三部分的Relaystring中,若不在HM报头的第三部分Relaystring中则该节点就是一个目的节点,完成转发;若在HM报头的第三部分Relaystring中则该节点是重复的中继节点,根据它在第三部分Relaystring中的位串顺序选择第二部分的Hmstring位串进行下一步转发;如分组到达节点x时,检查Relaystring,发现节点x是中继节点,且第x比特是第y个值为1的比特时,则节点x拷贝元分组分组负载,并将Hmstring中的第y个报头标签作为该拷贝的第一部分标签,删去Hmstring中的第y个报头标签剩下的作为该拷贝的第二部分标签,并且Relaystring第y比特置0后作为该拷贝的第三部分标签,将该拷贝继续发送。
全文数据:一种基于Headmodify技术的分组封装和传输方法技术领域本发明涉及路由网络多播分发领域,尤其涉及一种基于Headmodify技术的分组封装和传输方法。背景技术随着通信路由组网技术的快速发展,家用路由和企业路由的大量普及,用户的业务需求以及网络结构都发生了巨大的变化。复杂的组网和多样的用户需求给当前的路由网络多播分发技术和多播路由保护技术带来了巨大的挑战。当前,普及度最高的路由保护技术就是FRR技术(快速重路由技术),即在工作路径失效或其中某个节点出现通信故障时直接启用另一条通向目的节点的路径(该路径称之为保护路径)以完成路由节点通信的需要,等到路由重收敛(工作路径重新恢复正常可工作状态)后,再将流量切换到工作路径。一般来说,工作路径就是整个网络拓扑中的最短路径。但是,当前通用的路由FRR技术对于单播来说是有状态的,这将大大加重了数据包和中间节点的负担,导致数据流量大大增加,使通信负载更加庞大。有状态是指,数据包在故障节点进行切换保护路径时,该节点必须读取当前数据包状态信息以计算保护路径,以故障节点为计算控制器。而与之相对的无状态则是指在故障节点进行切换保护路径时,直接转到保护路径而无需知道其他信息。即,无状态保护路由使得数据包在源节点处就规划好了所有的工作路径和保护路径,在遇到故障时直接切换路径即可,源节点就是转发的总计算控制器。且,当前的FRR技术遇到多播路径有重叠的情况时,只能以单播的形式进行转发,这无疑大大加重了路径负载,导致流量成倍浪费。例如R→2→7,R→2→7→3,R→2→7→6三条保护路径都通过(R,2,7)链路。由于这3条路径上传送的分组报头封装不同,净荷(数据包负载)相同的分组必须以3份拷贝的形式在(R,2,7)链路上传送。发明内容为解决上述问题,本发明的目的提供一种基于Headmodify技术的分组封装和传输方法,采用将网络拓扑中的中继节点作为基础实现的Headmodify的方法,使得源节点发向不同目的节点的多播数据包可以无状态的进行转发,且在相同转发路径只发送一个数据包负载载荷,从而解决了传统方案相同路径重复转发和有状态导致的数据流量消耗过多的问题。本发明提供一种基于Headmodify技术的分组封装和传输方法,所述方法步骤如下:步骤一:确定网络中的工作路径、保护路径和中继节点;步骤二:基于中继节点构造数据包的Headmodify报头,将一次多播路由的转发目的节点和路径中继节点列成列表,然后进行HM报头的构造;步骤三:数据包在节点处根据不同的Headmodify报头进行相应的处理;步骤四:逐步执行步骤3,直到完成此次多播转发。进一步改进在于:所述步骤二中Headmodify报头分为三部分,第一部分是Bitstring,描述的是重复路径上的中继节点和其他多播组成员;第三部分是Relaystring,描述中继节点成员,该字段用于选择和删除HMString中的报头标签;第二部分是HMstring,描述的是要替换的报头标签组,它由多个备选报头标签构成,其数量等于Relaystring中描述的中继节点数量。进一步改进在于:所述步骤三中当一个数据包到达一个节点时,先检测HM报头的第一部分Bitsting是否有该节点,若无则根据第一部分的Bitstring继续传输;若当前节点在HM报头的第一部分Bitsting中,则检测该节点是否在HM报头的第三部分的Relaystring中,若不在HM报头的第三部分Relaystring中则该节点就是一个目的节点,完成转发;若在HM报头的第三部分Relaystring中则该节点是重复的中继节点,根据它在第三部分Relaystring中的位串顺序选择第二部分的HMstring位串进行下一步转发。进一步改进在于:如分组到达节点x时,检查RelayString,发现节点x是中继节点,且第x比特是第y个值为1的比特;则节点x拷贝元分组分组负载,并将HMString中的第y个报头标签作为该拷贝的第一部分标签,删去HMString中的第y个报头标签剩下的作为该拷贝的第二部分标签,并且Relaystring第y比特置0后作为该拷贝的第三部分标签,将该拷贝继续发送。进一步改进在于:数据包根据HM报头依次执行步骤3。如图1所示,在该网络拓扑中源节点到达目的节点的最短路径为工作路径,如图2中的粗线所示,工作路径之外的路径可作为保护路径的备选,如图2中的虚线所示。在该网络拓扑的一条路由的转发路径中,除了源节点和目的节点的其他节点都可以称之为中继节点。例如以R为源节点,6为目的节点,那么工作路径中的R→1→4→6中的1和4节点都可以称之为中继节点;保护路径中的R→2→5→6中的2和5节点也可以称之为中继节点。使净负荷数据完全相同的多播分组具有相同的报头标签,从而保证多播分组在每个接口上只发送一份拷贝;在中继节点处采用更换报头标签技术,保证分组正确地到达相应的组播组成员。在一个路由网络拓扑中,引入中继节点的概念,在中继节点的基础上提出了Headmodify的报头封装方案,数据包在中继节点处进行更换报头并复制载荷进行转发,从而实现在相同路径只发送一份数据包载荷的无状态多播传输方案。本发明的有益效果:采用将网络拓扑中的中继节点作为基础实现的Headmodify的方法,使得源节点发向不同目的节点的多播数据包可以无状态的进行转发,且在相同转发路径只发送一个数据包负载载荷,从而解决了传统方案相同路径重复转发和有状态导致的数据流量消耗过多的问题,相较于传统方案可节约大量路径负载和数据流量。该方案可用于数据包的多播工作路由转发,也可以用于FRR的多播保护路由转发。附图说明图1是本发明的网络拓扑示意图。图2是本发明的网络拓扑工作路径及部分保护路径示意图。图3是本发明的网络拓扑多播目节点示意图。图4是本发明的网络拓扑多播目节点的发送路径图。图5是本发明的Headmodify路由条目封装格式图。图6是本发明的Headmodify路由条目封装格式示例图。图7是本发明的节点2的路由条目封装图。图8是本发明的节点7的路由条目封装图。图9是本发明的源节点R的路由转发表。图10是本发明的节点2的路由转发表。图11是本发明的节点7的路由转发表。具体实施方式为了加深对本发明的理解,下面将结合实施例对本发明作进一步详述,该实施例仅用于解释本发明,并不构成对本发明保护范围的限定。本实施例提供一种基于Headmodify技术的分组封装和传输方法,所述方法步骤如下:步骤一:确定网络中的工作路径、保护路径和中继节点;步骤二:基于中继节点构造数据包的Headmodify报头,将一次多播路由的转发目的节点和路径中继节点列成列表,然后进行HM报头的构造;步骤三:数据包在节点处根据不同的Headmodify报头进行相应的处理;步骤四:逐步执行步骤3,直到完成此次多播转发。所述步骤二中Headmodify报头分为三部分,第一部分是Bitstring,描述的是重复路径上的中继节点和其他多播组成员;第三部分是Relaystring,描述中继节点成员,该字段用于选择和删除HMString中的报头标签;第二部分是HMstring,描述的是要替换的报头标签组,它由多个备选报头标签构成,其数量等于Relaystring中描述的中继节点数量。所述步骤三中当一个数据包到达一个节点时,先检测HM报头的第一部分Bitsting是否有该节点,若无则根据第一部分的Bitstring继续传输;若当前节点在HM报头的第一部分Bitsting中,则检测该节点是否在HM报头的第三部分的Relaystring中,若不在HM报头的第三部分Relaystring中则该节点就是一个目的节点,完成转发;若在HM报头的第三部分Relaystring中则该节点是重复的中继节点,根据它在第三部分Relaystring中的位串顺序选择第二部分的HMstring位串进行下一步转发。如分组到达节点x时,检查RelayString,发现节点x是中继节点,且第x比特是第y个值为1的比特;则节点x拷贝元分组分组负载,并将HMString中的第y个报头标签作为该拷贝的第一部分标签,删去HMString中的第y个报头标签剩下的作为该拷贝的第二部分标签,并且Relaystring第y比特置0后作为该拷贝的第三部分标签,将该拷贝继续发送。数据包根据HM报头依次执行步骤3。具体实例的拓扑图见图1,其构造的工作路径和保护路径见图2。此次多播转发的目的节点如图3所示,目的节点为3、5、6、7,从图3中可以看出,工作路径R→2→7和保护路径R→2→7→3、R→2→5、R→2→7→6都经过R→2链路,部分经过2→7链路,因此重复的中继节点有节点2和节点7。接下来进行HM报头的构造。因为所有节点都经过中继节点2,因此节点2加入Relaystring;节点2要到达节点5和节点7,因此节点2的HMstring为01010000;节点5是目的节点且可通过中继节点2到达因此不加入Bitstring;节点7可到达节点3、节点6和节点7,因此将中继节点7加入Relaystring,所以节点7的HMstring为01100100。最终编码形成的HM报头如图6所示。初始的Bitstring为00000010,在源节点R处和R的路由转发表(如图9所示)进行与运算,即00000010&00000001,00000010&00000010,00000010&00000100,结果分别为00000000,00000010,00000000因此向节点2转发,然后数据包到达节点2后去检查Relaystring(01000010)发现第2比特位为1,因此节点2是中继节点。则节点2复制一份数据包负载,将HMstring中的第一段(因为Relaystring中节点2是第1个比特为1的位)作为Bitstring字段,剩余的HMstring字段作为HMstring字段,将第2比特置0之后的Relaystring作为Relaystring字段发送数据包。节点2发送的该数据包的HM报头如图7所示。原Bitstring(00000010)在发送数据包到节点2之后2比特位置0,结果是00000000完成转发,现在路由网络中只有节点2发出的新数据包在传输。然后节点2将新的Bitstring与节点2的路由转发表(如图10所示)进行与运算,即01010000&00000010,01010000&00010000和01010000&01000000,结果是00000000,00010000和01000000,因此向节点5和节点7转发。节点5收到数据包之后检查Relaystring发现5不在其中,因此是目的节点,节点5数据包多播到达。到达节点7之后发现节点7是中继节点,因此复制数据包载荷,将现在数据包的第一位HMstring字段(01000000,节点7是第一位1位)作为新的Bitstring,将Relaystring的7比特位置0,作为新的数据包发出,节点7发送的HM报头如图8所示。数据包到达7之后根据节点7的路由转发表(如图11所示)相应转发到节点3、节点6和节点7,完成此次多播转发,且在重复路径(R→2,2→7)只发送了一份数据包载荷,且是无状态的多播转发,节约了大量流量和路径负载。
权利要求:1.一种基于Headmodify技术的分组封装和传输方法,其特征在于:所述方法步骤如下:步骤一:确定网络中的工作路径、保护路径和中继节点;步骤二:基于中继节点构造数据包的Headmodify报头,将一次多播路由的转发目的节点和路径中继节点列成列表,然后进行HM报头的构造;步骤三:数据包在节点处根据不同的Headmodify报头进行相应的处理;步骤四:逐步执行步骤3,直到完成此次多播转发。2.如权利要求1所述的一种基于Headmodify技术的分组封装和传输方法,其特征在于:所述步骤二中Headmodify报头分为三部分,第一部分是Bitstring,描述的是重复路径上的中继节点和其他多播组成员;第三部分是Relaystring,描述中继节点成员,该字段用于选择和删除HMString中的报头标签;第二部分是HMstring,描述的是要替换的报头标签组,它由多个备选报头标签构成,其数量等于Relaystring中描述的中继节点数量。3.如权利要求1所述的一种基于Headmodify技术的分组封装和传输方法,其特征在于:所述步骤三中当一个数据包到达一个节点时,先检测HM报头的第一部分Bitsting是否有该节点,若无则根据第一部分的Bitstring继续传输;若当前节点在HM报头的第一部分Bitsting中,则检测该节点是否在HM报头的第三部分的Relaystring中,若不在HM报头的第三部分Relaystring中则该节点就是一个目的节点,完成转发;若在HM报头的第三部分Relaystring中则该节点是重复的中继节点,根据它在第三部分Relaystring中的位串顺序选择第二部分的HMstring位串进行下一步转发。4.如权利要求3所述的一种基于Headmodify技术的分组封装和传输方法,其特征在于:如分组到达节点x时,检查RelayString,发现节点x是中继节点,且第x比特是第y个值为1的比特;则节点x拷贝元分组分组负载,并将HMString中的第y个报头标签作为该拷贝的第一部分标签,删去HMString中的第y个报头标签剩下的作为该拷贝的第二部分标签,并且Relaystring第y比特置0后作为该拷贝的第三部分标签,将该拷贝继续发送。5.如权利要求2所述的一种基于Headmodify技术的分组封装和传输方法,其特征在于:数据包根据HM报头依次执行步骤3。
百度查询: 南京邮电大学 一种基于Head modify技术的分组封装和传输方法
免责声明
1、本报告根据公开、合法渠道获得相关数据和信息,力求客观、公正,但并不保证数据的最终完整性和准确性。
2、报告中的分析和结论仅反映本公司于发布本报告当日的职业理解,仅供参考使用,不能作为本公司承担任何法律责任的依据或者凭证。