在以太網(wǎng)開發(fā)中,常常會聽到一些專業(yè)名詞,例如PHY,MAC,MII,switch,下面是解釋
PHY
PHY 是物理接口收發(fā)器,它實現(xiàn)物理層。包括 MII/GMII (介質獨立接口) 子層、PCS (物理編碼子層) 、PMA (物理介質附加) 子層、PMD (物理介質相關) 子層、MDI 子層。定義了數(shù)據(jù)傳送與接收所需要的電與光信號、線路狀態(tài)、時鐘基準、數(shù)據(jù)編碼和電路等,并向數(shù)據(jù)鏈路層設備提供標準接口。物理層的芯片稱之為PHY。
MAC
MAC 是 Media Access Control 的縮寫,即媒體訪問控制子層協(xié)議。該協(xié)議位于 OSI 七層協(xié)議中數(shù)據(jù)鏈路層LLC的下半部分,主要負責控制與連接物理層的物理介質。在發(fā)送數(shù)據(jù)的時候,MAC 協(xié)議可以事先判斷是否可以發(fā)送數(shù)據(jù),如果可以發(fā)送將給數(shù)據(jù)加上一些控制信息(封裝數(shù)據(jù)包),最終將數(shù)據(jù)以及控制信息以規(guī)定的格式發(fā)送到物理層;在接收數(shù)據(jù)的時候,MAC 協(xié)議首先判斷輸入的信息是否發(fā)生傳輸錯誤,如果沒有錯誤,則去掉控制信息(解析數(shù)據(jù)包)發(fā)送至 LLC 層。以太網(wǎng) MAC 由 IEEE-802.3 以太網(wǎng)標準定義。
MII
MII即媒體獨立接口,也叫介質無關接口。它是IEEE-802.3定義的以太網(wǎng)行業(yè)標準。它包括一個數(shù)據(jù)接口,以及一個MAC和PHY之間的管理接口。數(shù)據(jù)接口包括分別用于發(fā)送器和接收器的兩條獨立信道。每條信道都有自己的數(shù)據(jù)、時鐘和控制信號。
MII數(shù)據(jù)接口總共需16個信號。管理接口是個雙信號接口:一個是時鐘信號,另一個是數(shù)據(jù)信號。通過管理接口,上層能監(jiān)視和控制PHY。
switch
以太網(wǎng)交換機switch是一種網(wǎng)絡設備,用于將多個設備連接在一起,實現(xiàn)數(shù)據(jù)的快速傳輸和轉發(fā)。交換機具有MAC地址表,可以根據(jù)MAC地址將數(shù)據(jù)包從一個端口轉發(fā)到另一個端口。因此,以太網(wǎng)交換機可以看作是一種實現(xiàn)MAC層功能的設備(數(shù)據(jù)鏈路層)。
綜上所述,MAC、MII、PHY和以太網(wǎng)交換機都是在以太網(wǎng)中實現(xiàn)數(shù)據(jù)傳輸?shù)闹匾糠?。MAC負責數(shù)據(jù)的封裝和解析,PHY負責數(shù)據(jù)的轉換和傳輸,兩者通過 MII 傳送數(shù)據(jù),而以太網(wǎng)交換機則負責將數(shù)據(jù)包在不同的設備之間轉發(fā)。它們共同協(xié)作,實現(xiàn)了以太網(wǎng)的數(shù)據(jù)傳輸功能。
系統(tǒng)集成
從硬件的角度來分析,以太網(wǎng)的電路接口一般由CPU、MAC(Media Access Control)控制器和物理層接口(physical Layer PHY)組成:
對于上述三部分,并不一定都是獨立的芯片,主要有以下幾種情況:
- CPU內(nèi)部集成了MAC和PHY,難度較高;
- CPU內(nèi)部集成MAC,PHY采用獨立芯片(主流方案);
- CPU不集成MAC和PHY,MAC和PHY采用獨立芯片或者集成芯片(高端采用)。
PHY整合了大量模擬硬件,而MAC是典型的全數(shù)字器件,芯片面積及模擬/數(shù)字混合架構的原因,是將MAC集成進微控制器而將PHY留在片外的原因。更靈活、密度更高的芯片技術已經(jīng)可以實現(xiàn)MAC和PHY的單芯片整合;
以常用的CPU內(nèi)部集成MAC,PHY采用獨立的芯片方案,虛線內(nèi)表示CPU和MAC集成在一起,PHY芯片通過MII接口與CPU上的MAC互聯(lián);
以太網(wǎng)交換機switch一般是選擇合適的以太網(wǎng)交換機芯片,根據(jù)開發(fā)板的設計和需求將交換機芯片的接口與SOC進行連接。這通常涉及到物理連接(例如通過GPIO接口)和軟件配置(例如設置IP地址和子網(wǎng)掩碼)。不同的port口連接不同的設備,switch負責將數(shù)據(jù)包在不同的設備之間轉發(fā)。
下面是switch轉發(fā)過程和創(chuàng)建ARL表的過程:
1、A報文從port1進入
2、主機A連接switch1,報文通過port0和port1口轉發(fā)
報文信息包含源mac地址cc:cc:cc:cc:cc,目的mac地址aa:aa:aa:aa:aa
3、主機B連接switch2的port1口。
A主機的報文通過switch2的port0口進入switch2,并轉發(fā)到switch2的port1口和port2口。
由于主機B的mac地址與A報文的目的mac地址不符,故不回復
4、主機C連接switch3的port1口。
A主機的報文通過switch3的port0口進入switch3,并轉發(fā)到switch3的port1口和port2口。
由于主機C的mac地址與A報文的目的mac地址相符,故回復
5、主機C的回復報文會根據(jù)ARL表,走最短路徑回到主機A
此外,ARL表的更新是動態(tài)更新的,如果長時間未更新,則仍會觸發(fā)洪泛(上面過程),學習MAC地址,更新ARL表。文章來源:http://www.zghlxwxcb.cn/news/detail-766837.html
在實際使用中,會將vlan id和mac地址相結合來執(zhí)行轉發(fā)策略。
過程如下文章來源地址http://www.zghlxwxcb.cn/news/detail-766837.html
到了這里,關于以太網(wǎng)基礎知識——PHY,MAC,MII,switch的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關文章,希望大家以后多多支持TOY模板網(wǎng)!