topggmq的个人空间 https://blog.eetop.cn/cotter [收藏] [复制] [分享] [RSS]

空间首页 动态 记录 日志 相册 主题 分享 留言板 个人资料

日志

FPGA与88E1111千兆以太网实现—ARP包

已有 5279 次阅读| 2015-2-10 13:15 |个人分类:千兆以太网

ARP包包含两个部分,一个接受ARP请求,另一个是发送ARP回应;那么它具有什么样的作用呢?

在实际应用过程,并不是像我之前介绍的一样,将固定的信息全部都能定义到板子内部,而是根据网络或是网卡的特点一样,每个网卡都具有自己的一个物理地址,同样在以太网板子上也需要定义一个MAC地址,并在此指定IP地址,那么任何计算机或是能够发送ARP请求包的板子都可以通过这个IP寻找板子的物理地址,并为以后的数据传送到哪留下地址。

ARP请求:

是指计算机像板子发送请求,通过指定IP地址寻求板子的物理地址,那么针对与以太网板子而然,就是接收数据,进而对照之前所说的一样,就是当有rxen信号时,判断rxdata的数据,同样数据是啥是根据arp包结构而定,不同时期发过来的数据代表不同的意义,在此我不做介绍,但在下面可以推荐一种测试收到数据的方法。

利用signaltap完成数据监控,设置时钟为rxclk,监测信号为rxenrxdata,捕获时间选取rxen上升沿时刻,如果硬件、软件设计都正确,你将会发现首先接到的数据为55 55……d5,还记得这个数据吧,前导数据呀,接下来是ff ff……共计6个字节,说明ARP请求包是以广播的形式发送的,剩下的数据自己找arp数据包结构自己分析吧!

ARP响应:

它是相对与请求后的回应,告诉对方我的信息,及记录对方的信息,这些信息其实就是之前提到的IPMAC地址,说白了还是一串数据,既然是回应,那么相对于板子就是像主机发送数据,自然就会利用到txclktxentxdata这三个信号,就像发送UDP协议数据一样,与ARP请求是个反过程,但是需要注意的是发送完所有协议数据之后,不能直接将txen信号直接拉低,而是需要发送一些数据,保证一包数据的最小容量,这些数据一般都是00

总结:

要想完成ARP包,必须弄通两件事,一是arp数据包的请求、回应结构,二是根据以前介绍的内容通过FPGA完成信号与时钟的匹配,在合适发送或是接收那些指定的数据,这些数据代表的意义也就为结构中的内容,如果能够明白其中的意义,实现ARP其实不难,甚至来说比UDP要省事的多,至少它不需要穿过那么多层就可以完成。


点赞

评论 (0 个评论)

facelist

您需要登录后才可以评论 登录 | 注册

  • 关注TA
  • 加好友
  • 联系TA
  • 0

    周排名
  • 0

    月排名
  • 0

    总排名
  • 0

    关注
  • 1

    粉丝
  • 0

    好友
  • 0

    获赞
  • 3

    评论
  • 564

    访问数
关闭

站长推荐 上一条 /1 下一条

小黑屋| 关于我们| 联系我们| 在线咨询| 隐私声明| EETOP 创芯网
( 京ICP备:10050787号 京公网安备:11010502037710 )

GMT+8, 2024-4-25 17:37 , Processed in 0.026375 second(s), 14 queries , Gzip On, Redis On.

eetop公众号 创芯大讲堂 创芯人才网
返回顶部