在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

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

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

3天內不再提示

以太網通信基礎知識

jf_EksNQtU6 ? 來源:開心果 Need Car ? 2023-11-22 09:29 ? 次閱讀

開發以太網的小伙伴,對ARP(Address Resolution Protocol,地址解析協議)已經見怪不怪。在控制器剛啟動階段,總線上會看到一些ARP報文。那么,問題來了,為什么在控制器啟動階段,會有ARP報文呢?ARP報文到底扮演著什么樣的角色呢?本文,聊一聊ARP。

1、以太網通信基礎

我們知道,以太網是點對點(Point-to-Point)的通信方式。如果兩個以太網節點建立通信,發送節點首先需要知道和誰通信。發送節點如何知道和誰通信呢?答:MAC地址(Media Access Control Address)。MAC地址也稱為網卡,每一個網卡分配唯一MAC地址(長度為6 Bytes)。所以,知道目標節點MAC地址,才能知道信息要發給誰。而在整車的網絡拓撲中,節點之間的數據交互由交換機(Switch)進行二層轉發,示意如下:

cdcb68f6-886b-11ee-939d-92fbcf53809c.png

(一)ARP幀格式

不管何種總線,為了確保信息有效交互,會根據軟、硬件層級,設計不同的通信協議。本文關注鏈路層的以太網幀和網絡層的ARP協議,ARP報文封裝在以太網幀的數據段傳輸,如下所示:

cde6d2c6-886b-11ee-939d-92fbcf53809c.png

硬件類型(2 Byte):表示硬件地址類型,eg:以太網為1

協議類型(2 Byte):表示上層協議類型,eg:IPv4為0x0800

硬件地址長度(1Byte):表示硬件地址長度,eg:以太網為6

協議地址長度(1Byte):表示協議地址長度,eg:IPv4為4

操作碼(Option,2 Byte):表示ARP請求或響應的操作類型,eg:請求(Request)為1,響應(Replay)為2

源MAC地址(6 Byte):發送ARP請求的主機的MAC地址

源IP地址(4Byte):發送ARP請求的主機的IP地址

目標MAC地址(6Byte):目標主機的MAC地址(在ARP請求中通常為空,即:全0x00)

目標IP地址(4Byte):目標主機的IP地址

通過ARP報文格式可以看出,ARP記錄著IP與MAC的對應關系,即:通過IP關聯的MAC地址,最終找到通信的目標節點。而在TCP/IP的分層結構中,ARP屬于網絡層,因此,網絡層的源節點實體、目標節點實體之間通過IP地址識別彼此。但是,ARP報文封裝在以太網幀中,依賴以太網鏈路層傳輸,而以太網鏈路層的尋址方式為MAC地址,因此,需要把IP地址轉換成MAC地址才能將上層待發送的信息發送給目標節點,所以,這就是ARP出現的意義。 首先,同一局域網內的每個以太網節點,網絡層會分配一個或者多個IP,數據鏈路層固化一個唯一MAC地址,由標識發送節點,如下所示:

cdfca826-886b-11ee-939d-92fbcf53809c.png

其次,通過ARP報文獲取目標節點的MAC,形成目標節點的對,進而,每個以太網節點形成一個ARP Table。有了ARP Table以后,發送方在發送數據之前,就可以通過目標節點的IP地址,查找目標節點的MAC地址,進而發送數據。每個節點的ARP Table示意如下:

ce10138e-886b-11ee-939d-92fbcf53809c.png

(二)交換機如何轉發 ARP Table形成以后,解決了發送節點知道發送給誰的問題,但是,還有一個問題需要解決:交換機(Switch)如何知道信息轉發給誰呢?:路由表(Route Table),示意如下:

ce405e4a-886b-11ee-939d-92fbcf53809c.png

