RM新时代网站-首页

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

FPGA學(xué)習(xí)-以太網(wǎng)的原理介紹

FPGA設(shè)計(jì)論壇 ? 來源:FPGA設(shè)計(jì)論壇 ? 2024-04-02 16:26 ? 次閱讀

1 以太網(wǎng)原理介紹

1.1 以太網(wǎng)幀

在以太網(wǎng)鏈路上的數(shù)據(jù)包稱作以太網(wǎng)幀。以太網(wǎng)幀起始部分由前導(dǎo)碼和幀開始符組成。后面緊跟著一個(gè)以太網(wǎng)報(bào)頭,以MAC地址說明目的地址和源地址。幀的中部是該幀負(fù)載的包含其他協(xié)議報(bào)頭的數(shù)據(jù)包(例如IP協(xié)議、ARP協(xié)議)。以太幀由一個(gè)32位冗余校驗(yàn)碼結(jié)尾。它用于檢驗(yàn)數(shù)據(jù)傳輸是否出現(xiàn)損壞。以太網(wǎng)幀格式如下圖所示。

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

1.前導(dǎo)碼和幀開始符是固定的,為7個(gè)0x55緊跟著1個(gè)0xd5

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

3.源MAC地址指明幀的發(fā)送者

4.以太網(wǎng)類型,指示幀的類型,比如0x0800表示該幀是IP數(shù)據(jù)包,0x0806表示該幀是ARP協(xié)議數(shù)據(jù)包

5.數(shù)據(jù)和填充就是所承載的數(shù)據(jù)包,跟前面以太網(wǎng)類型對(duì)應(yīng)。

6.幀校驗(yàn)序列是一個(gè)32位的循環(huán)校驗(yàn)碼(FCS)。

每一個(gè)設(shè)備都有一個(gè)不同的MAC地址,當(dāng)一個(gè)設(shè)備A發(fā)送一個(gè)以太網(wǎng)幀,源MAC地址是自己的MAC地址,目的MAC地址如果是0xffffff,此時(shí)就是廣播,所有與之連接的設(shè)備都會(huì)收到該幀,如果目的MAC地址是一個(gè)獨(dú)特的MAC地址,那么本地MAC地址與之相同的設(shè)備將會(huì)接收到該以太網(wǎng)幀,然后通過判斷以太網(wǎng)幀類型,進(jìn)行下一步數(shù)據(jù)包解析。

1.2 ARP協(xié)議

ARP協(xié)議,全稱為Address Resolution Protocol,即地址解析協(xié)議,ARP協(xié)議屬于以太網(wǎng)幀的一種,前面以太網(wǎng)幀介紹中有說到,我們?nèi)绻麖脑O(shè)備A發(fā)送以太網(wǎng)幀到設(shè)備B,我們不可能每次都進(jìn)行廣播,那么設(shè)備A如何知道設(shè)備B的物理地址呢?ARP協(xié)議就是為了解決這個(gè)問題。

首先設(shè)備A廣播,發(fā)送ARP請(qǐng)求,等收到設(shè)備B的ARP應(yīng)答以后就能知道設(shè)備B的MAC地址。ARP幀格式如下圖所示

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

ARP字段就是前面以太網(wǎng)幀待填充的數(shù)據(jù)。

硬件類型、上層協(xié)議類型、MAC地址長(zhǎng)度、IP地址長(zhǎng)度均固定不變。

假設(shè)設(shè)備A的IP地址為192.168.0.2,MAC地址為0x00_0a_35_01_fe_c0,我們知道目的IP地址為192.168.0.3,不知道該IP地址對(duì)應(yīng)的MAC地址,如果設(shè)備A想要和IP地址為192.168.0.3的設(shè)備B進(jìn)行通信(如UDP或者IP通信),就必須知道它的MAC地址。此時(shí)設(shè)備A就需要廣播發(fā)送ARP請(qǐng)求,接收方MAC地址填0xff_ff_ff_ff_ff_ff。這樣IP地址為192.168.0.3的設(shè)備就會(huì)解析出這是一個(gè)ARP請(qǐng)求,它詢問自身的MAC地址,此時(shí)它就會(huì)做出ARP應(yīng)答,將自身的MAC地址發(fā)送給對(duì)應(yīng)IP地址的設(shè)備A。

注意發(fā)送ARP請(qǐng)求時(shí),操作碼為0x0001,應(yīng)答時(shí)操作碼為0x0002。

1.3 IP協(xié)議

TCP/IP協(xié)議定義了一個(gè)在因特網(wǎng)上傳輸?shù)陌?,稱為IP數(shù)據(jù)包,而IP數(shù)據(jù)報(bào)(IP Datagram)是個(gè)比較抽象的內(nèi)容,是對(duì)數(shù)據(jù)包的結(jié)構(gòu)進(jìn)行分析。由首部和數(shù)據(jù)兩部分組成,其格式如下圖圖所示。首部的前一部分是固定長(zhǎng)度,共20字節(jié),是所有IP數(shù)據(jù)報(bào)必須具有的。在首部的固定部分的后面是一些可選字段,其長(zhǎng)度是可變的。首部中的源地址和目的地址都是IP協(xié)議地址。

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

