内容中心网络底层实现方法、内容中心网络以及通信方法与流程

文档序号:12008688阅读:167来源:国知局
内容中心网络底层实现方法、内容中心网络以及通信方法与流程
本发明涉及计算机体系结构技术领域,具体涉及一种内容中心网络底层实现方法、内容中心网络以及根据该内容中心网络实现的通信方法。

背景技术:
随着互联网上应用的不断发展变化,基于TCP/IP的现有互联网逐渐暴露出诸多问题,例如安全性差,不支持移动,不可靠,缺乏灵活性,有效性限制,对新应用僵化等问题。针对这些问题,目前国内外很多研究机构对未来网络的体系结构进行设计研究。内容中心网络(ContentCentricNetworking,CCN)是当前未来互联网体系架构研究的重要成果之一,其核心思想是改变当前互联网终端间的端到端通信机制,将内容与终端位置剥离,通过发布/订阅范式(Publish/SubscribeParadigm)来提供存储和多方通信等服务。具体来说,就是网络中传送的一切内容都可以看作信息对象,可以说是一个信息互联的网络,而非主机互联,其核心对象是信息,通过信息的名字进行标识每一个信息。对网络来说,其中流动的都是有名字的信息,网络能区别每一个信息,但具体信息意义,网络并不知道,靠信息生产者和消费者的上层应用解释。整个网络及其终端就在各种信息的驱动下运行起来了,而网络的作用就是管理所有信息的流动和缓存,并用正确的信息快速响应信息的请求者。用户或应用可以只关注信息本身,而不关心信息块的其他属性,比如不用关心信息的所有者属性。内容中心网络体系结构的外形和当今TCP/IP网络很相似,都是沙漏模型,最大的不同是在“瘦腰”处用内容块(ContentChunk)代替了IP。从网络的角度看,就是用对数据命名代替了对物理主机的命名。另外,网络中内建了存储功能,用来缓存经过的数据,用以缩短其他用户访问同样数据的响应时间,同时可大大减少网络中的流量。内容中心网络通信由数据消费者驱动,数据可以进行块级传输,有两种包类型:兴趣包(InterestPacket)和数据包(DataPacket)。消费者通过发送兴趣包来请求内容,监听节点如果有该内容,则进行响应。兴趣包和数据包均与位置无关,在一个广播介质上,如果有一个兴趣包请求,则其他对同一内容感兴趣的消费者可以共享该请求。当前内容中心网络的实现是基于TCP/IP协议之上的覆盖网络(OverlayNetwork)。其目的是使得内容中心网络能兼容现有TCP/IP网络,在现有网络上进行部署运行。但是由于基于TCP/IP协议,并不能在体系架构上充分发挥内容中心网络设计在内容传输、安全性以及移动性方面的优势。比如,移动网络切换后,通信端点需要重新获取IP地址;内容传输过程中,需要建立UDP(UserDatagramProtocol,用户数据报协议)或TCP(TransmissionControlProtocol,传输控制协议)连接,当网络中出现链路或节点故障时,就出现数据传输中断;由于有地址的存在,攻击者依然可以辨识内容源并进行追踪。同时,覆盖网本身的维护和传输成本也比较高,也抵消了内容中心网络带来的内容分发的优势,而且并不能充分利用多源并取的优势。因此,有必要提出了一种内容中心网络底层实现方法,通过该方法构建一个完全没有TCP/IP协议限制,通过数据命名来进行通信的纯粹的内容中心网络,以充分发挥内容中心网络的设计优势与潜力。

