0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

FPGA学习-以太网的原理介绍

FPGA设计论坛 来源:FPGA设计论坛 2024-04-02 16:26 次阅读

1 以太网原理介绍

1.1 以太网帧

在以太网链路上的数据包称作以太网帧。以太网帧起始部分由前导码和帧开始符组成。后面紧跟着一个以太网报头,以MAC地址说明目的地址和源地址。帧的中部是该帧负载的包含其他协议报头的数据包(例如IP协议、ARP协议)。以太帧由一个32位冗余校验码结尾。它用于检验数据传输是否出现损坏。以太网帧格式如下图所示。

cd8de082-f0c9-11ee-a297-92fbcf53809c.png

1.前导码和帧开始符是固定的,为7个0x55紧跟着1个0xd5

2.目的MAC地址指明帧的接受者

3.源MAC地址指明帧的发送者

4.以太网类型,指示帧的类型,比如0x0800表示该帧是IP数据包,0x0806表示该帧是ARP协议数据包

5.数据和填充就是所承载的数据包,跟前面以太网类型对应。

6.帧校验序列是一个32位的循环校验码(FCS)。

每一个设备都有一个不同的MAC地址,当一个设备A发送一个以太网帧,源MAC地址是自己的MAC地址,目的MAC地址如果是0xffffff,此时就是广播,所有与之连接的设备都会收到该帧,如果目的MAC地址是一个独特的MAC地址,那么本地MAC地址与之相同的设备将会接收到该以太网帧,然后通过判断以太网帧类型,进行下一步数据包解析。

1.2 ARP协议

ARP协议,全称为Address Resolution Protocol,即地址解析协议,ARP协议属于以太网帧的一种,前面以太网帧介绍中有说到,我们如果从设备A发送以太网帧到设备B,我们不可能每次都进行广播,那么设备A如何知道设备B的物理地址呢?ARP协议就是为了解决这个问题。

首先设备A广播,发送ARP请求,等收到设备B的ARP应答以后就能知道设备B的MAC地址。ARP帧格式如下图所示

cd9803d2-f0c9-11ee-a297-92fbcf53809c.png

ARP字段就是前面以太网帧待填充的数据。

硬件类型、上层协议类型、MAC地址长度、IP地址长度均固定不变。

假设设备A的IP地址为192.168.0.2,MAC地址为0x00_0a_35_01_fe_c0,我们知道目的IP地址为192.168.0.3,不知道该IP地址对应的MAC地址,如果设备A想要和IP地址为192.168.0.3的设备B进行通信(如UDP或者IP通信),就必须知道它的MAC地址。此时设备A就需要广播发送ARP请求,接收方MAC地址填0xff_ff_ff_ff_ff_ff。这样IP地址为192.168.0.3的设备就会解析出这是一个ARP请求,它询问自身的MAC地址,此时它就会做出ARP应答,将自身的MAC地址发送给对应IP地址的设备A。

注意发送ARP请求时,操作码为0x0001,应答时操作码为0x0002。

1.3 IP协议

TCP/IP协议定义了一个在因特网上传输的包,称为IP数据包,而IP数据报(IP Datagram)是个比较抽象的内容,是对数据包的结构进行分析。由首部和数据两部分组成,其格式如下图图所示。首部的前一部分是固定长度,共20字节,是所有IP数据报必须具有的。在首部的固定部分的后面是一些可选字段,其长度是可变的。首部中的源地址和目的地址都是IP协议地址。

cd9c14f4-f0c9-11ee-a297-92fbcf53809c.png

1.4 UDP协议

UDP 协议是一种不可靠传输,发送方只负责将数据发送出去,而不管接收方是否正确的接收。非常类似于 UART 串口传输。但是,在很多场合,是可以接受这种潜在的不可靠性的,例如视频实时传输显示。在这类系统中,由于数据并不需要进行运算并得到非常精确的结果用于其他功能,而仅仅是显示在屏幕上,因此可以接受一定程度的丢包或者误码。此类应用在 LED 大屏显示系统中应用非常广泛。UDP帧组成如下图所示

cd9fae3e-f0c9-11ee-a297-92fbcf53809c.png



审核编辑:刘清

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • FPGA
    +关注

    关注

    1614

    文章

    21445

    浏览量

    596935
  • 以太网
    +关注

    关注

    40

    文章

    5215

    浏览量

    168112
  • FCS
    FCS
    +关注

    关注

    4

    文章

    32

    浏览量

    14397
  • ARP协议
    +关注

    关注

    0

    文章

    10

    浏览量

    6877
  • 串口传输
    +关注

    关注

    0

    文章

    33

    浏览量

    1736

原文标题:FPGA学习-以太网原理介绍

