CN103457700B - Ndn/ccn网络中的数据包内容名称编码压缩方法 - Google Patents

Ndn/ccn网络中的数据包内容名称编码压缩方法 Download PDF

Info

Publication number
CN103457700B
CN103457700B CN201310363749.8A CN201310363749A CN103457700B CN 103457700 B CN103457700 B CN 103457700B CN 201310363749 A CN201310363749 A CN 201310363749A CN 103457700 B CN103457700 B CN 103457700B
Authority
CN
China
Prior art keywords
segmentation
character string
content name
central server
routing node
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
Application number
CN201310363749.8A
Other languages
English (en)
Other versions
CN103457700A (zh
Inventor
黄胜
陈胜蓝
张卫
刘焕淋
陈前斌
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Chongqing University of Post and Telecommunications
Original Assignee
Chongqing University of Post and Telecommunications
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Chongqing University of Post and Telecommunications filed Critical Chongqing University of Post and Telecommunications
Priority to CN201310363749.8A priority Critical patent/CN103457700B/zh
Publication of CN103457700A publication Critical patent/CN103457700A/zh
Application granted granted Critical
Publication of CN103457700B publication Critical patent/CN103457700B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本发明提供一种NDN/CCN网络中的数据包内容名称编码压缩方法,包括步骤:边缘路由节点收集数据包内容名称信息,包括各分段字符串名称及使用次数;中心服务器收集来自各边缘路由节点的统计信息并统计总的各分段字符串名称及使用次数;中心服务器计算各分段字符串长度与使用次数的乘积并进行排序;中心服务器根据乘积值由小到大向上生成各分段的编码树;中心服务器根据各分段编码树对内容名称进行编码。本发明降低传输过程中内容名称带来的开销以及便于在CS/PIT/FIB中的快速匹配查找。

Description

NDN/CCN网络中的数据包内容名称编码压缩方法
技术领域
本发明涉及互联网通信技术领域,尤其涉及一种NDN/CCN网络中的数据包内容名称编码压缩方法。
背景技术
随着近二十年互联网的迅速发展,不断涌现的新服务、新应用使得网络中的数据流量爆炸式地增加。这些数据流给以TCP/IP为核心的互联网造成了相当重的负担,同时带来了诸多问题。为了解决这些问题,多国的研究人员提出“从零开始”,打破传统互联网TCP/IP结构的束缚,设计一种新的网络结构。在对新的网络结构的研究中,将数据看做网络的核心,以信息为中心的网络(Information-Centric Network)思想在该研究领域内得到了的广泛认同,并且提出了数据命名网络(Named Data Networking,以下简称NDN)以及内容中心网络(Content-Centric Network,以下简称CCN)的网络结构。在这种网络结构中,数据或者说内容成为了网络的核心,主要有两种类型数据包在网络中进行传输,第一种用户发送的请求包(Interest Packet),第二种是包含有用户所请求内容的数据包(Data Packet)。当用户想要获取某个内容时,就向网络发送包含有该内容名称前缀的请求包。当请求包达到网络中的节点时,节点首先搜索内容存储库(Content Store,以下简称CS),其中存储了经过该节点的数据包。节点根据请求包中的内容名称前缀在存储库中搜索是否存在与之匹配的数据包,若存在,则将数据包发出,否则,节点会搜索未决请求表(Pending InterestTable,以下简称PIT)。其中记录了已发送的请求包的条目,该条目包括请求包的内容名称前缀以及该请求包到达节点时的入接口号(IncomingFace ID)列表。当新到的请求包在PIT中找到了与之匹配的名称前缀,说明该节点在收到该请求包之前已经发出相同的请求信息,则节点只需将接收该请求包的入接口号加入与其名称前缀相对应的列表。否则,就在PIT中添加一个新的请求包条目,并且搜索转发信息库(Forwarding Information Base,以下简称FIB),FIB中记录了若干内容的转发信息,其中包含内容名称前缀以及与之对应的转发接口号(OutgoingFace ID)列表,若FIB中存在与请求包内容名称前缀匹配的转发信息,节点则根据对应的转发接口号列表,选择一个或多个接口转发该请求包。当接收到包含内容的数据包时,每个节点在PIT记录中查找与数据包名称前缀相对应的记录条目,根据请求包的入接口号,将数据包发出。这样,数据包就能够按照请求包的发送路径原路返回初始请求节点。
在NDN/CCN中,内容名称结构是一种分层结构,例如,一首来自baidu的音乐的名称为com/baidu/music/flac/56,这种结构的内容名称具有无限可扩展性。节点对请求包以及数据包的操作都是通过对这种内容名称前缀各分段字符串依次进行匹配来完成的,如果内容名称过长,就会造成内容名称在CS/PIT/FIB中匹配速度慢以及传输开销较大等问题。那么如何对内容进行命名,才能有效地解决上述问题成为了研究的热点课题之一。内容的名称文献(Y.Yu,and D.Gu.“The Resource Efficient Forwarding in the ContentCentric Network,”10th International IFIP TC 6Conference on Networking,9-13May.2011,Valencia,Spain,pp.66-77,2011)提出了一种名称压缩方案。该方案通过在上下游路节点交换信息,并对内容的整个名字进行编码压缩,以降低名字传输开销。但该方法交换的信息量大,处理也比较复杂,而且由于对整个名称进行压缩,不能用于FIB的最长名称前缀匹配。文献(Y.Wang,H.Dai,J.Jiang,K.He,W.Meng,and B.Liu,“Parallel NameLookup for Named Data Networking,”Global Telecommunications Conference(GLOBECOM 2011),5-9Dec.2011,Houston,TX,USA,pp.1-5,2011)为了提高名称的查找速度,对节点中包含的内容名称分段中的各个字符串进行编码压缩,从而降低内容名称所占用的空间。并且采用并行查找方法提高查找速度。这种方法可以提高查找速度,但不能用于减少名字传输开销上。
与IP地址不同,内容名称采用类似URL结构进行命名。每个名称由若干个分段组成,每个分段就是一段字符串,分段的数目和字符串的长度都是可变的。因此,内容的名称可能会长达几百个字节,而这种较长的内容名称会带来两个问题。一是增大了CS/PIT/FIB结构的体积,不利于把这些结构置入高速缓存中,同样不利于请求包以及数据包CS/PIT/FIB的匹配查找。比如,在NDN工程(Named Data Networking(NDN)Project,TechnicalReport NDN-0001,October 2010.)中举例说明需要利用10个640位宽的TCAM串联来实现快速查找一个长度为1420字节的内容名称,而在IP查找中则无需串联TCAM。第二个问题是传输效率低下,假设一个内容名称的长度为100个字节,若底层传输采用以太网帧的形式,最大传输单元(MTU)为1500字节,则仅在传输内容名称上所消耗的开销就为6.67%。因此,开销大、效率低、比较浪费带宽资源也是当前对内容命名需要解决的问题。
发明内容
针对以上现有技术中的不足,本发明的目的在于提供一种降低传输过程中内容名称带来的开销以及便于在CS/PIT/FIB中的快速匹配查找的NDN/CCN网络中的数据包内容名称编码压缩方法,为达到上述目的,本发明的技术方案是:
一种NDN/CCN网络中的数据包内容名称编码压缩方法,包括以下步骤:
101、获取到达网络各边缘路由节点的数据包内容名称,其中数据包内容名称由若干分段字符串组成,并对若干分段字符串的使用次数进行统计,将各边缘路由节点的统计数据发送给网络的中心服务器;
102、所述中心服务器根据各边缘路由节点的统计数据计算出各分段字符串总的使用次数n以及字符串长度m,其中n、m为正整数,计算出字符串乘积值t=m*n,对各字符串乘积值排序并采用霍夫曼编码法生成编码树,将生成的编码树统计成编码信息表,并将编码信息表发送回原边缘路由节点,其中中心服务器对数据包内容名称的各分段字符串采用二进制代码标识;当边缘路由节点的数据包再次离开所述边缘路由节点时,所述边缘路由节点根据编码信息表将由二进制代码标识的数据包内容名称转换为字符串标识;
中心服务器收到来自各个节点的统计信息之后,对每个分段字符串进行统计,若在相同分段中出现了相同字符串,就将他们使用次数的加和作为该字符串在该分段的总使用次数;中心服务器在统计完每个内容名称分段字符串的使用次数之后,就需要计算各分段中每个字符串的长度与使用次数乘积,并且按照该乘积值由大到小进行排序;中心服务器按分段的顺序,首先从内容名称的第一个分段开始进行排序。
进一步的,步骤102中,各字符串采用二进制代码独立编码。
本发明的优点及有益效果如下:
本发明将在一个自治域网络中进行内容名称编码压缩。主要是通过在网络边缘路由节点收集内容名称各分段字符串的使用次数,然后在中心服务器对这些信息进行汇总,计算各分段字符串的长度与使用次数的乘积,把该乘积值作为某种无损编码压缩方法(如哈夫曼编码)的参数,将字符串形式的内容名称进行编码压缩成二进制代码形式。对内容名称的各个分段进行编码压缩时后,并没有改变名称的分段结构,从而不会影响在CS/PIT/FIB中进行最长前缀匹配查找,更新算法仍然可以应用到编码压缩后的二进制代码。而且编码压缩减少了内容名称占用的空间,更容易硬件实现,成本也更低;该方法可以降低内容名称所占用的CS/PIT/FIB中的存储空间,提高他们的匹配查找速度,同时又可降低内容名称所消耗的网络传输开销。
附图说明
图1为本发明优选实施例的实施编码流程图;
图2边缘路由节点对内容名称的统计结果;
图3边缘路由节点将统计信息传递给中心服务器;
图4中心服务器整理各字符串的使用次数;
图5中心服务器对乘积值进行排序;
图6中心服务器根据排序生成编码树。
具体实施方式
下面结合附图给出一个非限定性的实施例对本发明作进一步的阐述。
图1为将内容名称由字符串形式转换为二进制代码形式的编码过程,由于每个自治域都具有边缘路由节点和中心服务器,边缘主要负责内容名称及使用次数的收集,中心服务器主要的工作就是将边缘路由节点收集这些数据进行统计,并计算出内容名称各分段字符串长度与使用次数的乘积值,然后根据该值生成编码树,最后根据编码树对内容名称进行编码压缩。
具体的,在一个自治域里,把路由节点分为核心路由节点和边缘路由节点。其中,边缘路由节点负责用户接入以及各自治域间的互连。当有数据包进入某自治域时,边缘路由节点根据无损编码压缩方法,将内容名称压缩成分段的二进制代码,当数据包离开自治域时,同样根据该方法将内容名称由二进制代码形式恢复成字符串形式。而核心路由节点根据内容名称的二进制代码在CS/PIT/FIB中进行快速的匹配查找以及数据包的转发。
因此,在对内容名称进行编码压缩之前,首先要先进行数据收集及统计,其步骤如下:
1.边缘路由节点收集信息:
A.数据收集:当有数据包达到某个边缘路由节点时,边缘路由节点记录其内容名称每个分段字符串的名称,并且使其每个分段字符串的使用次数加一。例如,某个内容名称为com/baidu/music/10.mp3的数据包到达了某自治域D的某个边缘路由节点N1,N1就会记录该数据包的内容名称,并将其每个分段的字符串使用次数加1。
B.数据整理:边缘路由节点统计所有到达的数据包内容名称的各分段字符串的使用次数。例如,在自治域D中,边缘路由节点N1收集的所有内容名称的第一个分段统计结果为,com出现了10次,edu出现了7次,等等。第二个分段统计结果为,sina出现了11次,baidu出现了13次,等等。第三个分段统计结果为,video出现了17次,com出现了7次(由于内容名称的各分段为独立编码,即不同的分段集合中可以具有相同名称的字符串,但是,在同一个分段集合中,所有字符串的名称都是唯一的。因此,第一段的com和第三段的com要分别统计,编码)。整理后的统计数据如图2所示。
2.中心服务器处理信息:
A.统计数据整理:如图3,所有的边缘路由节点会将他们的统计信息发送到中心服务器进行汇总,即统计所有内容名称各分段字符串的总使用次数。中心服务器收到来自各个节点的统计信息之后,对每个分段字符串进行统计,若在相同分段中出现了相同字符串,就将他们使用次数的加和作为改字符串在该分段的总使用次数。例如,在来自三个不同节点的内容名称第一个分段的统计结果中,都包含了com的使用次数,分别为10、16、26,则com总的使用次数为这三个数的加和,即42。中心服务器的最终统计结果如图4所示。
B.对各分段字符串排序:中心服务器在统计完每个内容名称分段字符串的使用次数之后,就需要计算各分段中每个字符串的长度与使用次数乘积,并且按照该乘积值由大到小进行排序。中心服务器按分段的顺序,首先从内容名称的第一个分段开始进行排序。例如,在第一个分段中,总共有13个不同的字符串,其中com的使用次数为42,edu的使用次数为24,cn的使用次数为18,google的使用次数为20,等等。则com的乘积值就等于它的字符串长度乘以使用次数,即3×42=126,edu的乘积值为3×24=72,cn的乘积值为2×18=36,google的乘积值为6×20=120,等等。在计算完每个字符串的乘积值之后,就按照由大到小的顺序对他们进行排序。例如,根据以上描述,将这13个字符串按照他们的乘积值,由大到小进行排序。那么,com排在google之前,google排在edu之前,edu排在cn之前。以此类推,中心服务器对内容名称的第一个分段到最后一个分段的字符串的乘积值结果进行排序。当完成所有分段字符串排序之后,得到结果如图5。
C.对各分段字符串进行编码:中心服务器在对各分段字符串的乘积值进行排序之后,就按照由小到大顺序自底向上生成编码树。本发明采用霍夫曼等编码方法对内容名称进行编码。例如,对第一个分段而言,首先将乘积值最小的两个字符串生成两个叶子节点,假设他们的乘积值分别为4和6,然后生成他们的父节点,并且将他们乘积值的加和10作为他们的父节点的乘积值,并且与剩下字符串的乘积值进行比较,再次选出乘积值最小的两个进行上述操作,最后生成如图6所示的编码树,由该编码树可以看出,com对应的二进制代码为1、google对应的代码为01、edu的代码为001。以此类推,后面的各分段分别生成其对应的编码树。当中心服务器根据各分段字符串信息生成所有编码树之后,就可以根据编码树生成编码信息表,并将该表发送给各边缘路由节点。
在经过以上信息收集及处理之后,每当有数据包通过某个边缘路由节点进入某自治域时,该边缘路由节点根据编码信息表对该数据包包含的内容名称进行编码压缩。例如,当一个内容名称为com/sina/music/11.MP3的数据包到达边缘路由节点后,边缘路由节点就根据接收到的编码信息表对内容名称进行编码,将上述的字符串形式的内容名称编码为0/11/01/1101(由于篇幅问题,这里假设sina、music、11.MP3对应的代码分别为11、01、1101)。在该数据包离开该自治域之前,它都会以二进制形式的内容名称存在于该自治域。当它即将经过某个边缘路由节点离开该自治域时,该边缘路由节点同样根据编码信息表,将其内容名称由二进制形式转换为字符串形式,以便当它到达其他自治域时进行重新编码。可以看出,将内容名称由字符串形式转换为二进制代码形式之后,其长度明显减少,这使得其在CS/PIT/FIB中的匹配查找速度更快,并且在网络中的传输开销也得到减少。
本发明采用对内容名称的各个分段进行独立编码,而不是对整个内容名称进行统一编码,主要以下原因:在CCN/NDN网络中进行路由时,为了保证良好的可扩展性,其路由前缀可以是内容名称的前若干个分段,并且不同的内容名称还具有一定的聚合性,若是对整个内容名称进行编码,就会丢失这种特性。二是对内容名称的各个分段进行编码压缩时后,并没有改变名称的分段结构,从而不会影响在CS/PIT/FIB中进行最长前缀匹配查找,更新算法仍然可以应用到编码压缩后的二进制代码。而且编码压缩减少了内容名称占用的空间,更容易硬件实现,成本也更低。
以上这些实施例应理解为仅用于说明本发明而不用于限制本发明的保护范围。在阅读了本发明的记载的内容之后,技术人员可以对本发明作各种改动或修改,这些等效变化和修饰同样落入本发明权利要求所限定的范围。

Claims (2)

1.一种NDN/CCN网络中的数据包内容名称编码压缩方法,其特征在于,包括以下步骤:
101、获取到达网络各边缘路由节点的数据包内容名称,其中数据包内容名称由若干分段字符串组成,并对若干分段字符串的使用次数进行统计,将各边缘路由节点的统计数据发送给网络的中心服务器;
102、所述中心服务器根据各边缘路由节点的统计数据计算出各分段字符串总的使用次数n以及字符串长度m,其中n、m为正整数,计算出字符串乘积值t=m*n,对各字符串乘积值排序并采用霍夫曼编码法生成编码树,将生成的编码树统计成编码信息表,并将编码信息表发送回原边缘路由节点,其中中心服务器对数据包内容名称的各分段字符串采用二进制代码标识;当边缘路由节点的数据包再次离开所述边缘路由节点时,所述边缘路由节点根据编码信息表将由二进制代码标识的数据包内容名称转换为字符串标识;
中心服务器收到来自各个节点的统计信息之后,对每个分段字符串进行统计,若在相同分段中出现了相同字符串,就将他们使用次数的加和作为该字符串在该分段的总使用次数;中心服务器在统计完每个内容名称分段字符串的使用次数之后,就需要计算各分段中每个字符串的长度与使用次数乘积,并且按照该乘积值由大到小进行排序;中心服务器按分段的顺序,首先从内容名称的第一个分段开始进行排序。
2.根据权利要求1所述的NDN/CCN网络中的数据包内容名称编码压缩方法,其特征在于:步骤102中,各字符串采用二进制代码独立编码。
CN201310363749.8A 2013-08-20 2013-08-20 Ndn/ccn网络中的数据包内容名称编码压缩方法 Active CN103457700B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201310363749.8A CN103457700B (zh) 2013-08-20 2013-08-20 Ndn/ccn网络中的数据包内容名称编码压缩方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201310363749.8A CN103457700B (zh) 2013-08-20 2013-08-20 Ndn/ccn网络中的数据包内容名称编码压缩方法

Publications (2)

Publication Number Publication Date
CN103457700A CN103457700A (zh) 2013-12-18
CN103457700B true CN103457700B (zh) 2017-03-01

Family

ID=49739704

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201310363749.8A Active CN103457700B (zh) 2013-08-20 2013-08-20 Ndn/ccn网络中的数据包内容名称编码压缩方法

Country Status (1)

Country Link
CN (1) CN103457700B (zh)

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104394207B (zh) * 2014-11-19 2017-12-19 许继集团有限公司 基于信息中心网络的智能电网数据自适应恢复方法及系统
CN104539715B (zh) * 2014-12-31 2018-07-20 中山大学 一种网络多内容请求响应方法
US9832123B2 (en) * 2015-09-11 2017-11-28 Cisco Technology, Inc. Network named fragments in a content centric network
CN106027508A (zh) * 2016-05-11 2016-10-12 北京网御星云信息技术有限公司 一种认证加密的数据传输方法及装置
CN109561355B (zh) * 2017-09-27 2020-07-17 中国科学院声学研究所 一种ccn/ndn内容注册、内容位置解析和内容路由的系统及方法
CN108124166B (zh) * 2017-12-27 2020-02-18 北京工业大学 一种互联网直播系统
CN110460528A (zh) * 2018-05-07 2019-11-15 天津师范大学 命名数据网转发平面的fib存储结构及其使用方法
CN110493136B (zh) * 2019-08-15 2021-10-29 赛尔网络有限公司 资源名称编码方法、装置、电子设备及存储介质
CN111611613B (zh) * 2020-04-28 2023-05-23 网络通信与安全紫金山实验室 基于icn的工业互联网标识解析系统及数据访问方法
CN111817727B (zh) * 2020-06-28 2024-04-09 积成电子股份有限公司 一种适用于dl/t860标准的per编码器实现方法
CN115150767B (zh) * 2022-09-06 2022-12-13 湖南智警公共安全技术研究院有限公司 一种基于边缘计算的无线传感网络数据传输方法

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5509088A (en) * 1993-12-06 1996-04-16 Xerox Corporation Method for converting CCITT compressed data using a balanced tree
CN1193428A (zh) * 1995-06-07 1998-09-16 科罗拉多电信公司 电子节目指导信息的压缩
CN101520771A (zh) * 2009-03-27 2009-09-02 广东国笔科技股份有限公司 一种对词库压缩编码及解码的方法和系统

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5509088A (en) * 1993-12-06 1996-04-16 Xerox Corporation Method for converting CCITT compressed data using a balanced tree
CN1193428A (zh) * 1995-06-07 1998-09-16 科罗拉多电信公司 电子节目指导信息的压缩
CN101520771A (zh) * 2009-03-27 2009-09-02 广东国笔科技股份有限公司 一种对词库压缩编码及解码的方法和系统

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
Parallel Name Lookup for Named Data Networking;Yi Wang et.al;《Global Telecommunications Conference (GLOBECOM 2011)》;20111209;第II节至第IV节 *

Also Published As

Publication number Publication date
CN103457700A (zh) 2013-12-18

Similar Documents

Publication Publication Date Title
CN103457700B (zh) Ndn/ccn网络中的数据包内容名称编码压缩方法
CN100490422C (zh) 在异构网络中分类和重定向数据分组的方法和设备
CN104348716B (zh) 一种报文处理方法及设备
CN103765839B (zh) 用于网络设备内的分组处理的基于变量的转发路径结构
KR102052520B1 (ko) 컨텐츠 중심 네트워크에서 컨텐츠의 이동성을 지원하기 위한 노드의 통신 방법 및 노드
CN104580027B (zh) 一种OpenFlow报文转发方法及设备
US7684400B2 (en) Logarithmic time range-based multifield-correlation packet classification
CN104168201B (zh) 一种多路径转发的方法及装置
CN104012063A (zh) 用于软件定义网络中的灵活和可扩展流处理的控制器
US9276853B2 (en) Hashing of network packet flows for efficient searching
TW200402967A (en) Frame transfer method and node in network, and frame transfer program
CN105556916B (zh) 网络流的信息统计方法和装置
CN105049359A (zh) 用于分布式路由表查找的技术
CN104283806A (zh) 业务链处理方法和设备
CN105024985A (zh) 一种报文处理方法及装置
CN102333039B (zh) 一种转发报文的方法、生成表项的方法及装置
CN103051725A (zh) 应用识别方法、数据挖掘方法、装置及系统
KR20140039696A (ko) Url 리스트에서 url 주소 검색 방법 및 장치
CN105893453A (zh) 用于处理数据库查询的计算机实现的方法和计算机系统
CN103248573A (zh) 面向OpenFlow的集中管理交换机及其数据处理方法
CN103685058B (zh) 控制流数据的服务质量的方法和OpenFlow控制器
US11456961B1 (en) Method to accelerate packet detection rule (PDR) matching and data packet processing in a user plane function (UPF) module in a communications network
CN107948060A (zh) 一种新型的路由表建立、以及ip路由查找方法和装置
CN109921995A (zh) 一种配置地址表的方法、fpga和应用该fpga的网络设备
CN100397816C (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
GR01 Patent grant
GR01 Patent grant