CN103188048B - 面向树形拓扑结构网络中对等通信的网络编码方法 - Google Patents
面向树形拓扑结构网络中对等通信的网络编码方法 Download PDFInfo
- Publication number
- CN103188048B CN103188048B CN201310044346.7A CN201310044346A CN103188048B CN 103188048 B CN103188048 B CN 103188048B CN 201310044346 A CN201310044346 A CN 201310044346A CN 103188048 B CN103188048 B CN 103188048B
- Authority
- CN
- China
- Prior art keywords
- frame
- pairing
- leaf node
- pairid
- network
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Landscapes
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明公开了面向树形拓扑结构网络中对等通信的网络编码方法,该方法中根节点主导参与网络编码的配对叶子的发现,配对连接的建立及拆除,各叶子节点仅协同参与;叶子节点对可能参与网络编码的数据帧进行标记与缓存,根节点对参与网络编码数据帧进行相应的缓存和编码,对网络编码后的数据帧进行标记和下发,叶子节点对接收的编码后数据帧进行解码和相应的缓存清空。本发明针对树形拓扑结构网络中对等通信的网络编码提出了具体并且详细的实现方案,将理论达到最大流的网络编码理论在树形拓扑结构网络中具体完整实现,并且保持了树形结构网络中根节点与叶子节点之间在信令收发及数据处理上的主从关系,加强了树形结构网络中本地对等流量的交换效率。
Description
技术领域
本发明涉及面向树形拓扑结构网络中对等通信的网络编码方法,属于通信技术领域。
背景技术
社交网络与P2P业务的兴起对城域和骨干网造成了巨大压力,德国互联网调研机构Ipoque称,P2P业务已经彻底统治了当今的互联网,其中50-90%的总流量都来自于P2P这一类以对等通信为特点的业务。在此背景下对设备的本地交换能力提出了更高的要求。
网络编码多用于解决蝶形网络下的业务传送,而对连通度较低的树形结构缺乏有效编码机制,同时接入网侧树形的架构也造成了严重的带宽瓶颈。因此,如何解决这一瓶颈,对带宽进行有效疏导和传送,将理论达到最大流的网络编码理论融入到树形拓扑的树形结构网络,并与现有树形结构网络主要协议兼容,从而加强本地对等流量的交换效率是一个亟待解决的重要而有意义的问题。
树形拓扑结构网络中网络编码的基本原理如图7所示,根节点按周期对各叶子节点进行上行时隙的轮询。对存在对等通信的叶子节点,OLT通过进行上行时隙的调度,并通知叶子节点做好相应的缓存动作;叶子节点在指定的时隙分别上行发送数据,根节点对两者之间对等通信的数据包进行网络编码并广播,最后相应叶子节点接收编码数据包,并利用本地先前缓存的数据包进行解码,得到另一个叶子节点发送给自己的数据包,完成对等通信的过程。与无网络编码的传统树形结构网络通信方式(如图8所示)相比,网络编码方案在理论上最大能节约一半的下行带宽,将网络吞吐量提高一半。同时网络编码即相当于一次数据的加密过程,无解码所需数据帧的叶子节点亦无法窃听到不属于自己的数据,通信的安全性亦得到的一致保证。
因此,网络编码技术能高效地支持树形结构接入网中的对等通信业务,有效节省树形结构网络中有限的下行带宽,提高网络整体的吞吐量及在容错、纠错中的鲁棒性,简化路由,同时还能有效缓解对核心网的带宽压力。
当前只有对树形拓扑结构网络中的网络编码原理的简单原理介绍,并无具体的详细实现方式。因此本发明提出了一种由树形结构网络中根节点主导的网络编码的方法,并且提出了该方法的详细实现方式。
发明内容
本发明的目的在于提供面向树形拓扑结构网络中对等通信的网络编码方法,该方法采用全新的根节点实时预判断方式网络编码,由根节点主导,叶子节点协同完成参与网络编码的配对叶子节点和故障配对叶子节点的发现,配对连接的建立、维护和拆除,相应数据帧的生成、更新和删除,数据帧标记和缓存,网络编码/解码,以及缓存清空操作。
为实现上述的发明目的,本发明采用下述的技术方案:
面向树形拓扑结构网络中对等通信的网络编码方法,其特征在于:
在树形拓扑结构中,根节点主导参与网络编码的配对叶子的发现,配对连接的建立及拆除,各叶子节点仅协同参与;
叶子节点对可能参与网络比编码的数据帧进行标记与缓存,根节点对参与网络编码数据帧进行相应的缓存和编码,对网络编码后的数据帧进行标记和下发,叶子节点对接收的编码后数据帧进行解码和相应的缓存清空。
本发明所述方法,其特征在于包括以下步骤:
步骤1:根节点发现参与网络编码的配对叶子节点,并通过控制帧建立起参与网络编码配对叶子节点之间的连接;若根节点在配对连接的最长有效时间内检测不到配对叶子节点之间的对等通信数据,或者配对叶子节点出现故障时,则拆除配对叶子节点之间的连接;各叶子节点接收根节点下发的控制帧,协同参与配对连接的建立与拆除;
步骤2:编码配对叶子节点对可能参与网络的数据帧进行标记,并进行本地缓存;根节点对配对叶子节点中先上行一方的数据帧中有标记的进行缓存,在缓存等待时间内将本地缓存的待编码数据帧与相应数据进行网络编码,并对网络编码后的数据帧进行标记和下发;
步骤3:叶子节点将下行接收的数据帧中有标记的与本地缓存的相应数据进行网络解码,并清空缓存中参与了解码的数据帧。
本发明所述方法的步骤1,其特征在于包括以下步骤:
步骤1-1:根节点若在某轮询周期中实时检测到任意一对叶子节点之间存在相互对等通信的数据,则可判断树形结构网络中存在这对叶子节点之间的网络编码配对,称这对叶子节点为配对叶子节点;
步骤1-2:根节点在此轮询周期中给这对叶子节点分配配对关系标识PairID,并将此配对关系标识PairID以及其中一个配对叶子节点的地址信息以一种告知编码配对信息的PairSet帧的形式单播给另一个配对叶子节点,建立起配对叶子节点之间的编码配对连接;
步骤1-3:根节点在单播下发PairSet帧后立即保存PairSet帧,并对该PairSet帧中PairID配对关系标识PairID的最长有效时间Tmax开始计时;若某PairID对应的两个配对叶子节点在Tmax时间段内没有对等通信,根节点向该PairID对应的两个配对叶子节点发送能告知叶子节点在本地删除编码配对信息的PairDel帧,拆除该对叶子节点之间的配对连接关系,根节点在本地删除与该PairID相关的配对连接信息,同时该PairID需要在等待足够长时间后才能参与新配对的分配;
步骤删4:若配对叶子节点出现故障时,根节点向没有故障的配对叶子节点发送能告知叶子节点在本地删除编码配对信息的PairDel帧,同时根节点在本地删除与该PairID相关的配对连接信息;如果所有配对叶子节点均出现故障,则根节点只在本地删除与该PairID相关的配对连接信息;在根节点本地删除记录的PairID需要在等待足够长时间后才能参与新配对的分配。
本发明所述方法的步骤2,其特征在于包括以下步骤:
步骤2-1:配对叶子节点判断各上行帧的目的地址是否与本地保存的有效PairSet帧中包含的目的地址一致:如果不一致,则上行帧不进行与网络编码相关的操作;如果一致,则执行步骤2-3;
步骤22:配对叶子节点在本地缓存上行数据帧中目的地址与PairSet帧中配对连接地址信息一致的帧,并在本地的缓存帧和此类上行发送帧中均添加相同的缓存顺序号以及对应的PairID,在帧中添加的这些号码视为对可能参与根节点处网络编码数据帧的标记;
步骤23:根节点对配对中先上行发送一方配对叶子节点的数据进行接收,并判断数据帧是否有标记:如果没有标记,则不进行与网络编码相关的操作;如果有标记,则执行步骤2-5;
步骤2-4:根节点对配对中先上行发送一方配对叶子节点的有标记数据帧按编号进行缓存,并在根节点处数据最长缓存等待时间Twait内检测后上行的配对叶子节点是否存在配对的数据:如果不存在,则将缓存等待超时的数据帧与根节点保存的对应配对叶子节点的PairSet帧中指定的固定字段数据Pspeeial进行网络编码,对网络编码后的数据进行帧顺序编号、PairID标记;如果存在,则执行步骤2-6;
步骤2-5:根节点对配对中后上行发送一方配对叶子节点的数据中有标记的数据帧与先前缓存的数据按帧进行网络编码,帧队列长度较长一方超出部分的数据帧本地缓存并开始新的Twait计时,对网络编码后的数据帧添加编码数据帧的PairID以及两个缓存顺序号标记,这些标记可以在叶子节点处表示此类下行数据帧为网络编码数据帧;根节点对配对中后上行发送一方配对叶子节点的数据中没有标记的数据帧不进行与网络编码相关的操作;
步骤2-6:根节点对下行发送队列中的编码和非编码数据进行下行发送。
本发明所述方法的步骤3,其特征在于包括以下步骤:
步骤3-1:各配对叶子节点接收根节点下行数据帧,并判断下行数据帧是否有标记:如果没有,则配对叶节点对这类数据帧不进行与网络编码相关的操作;如果有标记,则配对叶子节点对有标记的数据帧只按缓存顺序编号与本地缓存中对应编号的数据帧或PairSet帧中固定字段数据Psoeeial进行网络编码的解码操作;
步骤3-2:解码完成之后,配对叶子节点清空缓存中参与解码操作的数据帧。
其中,
步骤1-2所述的方法,其特征在于:
在步骤1-2中,配对号PairID与叶子节点标识符处于同一字段,PairID的取值范围与叶子节点标识符的取值范围互不重叠;当根节点/叶子节点对配对号PairID所在字段的校验结果不满足根节点/叶子节点对叶子节点标识符的所有校验规则后,才进一步校验该字段是否为配对号。
在步骤1-2中,在控制帧PairSet的帧净荷中应填充与帧接收叶子节点相配对的叶子节点相关的配对信息:即配对叶子节点之间的配对号pairID,以及配对叶子节点的地址信息,为保证控制帧PairSet的能完全包含一组配对叶子节点下的全部配对信息,PairSet的帧的帧长不做限定,保证一组配对叶子节点下的全部配对信息在同一PairSet的帧中即可。
步骤1-3所述的方法,其特征在于:
在步骤1-3中,控制帧PairDel包含的用于解除网络编码配对关系的信息为配对号airID;根节点发送PairDel帧和叶子节点接收PairDel帧后,两者在本地都删除与PairDel帧中PairID相关联的配对信息,即本地缓存的配对叶子节点之间的配对号PairID,以及配对叶子节点下挂的地址,并清空缓存中与GroupID相关的数据帧。
在步骤1-3中,Tmax具体表示某轮询周期内建立起来的配对叶子节点之间的连接即配对关系标识PairID的最长有效时间,设定Tmax为典型的传输控制协议TCP连接生存时间。
步骤2-5所述的方法,其特征在于:
在步骤2-5中,Twait具体表示在根节点处网络编码最长缓存等待时间,设定根节点处网络编码最长缓存等待时间Twait值为两个树形拓扑结构中根节点对各叶子节点的轮询周期时间长度;
在步骤2-5中,对网络编码后的数据进行的帧顺序单编号、PairID标记时,帧顺序单编号及PairID字段在编码后数据帧中所在位置与待编码帧中相应字段的位置相同,且帧顺序单编号和PairID的取值均来自于缓存超时数据帧相对应的字段的取值。
步骤2-6所述的方法,其特征在于:
在步骤2-6中,对网络编码后的数据帧添加PairID以及两个缓存顺序号标记时,其中PairID字段所在字节位置与待编码帧中PairID的位置相同,其取值为参与编码的两个数据帧共有的PairID;两个缓存顺序号的取值分别来源于参与编码的两个数据帧中各自的缓存顺序号,在已编码帧中,与待编码帧的缓存顺序号字节相同的位置用于填充在根节点处缓存等待的待编码帧的缓存顺序号,然后再利用已编码帧中的另一个字段位置填充另一个待编码帧的缓存顺序号。
在步骤2-6中,在根节点处进行数据帧的网络编码时,可能存在参与编码的数据帧不等长的情况,对不等长数据中的较短帧,在其帧尾字符后补足0x07字节,直至参与编码的各数据帧的长度相等。
步骤3-1所述的方法,其特征在于:
在步骤3-1中,在叶子节点处进行网络编码的解码操作中,如果利用本地缓存帧进行解码时发现本地缓存帧的长度小于接收的编码帧,则在本地缓存帧帧尾字符后补足0x07字节直至与编码帧等长,并解码得到本地需要接收的数据帧;如果利用本地缓存帧进行解码时发现本地缓存帧的长度大于接收的编码帧,则从解码得到的数据帧的最末尾的字节0x07开始逐字节删除0x07字节,直至得到数据帧的帧尾字符为止,从而得到本地需要接收的数据帧。
本发明具有以下优点和效果:针对树形拓扑结构网络中对等通信的网络编码提出了具体并且详细的实现方案,将理论达到最大流的网络编码理论在树形拓扑结构网络中具体完整实现,并且保持了树形结构网络中根节点与叶子节点之间在信令收发及数据处理上的主从关系,加强了树形结构网络中本地对等流量的交换效率。
附图说明
为了更清楚地说明本发明,下面将对本发明实施例描述中所需要使用的附图作简单的介绍,显然地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动前提下,还可以根据这些附图获得的更多的附图。
图1是本发明一个实施例提供的面向树形拓扑结构网络中对等通信的网络编码方法的概要流程图;
图2是本发明一个实施例提供的面向树形拓扑结构网络中对等通信的网络编码方法的详细流程图;
图3是本发明一个实施例提供的在无源光网络中PairSet帧前导码格式定义示意图;
图4是本发明一个实施例提供的在无源光网络中PairSet帧的帧净荷定义示意图;
图5是本发明一个实施例提供的在无源光网络中PairDel帧前导码格式定义示意图;
图6是本发明一个实施例提供的在无源光网络中PairDel帧的帧净荷定义示意图;
图7是树形拓扑结构网络中网络编码示意图;
图8是树形拓扑结构网络中传统通信方式(无网络编码)示意图。
具体实施方式
下面结合附图和具体实施方式对本发明作进一步的说明。
本发明实施例是在一种常见的树形拓扑结构网络即无源光网络中,以控制平面信令流程为主,数据平面操作为辅相结合的方式,说明无源光网络中网络编码的具体详细实现方式。很显然,无源光网络中的OLT对应本方法中的根节点,ONU对应本方法中的叶子节点。
图1是一个实施例提供的面向树形拓扑结构网络中对等通信的网络编码方法的概要流程图,执行的步骤依次是:
S101:根节点发现参与网络编码的配对叶子节点,并通过控制帧建立起参与网络编码的配对叶子节点之间的连接;若根节点在配对连接的最长有效时间内检测不到配对叶子节点之间的对等通信数据,或者配对叶子节点出现故障时,则拆除配对叶子节点之间的连接;各叶子节点接收根节点下发的控制帧,协同参与配对连接的建立与拆除;
在该实施例的步骤S101中,若树形拓扑网络为常见的无源光网络PON(如以太网无源光网络EPON/万兆以太网无源光网络10GEPON,或吉比特无源光网络GPON)时,根节点即为光线路终端OLT,叶子节点为光网络单元ONU,控制帧则可以采用与带宽分配相关的带宽分配相关的控制帧(如EPON/10GEPON中的MPCP帧)格式。
S102:配对叶子节点对可能参与网络的数据帧进行标记,并进行本地缓存;根节点对配对叶子节点中先上行一方的数据帧中有标记的进行缓存,在缓存等待时间内将本地缓存的待编码数据帧与相应数据进行网络编码,并对网络编码后的数据帧进行标记和下发;
S103:配对叶子节点将下行接收的数据帧中有标记的与本地缓存的相应数据进行网络解码,并清空缓存中参与了解码的数据帧。
图2是本发明一个实施例提供的面向树形拓扑结构网络中对等通信的网络编码方法的详细流程图,对应于图1所示的各步骤,图2执行的步骤依次是:
S201:根节点若在某轮询周期中实时检测到任意一对叶子节点n和c之间存在相互对等通信的数据,则可判断树形结构网络中存在叶子节点n和c之间的网络编码配对,称这对叶子节点n和c为配对叶子节点;
S202:根节点在此轮询周期中给这对叶子节点分配配对关系标识PairID,并将此配对关系标识PairID以及其中一个配对叶子节点n(c)的地址信息以一种告知编码配对信息的PairSet帧的形式单播给另一个配对叶子节点c(n),建立起配对叶子节点n和c之间的编码配对连接;
在该实施例的步骤S202中,配对号PairID与叶子节点标识符(如EPON中各ONU的逻辑链路标识LLID)处于同一字段,PairID的取值范围与叶子节点标识符的取值范围互不重叠;当根节点/叶子节点对配对号PairID所在字段的校验结果不满足根节点/叶子节点对叶子节点标识符的所有校验规则后,才进一步校验该字段是否为配对号;
在该实施例的步骤S202中,在控制帧PairSet的帧净荷中应填充与帧接收叶子节点n(c)相配对的叶子节点c(n)相关的配对信息:即配对叶子节点n和c之间的配对号PairID,以及配对叶子节点c(n)的地址信息(如EPON中各ONU的媒质接入控制MAC地址),为保证控制帧PairSet的能完全包含配对叶子节点n和c下的全部配对信息,PairSet的帧的帧长不做限定,保证配对叶子节点n和c下的全部配对信息在同一PairSet的帧中即可;
在该实施例的步骤S202中,若树形拓扑结构网络为PON,控制帧PairSet可以采用类似于PON中与带宽分配相关的控制帧(如EPON/10GEPON中的MPCP帧)格式,具体通过取值不同的帧标识字段(如EPON/10GEPON中MPCP帧的长度/类型Length/Type字段和操作码Opcode字段)来与带宽分配相关的控制帧进行区分;
按此要求,若树形拓扑结构网络为EPON,则PairSet帧前导码格式一个可行的定义如图3所示,PairSet帧的帧净荷定义一个可行的定义如图4所示。在图3中,图3-1为EPON标准规定的帧前导码格式,图3-2为本实施例中PairSet帧前导码格式,图中每个方框中的字段长度为1个字节,将EPON帧前导码中LLID字段替换为配对关系标识号PairID即可作为PairSet帧前导码;在图4中,PairSet帧帧净荷采用类似于MPCP帧的格式,此格式主要体现在对Length/Type字段和Opcode字段的定义上与现有MPCP帧的定义类似但不重复,本实施例定义Length/Type=0x8808,Opcode=0x0008;Opcode之后的字段用于填充配对叶子节点n和c即配对ONUn和c之间的配对号PairID,以及配对ONUn和c下挂的所有主机MAC地址;可以定义PairSet帧中任意字节数的字段(如自PairID字段起的m字节)为Pspeeial,该m字节数据用于与配对ONUn和c在OLT处缓存等待超时数据帧进行网络编码的数据。
S203:根节点在单播下发PairSet帧后立即保存PairSet帧,并对该PairSet帧中PairID配对关系标识PairID的最长有效时间Tmax开始计时;若某PairID对应的两个配对叶子节点n和c在Tmax时间段内没有对等通信,根节点向该PairID对应的两个配对叶子节点n和c发送能告知叶子节点在本地删除编码配对信息的PairDel帧,拆除该对叶子节点之间的配对连接关系,根节点在本地删除与该PairID相关的配对连接信息,同时该PairID需要在等待足够长时间后才能参与新配对的分配;
在该实施例的步骤S203中,控制帧PairDel包含的用于解除网络编码配对关系的信息为配对号PairID;根节点发送PairDel帧和叶子节点接收PairDel帧后,两者在本地都删除与PairDel帧中PairID相关联的配对信息,即本地缓存的配对叶子节点n和c之间的配对号PairID,以及配对叶子节点n或c下挂的地址,并清空缓存中与PairID相关的数据帧;
在该实施例的步骤S203中,,若树形拓扑结构网络为PON,控制帧PairDel可以采用类似于PON中与带宽分配相关的控制帧(如EPON/10GEPON中的MPCP帧)格式,具体通过取值不同的帧标识字段(如EPON/10GEPON中MPCP帧的Length/Type字段和Opeode字段)与带宽分配相关的控制帧以及PairSet帧进行区分;
按此要求,若树形拓扑结构网络为EPON,则PairDel帧前导码格式一个可行的定义如图5所示,PairDel帧的帧净荷定义一个可行的定义如图6所示。在图5中,图5-1为EPON标准规定的帧前导码格式,图5-2为本实施例中PairDel帧前导码格式,图中每个方框中的字段长度为1个字节,将EPON帧前导码中LLID字段替换为配对关系标识号PairID即可作为PairDel帧前导码;在图6中,PairDel帧目的MAC地址设置为组播MAC地址(802.3规定:以太网MAC地址的第48bit用于表示这个地址是组播地址还是单播地址。如果这一位是0,表示此MAC地址是单播地址,如果这位是1,表示此MAC地址是多播地址);PairDel帧作为一种特殊的组播帧,采用类似于MPCP帧的格式,此格式主要体现在对Length/Type字段和Opcode字段的定义上与现有MPCP帧以及PairSet的定义类似但不重复,具体定义为Length/Type=0x8808,Opcode=0x0009;
在该实施例的步骤S203中,Tmax具体表示某轮询周期内建立起来的配对叶子节点n和c之间的连接即配对关系标识PairID的最长有效时间,具体设定最长有效时间Tmax的值,一方面要根据实际传输控制协议TCP提供面向连接的服务特点进行考虑,因为TCP通信过程中存在例如确认、流量控制、连接管理等多个通信主机之间往返交互的步骤;另一方面要虑到叶子节点本地缓存能力的限制,因为叶子节点本地保存PairSet帧也就是某配对号的时间越长,则对去往配对叶子节点n和c的数据帧都要进行缓存,进而对本地缓存的需求就越大;综合考虑以上需要,设定Tmax为TCP连接生存时间,典型值为3秒。
S204:若配对叶子节点n(c)出现故障时,根节点向设有故障的配对叶子节点c(n)发送能告知叶子节点在本地删除编码配对信息的PairDel帧,同时根节点在本地删除与该PairID相关的配对连接信息;如果所有配对叶子节点n和c均出现故障,则根节点只在本地删除与该PairID相关的配对连接信息;在根节点本地删除记录的PairID需要在等待足够长时间后才能参与新配对的分配;
S205:配对叶子节点n和c判断各上行帧的目的地址是否与本地保存的PairSet帧中包含的目的地址一致:如果不一致,则上行帧不进行与网络编码相关的操作;如果一致,则执行步骤S206;
S206:配对叶子节点n和c在本地缓存上行数据帧中目的地址与PairSet帧中配对连接地址信息一致的帧,并在本地的缓存帧和此类上行发送帧中均添加相同的缓存顺序号以及对应的PairID,在帧中添加的这些号码视为对可能参与根节点处网络编码数据帧的标记;
S207:根节点对配对中先上行发送一方叶子节点的数据进行接收,并判断数据帧是否有标记:如果没有标记,则不进行与网络编码相关的操作;如果有标记,则执行步骤S208;
S208:根节点对配对中先上行发送一方配对叶子节点n(c)的有标记数据帧按编号进行缓存,并在根节点处数据最长缓存等待时间Twait内检测后上行的配对叶子节点c(n)是否存在配对的数据:如果不存在,则将缓存等待超时的数据帧与根节点保存的对应配对叶子节点c(n)的PairSet帧中指定的固定字段数据Pspeeial进行网络编码,对网络编码后的数据进行帧顺序编号、PairID标记;如果存在,则执行步骤S209;
在该实施例的步骤S208中,Twait具体表示在根节点处网络编码最长缓存等待时间,设定根节点处网络编码最长缓存等待时间Twait值为树形拓扑结构中根节点对各叶子节点的两个轮询周期(如PON中的动态带宽分配周期)时间长度;
在该实施例的步骤S208中,对网络编码后的数据进行的帧顺序编号、PairID标记时,帧顺序编号及PairID字段在编码后数据帧中所在位置与待编码帧中相应字段的位置相同,且帧顺序单编号和PairID的取值均来自于缓存超时数据帧相对应的字段的取值。
S209:根节点对配对中后上行发送一方配对叶子节点c(n)的数据中有标记的数据帧与先前缓存的数据按帧进行网络编码,帧队列长度较长一方超出部分的数据帧本地缓存并开始新的Twait计时,对网络编码后的数据帧添加编码数据帧的PairID以及两个缓存顺序号标记,这些标记可以在叶子节点处表示此类下行数据帧为网络编码数据帧;根节点对配对中后上行发送一方叶子节点c(n)的数据中没有标记的数据帧不进行与网络编码相关的操作;
在该实施例的步骤S209中,对网络编码后的数据帧添加PairID以及两个缓存顺序号标记时,其中PairID字段所在字节位置与待编码帧中PairID的位置相同,其取值为参与编码的两个数据帧共有的PairID;两个缓存顺序号的取值分别来源于参与编码的两个数据帧中各自的缓存顺序号,在已编码帧中,与待编码帧的缓存顺序号字节相同的位置用于填充在根节点处缓存等待的待编码帧的缓存顺序号,然后再利用已编码帧中的另一个字段位置填充另一个待编码帧的缓存顺序号。
在该实施例的步骤S209中,在根节点处进行数据帧的网络编码时,可能存在参与编码的数据帧不等长的情况,对不等长数据中的较短帧,在其帧尾字符后补足0x07字节,直至参与编码的各数据帧的长度相等。
S210:根节点对下行发送队列中的编码和非编码数据进行下行发送。
S211:各配对叶子节点n和c接收根节点下行数据帧,并判断下行数据帧是否有标记:如果没有,则配对叶子节点n和c对这类数据帧不进行与网络编码相关的操作;如果有标记,则配对叶子节点n和c对有标记的数据帧只按缓存顺序编号与本地缓存中对应编号的数据帧或PairSet帧中固定字段数据Pspeeial进行网络编码的解码操作;
在该实施例的步骤S211中,在叶子节点处进行网络编码的解码操作中,如果利用本地缓存帧进行解码时发现本地缓存帧的长度小于接收的编码帧,则在本地缓存帧帧尾字符后补足0x07字节直至与编码帧等长,并解码得到本地需要接收的数据帧;如果利用本地缓存帧进行解码时发现本地缓存帧的长度大于接收的编码帧,则从解码得到的数据帧的最末尾的字节0x07开始逐字节删除0x07字节,直至得到数据帧的帧尾字符为止,从而得到本地需要接收的数据帧。
S212:解码完成之后,配对叶子节点n和c清空缓存中参与解码操作的数据帧。
以上所述,仅是本发明的的较佳实施例,而非对本发明的限制。任何熟悉本领域的技术人员,在本发明揭露的方法和技术范围内,可以做出许多可能的变化或替换,因此,凡是未脱离本发明方法的内容,依据本发明的技术实质对以上实施例所做的任何简单修改及等同变化,都应涵盖在本发明的保护范围之内。
Claims (14)
1.面向树形拓扑结构网络中对等通信的网络编码方法,其特征在于:
在树形拓扑结构中,根节点主导参与网络编码的配对叶子节点的发现,并建立起参与网络编码配对叶子节点之间的连接以及拆除配对叶子节点之间的连接;各叶子节点协同参与配对连接的建立与拆除;
叶子节点对可能参与网络编码的数据帧进行标记,并进行本地缓存;根节点对配对叶子节点中上行的有标记的数据帧中进行缓存和编码,对网络编码后的数据帧进行标记和下发,叶子节点对下行接收的编码后数据帧进行解码并清空缓存中参与了解码的数据帧。
2.如权利要求1所述的方法,其特征在于包括以下步骤:
步骤1:根节点发现参与网络编码的配对叶子节点,并通过控制帧建立起参与网络编码配对叶子节点之间的连接;若根节点在配对连接的最长有效时间内检测不到配对叶子节点之间的对等通信数据,或者配对叶子节点出现故障时,则拆除配对叶子节点之间的连接;各叶子节点接收根节点下发的控制帧,协同参与配对连接的建立与拆除;
步骤2:编码配对叶子节点对可能参与网络的数据帧进行标记,并进行本地缓存;根节点对配对叶子节点中先上行一方的数据帧中有标记的进行缓存,在缓存等待时间内将本地缓存的待编码数据帧与相应数据进行网络编码,并对网络编码后的数据帧进行标记和下发;
步骤3:叶子节点将下行接收的数据帧中有标记的与本地缓存的相应数据进行网络解码,并清空缓存中参与了解码的数据帧。
3.如权利要求2所述的方法,其特征在于步骤1包括以下步骤:
步骤1-1:根节点若在某轮询周期中实时检测到任意一对叶子节点之间存在相互对等通信的数据,则可判断树形结构网络中存在这对叶子节点之间的网络编码配对,称这对叶子节点为配对叶子节点;
步骤1-2:根节点在此轮询周期中给这对叶子节点分配配对关系标识PairID,并将此配对关系标识PairID以及其中一个配对叶子节点的地址信息以一种告知编码配对信息的帧的形式单播给另一个配对叶子节点,建立起配对叶子节点之间的编码配对连接,其中称上述告知编码配对信息的帧为PairSet帧;
步骤1-3:根节点在单播下发PairSet帧后立即保存PairSet帧,并对该PairSet帧中PairID配对关系标识PairID的最长有效时间Tmax开始计时;若某PairID对应的两个配对叶子节点在Tmax时间段内没有对等通信,根节点向该PairID对应的两个配对叶子节点发送能告知叶子节点在本地删除编码配对信息的帧,拆除该对叶子节点之间的配对连接关系,根节点在本地删除与该PairID相关的配对连接信息,同时该PairID需要在等待足够长时间后才能参与新配对的分配,其中称上述告知叶子节点在本地删除编码配对信息的帧为PairDel帧;
步骤1-4:若配对叶子节点出现故障时,根节点向没有故障的配对叶子节点发送能告知叶子节点在本地删除编码配对信息的PairDel帧,同时根节点在本地删除与该PairID相关的配对连接信息;如果所有配对叶子节点均出现故障,则根节点只在本地删除与该PairID相关的配对连接信息;在根节点本地删除记录的PairID需要在等待足够长时间后才能参与新配对的分配。
4.如权利要求2所述的方法,其特征在于步骤2包括以下步骤:
步骤2-1:配对叶子节点判断各上行帧的目的地址是否与本地保存的有效PairSet帧中包含的目的地址一致:如果不一致,则上行帧不进行与网络编码相关的操作;如果一致,则执行步骤2-2;
步骤2-2:配对叶子节点在本地缓存上行数据帧中目的地址与PairSet帧中配对连接地址信息一致的帧,并在本地的缓存帧和此类上行发送帧中均添加相同的缓存顺序号以及对应的PairID,在帧中添加的这些号码视为对可能参与根节点处网络编码数据帧的标记;
步骤2-3:根节点对配对中先上行发送一方配对叶子节点的数据进行接收,并判断数据帧是否有标记:如果没有标记,则不进行与网络编码相关的操作;如果有标记,则执行步骤2-4;
步骤2-4:根节点对配对中先上行发送一方配对叶子节点的有标记数据帧按编号进行缓存,并在根节点处数据最长缓存等待时间Twait内检测后上行的配对叶子节点是否存在配对的数据:如果不存在,则将缓存等待超时的数据帧与根节点保存的对应配对叶子节点的PairSet帧中指定的固定字段数据Pspecial进行网络编码,对网络编码后的数据进行帧顺序编号、PairID标记;如果存在,则执行步骤2-5;
步骤2-5:根节点对配对中后上行发送一方配对叶子节点的数据中有标记的数据帧与先前缓存的数据按帧进行网络编码,帧队列长度较长一方超出部分的数据帧本地缓存并开始新的Twait计时,对网络编码后的数据帧添加编码数据帧的PairID以及两个缓存顺序号标记,这些标记可以在叶子节点处表示此类下行数据帧为网络编码数据帧;根节点对配对中后上行发送一方配对叶子节点的数据中没有标记的数据帧不进行与网络编码相关的操作;
步骤2-6:根节点对下行发送队列中的编码和非编码数据进行下行发送。
5.如权利要求2所述的方法,其特征在于步骤3包括以下步骤:
步骤3-1:各配对叶子节点接收根节点下行数据帧,并判断下行数据帧是否有标记:如果没有,则配对叶子节点对这类数据帧不进行与网络编码相关的操作;如果有标记,则配对叶子节点对有标记的数据帧只按缓存顺序编号与本地缓存中对应编号的数据帧或PairSet帧中固定字段数据Pspecial进行网络编码的解码操作;
步骤3-2:解码完成之后,配对叶子节点清空缓存中参与解码操作的数据帧。
6.如权利要求3所述的方法,其特征在于:
在步骤1-2中,配对号PairID与叶子节点标识符处于同一字段,PairID的取值范围与叶子节点标识符的取值范围互不重叠;当根节点/叶子节点对配对号PairID所在字段的校验结果不满足根节点/叶子节点对叶子节点标识符的所有校验规则后,才进一步校验该字段是否为配对号。
7.如权利要求3所述的方法,其特征在于:
在步骤1-2中,在控制帧PairSet的帧净荷中应填充与帧接收叶子节点相配对的叶子节点相关的配对信息:即配对叶子节点之间的配对号PairID,以及配对叶子节点的地址信息,为保证控制帧PairSet的能完全包含一组配对叶子节点下的全部配对信息,PairSet的帧的帧长不做限定,保证一组配对叶子节点下的全部配对信息在同一PairSet的帧中即可。
8.如权利要求3所述的方法,其特征在于:
在步骤1-3中,控制帧PairDel包含的用于解除网络编码配对关系的信息为配对号PairID;根节点发送PairDel帧和叶子节点接收PairDel帧后,两者在本地都删除与PairDel帧中PairID相关联的配对信息,即本地缓存的配对叶子节点之间的配对号PairID,以及配对叶子节点下挂的地址,并清空缓存中与GroupID相关的数据帧。
9.如权利要求3所述的方法,其特征在于:
在步骤1-3中,Tmax具体表示某轮询周期内建立起来的配对叶子节点之间的连接即配对关系标识PairID的最长有效时间,设定Tmax为典型的传输控制协议TCP连接生存时间。
10.如权利要求4所述的方法,其特征在于:
在步骤2-5中,Twait具体表示在根节点处网络编码最长缓存等待时间,设定根节点处网络编码最长缓存等待时间Twait值为两个树形拓扑结构中根节点对各叶子节点的轮询周期时间长度。
11.如权利要求4所述的方法,其特征在于:
在步骤2-5中,对网络编码后的数据进行的帧顺序单编号、PairID标记时,帧顺序单编号及PairID字段在编码后数据帧中所在位置与待编码帧中相应字段的位置相同,且帧顺序单编号和PairID的取值均来自于缓存超时数据帧相对应的字段的取值。
12.如权利要求4所述的方法,其特征在于:
在步骤2-6中,对网络编码后的数据帧添加PairID以及两个缓存顺序号标记时,其中PairID字段所在字节位置与待编码帧中PairID的位置相同,其取值为参与编码的两个数据帧共有的PairID;两个缓存顺序号的取值分别来源于参与编码的两个数据帧中各自的缓存顺序号,在已编码帧中,与待编码帧的缓存顺序号字节相同的位置用于填充在根节点处缓存等待的待编码帧的缓存顺序号,然后再利用已编码帧中的另一个字段位置填充另一个待编码帧的缓存顺序号。
13.如权利要求4所述的方法,其特征在于:
在步骤2-6中,在根节点处进行数据帧的网络编码时,可能存在参与编码的数据帧不等长的情况,对不等长数据中的较短帧,在其帧尾字符后补足0x07字节,直至参与编码的各数据帧的长度相等。
14.如权利要求5所述的方法,其特征在于:
在步骤3-1中,在叶子节点处进行网络编码的解码操作中,如果利用本地缓存帧进行解码时发现本地缓存帧的长度小于接收的编码帧,则在本地缓存帧帧尾字符后补足0x07字节直至与编码帧等长,并解码得到本地需要接收的数据帧;如果利用本地缓存帧进行解码时发现本地缓存帧的长度大于接收的编码帧,则从解码得到的数据帧的最末尾的字节0x07开始逐字节删除0x07字节,直至得到数据帧的帧尾字符为止,从而得到本地需要接收的数据帧。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310044346.7A CN103188048B (zh) | 2013-02-01 | 2013-02-01 | 面向树形拓扑结构网络中对等通信的网络编码方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310044346.7A CN103188048B (zh) | 2013-02-01 | 2013-02-01 | 面向树形拓扑结构网络中对等通信的网络编码方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103188048A CN103188048A (zh) | 2013-07-03 |
CN103188048B true CN103188048B (zh) | 2016-02-03 |
Family
ID=48679024
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201310044346.7A Active CN103188048B (zh) | 2013-02-01 | 2013-02-01 | 面向树形拓扑结构网络中对等通信的网络编码方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103188048B (zh) |
Families Citing this family (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104980303B (zh) * | 2015-06-15 | 2018-08-03 | 北京邮电大学 | 一种多级树型网络下的节点故障修复方法 |
CN106227736A (zh) * | 2016-07-11 | 2016-12-14 | 乐视控股(北京)有限公司 | 一种基于链表结构的逻辑流程实现方法及装置 |
CN106506723B (zh) * | 2016-11-22 | 2021-11-19 | 防灾科技学院 | 一种用于树型网络的节点编制方法及装置 |
CN111314023B (zh) * | 2020-02-18 | 2021-10-22 | 中国电子科技集团公司第五十四研究所 | 一种树型网络拓扑信息的同步方法 |
CN113255284B (zh) * | 2021-05-30 | 2023-07-18 | 上海立芯软件科技有限公司 | 全局布线中快速局部拆线重布方法 |
CN115065632B (zh) * | 2022-03-31 | 2023-11-17 | 重庆金美通信有限责任公司 | 一种轻量化的树形网络数据转发方法 |
CN115361401B (zh) * | 2022-07-14 | 2024-04-05 | 华中科技大学 | 一种用于复制证明的数据编、解码方法及系统 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101047470A (zh) * | 2006-05-17 | 2007-10-03 | 华为技术有限公司 | 无源光网络中前向纠错功能的配置方法 |
EP2182460A2 (en) * | 2008-10-30 | 2010-05-05 | Christoph Alme | Structural recognition of malicious code patterns |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8024723B2 (en) * | 2007-05-18 | 2011-09-20 | Samsung Electronics Co., Ltd. | System and method for peer-to-peer datacasting in a broadcasting network |
-
2013
- 2013-02-01 CN CN201310044346.7A patent/CN103188048B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101047470A (zh) * | 2006-05-17 | 2007-10-03 | 华为技术有限公司 | 无源光网络中前向纠错功能的配置方法 |
EP2182460A2 (en) * | 2008-10-30 | 2010-05-05 | Christoph Alme | Structural recognition of malicious code patterns |
Non-Patent Citations (4)
Title |
---|
Network Coding in Passive Optical Networks;Miller,K ET AL;《Network Coding,2010 IEEE International Symposium on》;20100611;第1-6页 * |
基于网络编码的光组播树优化RWA研究;周迎富等;《计算机应用研究》;20091115(第11期);第4260-4262页 * |
无线自组织网络的网络编码技术;彭木根等;《中兴通讯技术》;20070810;第13卷(第4期);第56-60页 * |
网络编码研究综述;陶少国;《小型微型计算机系统》;20080415;第29卷(第4期);第583-590页 * |
Also Published As
Publication number | Publication date |
---|---|
CN103188048A (zh) | 2013-07-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103188048B (zh) | 面向树形拓扑结构网络中对等通信的网络编码方法 | |
CN1496064B (zh) | 以太网无源光网络中的操作、管理和维护能力发现方法 | |
KR100724875B1 (ko) | 이더넷 수동 광가입자망 시스템 | |
CN103297343A (zh) | 一种基于延迟容忍网络的路由方法 | |
EP4270816A3 (en) | Reducing feedback latency for network coding in wireless backhaul communications networks | |
WO2017054492A1 (zh) | 端到端通信链路建立方法、接入点及站点 | |
CN102196322A (zh) | Epon系统的光功率调整方法及光线路终端 | |
CN103220266B (zh) | 基于网络编码的无源光网络中进行数据加密的方法 | |
JP5449548B2 (ja) | マルチキャスト処理方法及び装置 | |
CN103152128B (zh) | 基于对等通信流量触发的网络编码连接管理方法 | |
CN102802234A (zh) | 一种多信道无线Ad hoc网络的信道选择方法 | |
CN103138833B (zh) | 基于流量监测的pon中网络编码配对关系管理方法 | |
KR20120073869A (ko) | Pon 시스템에서 oam 메시지 전송 방법 및 에러 처리 방법 | |
CN106817669A (zh) | 一种数据传输方法及系统 | |
CN103139672B (zh) | 无源光网络中支持有线无线混合环境的网络编码方法 | |
CN102065344A (zh) | 数据传输方法及吉比特无源光网络系统 | |
CN104935614A (zh) | 一种数据传输方法及装置 | |
CN103152129B (zh) | 基于数据流的无源光网络网络编码的方法、装置和系统 | |
CN105791023B (zh) | 光网络单元onu管理的方法、装置以及系统 | |
JP5681654B2 (ja) | 光加入者線終端装置及びそのネットワークコーディング方法 | |
WO2019201316A1 (zh) | 数据编译码方法和装置、olt、onu和pon系统 | |
CN103199935B (zh) | 基于onu学习的网络编码连接管理的方法、装置和系统 | |
CN103281369A (zh) | 报文处理方法及广域网加速控制器woc | |
CN102970221A (zh) | 一种基于多网络的节点间的冗余通讯方法 | |
WO2017156682A1 (zh) | 一种基于通道绑定的数据传输方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant |