[发明专利]基于FPGA的UDP/IPv6硬件协议栈及实现方法有效
| 申请号: | 201310137881.7 | 申请日: | 2013-04-19 |
| 公开(公告)号: | CN103248579A | 公开(公告)日: | 2013-08-14 |
| 发明(设计)人: | 谭洪舟;谢舜道;谢凯;刘忆琨;陈荣军;朱雄泳 | 申请(专利权)人: | 中山大学 |
| 主分类号: | H04L12/781 | 分类号: | H04L12/781;H04L29/08 |
| 代理公司: | 广州粤高专利商标代理有限公司 44102 | 代理人: | 林丽明;林伟斌 |
| 地址: | 510006 广东*** | 国省代码: | 广东;44 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 基于 fpga udp ipv6 硬件 协议 实现 方法 | ||
技术领域
本发明属于网络通信领域,尤其涉及一种基于FPGA的UDP/IPv6硬件协议栈及实现方法。
背景技术
自从互联网工程任务组(IETF)定义了IPv6协议的基本架构,传统互联网便迎来了变革。伴随着IPv4地址的耗尽,IPv6互联网协议凭借其在地址资源、安全机制、寻址机制、实时交付服务等方面的优势成为未来互联网的发展趋势。
与IPV4相比,IPV6具有以下几个优势:1)IPv6具有更大的地址空间。IPv4中规定IP地址长度为32,最大地址个数为232;而IPv6中IP地址的长度为128,即最大地址个数为2128。与32位地址空间相比,其地址空间增加了2128-232个。2)IPv6使用更小的路由表。IPv6的地址分配一开始就遵循聚类(Aggregation)的原则,这使得路由器能在路由表中用一条记录(Entry)表示一片子网,大大减小了路由器中路由表的长度,提高了路由器转发数据包的速度。3)IPv6增加了增强的组播(Multicast)支持以及对流的支持(Flow Control),这使得网络上的多媒体应用有了长足发展的机会,为服务质量(QoS,Quality of Service)控制提供了良好的网络平台。4)IPv6加入了对自动配置(Auto Configuration)的支持。这是对DHCP协议的改进和扩展,使得网络(尤其是局域网)的管理更加方便和快捷。5)IPv6具有更高的安全性。在使用IPv6网络中用户可以对网络层的数据进行加密并对IP报文进行校验,在IPV6中的加密与鉴别选项提供了分组的保密性与完整性。极大的增强了网络的安全性。6)允许扩充。如果新的技术或应用需要时,IPV6允许协议进行扩充。7)更好的头部格式。IPV6使用新的头部格式,其选项与基本头部分开,如果需要,可将选项插入到基本头部与上层数据之间。这就简化和加速了路由选择过程,因为大多数的选项不需要由路由选择。8)新的选项。IPV6有一些新的选项来实现附加的功能。
同时,在科研和工程领域,越来越多的设备需要接入互联网,尤其是简易的主机。而传统的IPv4协议已经成为了一个掣肘。因此,针对IPv6网络中的节点研发一种高效、低资源消耗的网络传输方案成为了不可回避的问题。
在传统的方案中,采用嵌入式系统的软件IPv6协议栈会提高互联网主机的资源消耗、开发难度和大规模部署的成本,不利于在IPv6网络中进行大规模应用。对此,有学者提出软件与硬件协议栈共存的设计方案实现完整IPv6协议,但其完整协议的结构复杂,不利于互联网技术的应用和维护。2008年,中国学者许川佩和郝锐实现了精简IPv6硬件协议栈,但其在实现过程中缺少了默认路由表、前缀列表和邻节点高速缓存表,将降低数据发送的效率。
发明内容
本发明所要解决的技术问题是,提供一种能有效提高发送效率的基于FPGA的UDP/IPv6硬件协议栈;
同时,本发明还提供了一种基于FPGA的UDP/IPv6硬件协议栈的实现方法。
为解决上述技术问题,本发明采用的技术方案是:一种基于FPGA的UDP/IPv6硬件协议栈,该协议栈包括:
外部接口模块,用于外部跟协议栈的通信;
UDP发送数据寄存器模块,用于存放待发送的UDP数据;
UDP发送控制模块,用于把UDP数据组装成IPv6报文;
配置寄存器模块,用于存放协议栈的配置信息;
ICMPv6发送控制模块,用于组装ICMPv6报文;
发送优先级控制模块,用于解决当同时需要发送UDP报文和ICMPv6报文时的冲突问题;
DM9000驱动模块,用于把组装好的IPv6报文通过DM9000发送出去并且通过DM9000接收报文;
接收数据预处理模块,用于过滤掉接收到的不需要处理的报文(不需要处理的报文为除UDP报文和ICMPv6报文以外的报文),并把UDP报文和ICMPv6报文分别送到不同的模块处理;
ICMPv6处理模块,用于提取接收到的ICMPv6报文中的有用信息(有用信息包括报文类型、代码和报文主体里的具体信息,报文主体的具体信息根据报文的类型的不同而不同,如路由器请求报文中的源链路层地址选项);
数据更新模块,用于根据从ICMPv6提取的信息更新协议栈的配置信息;
UDP接收数据寄存器模块,用于存放接收到的UDP报文。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中山大学,未经中山大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201310137881.7/2.html,转载请声明来源钻瓜专利网。





