基于Netmap动态地址分配服务设计与实现.docVIP

基于Netmap动态地址分配服务设计与实现.doc

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
基于Netmap动态地址分配服务设计与实现

基于Netmap动态地址分配服务设计与实现   摘要:随着IP技术由IPv4发展到IPv6,动态地址分配技术也由DHCP升级到DHCPv6和无状态自动配置,目前动态分配IP地址主要是通过路由器实现,而市场上支持IPv6的路由器价格比较昂贵,一些软件形式的地址分配服务也没有达到足够高的性能。本文旨在研究与实现一个在FreeBSD平台下,基于netmap框架的高性能的地址分配服务器。本文研究的场景是在局域网内,一台FreeBSD通过多网卡与多个客户机进行连接以及通信。本文主要从以下几个方面展开,netmap框架的优势,IPv4地址分配的实现,IPv6地址分配的实现。   关键词:DHCP;DHCPv6;无状态自动配置;netmap;局域网   中图分类号:TP302.2   文献标识码:A   DOI: 10.3969/j.issn.1003-6970.2015.11.018   0 引言   IP地址作为TCP/IP网络的唯一标识,每台主机都必须获取一个IP地址才能与网络中其他主机进行通信。根据局域网络的结构、规模及管理模式,IP地土止的分配方式有两种:按照网络管理员的地址规划进行手工设置的静态分配方案和基于DHCP的动态分配方案。动态地址分配不仅能够极大地减轻大型网络管理员的工作量,也能避免网络管理员在手动配置过程中带来的错误。   同时,随着网络中主机数目的不断飞速增长,IPv4地址已经接近枯竭,下一代互联网技术IPv6将是大势所趋。IPv6动态地址配置方式有两种:主机IPv6协议栈根据路由器发出的RA和网卡MAC地址计算得到完整IPv6地址的无状态地址自动配置方式和由DHCP服务器从地址池分配一个完整IPv6地址的有状态地址自动配置方式。   目前实现地址分配的路由器大部分只支持IPv4,支持IPv6的路由器价格昂贵,且灵活性差,而一些以软件形式实现的地址分配服务大部分是以单线程运作,串行处理客户端请求,在大型网络管理中,速度及效率都不是很高。netmap作为一款高性能的收发原始数据包的框架,使用内存映射、环形队列、批量处理等多种技术,减少了动态申请/释放内存、系统调用、内存拷贝等多种开销,大幅度提高了数据包转发速率,非常适合用于构建高性能的地址分配服务器。   为了更有效地对局域网中的IPv4和IPv6地址进行管理,对主机实现动态地址分配,本文讨论并实现了一个在多核处理器的FreeBSD系统环境下,基于netmap框架的高性能的地址分配服务系统。内容包括了系统使用到的关键技术和部分技术实现分析,系统总体架构与功能模块划分,最后是总结与展望。   1 相关技术   1.1 netmap框架介绍   netmap是一款由意大利比萨大学信息工程系副教授Luigi Rizzo编写的高性能网络I/O框架,它已经被实现为一个单独的内核模块,在FreeBSD系统中可以直接使用。而普通linux上需要自行下载netmap源码,目前支持大于linux 2.6.32的版本。相较一般网络I/O框架而言,把netmap框架应用到软件交换模块中,可以大大缩减与硬件交换模块在转发速率上的差距。netmap在lOGbps速率的网卡环境下可以达到14.88Mpps的包转发速率,在40Gbps速率的网卡环境下可以达到30Mpps的包转发速率。   netmap作为一个高速的网络I/O框架,使用了多种技术手段来提升自身的性能。1)利用内存映射,实现零拷贝技术。在netmap模式下,系统会维护一对ne tmap环位于共享空间,网卡会将数据包直接存入这些netmap环中,同时,将网卡里的netmap环内存空间映射到用户空间,用户就可以通过调用netmap API直接访问netmap环里的数据包,即用户态可以直接访问到原始的数据包,无需内核空间和用户空间进行两次拷贝。2)利用预先分配的固定大小的buf存储空间来保存数据包。这样可以减少内核原有的给每个数据包动态分配内存所导致的一些系统开销。3)利用一个轻量级的元数据表示,实现批量处理网络数据包。这样就减少了系统调用次数,提升了性能。   netmap拥有高性能的同时,还具有其它优点。在稳定性上,用户不会直接操作寄存器,只是在内核模块下进行,所以在用户空间下操作时,不会导致操作系统的崩溃。在亲和性上,netmap实现CPU和网卡绑定。在易用性上,netmap有着相对简单的API操作函数,同时,netmap不依赖硬件,支持大多数网卡,只需对网卡驱动程序稍微修改就可以使用。   1.2 动态IP地址分配协议   实现IPv4地址动态分配的主要协议是DHCP协议,它全称是动态主机配置协议(Dynamic HostConfiguration Protocol,DHCP)它是一个使用在局域

文档评论(0)

3471161553 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档