當交換機某個端口(Port #n)收到以太網幀以后,會通過目標節點的MAC地址查找Route Table,如果找到目標節點端口號,則將信息轉發出去,實現路由的目的。同時,也會檢查發送節點的MAC地址是否已經緩存,如果Route Table中沒有緩存發送節點的MAC,則將發送節點的MAC地址和入口Port緩存到Route Table。

2、ARP通信原理

(一)

控制器初始啟動階段,ARP緩存表為空,即:ARP Table沒有目標節點的信息。此時,發送節點發送ARP報文,請求目標節點的MAC地址。注意:目標節點的IP地址已知。請求示意如下:

ce449e1a-886b-11ee-939d-92fbcf53809c.png

發送節點(MCU2)發送的ARP報文信息如下所示:

ce5c1cca-886b-11ee-939d-92fbcf53809c.png

解析:

發送節點發送ARP報文時,會包含發送節點的IP(192.168.0.2)、發送節點MAC(020000:02)、目標節點的IP(192.168.0.1);

由于不知道目標節點的MAC,所以,在ARP報文中,目標節點的MAC地址(上圖中的Target Protocol Address)用全0x00表示;

由于發送節點不知道目標節點在哪個位置,所以,發送節點發送ARP請求時,使用廣播的方式發送,即:Destination為全0xFF。

(二)

當交換機收到MCU2的ARP請求報文以后,發現:路由表中找不到目標節點的Port(初始階段為空),于是,交換機向所有端口廣播ARP報文(不包含接收端口),同時,緩存MCU2的MAC2和Port2,如下所示:

ce6acab8-886b-11ee-939d-92fbcf53809c.png

(三)

當目標節點(MCU1)收到ARP請求報文以后,發現MAC地址與自身匹配,則接收該ARP報文,同時將發送節點的MAC2緩存下來。MCU1之后給出ARP響應,由于知道了發送節點的MAC地址,所以,MCU1響應ARP報文時,單播發送ARP報文。當交換機收到MCU1的ARP響應以后,發現目標節點是MCU2,而且MCU2的MAC2已經關聯Port2,則直接將ARP報文發送給MCU2,同時,交換機緩存。當MCU1接收到MCU2的ARP響應以后,也會緩存。之后,MCU1和MCU2即可正常通信,示意如下:

ce823338-886b-11ee-939d-92fbcf53809c.png

提示:非目標節點收到ARP報文以后,直接丟棄。

響應節點(MCU1)發送的ARP報文信息如下所示:

cea3901e-886b-11ee-939d-92fbcf53809c.png

解析: ARP響應報文屬于單播。

審核編輯:湯梓紅

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

    關注

    112

    文章

    16365

    瀏覽量

    178075
  • 以太網
    +關注

    關注

    40

    文章

    5426

    瀏覽量

    171733
  • 通信
    +關注

    關注

    18

    文章

    6032

    瀏覽量

    135995
  • Mac
    Mac
    +關注

    關注

    0

    文章

    1106

    瀏覽量

    51479
  • ARP
    ARP
    +關注

    關注

    0

    文章

    50

    瀏覽量

    14755

原文標題:以太網基礎:為什么需要ARP?

文章出處:【微信號:談思實驗室,微信公眾號:談思實驗室】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦

    以太網通信S7是什么意思?

    以太網通信
    YS YYDS
    發布于 :2023年06月25日 00:07:18

    stm32STM32F4+DP83848以太網通信指南

    17:32:19以太網通信stm32STM32F4+DP83848以太網通信指南系列(一):知識儲備前言:項目需求使用STM32F407進行以太網通信,并涉及到數據鏈路層的工業
    發表于 08-03 07:02

    基于ARM的多路串行和以太網通信技術的研究與應用

    本文主要是對于多路串行和以太網通信技術的介紹,以及基于ARM的多路串行和以太網通信技術的研究與應用
    發表于 10-17 17:41 ?76次下載
    基于ARM的多路串行和<b class='flag-5'>以太網通信</b>技術的研究與應用

    使用 CCM 導致以太網通信失敗問題

    STM32使用 CCM 導致以太網通信失敗
    發表于 11-25 14:45 ?0次下載

    EtherCAT的工業以太網通信芯片的設計

    本文檔內容介紹了EtherCAT的工業以太網通信芯片的設計。
    發表于 09-15 10:18 ?16次下載
    EtherCAT的工業<b class='flag-5'>以太網通信</b>芯片的設計

    DSP_BIOS在以太網通信節點中的應用

    DSP_BIOS在以太網通信節點中的應用
    發表于 10-20 11:03 ?2次下載
    DSP_BIOS在<b class='flag-5'>以太網通信</b>節點中的應用

    S7-200SMART開放以太網通信

    此文重點介紹V2.2最新升級的功能開放以太網通信功能,用過GET/PUT通信的肯定覺得非常方便,唯一的遺憾就是只支持S7協議,無法實現和其它品牌產品進行以太網通信,開放的以太網通信就是
    的頭像 發表于 06-27 09:58 ?2w次閱讀

    關于工業以太網通信的解決方案介紹

    瑞薩電子工業以太網通信解決方案
    的頭像 發表于 07-23 00:43 ?4100次閱讀

    Xilinx平臺以太網接口(一)TCP/IP基礎

    在完成以太網通信實驗之前,必須要對以太網基礎知識進行了解。時間充裕的可以看看《圖解TCP/IP》作為掃盲。本文重點對以太網幀結構進行介紹。
    的頭像 發表于 02-19 17:54 ?2340次閱讀
    Xilinx平臺<b class='flag-5'>以太網</b>接口(一)TCP/IP基礎

    簡化您的以太網設計,第1部分:以太網PHY基礎知識和選擇過程

    簡化您的以太網設計,第1部分:以太網PHY基礎知識和選擇過程
    發表于 10-31 08:23 ?1次下載
    簡化您的<b class='flag-5'>以太網</b>設計,第1部分:<b class='flag-5'>以太網</b>PHY<b class='flag-5'>基礎知識</b>和選擇過程

    以太網通信和串口通信區別

    以太網通信和串口通信區別? 以太網通信和串口通信都是網絡通信中常見的方式,在實際應用中,兩者的使用場景各有不同。
    的頭像 發表于 09-02 14:44 ?6095次閱讀

    基于FPGA的UDP RGMII千兆以太網通信方案

    本文介紹一個FPGA開源項目:UDP RGMII千兆以太網通信。該項目在我之前的工作中主要是用于FPGA和電腦端之間進行圖像數據傳輸。本文簡要介紹一下該項目的千兆以太網通信方案、以太網IP核的使用以及Vivado工程源代碼結構。
    的頭像 發表于 09-04 16:49 ?1669次閱讀
    基于FPGA的UDP RGMII千兆<b class='flag-5'>以太網通信</b>方案

    串行通信以太網通信,該怎么選才好?

    串行通信以太網通信都通過有線傳輸數據,但各自有不同的用途。串行通信以太網通信的主要區別在于:串行通信是通過串行
    的頭像 發表于 12-22 08:20 ?1124次閱讀
    串行<b class='flag-5'>通信</b>和<b class='flag-5'>以太網通信</b>,該怎么選才好?

    以太網通信網關是什么

    在日益復雜的網絡環境中,以太網通信網關作為連接不同設備和網絡的橋梁,扮演著至關重要的角色。本文將深入探討以太網通信網關的定義、功能、工作機制及其在各個領域的應用。 一、以太網通信網關的定義
    的頭像 發表于 08-29 14:04 ?429次閱讀
    <b class='flag-5'>以太網通信</b>網關是什么

    以太網通信線的屏蔽要求

    以太網通信線的屏蔽要求主要取決于通信速率、傳輸距離以及周圍環境中的電磁干擾情況。
    的頭像 發表于 12-14 11:29 ?129次閱讀
    主站蜘蛛池模板: 亚洲天堂视频一区| www.五月婷婷| 123综合网在线| 二级特黄绝大片免费视频大片| 美女三级黄| 你懂的国产| 日韩 ed2k| 老熟女毛片| 免费黄色的视频| 日日干夜夜操视频| 老师下面好紧| 久久精品视频7| 国内久久久久高清影视| 一级毛片无毒不卡直接观看| 毛片其地| 国产欧美一级片| 五月情视频在线观看| 操美女视频网站| h小视频在线观看| 人成电影免费观看在线| 天天色啪| 99久久国产免费 - 99久久国产免费| 美女黄页在线观看| 国产美女久久久久| 天天拍天天射| 午夜视频你懂的| 美女免费视频一区二区三区| 久久久噜噜噜久久网| 久热九九| 天堂视频免费| 天天射天天爱天天干| 最近新韩国hd视频| 成人综合网址| 亚洲天堂视频在线播放| 久久亚洲精品成人综合| aaa在线观看| 日韩一级一欧美一级国产| 人人爽天天爽夜夜爽曰| 亚洲综合欧美日本另类激情| 91色在线视频| yy肉戏多纯黄的小说|