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

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

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

3天內不再提示

SM32MCU支持的MAC地址Hash過濾

STM32單片機 ? 來源:STM32單片機 ? 作者:STM32單片機 ? 2021-08-17 17:24 ? 次閱讀

前言

網絡中傳遞著各種各樣的數據包,當設備連接到網絡后,為了減少對接收到的數據進行處理的負荷,就需要對設備接收到的數據包進行過濾。STM32MCU以太網外設提供多種數據包過濾的模式。可以根據以太網幀的目標MAC 地址,源 MAC地址進行過濾,STM32H7系列還提供對 VLANtag和 IP地址,UDP/TCP端口的過濾。

拿 MAC地址過濾來說,SM32MCU支持:單播目標地址過濾,多播目標地址過濾,單播源地址過濾和廣播地址過濾。單播目標地址過濾和多播目標地址過濾又分為:Perfect地址過濾和 Hash地址過濾。

perfect地址過濾就是把接收到的以太網幀中的目標地址與 MAC地址寄存器中保存的地址進行比較,如果匹配,數據包就被接受,否則就被丟掉。還可以通過設置“反向過濾”,來翻轉過濾的結果,接收到的以太網幀中的目標地址與MAC地址寄存器中保存的地址如果不匹配,數據包就被接收,否則就被丟掉。

Hash地址過濾不是直接比較 MAC地址,而是計算目標 MAC地址的 CRC32值,取其高 6位作為索引去查詢 Hash表寄存器中對應的值,來判斷是否接收該數據幀。Hash地址過濾的方法稍微復雜,本文接下來將基于STM32H743Nucleo板,通過具體的例程介紹如何實現 Hash地址過濾。

MAC 地址Hash 過濾

過濾原理

在 Hash地址過濾模式下,以太網 MAC通過一張 64位的 Hash表來進行過濾。這張表存儲在兩個 32位的寄存器中。STM32H743的寄存器 ETH_MACHT0R 保存著 Hash表的前 32位,ETH_MACHT1R中保存著 Hash表的后 32位值。

MAC接收到以太網幀后,會自動計算目標 MAC地址的 CRC值,然后用該 CRC值的高 6位,作為索引號去前面提到的 Hash表寄存器中查找對應位,如果該位的值是 1,則收到的以太網幀通過。否則就丟掉。例如,計算出的 CRC高6位是 0,則對應 ETH_MACHT0R的 bit0,如果該位是 1,則通過。

在初始化的時候,應該根據想要接收的目標 MAC地址,先設置好 ETH_MACHT0R和 ETH_MACHT1R寄存器的值。Hash地址過濾將 48位的 MAC地址,對應到 6位的 Hash值,肯定會出現多個MAC地址對應到一個 6位 Hash值的情況,所以這種過濾方式也被稱作 imperfect過濾模式。

Hash值的計算方法

Hash地址過濾模式,最關鍵的是如何計算6位的Hash值。在RM0433中介紹了 Hash的產生方法,具體如下:

1. 計算目標 MAC地址的 CRC32值。計算 CRC32的方法參見 IEEE802.3的第 3.2.8章中FCS的說明 。根據IEEE802.3中 CRC值的計算要求,和以太網幀中 MAC地址傳輸的順序,MAC地址的 CRC值計算方法如下:

第一個 32位數據進行補碼運算

輸入的數據都進行按位反轉順序

進行 CRC32計算,多項式為 0x4C11DB7

對最終輸出數據進行補碼運算

2. 對第一步的計算值進行按位反轉順序

3. 取第二步計算值的高 6位

然后就可以根據計算出來的 Hash值,去設置 ETH_MACHT0R和 ETH_MACHT1R寄存器了。

MAC地址過濾的寄存器配置

目標 MAC地址過濾的寄存器配置見下表:

311ed2e2-e3d9-11eb-a97a-12bb97331649.png

例程說明

下面我們將用一個例子來說明如何配置Hash地址過濾。

在該例程中,我們希望 STM32H743Nucleo板只接收廣播,發往自己的單播 MAC地址的消息,以及兩個特定多播MAC地址的消息。

單播 MAC地址為:00E100:00,

多播 MAC地址為:010d01:03和 01: 00: 5e: a8: 00: 0a。

例程中,我們需要做以下設置:

1.設置數據包過濾寄存器 ETH_MACPFR中相關位設置,使能單播perfect過濾,多播 Hash過濾,不屏蔽廣播消息。

3160ee7a-e3d9-11eb-a97a-12bb97331649.png

