色哟哟视频在线观看-色哟哟视频在线-色哟哟欧美15最新在线-色哟哟免费在线观看-国产l精品国产亚洲区在线观看-国产l精品国产亚洲区久久

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

以太網的心跳包組建設計方案

454398 ? 來源:FPGA開源工作室 ? 作者:FPGA開源工作室 ? 2020-09-30 10:49 ? 次閱讀

心跳包就是在客戶端和服務器間定時通知對方自己狀態的一個自己定義的命令字,按照一定的時間間隔發送,類似于心跳,所以叫做心跳包。心跳包在GPRS通信和CDMA通信的應用方面使用非常廣泛。數據網關會定時清理沒有數據的路由,心跳包通常設定在30-40秒之間。所謂的心跳包就是客戶端定時發送簡單的信息給服務器端告訴它我還在而已。代碼就是每隔幾分鐘發送一個固定信息給服務端,服務端收到后回復一個固定信息如果服務端幾分鐘內沒有收到客戶端信息則視客戶端斷開。本次設計中,心跳包時間間隔為1秒。

一、心跳包觸發器

設計一個 1 秒定時器,每隔一秒就產生一個心跳包觸發脈沖,用于下一步心跳包的組建。

二、心跳包粗略框架

本次以太網的心跳包結構如下所示:

本次發送 64 個全為0的數據,當然這個數據是自定義的,因此心跳包總長度為118。此外目的/源 MAC 地址、目的/源 IP 地址、目的/源 port 等值可以用參數的方式先寫好。利用剛剛設計的心跳包觸發脈沖,我們就能組建這個心跳包了。表中黃色部分為后面需要校驗的值,可以先填0進去,后面再覆蓋掉這三處即可。代碼也沒什么說的,用參數和case語句即可。

點擊電腦 Win + R 鍵,輸入 cmd,再出入 ipconfig -all,按回車鍵,即可看到自己電腦的 MAC 地址等參數。

三、心跳包填充:IP校驗和UDP校驗

1、IP校驗方法

IP 校驗就是把 IP 首部 20byte 按 2byte(即 16bit)分開后相加,結果如果大于 16’hffff,就將超出 16’hffff 的部分與相加結果的低 16 位相加,直到最終結果小于 16’hffff 為止。最后把小于 16’hffff 的結果取反作為 ip_checksum。高字節在前,低字節在后,替換掉前面在心跳包中填充的 0。

(1) 校驗和字段清0

假設有一段以太網包前面沒有對 IP 校驗和字段清0,而是賦了別的值,例如 IP 首部為:45 00 00 30 80 4c 40 00 80 06 b5 2e d3 43 11 7b cb 51 15 3d,b5 2e 字段即為 IP 校驗和字段,清0后數據就變成了:45 00 00 30 80 4c 40 00 80 06 00 00 d3 43 11 7b cb 51 15 3d。

(2) 反碼求和

4500+0030+804c+4000+8006+0000+d343+117b+cb51+153d = 34ace,將超過 16’hffff 的部分(即3)與低 16 位(即4ace)上,結果為:3+4ace=4ad1,因為 4ad1 小于 ffff,故作為 Ip_checksum 的反碼。

(3) 取反得最終結果

將 4ad1 取反得 b52e,這就是本包數據最終的 IP 校驗和,再將 b52e 填充到對應位置即可。

2、UDP校驗方法

(1) 校驗方法

UDP_checksum 計算稍微復雜一點,需要加入 IP 偽頭部,將 IP 偽頭部、UDP 首部的 8 個 bytes 和數據包部分按 2byte(即 16bit) 分開后相加,結果如果大于16’hffff,就將超出 16’hffff 的部分與相加結果的低 16 位相加,直到最終結果小于 16’hffff 為止。最后把小于 16’hffff 的結果取反作為 UDP_checksum。高字節在前,低字節在后,替換掉前面在心跳包中填充的0。

(2) UDP結構

UDP_checksum 的組成如圖所示。

可以看到,IP 偽頭部包含了 IP 源地址,IP 目的地址,一個字節的 0,協議號和 UDP_len ,在前面做的千兆以太網圖像傳輸項目中 IP 源地址,IP 目的地址,協議號都是固定的,而通過上一篇博客設計的 UDP_len 為:UDP首部 8byte + 數據長度 64byte = 8+64='h0048。在設計的時候可以先單獨將 IP 偽頭部計算出來。

3、計算的時序安排