1.4 UDP協(xié)議

UDP 協(xié)議是一種不可靠傳輸,發(fā)送方只負(fù)責(zé)將數(shù)據(jù)發(fā)送出去,而不管接收方是否正確的接收。非常類似于 UART 串口傳輸。但是,在很多場(chǎng)合,是可以接受這種潛在的不可靠性的,例如視頻實(shí)時(shí)傳輸顯示。在這類系統(tǒng)中,由于數(shù)據(jù)并不需要進(jìn)行運(yùn)算并得到非常精確的結(jié)果用于其他功能,而僅僅是顯示在屏幕上,因此可以接受一定程度的丟包或者誤碼。此類應(yīng)用在 LED 大屏顯示系統(tǒng)中應(yīng)用非常廣泛。UDP幀組成如下圖所示

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



審核編輯:劉清

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • FPGA
    +關(guān)注

    關(guān)注

    1629

    文章

    21729

    瀏覽量

    602978
  • 以太網(wǎng)
    +關(guān)注

    關(guān)注

    40

    文章

    5419

    瀏覽量

    171596
  • FCS
    FCS
    +關(guān)注

    關(guān)注

    4

    文章

    32

    瀏覽量

    14454
  • ARP協(xié)議
    +關(guān)注

    關(guān)注

    0

    文章

    10

    瀏覽量

    6888
  • 串口傳輸
    +關(guān)注

    關(guān)注

    0

    文章

    33

    瀏覽量

    1795

原文標(biāo)題:FPGA學(xué)習(xí)-以太網(wǎng)原理介紹

文章出處:【微信號(hào):gh_9d70b445f494,微信公眾號(hào):FPGA設(shè)計(jì)論壇】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