2.將單播地址設置到 ETH_MACA0HR和 ETH_MACA0LR中,并使能該地址。那么所有發往00E100:00的單播數據包都能被收到,其他的單播數據包將被丟掉。

3.設置 Hash過濾表寄存器。在初始化以太網外設時,利用 STM32H743的 CRC外設自動計算 MAC地址的 CRC32值,再得到對應的 Hash值,根據該值去初始化ETH_MACHT0R和 ETH_MACHT1R寄存器。H743Nucleo將可以接收發往 010d01:03和 01:00: 5e: a8: 00: 0a MAC地址的多播消息,其他的多播消息都被丟掉。

CRC外設初始化代碼:

317a34b6-e3d9-11eb-a97a-12bb97331649.png

計算并使能 HashMAC地址過濾的代碼:

319f6be6-e3d9-11eb-a97a-12bb97331649.png

運行結果

將附件的例程燒錄到H743Nucleo板,通過 XCAP連續發送下面的 6條消息。

31f12558-e3d9-11eb-a97a-12bb97331649.png

包括:

兩條單播消息,目標MAC地址分別是:00E100:00和 020000:00。

三條多播消息,目標 MAC地址分別是:010d01:03,01: 00: 5e: a8: 00:0a和 010d01:ff。

一條廣播消息。

從程序的打印信息里可以看到,H743Nucleo板接收到了其中的 4條消息,MAC地址沒有設置的一條單播消息

(020000:00)和一條多播消息(010d01:ff)都被過濾掉了。

責任編輯:haq

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

    關注

    40

    文章

    5419

    瀏覽量

    171603
  • STM32
    +關注

    關注

    2270

    文章

    10895

    瀏覽量

    355744
  • Mac
    Mac
    +關注

    關注

    0

    文章

    1104

    瀏覽量

    51458

原文標題:工程師筆記 | STM32 以太網MAC 地址Hash 過濾

