本系列文章基于xilinx三速以太網(wǎng)IP進行學(xué)習(xí)介紹。
在完成以太網(wǎng)通信實驗之前,必須要對以太網(wǎng)基礎(chǔ)知識進行了解。時間充裕的可以看看《圖解TCP/IP》作為掃盲。本文重點對以太網(wǎng)幀結(jié)構(gòu)進行介紹。
一、以太網(wǎng)幀格式
以太網(wǎng)幀格式:
前導(dǎo)碼(Preamble):8 字節(jié),連續(xù) 7 個 8’h55 加 1 個 8’hd5,表示一個幀的開始,用于雙方設(shè)備數(shù)據(jù)的同步。
目的 MAC 地址:6 字節(jié),存放目的設(shè)備的物理地址,即 MAC 地址 ;
源 MAC 地址:6 字節(jié),存放發(fā)送端設(shè)備的物理地址 ;
長度/類型: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é)議為例,可以看到其結(jié)構(gòu)如下,除了以太網(wǎng)首部的 14 字節(jié),數(shù)據(jù)部 分包含 IP 首部,UDP 首部,應(yīng)用數(shù)據(jù)共 46~1500 字節(jié)。
基于FPGA的以太網(wǎng)通信基本都是UDP協(xié)議。
UDP協(xié)議:用戶數(shù)據(jù)報協(xié)議,一種無連接的傳輸層協(xié)議,提供面向事務(wù)的簡單不可靠信息傳送服務(wù)。數(shù)據(jù)傳輸過程中延遲小、數(shù)據(jù)傳輸效率高。
二、UDP 協(xié)議的報頭格式
UDP 報頭由 4 個域組成,其中每個域各占用 2 個字節(jié),具體如下:
① UDP 源端口號
② 目標(biāo)端口號
③ 數(shù)據(jù)報長度
④ 校驗和
UDP 協(xié)議使用端口號為不同的應(yīng)用保留其各自的數(shù)據(jù)傳輸通道。數(shù)據(jù)發(fā)送一方將 UDP 數(shù)據(jù)報通過源端口發(fā)送出去,而數(shù)據(jù)接收一方則通過目標(biāo)端口接收數(shù)據(jù)。
數(shù)據(jù)報的長度是指包括報頭和數(shù)據(jù)部分在內(nèi)的總字節(jié)數(shù)。因為報頭的長度是固定的,所以該 域主要被用來計算可變長度的數(shù)據(jù)部分(又稱為數(shù)據(jù)負(fù)載)。數(shù)據(jù)報的最大長度根據(jù)操作環(huán)境的不同而各異。從理論上說,包含報頭在內(nèi)的數(shù)據(jù)報的最大長度為 65535 字節(jié)。不過,一些實際應(yīng)用往往會限制數(shù)據(jù)報的大小,有時會降低到 8192 字節(jié)。
UDP 協(xié)議使用報頭中的校驗值來保證數(shù)據(jù)的安全。UDP校驗和=(IP偽頭部+(UDP首部+數(shù)據(jù)每兩個字節(jié)拼接分別相加的和))。校驗值首先在數(shù)據(jù)發(fā)送方通過特殊的算法計算得出,在傳遞到接收方之后,還需要再重新計算。如果某個數(shù)據(jù)報在傳輸過程中被第三方篡改或者由于線路噪音等原因受到損壞,發(fā)送和接收方的校驗計算值將不會相符,由此 UDP 協(xié)議可以檢測是否出錯。雖然 UDP 提供有錯誤檢測,但檢測到錯誤時,錯誤校正,只是簡單地把損壞的消息段扔掉,或者給應(yīng)用程序提供警告信息。
三、PING功能
ICMP 是 TCP/IP 協(xié)議族的一個 IP 層子協(xié)議,包含在 IP 數(shù)據(jù)報里,用于 IP 主機、路由器之間傳遞控制消息。控制消息是指網(wǎng)絡(luò)是否連通,主機是否可達(dá)等功能。其中 ping 功能采用回送請求和回答報文,回送請求報文類型為 8’h08,回答報文類型為 8’h00。
下一篇,我們將對基于FPGA的以太網(wǎng)通信系統(tǒng)架構(gòu)進行介紹。
審核編輯:湯梓紅
-
以太網(wǎng)
+關(guān)注
關(guān)注
40文章
5317瀏覽量
170467 -
接口
+關(guān)注
關(guān)注
33文章
8355瀏覽量
150510
發(fā)布評論請先 登錄
相關(guān)推薦
評論