本系列文章基于xilinx三速以太網(wǎng)IP進行學習介紹。
在完成以太網(wǎng)通信實驗之前,必須要對以太網(wǎng)基礎知識進行了解。時間充裕的可以看看《圖解TCP/IP》作為掃盲。本文重點對以太網(wǎng)幀結構進行介紹。
一、以太網(wǎng)幀格式
以太網(wǎng)幀格式:

前導碼(Preamble):8 字節(jié),連續(xù) 7 個 8’h55 加 1 個 8’hd5,表示一個幀的開始,用于雙方設備數(shù)據(jù)的同步。
目的 MAC 地址:6 字節(jié),存放目的設備的物理地址,即 MAC 地址 ;
源 MAC 地址:6 字節(jié),存放發(fā)送端設備的物理地址 ;
長度/類型:2 字節(jié),小于1500為長度,大于則為類型,用于指定協(xié)議類型,常用的有 0800 表示 IP 協(xié)議,0806 表示 ARP 協(xié)議,8035 表示 RARP 協(xié)議 ;
數(shù)據(jù):46 到 1500 字節(jié),最少 46 字節(jié),不足需要補全 46 字節(jié),例如 IP 協(xié)議層就包含在數(shù)據(jù) 部分,包括其 IP 頭及數(shù)據(jù)。
FCS:幀尾,4 字節(jié),稱為幀校驗序列,采用 32 位 CRC 校驗,對目的 MAC 地址字段到數(shù)據(jù)字段進行校驗。
進一步擴展,以 UDP 協(xié)議為例,可以看到其結構如下,除了以太網(wǎng)首部的 14 字節(jié),數(shù)據(jù)部 分包含 IP 首部,UDP 首部,應用數(shù)據(jù)共 46~1500 字節(jié)。

基于FPGA的以太網(wǎng)通信基本都是UDP協(xié)議。
UDP協(xié)議:用戶數(shù)據(jù)報協(xié)議,一種無連接的傳輸層協(xié)議,提供面向事務的簡單不可靠信息傳送服務。數(shù)據(jù)傳輸過程中延遲小、數(shù)據(jù)傳輸效率高。
二、UDP 協(xié)議的報頭格式

UDP 報頭由 4 個域組成,其中每個域各占用 2 個字節(jié),具體如下:
① UDP 源端口號
② 目標端口號
③ 數(shù)據(jù)報長度
④ 校驗和
UDP 協(xié)議使用端口號為不同的應用保留其各自的數(shù)據(jù)傳輸通道。數(shù)據(jù)發(fā)送一方將 UDP 數(shù)據(jù)報通過源端口發(fā)送出去,而數(shù)據(jù)接收一方則通過目標端口接收數(shù)據(jù)。
數(shù)據(jù)報的長度是指包括報頭和數(shù)據(jù)部分在內(nèi)的總字節(jié)數(shù)。因為報頭的長度是固定的,所以該 域主要被用來計算可變長度的數(shù)據(jù)部分(又稱為數(shù)據(jù)負載)。數(shù)據(jù)報的最大長度根據(jù)操作環(huán)境的不同而各異。從理論上說,包含報頭在內(nèi)的數(shù)據(jù)報的最大長度為 65535 字節(jié)。不過,一些實際應用往往會限制數(shù)據(jù)報的大小,有時會降低到 8192 字節(jié)。
UDP 協(xié)議使用報頭中的校驗值來保證數(shù)據(jù)的安全。UDP校驗和=(IP偽頭部+(UDP首部+數(shù)據(jù)每兩個字節(jié)拼接分別相加的和))。校驗值首先在數(shù)據(jù)發(fā)送方通過特殊的算法計算得出,在傳遞到接收方之后,還需要再重新計算。如果某個數(shù)據(jù)報在傳輸過程中被第三方篡改或者由于線路噪音等原因受到損壞,發(fā)送和接收方的校驗計算值將不會相符,由此 UDP 協(xié)議可以檢測是否出錯。雖然 UDP 提供有錯誤檢測,但檢測到錯誤時,錯誤校正,只是簡單地把損壞的消息段扔掉,或者給應用程序提供警告信息。
三、PING功能
ICMP 是 TCP/IP 協(xié)議族的一個 IP 層子協(xié)議,包含在 IP 數(shù)據(jù)報里,用于 IP 主機、路由器之間傳遞控制消息。控制消息是指網(wǎng)絡是否連通,主機是否可達等功能。其中 ping 功能采用回送請求和回答報文,回送請求報文類型為 8’h08,回答報文類型為 8’h00。

下一篇,我們將對基于FPGA的以太網(wǎng)通信系統(tǒng)架構進行介紹。
審核編輯:湯梓紅
-
以太網(wǎng)
+關注
關注
41文章
6099瀏覽量
181365 -
接口
+關注
關注
33文章
9564瀏覽量
157444
發(fā)布評論請先 登錄
車載以太網(wǎng)協(xié)議轉換器操作教程# 車載以太網(wǎng)# 轉換器# 硬件# 教程# 汽車# 技術# 操作
新品 | StamPLC PoE,以太網(wǎng)拓展模塊 Atom DTU NB-IoT2 V1.1,可編程數(shù)據(jù)傳輸單元
雙通道CAN轉以太網(wǎng)和四通道CAN轉以太網(wǎng)怎么用,長什么情況下使用,三格電子帶您了解#CAN#以太網(wǎng)
Amphenol單對以太網(wǎng)(SPE)IP20連接器及電纜組件:工業(yè)以太網(wǎng)新選擇
TCP/UDP 三模式!遠程監(jiān)控以太網(wǎng)溫濕度傳感器,響應快至 1ms
香蕉派BPI - R4 Pro,配備2個10G SFP接口和4個2.5G以太網(wǎng)接口,采用聯(lián)發(fā)科MT7988A
以太網(wǎng)通訊在FPGA上的實現(xiàn)
移植網(wǎng)絡PHY芯片驅(qū)動,如何融入 rt-thread 的網(wǎng)絡體系,并添加新的以太網(wǎng)類型的報文?
以太網(wǎng)入門:從零開始,掌握以太網(wǎng)基礎知識!
Microchip LAN9211-ABZJ 集成 10/100 以太網(wǎng) PHY的以太網(wǎng)控制器
Modbus轉以太網(wǎng)終極方案:三步實現(xiàn)老舊設備智能升級
詳解Xilinx的10G PCS PMA IP
Xilinx平臺以太網(wǎng)接口(一)TCP/IP基礎
評論