ip_checksum 和 udp_checksum 計算完成,該數據填充的位置已經經過,那么就沒辦法將數據填充到原來填充 0 的位置了,但我們想要將其組成完整的以太網包,這一步是不可避免的,那么我們該怎么解決呢?我們可以考慮一下,建立一個足夠大的 RAM ,在計算 ip_checksum 和 udp_checksum 的同時將前面心跳包數據存儲到 RAM 中,當這一包數據全部計算完再將 RAM 中的數據讀出。當讀出到要填充 ip_checksum 和 udp_checksum 的位置時,將計算出的兩個值取反后填充到對應位置即可。

4、時序圖

四、心跳包填充:CRC校驗

1、CRC校驗范圍

CRC校驗另起一段,是因為要先算完前面的 ip 校驗值和 UDP 校驗值才行。CRC校驗時必須先去除幀頭(即前面的7個55和1個d5),還得去掉幀尾(即后面4個數據,前面我們直接在這填了0)。當 CRC 校驗值計算完成后,即可將其填充至數據的末尾 4 位即可。

2、CRC校驗方法

(1)CRC校驗初始值和空閑值都設置為 32‘hffffffff,即全 1 狀態。

(2)計算結果需高低位對調,因為我們計算時是先從高位輸入的,所以最后高低位需要對調。

(3)最后結果取反,高低位對調后的結果再取反,即可得到 CRC 的校驗值。

3、CRC校驗部分代碼
always @(posedge sclk) begin
if(rst) begin
crc32_value end
else if(crc_en) begin
crc32_value[ 0] crc32_value[ 1] crc32_value[ 2] crc32_value[ 3] crc32_value[ 4] crc32_value[ 5] crc32_value[ 6] crc32_value[ 7] crc32_value[ 8] crc32_value[ 9] crc32_value[10] crc32_value[11] crc32_value[12] crc32_value[13] crc32_value[14] crc32_value[15] crc32_value[16] crc32_value[17] crc32_value[18] crc32_value[19] crc32_value[20] crc32_value[21] crc32_value[22] crc32_value[23] crc32_value[24] crc32_value[25] crc32_value[26] crc32_value[27] crc32_value[28] crc32_value[29] crc32_value[30] crc32_value[31] end
end

4、時序圖

由于這次 CRC 校驗值是在末尾,因此不需要用到 RAM 也來得及填充。

至此,我們組建了以太網發送的心跳包,下一步就可以發送了。

編輯:hfy


聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 以太網
    +關注

    關注

    40

    文章

    5436

    瀏覽量

    171934
  • RAM
    RAM
    +關注

    關注

    8

    文章

    1369

    瀏覽量

    114759
  • 觸發器
    +關注

    關注

    14

    文章

    2000

    瀏覽量

    61208
  • 時序
    +關注

    關注

    5

    文章

    389

    瀏覽量

    37353
  • 時序圖
    +關注

    關注

    2

    文章

    58

    瀏覽量

    22465
