- 1、本文档共8页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
PAGE
PAGE 1
高速网络中IPv6分片包重组的实现
【摘要】在高速网络中,如何高速有效地将分片包重组成原始IPv6数据包是后续应用高效率的关键技术之一,它能够为后续的应用提供原始的IPv6数据包和有效的防范分片攻击,本文通过分析IPv6协议,分片攻击的基本特点和Linux多线程算法的实现,给出了IPv6分片包并行重组的模型。然后,本文给出了该模型的一种实现方法,并在Linux环境下进行了测试,最后对实验结果进行了分析。
【关键词】高速网络IPv6协议分片并行重组
1、引言
随着IPv6互联网的逐渐发展普及,由于互联网的开放性,便捷性,不安全问题并没有随着IPv6逐步取代IPv4而消失,反而日益受到重视,比如,IPv4的分片攻击在IPv6的环境下并没有消失,依旧是个安全隐患,如何通过分片重组防范分片攻击仍然是个重要的问题[1]。
另一方面,在高速网络数据包捕获系统中,网络数据包的捕获部分一般利用基于libpcap的包捕获技术,这样能够将网络中的全部或者绝大部分原始数据包抓取下来,但其后续的应用比如入侵检测IDS系统,防火墙系统大多都是对IPv6包或者TCP,UDP包进行检测,控制等,因此,如果抓取的数据包是个IPv6分片包,就应该先进行分片重组。
为了防范分片攻击以及实现基于IPv6包的后续应用,并减少丢包率,本文提出了IPv6分片包并行重组模型,采取多线程并行重组方式以加快分片包的重组。
2、IPv6协议和分片攻击
基于IPv4协议的上一代互联网因其固有的不稳定性,不安全性,以及其IPv4地址耗尽的现实因素,越来越成为互联网发展的不利因素,为此互联网工程任务组IETF(TheInternetEngineeringTaskForce)组织提出了基于IPv6的下一代互联网协议[2]。与IPv4协议相比,IPv6协议具有许多新的特点并弥补了IPv4的许多不足,比如巨大的地址空间;简洁的IPv6协议报头(基本报头如图1所示)以及全新的扩展报头,其中特别增加了IPSEC安全协议;全新的ICMPv6协议,并将ARP协议和RARP协议功能集成进ICMPv6协议中;自动配置功能;对移动IPv6的支持等[3]。图1为IPv6基本报头,其基本报头长度为固定40字节[4]
图1IPv6基本报头
物理网络通过将IPv6数据包封装进物理帧来在物理层进行数据传输的,每一种物理网络都规定了一帧所能携带的最大数据量。这一限制称为最大传输单元(MaximumTransmissionUnit,MTU)[5]。因而一个数据包必须小于或等于一个网络的MTU,否则无法进行封装和传输。IPv6协议规定,如果要发送的IPv6数据包长度大于路由过程中所经过的所有子网的最小MTU值,那么源节点必须对此数据包进行分片,不同于IPv4协议,中间路由器不必再分片了,最后由目的节点进行分片重组。因此,对于数据包捕获系统来说,将网卡设置成混杂(Promiscuous)模式后,也要模拟目的节点将捕获的分片数据包进行重组成原始数据包。
IPv6数据包的分片只能在源节点进行,路由中间节点不再进行分片操作,简化了中间节点对数据包的处理,提高的中间节点对数据包的转发效率[6];IPv6的分片包重组只发生在目的节点。通过MTU发现机制,源节点可以确定路由中的最小MTU值,以此作为发送数据的最大限度。当源节点要进行分片时,它将在IPv6数据包的可分片部分插入分片扩展报头。这些分片包拥有相同的分片标志,但是分片偏移量各不相同。因此对于每一个分片包,必须包含三个部分,依次是原始数据包的不可分片部分、分片扩展头(fragmentheader),原始数据包的可分片部分的某一个分片。分片扩展头如图2所示[4]:
其中当M=1的时候表示此分片包不是最后一个分片包,M=0则表示是最后一个分片包。偏移量是13位的无符号整数,以8byte为单位,表示此分片数据相对于未分片的原始数据包中可分片部分的偏移量。
随着IPv6互联网的逐渐发展普及,互联网的开放性,便捷性,不安全问题并没有随着IPv6逐步取代IPv4而消失,反而日益受到重视,比如,IPv4的分片攻击在IPv6的环境下并没有消失,依旧是个安全问题,如何通过分片重组防范分片攻击仍然是个重要的问题。分片包攻击的方式一般有[7]:
1)分片包可能乱序到达,所以目的节点不能假定分片包的到达顺序。这样目的节点必须要有个分片包按原分片顺序排序的功能
2)由于分片包可能乱序到达,所以必须有分片缓冲区,目的节点必须对缓冲区设置一个有效时间,否则由于攻击者故意遗漏某个分片包造成目的节点因等待此分片包而无法重组成原始IPv6数据包,进而使大量缓冲区消耗掉内存资源,系统性能下降,甚至能造成系统崩溃
3)相
文档评论(0)