[发明专利]一种实现ARP协议IP核的方法无效

专利信息
申请号: 200810059861.1 申请日: 2008-02-22
公开(公告)号: CN101237415A 公开(公告)日: 2008-08-06
发明(设计)人: 陈金龙;韩雁;霍明旭;张艳;廉玉平 申请(专利权)人: 浙江大学
主分类号: H04L12/56 分类号: H04L12/56;H04L29/06
代理公司: 杭州求是专利事务所有限公司 代理人: 张法高
地址: 310027浙*** 国省代码: 浙江;33
权利要求书: 查看更多 说明书: 查看更多
摘要: 发明涉及一种实现的ARP协议IP核的实现方法。现有的ARP协议功能大多与操作系统绑定,不易于硬件集成。本发明实现的IP核为上层协议(或上层模块)提供ARP协议中的IP地址与MAC地址映射关系的查询、管理ARP表项、提供快速老化机制、发送ARP请求、自动回复其它主机的ARP请求、管理查询超时。本发明中的ARP协议IP核带有Wishbone标准片内总线接口,在系统集成过程中,很容易实现即插即用,具有良好的可移植性。同时,本发明集成了ARP协议所有功能,减轻了主机管理ARP协议相关信息的负担。
搜索关键词: 一种 实现 arp 协议 ip 方法
【主权项】:
1、一种实现ARP协议IP核的方法,包括管理和查询ARP缓存、接收ARP报文并根据接收到的报文类型做出响应,其特征在于:管理和查询ARP缓存的步骤包括:a、主机通过Wishbone总线将查询MAC-IP地址对的命令写入寄存器中,该命令包括待查询的IP地址和本次查询的标志符;提取命令中的这两个信息,分别存入待查询IP地址寄存器和待查询IP地址的标识符寄存器中,并产生开始查询的使能信号;b、将IP查询指针寄存器清零,使之指向ARP缓存的开始位置;c、若ARP缓存满寄存器的值为1,则比较IP查询指针寄存器中的值和ARP缓存的总深度,若前者的值大于后者,则转到步骤g,即在ARP缓存中没有找到主机请求的IP地址;若前者的值小于等于后者,则转到步骤d;若ARP缓存满寄存器的值为0,则比较IP查询指针寄存器的值和ARP缓存边界指针寄存器的值,若前者大于等于后者,则转到步骤g,即在ARP缓存中没有找到主机请求的IP地址;若前者小于后者,则转到步骤d;d、以IP查询指针寄存器的值为地址,读取ARP缓存中IP地址队列中的IP地址的低16位,将该值与待查询IP地址寄存器的低16位比较,若两者相同则转步骤e;若两者不相等,则将IP查询指针寄存器的值加1,并更新到该寄存器中,然后转到步骤c;e、以IP查询指针寄存器的值为地址,读取ARP缓存中IP地址队列中的IP地址的高16位,将该值与待查询IP地址寄存器的高16位比较,若两者相同则转步骤f,即找到主机请求的IP地址;若两者不相等,则将IP查询指针寄存器的值加1,并更新到该寄存器中,然后转到步骤c;f、将以IP查询指针寄存器的值为基地址,从ARP缓存的MAC地址队列中读出MAC地址,并写入到MAC缓存中;然后以中断方式通知主机,表明在ARP缓存中找到了MAC-IP地址对应关系,查询结束;g、将待查询IP地址寄存器的值写入IP查询缓存中,并启动与待查询IP地址标志符对应的查询超时倒计数器,同时更新有效待查询IP地址向量寄存器,将该寄存器中与待查询IP地址标志符对应的位设为1,然后转到步骤h;其中,超时倒计数器初值为T0,计数的步长为1秒,计数的基准由外部输入;i、按照ARP协议格式,将报文中的数据按照报文格式要求依次写入发送缓冲区,并以中断方式通知主机,表示有一条ARP报文需要发送,查询结束;接收ARP报文并根据接收到的报文类型做出响应的具体步骤包括:j、主机通过wishbone接口将数据包写入ARP报文接收缓存区中,同时接收报文并提取报文中的关键信息,并存入相应的寄存器中,然后判断报文的目的IP地址是否与本地的IP地址相同,若不相同则转步骤q,若相同则转步骤k;所述的关键信息包括报文类型、目的IP地址、源IP地址和源MAC地址;k、根据报文类型寄存器的值判断报文的类型,若报文为ARP响应报文或是ARP请求报文,则转步骤1;若既不是ARP响应报文也不是ARP请求报文则转步骤q;l、将源IP地址和源MAC地址寄存器中的值分别存入ARP缓存中的IP地址队列和MAC地址队列,存入的位置为ARP缓存边界指针寄存器所指定的位置;若ARP缓存边界指针寄存器当前指向ARP缓存的最后一个位置,则将ARP缓存满寄存器设为1,同时将ARP缓存边界指针寄存器复位到0;若ARP缓存边界指针寄存器当前不是指向ARP缓存的最后一个位置,则将ARP缓存边界指针寄存器加1后,更新到该寄存器中;m、根据报文类型寄存器的值判断报文的类型,若为ARP请求报文则转步骤s,若为ARP响应报文转步骤n;n、将有效待查询IP地址向量寄存器的值复制到当前待查询IP地址向量寄存器中;o、若当前待查询IP地址向量寄存器为0,即本地没有有效的待查询IP地址,结束报文接收和响应的过程;若当前待查询IP地址向量寄存器不是0,则通过首1检测器找到当前待查询IP地址向量首个1在向量中的位置,并将该位置的值存入当前IP查询缓存地址寄存器中;其中首1检测器的输入为二进制的当前待查询IP地址向量,输出为该向量中首个1在向量中的位置;p、以当前IP查询缓存地址寄存器的值为地址,读取IP查询缓存中存储的IP地址的低16位,将该值与源IP地址寄存器的低16位比较,若两者不相等,则将当前待查询IP地址向量寄存器中首个1复位到0,并转到步骤o;若从IP查询缓存中读取的值与源IP地址寄存器的低16位相等,则转到步骤q;q、以当前IP查询缓存地址寄存器的值为地址,读取IP查询缓存中存储的IP地址的高16位,将该值与源IP地址寄存器的高16位比较,若两者不相等,则将当前待查询IP地址向量寄存器中首个1复位到0,并转到步骤o;若从IP查询缓存中读取的值的高16位与源IP地址寄存器的高16位相等,则转到步骤r;r、停止IP查询缓存中与当前IP查询缓存地址寄存器相对应的计时器,将计时器复位,并将源MAC地址寄存器的值存入MAC缓存中,然后通过中断方式通知主机,找到一条待查询的MAC-IP地址对应关系,结束报文接收和响应的过程;s、若为ARP请求报文,将报文按照协议规定的格式写入ARP发送缓冲区中,并用中断方式通知主机,请求发送一条报文,结束报文接收和响应的过程。
下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。

该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于浙江大学,未经浙江大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服

本文链接:http://www.vipzhuanli.com/patent/200810059861.1/,转载请声明来源钻瓜专利网。

×

专利文献下载

说明:

1、专利原文基于中国国家知识产权局专利说明书;

2、支持发明专利 、实用新型专利、外观设计专利(升级中);

3、专利数据每周两次同步更新,支持Adobe PDF格式;

4、内容包括专利技术的结构示意图流程工艺图技术构造图

5、已全新升级为极速版,下载速度显著提升!欢迎使用!

请您登陆后,进行下载,点击【登陆】 【注册】

关于我们 寻求报道 投稿须知 广告合作 版权声明 网站地图 友情链接 企业标识 联系我们

钻瓜专利网在线咨询

周一至周五 9:00-18:00

咨询在线客服咨询在线客服
tel code back_top