收藏 人收藏

    評論

    相關推薦

    TOSUN 車載以太網仿真測試解決方案

    TOSUN車載以太網仿真測試解決方案隨著自動駕駛、車聯網和智能化系統的廣泛應用,車載電子組件和傳感器的數量與復雜性都在持續增加,為了滿足這些更為復雜性的需求,車載以太網作為一種新型車載網絡進入汽車網
    的頭像 發表于 12-07 01:07 ?464次閱讀
    TOSUN 車載<b class='flag-5'>以太網</b>仿真測試解決<b class='flag-5'>方案</b>

    車載以太網與傳統以太網的區別

    車載以太網與傳統以太網在多個方面存在顯著的差異,這些差異主要體現在傳輸速率、實時性、可靠性、物理層標準、應用場景以及技術發展等方面。
    的頭像 發表于 07-25 11:12 ?1932次閱讀

    CANape&VN5620監控記錄以太網數據操作演示#車載以太網 #CANape

    車載以太網
    北匯信息POLELINK
    發布于 :2024年06月11日 15:53:15

    工業以太網和普通以太網區別在哪

    工業以太網和普通以太網是兩種不同的以太網技術,它們在設計、性能、應用和可靠性等方面存在顯著差異。本文將詳細介紹這兩種以太網技術的區別。 設計差異 工業
    的頭像 發表于 06-11 10:30 ?2791次閱讀

    使用VN5620監控記錄以太網總線數據#車載以太網 #CANape

    以太網硬件
    北匯信息POLELINK
    發布于 :2024年06月09日 16:45:04

    車載以太網硬件接口VN5620設備展示與介紹#車載以太網

    車載以太網
    北匯信息POLELINK
    發布于 :2024年05月31日 10:27:03

    車載以太網接口VN5650使用場景介紹#車載以太網

    以太網
    北匯信息POLELINK
    發布于 :2024年05月11日 17:58:05

    FPGA學習-以太網的原理介紹

    以太網鏈路上的數據稱作以太網幀。以太網幀起始部分由前導碼和幀開始符組成。后面緊跟著一個以太網報頭,以MAC地址說明目的地址和源地址。
    的頭像 發表于 04-02 16:26 ?1705次閱讀
    FPGA學習-<b class='flag-5'>以太網</b>的原理介紹

    以太網交換芯片作用是什么

    以太網交換芯片是網絡設備中用于處理和轉發數據的關鍵組件。
    的頭像 發表于 03-22 16:37 ?1069次閱讀

    以太網交換芯片是什么 以太網交換芯片的作用有哪些

    以太網交換芯片是一種專門設計用于處理以太網數據的集成電路,它是網絡交換機的核心組件。這種芯片負責在網絡中轉發數據,確保數據能夠從源端口傳輸到目的端口。
    的頭像 發表于 03-21 16:14 ?1992次閱讀

    數據中心市場的關鍵以太網解決方案

    了解數據中心市場動態的關鍵在于以太網解決方案。Synopsys負責產品管理和高性能計算IP的副總裁Michael Posner說:“以太網在數據中心中根深蒂固……雖然它并不廣為人知,但60%的數據中心硬件都是通過
    發表于 03-12 09:53 ?459次閱讀
    數據中心市場的關鍵<b class='flag-5'>以太網</b>解決<b class='flag-5'>方案</b>

    以太網怎么連接 以太網組網結構分析

    以太網的組網結構涉及多個層面和組件。首先,從網絡結構的角度來看,以太網分為物理層、數據鏈路層和高層用戶層。其中,物理層采用特定的通信媒體,如50Ω基帶同軸電纜,實現數據的傳輸。數據鏈路層則負責數據的處理與轉發。
    的頭像 發表于 03-08 17:19 ?3392次閱讀
    <b class='flag-5'>以太網</b>怎么連接 <b class='flag-5'>以太網</b>組網結構分析

    以太網交換機有何特點?用它怎樣組成虛擬局域

    以太網交換機有何特點?用它怎樣組成虛擬局域? 以太網交換機是一種用于組建局域(LAN)的關鍵設備,它有許多特點和功能。為了讓文章更詳盡、
    的頭像 發表于 02-20 14:26 ?5108次閱讀

    以太網交換機怎么用 以太網交換機有什么用

    技術的網絡交換設備,它通過MAC地址(Media Access Control)將數據從一個接口轉發到另一個接口。以太網交換機使用存儲轉發或者直通轉發的方式進行數據交換,保證數據能夠正確地到達目的地。存儲轉發是指交換機接收到整個數據
    的頭像 發表于 02-02 11:41 ?3244次閱讀

    科普科普以太網的定義、種類以及晶振在以太網上的應用

    科普科普以太網的定義、種類以及晶振在以太網上的應用? 以太網是一種用于局域網通信的傳輸技術,它是一種在計算機網絡中常用的傳輸協議,用于將數據從一個節點傳輸到另一個節點。本文將詳細介紹
    的頭像 發表于 01-24 16:11 ?1181次閱讀
    主站蜘蛛池模板: 亚洲高清在线精品一区| 四虎视频最新视频在线观看| 男人的天堂黄色片| 亚洲视频999| 国产免费网站看v片在线| 日本日本熟妇中文在线视频| 91久久偷偷做嫩草影院免费看| 精品国产麻豆免费人成网站| 亚洲AV怡红院影院怡春院| 国产成人精品免费视频下载| 日本精品久久久久中文字幕 1| A片毛片免费视频在线看| 男女后进式猛烈xx00动态图片| 中文字幕乱偷无码AV蜜桃| 久久久久九九| 中文字幕A片视频一区二区| 久久是热这里只有精品| 在线播放日韩欧美亚洲日本| 久久久精品久久久久三级| 在线免费视频a| 猫咪www958ii| 99热久久爱五月天婷婷| 欧美日韩1区| 动漫美女被到爽了流漫画| 射90黑b丝女| 含羞草免费完整视频在线观看 | 美妇教师双飞后菊| 18日本人XXXXXX18| 欧美成人免费一区二区三区不卡 | 中国jjzz| 欧美日韩免费播放一区二区| 达达兔欧美午夜国产亚洲| 偷窥wc美女毛茸茸视频| 国产又黄又粗又爽又色的视频软件 | java农村野外妇女hd| 色老汉网址导航| 国产色婷婷精品人妻蜜桃成熟时| 亚洲人成77777| 暖暖 免费 高清 日本 在线| 沟沟人体一区二区| 伊人亚洲综合网色|