文章出處:【微信號:STM32_STM8_MCU,微信公眾號:STM32單片機】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦

    MAC地址

    MAC地址  MAC(Media Access Control, 介質訪問控制)地址是識別LAN(局域網)節點的標識。網卡的物理地址
    發表于 12-26 12:06 ?1260次閱讀

    網絡與通信MAC地址詳解

    什么是MAC地址! MAC 地址在這種局域網環境中究竟起到什么作用,下面就來介紹一下MAC 地址
    發表于 08-23 18:25 ?90次下載
    網絡與通信<b class='flag-5'>MAC</b><b class='flag-5'>地址</b>詳解

    mac_mac地址是什么

    mac地址是什么?本內容介紹了mac地址的作用及運用,MAC(Medium/Media Access Control)
    發表于 12-14 15:50 ?3887次閱讀
    <b class='flag-5'>mac_mac</b><b class='flag-5'>地址</b>是什么

    mac地址和ip地址有什么區別

    首先,說明一下MAC地址是啥?MAC地址MAC(Media Access Control)協議所使用的
    發表于 03-06 14:17 ?8684次閱讀

    mac地址是什么_mac地址有什么用

    MAC(Media Access Control, 介質訪問控制)MAC地址是燒錄在Network Interface Card(網卡,NIC)里的.MAC
    發表于 03-06 15:04 ?3.3w次閱讀

    MAC地址是什么

    MAC地址(Media Access Control Address),直譯為媒體訪問控制地址,也稱為局域網地址(LAN Address),以太網
    的頭像 發表于 02-14 14:17 ?4w次閱讀

    MAC地址/結構/表示方法介紹

    MAC地址,是Media Access Control Address的簡稱,也稱為物理地址。每個網絡設備在出廠時,由設備廠商賦予一個獨立無二的地址。理論上講所有網絡設備的
    的頭像 發表于 03-27 10:14 ?3.3w次閱讀
    <b class='flag-5'>MAC</b>的<b class='flag-5'>地址</b>/結構/表示方法介紹

    STM32以太網MAC 地址Hash 過濾

    網絡中傳遞著各種各樣的數據包,當設備連接到網絡后,為了減少對接收到的數據進行處理的負荷,就需要對設備接收到的數據包進行過濾
    發表于 02-08 15:56 ?5次下載
    STM32以太網<b class='flag-5'>MAC</b> <b class='flag-5'>地址</b><b class='flag-5'>Hash</b> <b class='flag-5'>過濾</b>

    MAC地址申請MAC碼購買流程MAC地址哪里申請MAC地址作用

    眾所周知mac地址號段全世界都是由美國一家政府機構IEEE進行分配的,也是由他們進行管理的。我站具有豐富的MAC地址申請經驗,可以幫助客戶有效的快速高效的完成
    的頭像 發表于 03-01 17:00 ?2841次閱讀
    <b class='flag-5'>MAC</b><b class='flag-5'>地址</b>申請<b class='flag-5'>MAC</b>碼購買流程<b class='flag-5'>MAC</b><b class='flag-5'>地址</b>哪里申請<b class='flag-5'>MAC</b><b class='flag-5'>地址</b>作用

    MAC地址注冊的原理和應用

    MAC地址注冊是指在網絡設備中,將設備的物理地址(即MAC地址)與設備的IP地址進行關聯和注冊的
    的頭像 發表于 11-13 16:07 ?977次閱讀
    <b class='flag-5'>MAC</b><b class='flag-5'>地址</b>注冊的原理和應用

    如何綁定ip地址mac物理地址呢?

    如何綁定ip地址mac物理地址呢? 綁定IP地址MAC物理地址是一種網絡管理和安全措施,可以
    的頭像 發表于 12-07 09:33 ?6805次閱讀

    怎么申請MAC地址?MAC地址申請流程分享

    在數字化高速發展,機器設備大規模代替原始勞動力的時代,功能各異的設備不斷被創造出來。因此每一臺網絡設備都需要一個獨特的身份標識,這也就是我們所熟知的MAC地址MAC地址作為設備的唯一
    的頭像 發表于 07-10 17:30 ?520次閱讀
    怎么申請<b class='flag-5'>MAC</b><b class='flag-5'>地址</b>?<b class='flag-5'>MAC</b><b class='flag-5'>地址</b>申請流程分享

    如何獲取MAC地址MAC地址的三個申請條件

    在產品設備都規范化管理的當今社會,如果您的產品設備想要投入市場,設備物理地址MAC地址則是唯一能識別設備的識別碼。那么MAC地址的申請條件
    的頭像 發表于 09-06 17:14 ?431次閱讀
    如何獲取<b class='flag-5'>MAC</b><b class='flag-5'>地址</b>?<b class='flag-5'>MAC</b><b class='flag-5'>地址</b>的三個申請條件

    怎么綁定IP地址MAC地址

    本篇文章主要說一說怎么在本地計算機上綁定IP和MAC地址以及通過路由器綁定IP和MAC地址,并且這兩者綁定可以解決什么問題。 ? 先來說說怎么去綁定 本地計算上綁定IP和
    的頭像 發表于 12-01 22:48 ?210次閱讀

    MAC地址的作用范圍,MAC地址怎么申請?

    MAC地址(MediaAccessControlAddress),也稱為局域網地址(LANAddress)、以太網地址(EthernetAddress)、硬件
    的頭像 發表于 12-19 17:44 ?192次閱讀
    <b class='flag-5'>MAC</b><b class='flag-5'>地址</b>的作用范圍,<b class='flag-5'>MAC</b><b class='flag-5'>地址</b>怎么申請?
    主站蜘蛛池模板: xxx粗大长欧美| 熟女人妻水多爽中文字幕| 两个奶头被吃得又翘又痛| 国产在线精品一区二区在线看| 国产福利视频第一导航| 国产超碰人人爱被IOS解锁| 国产成年人在线观看| 国产呦精品一区二区三区网站| 国产叼嘿久久精品久久| 国产人妻人伦精品1国产| 黑吊大战白xxxxxx| 久久强奷乱码老熟女| 嫩草视频在线观看免费| 色欲AV精品人妻一区二区三区 | 99久久精品国产免费| chinese野外男女free| 古装性艳史电影在线看| 国产乱码一区二区三区 | 公交车轮C关老师| 黑色丝袜在线观看| 美女用手扒开粉嫩的屁股| 日韩亚洲欧美中文在线| 亚洲色偷偷偷网站色偷一区人人藻 | 日韩一级精品久久久久| 亚洲人女同志video| 99在线这精品视频| 黄A无码片内射无码视频| 嗯啊不要老师| 亚洲午夜精品AV无码少妇| 99久久精品费精品国产| 国语对白刺激真实精品| 欧美一区二区三区播放| 亚洲 日韩 欧美 国产专区| 最新精品国产| 国产毛片AV久久久久精品| 暖暖日本免费播放| 口工漫画r18全彩啪啪| 日韩精品 电影一区 亚洲高清| 亚洲精品视频在线免费| WWW色视频片内射| 老师掀开短裙让我挺进动态|