收藏 人收藏

    評(píng)論

    相關(guān)推薦

    基于Xilinx FPGA的千兆以太網(wǎng)控制器的開發(fā)

    千兆以太網(wǎng)利用了原以太網(wǎng)標(biāo)準(zhǔn)所規(guī)定的全部技術(shù)規(guī)范,其中包括CSMA/CD協(xié)議、以太網(wǎng)幀、全雙工、流量控制以及IEEE 802.3標(biāo)準(zhǔn)中所定義的管理對(duì)象。##以太網(wǎng)控制器的
    發(fā)表于 01-23 11:13 ?3w次閱讀
    基于Xilinx <b class='flag-5'>FPGA</b>的千兆<b class='flag-5'>以太網(wǎng)</b>控制器的開發(fā)

    簡(jiǎn)談基于FPGA的千兆以太網(wǎng)

    大家好,又到了學(xué)習(xí)時(shí)間了,學(xué)習(xí)使人快樂。今天我們來簡(jiǎn)單的聊一聊以太網(wǎng)以太網(wǎng)FPGA學(xué)習(xí)中屬于
    的頭像 發(fā)表于 08-05 10:28 ?1.3w次閱讀
    簡(jiǎn)談基于<b class='flag-5'>FPGA</b>的千兆<b class='flag-5'>以太網(wǎng)</b>

    基于FPGA以太網(wǎng)ARP通信測(cè)試(二)

    本文繼續(xù)簡(jiǎn)單介紹一下基于FPGA以太網(wǎng)ARP通信,該項(xiàng)目主要用于實(shí)現(xiàn)FPGA以太網(wǎng)接口和上位機(jī)進(jìn)行ARP請(qǐng)求和應(yīng)答的功能。
    的頭像 發(fā)表于 11-06 18:26 ?1289次閱讀
    基于<b class='flag-5'>FPGA</b>的<b class='flag-5'>以太網(wǎng)</b>ARP通信測(cè)試(二)

    【小梅哥2017力作】詳細(xì)的FPGA以太網(wǎng)設(shè)計(jì)教程,76頁(yè)精華PDF

    ,IP協(xié)議、UDP協(xié)議內(nèi)容,并手把手講解了協(xié)議的分析思路,以及具體的Verilog實(shí)現(xiàn)方法。是學(xué)習(xí)使用FPGA進(jìn)行以太網(wǎng)設(shè)計(jì)非常好的教程,歡迎大家下載學(xué)習(xí)。以下為目錄:AC620
    發(fā)表于 07-29 23:20

    簡(jiǎn)談基于FPGA的千兆以太網(wǎng)

    大家好,又到了學(xué)習(xí)時(shí)間了,學(xué)習(xí)使人快樂。今天我們來簡(jiǎn)單的聊一聊以太網(wǎng),以太網(wǎng)FPGA學(xué)習(xí)中屬
    發(fā)表于 02-03 15:11

    簡(jiǎn)談基于FPGA的千兆以太網(wǎng)設(shè)計(jì)

    大俠帶來簡(jiǎn)談基于FPGA的千兆以太網(wǎng)設(shè)計(jì),話不多說,上貨。今天我們來簡(jiǎn)單的聊一聊以太網(wǎng),以太網(wǎng)FPGA
    發(fā)表于 06-01 18:39

    基于FPGA的萬(wàn)兆以太網(wǎng)接口設(shè)計(jì)

    介紹了IEEE802.3ae 標(biāo)準(zhǔn)中 萬(wàn)兆以太網(wǎng) 物理層及媒質(zhì)接入控制子層的相關(guān)協(xié)議。以10GBASE-R 應(yīng)用物理環(huán)境為例,闡述了萬(wàn)兆以太網(wǎng)接口各個(gè)單元模塊的功能和設(shè)計(jì)實(shí)現(xiàn)方法。FPGA
    發(fā)表于 07-20 16:21 ?334次下載
    基于<b class='flag-5'>FPGA</b>的萬(wàn)兆<b class='flag-5'>以太網(wǎng)</b>接口設(shè)計(jì)

    基于FPGA以太網(wǎng)光譜數(shù)據(jù)傳輸系統(tǒng)

    簡(jiǎn)要地介紹了多光譜成像儀的總體結(jié)構(gòu)、以太網(wǎng)的總體結(jié)構(gòu)、 以太網(wǎng) 數(shù)據(jù)幀發(fā)送以及接收過程。給出了基于FPGA以太網(wǎng)系統(tǒng)設(shè)計(jì)圖,在EDK10.
    發(fā)表于 08-15 10:45 ?31次下載
    基于<b class='flag-5'>FPGA</b>的<b class='flag-5'>以太網(wǎng)</b>光譜數(shù)據(jù)傳輸系統(tǒng)

    一種基于FPGA以太網(wǎng)高速傳輸平臺(tái)

    一種基于FPGA以太網(wǎng)高速傳輸平臺(tái),采用DM9000和FPGA芯片,實(shí)現(xiàn)100M以太網(wǎng)數(shù)據(jù)傳輸
    發(fā)表于 02-25 14:45 ?17次下載

    基于FPGA的萬(wàn)兆以太網(wǎng)接口的設(shè)計(jì)與實(shí)現(xiàn)

    基于FPGA的萬(wàn)兆以太網(wǎng)接口的設(shè)計(jì)與實(shí)現(xiàn)。
    發(fā)表于 05-11 09:46 ?39次下載

    詳解FPGA的10G以太網(wǎng)接口調(diào)試

    隨著FPGA在數(shù)據(jù)中心加速和Smart NIC在SDN和NFV領(lǐng)域的廣泛應(yīng)用,基于以太網(wǎng)接口的FPGA開發(fā)板越來越受到關(guān)注。而更高速率的以太網(wǎng)接口技術(shù)則是應(yīng)用的關(guān)鍵,本文將詳細(xì)
    發(fā)表于 03-03 10:52 ?1.8w次閱讀
    詳解<b class='flag-5'>FPGA</b>的10G<b class='flag-5'>以太網(wǎng)</b>接口調(diào)試

    以太網(wǎng)是什么_以太網(wǎng)怎么連接寬帶

    本文首先介紹以太網(wǎng)的概念,其次介紹以太網(wǎng)連接寬帶的方法,最后闡述了以太網(wǎng)與寬帶區(qū)別。
    發(fā)表于 03-20 10:02 ?8.6w次閱讀
    <b class='flag-5'>以太網(wǎng)</b>是什么_<b class='flag-5'>以太網(wǎng)</b>怎么連接寬帶

    以太網(wǎng)的傳播速率_以太網(wǎng)的傳輸介質(zhì)

    本文首先介紹以太網(wǎng)的傳播速率,其次介紹了千兆以太網(wǎng)的傳輸速度,最后介紹以太網(wǎng)的傳輸介質(zhì)。
    發(fā)表于 03-20 10:12 ?7334次閱讀

    FPGA如何為以太網(wǎng)和千兆以太網(wǎng)解決低功耗問題

    探索新的中檔 FPGA 如何為以太網(wǎng)和千兆以太網(wǎng) (GbE) 鏈路執(zhí)行橋接功能,同時(shí)解決低功耗問題。
    的頭像 發(fā)表于 05-07 16:54 ?4064次閱讀
    <b class='flag-5'>FPGA</b>如何為<b class='flag-5'>以太網(wǎng)</b>和千兆<b class='flag-5'>以太網(wǎng)</b>解決低功耗問題

    基于FPGA的UDP千兆以太網(wǎng)光通信

    本文介紹一個(gè)FPGA開源項(xiàng)目:UDP千兆以太網(wǎng)光通信。利用SFP接口,可以通過使用SFP轉(zhuǎn)RJ45模塊或者直接使用光纖進(jìn)行以太網(wǎng)通信。
    的頭像 發(fā)表于 08-31 11:26 ?4479次閱讀
    基于<b class='flag-5'>FPGA</b>的UDP千兆<b class='flag-5'>以太網(wǎng)</b>光通信
    RM新时代网站-首页