技术实现要素:
(一)要解决的技术问题本发明的目的在于提供一种内容中心网络底层实现方法,从而更充分的发挥内容中心网络的设计优势与潜力。(二)技术方案本发明技术方案如下:一种内容中心网络底层实现方法,包括:将网络节点通过网卡以及数据通路相连,并关闭网卡IP地址设置;将所述网卡的工作模式设置为混杂模式;设置网卡的最大传输单元长度值以容纳完整的内容数据包;创建网络节点基于原始套接字的底层接口面;将网络节点的物理接口与该网络节点的底层接口面绑定,将网卡与特定转发接口绑定;将内容数据命名存储在内容源节点,所述内容源节点通过外向网卡广播内容数据命名的前缀。优选的,所述网卡为以太网网卡,一个以太网帧就是一个完整的内容数据包。本发明还提供了一种根据上述任意一种内容中心网络底层实现方法实现的内容中心网络:一种内容中心网络,包括至少两个通过网卡以及数据通路相连的网络节点;所述网卡IP地址设置被关闭,并且工作模式为混杂模式;所述网卡的最大传输单元长度值可以容纳完整的内容数据包;所述网络节点包括基于原始套接字的底层接口面,网络节点的物理接口与该网络节点的底层接口面绑定,网卡与特定转发接口绑定;内容数据命名存储在内容源节点,所述内容源节点通过外向网卡广播内容数据命名的前缀。本发明还提供了一种根据上述内容中心网络实现的通信方法:一种内容中心网络通信方法,包括:对一个内容数据包感兴趣的第一个请求网络节点利用兴趣包请求该内容数据包,内容源节点收到该兴趣包后,将内容数据包发送给所述第一个请求网络节点;对该内容数据包感兴趣的其它请求网络节点,从途经的其它网络节点的缓存中获取该内容数据包或者向内容源节点请求该内容数据包。(三)有益效果本发明实施例所提供的内容中心网络底层实现方法与现有的基于覆盖网的内容中心网络实现方法相比,依靠现有广泛部署的以太网,在以太网协议帧上封装内容数据包,以最小的网络迁移成本,实现了一个完全不依赖通信地址而仅仅依赖内容名字本身的信息网络。由于无需IP地址,无需MAC地址,因此没有了IPv4地址耗尽的问题;由于无数据流,因此不会因为单条链路故障或拥堵,造成数据传输的瓶颈;实现了协议栈扁平化,即将7层的TCP/IP协议,压缩为3层,即物理传输层,网络层和应用层;并且,由于大规模使用超长帧,大幅度提升了传输效率。附图说明图1是本发明实施例中内容中心网络底层实现方法的流程示意图;图2是本发明实施例中内容中心网络底层实现协议栈结构变化;图3是本发明实施例中内容中心网络底层实现的星形网络拓扑;图4是本发明实施例中内容中心网络底层实现的星形拓扑数据传输性能示意图;图5是本发明实施例中内容中心网络底层实现的线形网络拓扑;图6是本发明实施例中内容中心网络底层实现的线形拓扑数据传输性能示意图。具体实施方式下面结合附图和实施例,对本发明的具体实施方式做进一步描述。以下实施例仅用于说明本发明,但不用来限制本发明的范围。本实施例中首先提供了一种内容中心网络底层实现方法,如图2中所示,主要包括以下步骤:将网络节点通过网卡以及数据通路相连,并关闭网卡IP地址设置,该网络将完全运行CCN协议;本实施例中,网卡为常用的以太网网卡,上述数据通路可以是网线;将所述网卡的工作模式设置为混杂模式,从而可进行广播和内容数据包的接收,以确保内容中心网络的物理链接;设置网卡的最大传输单元长度值(MaximumTransmissionUnit,MTU),从而能够容纳完整的内容数据包,保证内容中心网络的内容数据包在传输过程中不被分割,比如,如果内容数据包为4KB,则设置MTU大于4KB,如果内容数据包为8KB,则设置MTU大于8KB,MTU最大值视网卡而定,例如,可以设置为16KB;本实施例中,所述网卡为以太网网卡,一个以太网帧就是一个完整的内容数据包。创建网络节点基于原始套接字(rawsocket)的底层接口face(接口面);该步骤通过修改当前内容中心网络的实现代码完成;将网络节点的物理接口与该网络节点的底层接口面绑定,并且将网卡绑定到一些特定的转发接口上,直接控制以太网帧层来进行内容数据包的收发;将内容数据命名存储在内容中心网络的内容源节点,所述内容源节点通过外向网卡(out-bounding)广播内容数据命名的前缀;例如,内容数据命名为/tsinghua/saturn/test,可以通过外向网卡广播该内容数据命名的前缀。本发明还提供了一种根据上述内容中心网络实现的通信方法:一种内容中心网络通信方法,包括:对一个内容数据包感兴趣的第一个请求网络节点,利用兴趣包请求该内容数据包,内容源节点收到该兴趣包后,将内容数据包发送给所述第一个请求网络节点;例如,请求者采用“ccngetfileccnx:/tsinghua/saturn/testtest”指令请求该内容数据包,最终内容源节点将内容数据包test发给了请求者;对该内容数据包感兴趣的其它请求网络节点,从途经的其它网络节点的缓存中获取该内容数据包或者向内容源节点请求该内容数据包。本发明还提供了一种根据上述任意一种内容中心网络底层实现方法实现的内容中心网络:一种内容中心网络,包括至少两个通过网卡以及数据通路相连的网络节点;所述网卡IP地址设置被关闭,并且工作模式为混杂模式;所述网卡的最大传输单元长度值可以容纳完整的内容数据包;所述网络节点包括基于原始套接字的底层接口面,网络节点的物理接口与该网络节点的底层接口面绑定,网卡与特定转发接口绑定;内容数据命名存储在内容源节点,所述内容源节点通过外向网卡广播内容数据命名的前缀。图2中给出了内容中心网络的底层实现相比于当前基于覆盖网实现的内容中心网络的协议架构的改变;表1和表2给出了内容中心网络底层实现后以太网帧承载的差异。由于内容中心网络的底层实现方法依靠内容数据命名路由,以太网帧协议的MAC地址即可忽略,这部分空间也可用于内容中心网络的承载。如表1中所示,为普通的以太网帧结构;在以太网中,一个以太网帧就是一个完整的内容数据包。一个以太网帧是以7个8位二进制的同步位和1个8位二进制的分割位开始,中间是60至1518位二进制的负载区,然后是4字节的校验序列,最后是12字节的结束位。表1以太网帧结构表2显示了以太网超长帧(jumboframe)承载内容中心网络数据包时的帧结构;在以太网超长帧承载内容中心网络数据包时,其中以太网帧的MAC地址域和类型长度域将不再需要,因此可以统一提供给内容中心网络的内容数据包使用,然后是4字节的校验序列,最后是12字节的结束位。表2以太网帧承载CCN网络内容块表3是协议效率的实验结果,给出了内容中心网络的覆盖网实现与底层实现的协议传输效率比较结果。当前内容中心网络实现中默认的一个内容数据包大小是4772字节(包括有效数据、签名、编码信息等),传输的有效数据为4096字节。而传统的以太网帧一次只能传输1500字节的内容,因此内容中心网络中4772字节的内容数据包要被切分成4个以太网帧传输,通过计算可以分别得到内容中心网络覆盖网和原始以太网帧的内容中心网络协议的传输效率;而采用表2以太网超长帧的话,如果帧长最大为7KB,则每帧即可承载一个内容中心网络数据包。表3CCN的覆盖网实现与底层实现协议传输效率比较如表3中计算公式所示,54字节是一个TCP/IP以太网帧的报头长度;对于数据传输,内容中心网络覆盖网的效率大约为82%,原始以太网帧的内容中心网络的效率大约为86%,协议传输效率将提高4.5%;这个结果是比较符合理论结果的;理论上,内容中心网络覆盖网实现既有TCP报头的消耗,又有签名和编码的消耗;而内容中心网络底层实现省掉了TCP/IP/Ethernet报头,因此效率会更高。表4中给出了在下载内容数据的时延上,内容中心网络的覆盖网实现与底层实现的性能对比实验的结果。实验环境可以参考图2中的两个网络节点之间的覆盖网实现和底层实现;从表4中可以看到,底层实现具有更好的时延性能。表4CCN的覆盖网实现与底层实现的下载时延对比图3是一个简单的实例,示意了内容中心网络底层实现的星形拓扑实验;图示为按照上述实现方法创建的一个星形网络拓扑,其中包含4个网络节点,网络节点A,B,C和R的部署为星形拓扑。图4示出根据图3中实验获取的两组下载数据的传输速度比较结构;网络节点B向A以及网络节点C向A均索取大小不一文件,时间上B先于A。从图中可以看到,因为网络节点R的缓存,网络节点C下载速率有2-3倍的提升。网络节点A,B,C均配置双网卡,而网络节点R配置了3网卡。实验中,网络节点运行的Linux操作系统为centos5.564位版本,采用的网卡型号是TP-LINKTG-3269C,支持MTU最长为7018字节。图5是又一个简单的实例,示意了内容中心网络底层实现的线形拓扑实验;按照上述实现方法创建的一个线形网络拓扑,其中网络节点A,B,C部署为线形拓扑,网络节点B向A以及网络节点C向A均索取大小不一文件,两次索取相互独立,时间上B先于A,B向A索取数据后,清空缓存。图6示出根据图5中实验获取的两组下载数据的传输速度比较结果;从图中可以看到,网络节点B向A获取数据为一跳,网络节点C向A获取数据为二跳,随着传输数据文件大小增加,性能差异逐渐增大。以上实施方式仅用于说明本发明,而并非对本发明的限制,有关技术领域的普通技术人员,在不脱离本发明的精神和范围的情况下,还可以做出各种变化和变型,因此所有等同的技术方案也属于本发明的保护范畴。
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1