文章出处:【微信号:gh_9d70b445f494,微信公众号:FPGA设计论坛】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    基于Xilinx FPGA的千兆以太网控制器的开发

    千兆以太网利用了原以太网标准所规定的全部技术规范,其中包括CSMA/CD协议、以太网帧、全双工、流量控制以及IEEE 802.3标准中所定义的管理对象。##以太网控制器的
    发表于 01-23 11:13 3w次阅读
    基于Xilinx <b class='flag-5'>FPGA</b>的千兆<b class='flag-5'>以太网</b>控制器的开发

    简谈基于FPGA的千兆以太网

    大家好,又到了学习时间了,学习使人快乐。今天我们来简单的聊一聊以太网以太网FPGA学习中属于
    的头像 发表于 08-05 10:28 1.3w次阅读
    简谈基于<b class='flag-5'>FPGA</b>的千兆<b class='flag-5'>以太网</b>

    基于FPGA以太网ARP通信测试(二)

    本文继续简单介绍一下基于FPGA以太网ARP通信,该项目主要用于实现FPGA以太网接口和上位机进行ARP请求和应答的功能。
    的头像 发表于 11-06 18:26 922次阅读
    基于<b class='flag-5'>FPGA</b>的<b class='flag-5'>以太网</b>ARP通信测试(二)

    【小梅哥2017力作】详细的FPGA以太网设计教程,76页精华PDF

    ,IP协议、UDP协议内容,并手把手讲解了协议的分析思路,以及具体的Verilog实现方法。是学习使用FPGA进行以太网设计非常好的教程,欢迎大家下载学习。以下为目录:AC620
    发表于 07-29 23:20

    简谈基于FPGA的千兆以太网设计

    大侠带来简谈基于FPGA的千兆以太网设计,话不多说,上货。今天我们来简单的聊一聊以太网以太网FPGA
    发表于 06-01 18:39

    基于FPGA的万兆以太网接口设计

    介绍了IEEE802.3ae 标准中 万兆以太网 物理层及媒质接入控制子层的相关协议。以10GBASE-R 应用物理环境为例,阐述了万兆以太网接口各个单元模块的功能和设计实现方法。FPGA
    发表于 07-20 16:21 332次下载
    基于<b class='flag-5'>FPGA</b>的万兆<b class='flag-5'>以太网</b>接口设计

    基于FPGA以太网光谱数据传输系统

    简要地介绍了多光谱成像仪的总体结构、以太网的总体结构、 以太网 数据帧发送以及接收过程。给出了基于FPGA以太网系统设计图,在EDK10.
    发表于 08-15 10:45 31次下载
    基于<b class='flag-5'>FPGA</b>的<b class='flag-5'>以太网</b>光谱数据传输系统

    一种基于FPGA以太网高速传输平台

    一种基于FPGA以太网高速传输平台,采用DM9000和FPGA芯片,实现100M以太网数据传输
    发表于 02-25 14:45 17次下载

    基于FPGA的万兆以太网接口的设计与实现

    基于FPGA的万兆以太网接口的设计与实现。
    发表于 05-11 09:46 31次下载

    详解FPGA的10G以太网接口调试

    随着FPGA在数据中心加速和Smart NIC在SDN和NFV领域的广泛应用,基于以太网接口的FPGA开发板越来越受到关注。而更高速率的以太网接口技术则是应用的关键,本文将详细
    发表于 03-03 10:52 1.7w次阅读
    详解<b class='flag-5'>FPGA</b>的10G<b class='flag-5'>以太网</b>接口调试

    以太网是什么_以太网怎么连接宽带

    本文首先介绍以太网的概念,其次介绍以太网连接宽带的方法,最后阐述了以太网与宽带区别。
    发表于 03-20 10:02 8.4w次阅读
    <b class='flag-5'>以太网</b>是什么_<b class='flag-5'>以太网</b>怎么连接宽带

    以太网的传播速率_以太网的传输介质

    本文首先介绍以太网的传播速率,其次介绍了千兆以太网的传输速度,最后介绍以太网的传输介质。
    发表于 03-20 10:12 6796次阅读

    工业以太网有什么优势?工业以太网物理层介绍

    现代生活中,工业以太网发挥的作用愈来愈重要。为增进大家对工业以太网的认识,本文将基于3方面介绍工业以太网:1.何为工业以太网物理层,2.工业
    的头像 发表于 12-24 20:23 1354次阅读

    FPGA如何为以太网和千兆以太网解决低功耗问题

    探索新的中档 FPGA 如何为以太网和千兆以太网 (GbE) 链路执行桥接功能,同时解决低功耗问题。
    的头像 发表于 05-07 16:54 3672次阅读
    <b class='flag-5'>FPGA</b>如何为<b class='flag-5'>以太网</b>和千兆<b class='flag-5'>以太网</b>解决低功耗问题

    基于FPGA的UDP千兆以太网光通信

    本文介绍一个FPGA开源项目:UDP千兆以太网光通信。利用SFP接口,可以通过使用SFP转RJ45模块或者直接使用光纤进行以太网通信。
    的头像 发表于 08-31 11:26 3348次阅读
    基于<b class='flag-5'>FPGA</b>的UDP千兆<b class='flag-5'>以太网</b>光通信