精品国产人成在线_亚洲高清无码在线观看_国产在线视频国产永久2021_国产AV综合第一页一个的一区免费影院黑人_最近中文字幕MV高清在线视频

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

以太網(wǎng)基礎(chǔ):為什么要為節(jié)點(diǎn)分配VLAN呢?

jf_EksNQtU6 ? 來(lái)源:開心果 Need Car ? 2023-12-12 09:39 ? 次閱讀

以太網(wǎng)的開發(fā)中,有時(shí)需要為節(jié)點(diǎn)分配VLAN(Virtual Local Area Network,虛擬局域網(wǎng))。但是,為什么要為節(jié)點(diǎn)分配VLAN呢?本文針對(duì)這個(gè)話題展開討論。除此之外,文末給出Lwip(Light weight IP)+TC3xx VLAN實(shí)現(xiàn)的源碼及注意事項(xiàng)。

劃分VLAN場(chǎng)景

事物的出現(xiàn),總有其合理性(即:存在即合理),所以,VLAN也有其出現(xiàn)的原因。先看這樣一個(gè)工程場(chǎng)景:某個(gè)控制器(eg:ECU1)啟動(dòng)時(shí),向交換機(jī)(Switch)發(fā)送ARP Broadcast,以便于獲取目標(biāo)節(jié)點(diǎn)MAC(Media Access Control)地址。由于是廣播幀,交換機(jī)收到該幀后,轉(zhuǎn)發(fā)給所有Port(不包括接收Port),也就是我們常說(shuō)的泛洪(Flooding),如下所示:

5693423e-9812-11ee-8b88-92fbcf53809c.png

如果網(wǎng)絡(luò)范圍進(jìn)一步擴(kuò)大,即:多個(gè)Switch連接時(shí),該幀ARP傳播的范圍會(huì)進(jìn)一步擴(kuò)大,如下所示:

56a56f04-9812-11ee-8b88-92fbcf53809c.png

節(jié)點(diǎn)發(fā)送ARP的目的是為了獲取目標(biāo)節(jié)點(diǎn)的MAC地址,以便于通信。但是,這樣的動(dòng)作卻要把信息傳遍整個(gè)網(wǎng)絡(luò),如此,將增加網(wǎng)絡(luò)負(fù)擔(dān)。如上,只是討論ARP廣播的例子,實(shí)際工程中,類似場(chǎng)景還有很多:SOME/IP中的服務(wù)發(fā)現(xiàn)、未知單播幀的轉(zhuǎn)發(fā)等。

所以,面對(duì)這些工程場(chǎng)景,應(yīng)該如何降低網(wǎng)絡(luò)帶寬負(fù)載呢?答:可以通過(guò)VLAN技術(shù),分割廣播域,將信息的傳播限定到一定范圍。

VLAN劃分原理

(一)VLAN格式

相比沒有VLAN的以太網(wǎng)幀,包含VLAN的以太網(wǎng)幀多4 Byte(VLAN Tag),具體位置如下所示:

56aa0cc6-9812-11ee-8b88-92fbcf53809c.png56aa0cc6-9812-11ee-8b88-92fbcf53809c.png

VLAN Tag包含TPID(Tag Protocol Identifier,標(biāo)簽協(xié)議標(biāo)識(shí)符)和TCI(Tag Control Information,數(shù)據(jù)幀控制信息)兩個(gè)部分,如下所示:

56c4d6f0-9812-11ee-8b88-92fbcf53809c.png

參數(shù)解釋如下:

TPID:表示數(shù)據(jù)幀類型,0x8100 表示 IEEE 802.1Q 幀(C-VLAN),0x88A8表示S-VLAN;

PCP:Priority Code Point(3 bits),表示數(shù)據(jù)幀優(yōu)先級(jí),數(shù)值越大,優(yōu)先級(jí)越高;

DEI:Drop eligible indicator(1 bit),丟棄資格標(biāo)識(shí)符,表示 MAC 地址封裝是否符合規(guī)范格式;

CFI:Canonical Format Indicator(1 bit),標(biāo)準(zhǔn)格式標(biāo)識(shí)符;

VID:VLAN identifier(12 bits),表示幀所屬的VLAN。取值范圍:0~4095。

(二)VLAN分割廣播域原理

根據(jù)項(xiàng)目的實(shí)際情況,可以劃分不同ECU組,之后,為每組ECU分配一個(gè)VID。比如:ECU1、ECU2劃分到VID = 0x0A組,ECU2、ECU3劃分到VID = 0x0B組,如下所示:

56d8031a-9812-11ee-8b88-92fbcf53809c.png

當(dāng)某個(gè)節(jié)點(diǎn)(eg:ECU1)發(fā)送ARP Broadcast報(bào)文時(shí),該廣播幀只能在相同VID(eg:VID=0x0A)的域內(nèi)傳播,非相關(guān)的VID組則不受影響,如下所示:

56eba8ac-9812-11ee-8b88-92fbcf53809c.png

如此,即限定了消息傳播的范圍,同時(shí),也降低了總線帶寬的消耗。

VLAN分組方式有多種:基于端口(Port)劃分、基于協(xié)議(Protocol)劃分、基于MAC地址劃分、基于IP地址劃分等。

Lwip+TC3xx的VLAN實(shí)現(xiàn)細(xì)節(jié)

開源的Lwip雖然是不錯(cuò)的Ethernet學(xué)習(xí)資料,但是,這并不意味著使用Lwip會(huì)一帆風(fēng)順。利用Lwip實(shí)現(xiàn)VLAN過(guò)程中,需要注意以下幾點(diǎn):

(一)netif.c修改

在netif.c的ifx_netif_input()接口中,需要添加ETHTYPE_VLAN,即:接收含有VLAN的以太網(wǎng)幀,修改如下所示:

err_t ifx_netif_input(netif_t *netif)
{
    ......


    switch (htons(ethhdr->type))
    {
    /* IP or ARP packet? */
    case ETHTYPE_IP:
    case ETHTYPE_ARP:
    case ETHTYPE_VLAN:
    ......

(二)發(fā)送VLAN設(shè)置

IfxGeth_Eth.c中,本文在接口IfxGeth_Eth_configureMacCore()中添加如下代碼,設(shè)置VID=0x0A,如下所示:

void IfxGeth_Eth_configureMacCore(IfxGeth_Eth *geth, IfxGeth_Eth_MacConfig *macConfig)
{
   ...
    /* Set Send Vlan */
IfxGeth_mac_writeQueueVlanTag(geth->gethSFR,IfxGeth_MtlQueue_0,0x0A);
   ...
}

IfxGeth_Eth_configureMacCore()接口的具體實(shí)現(xiàn)如下所示:

boolean IfxGeth_mac_writeQueueVlanTag(Ifx_GETH *gethSFR, IfxGeth_MtlQueue queueId, uint16 vLanTag)
{
    Ifx_GETH_MAC_VLAN_INCL vlan_incl;


    if (gethSFR->MAC_VLAN_INCL.B.BUSY)
    {
        return FALSE;
    }
    /* VLAN Tag Control in Transmit Packets */
    vlan_incl.B.VLC          = 2;


    vlan_incl.B.RDWR         = 1;
    vlan_incl.B.CSVL         = 0;
    vlan_incl.B.VLT          = vLanTag;
    vlan_incl.B.ADDR         = queueId;


    gethSFR->MAC_VLAN_INCL.U = vlan_incl.U;


    // Wait until operation is finished
    while (gethSFR->MAC_VLAN_INCL.B.BUSY)
    {}


    return TRUE;
}

(三)含VLAN通信數(shù)據(jù)流

包含VLAN(VID = 0x0A)的通信數(shù)據(jù)流如下所示:

5703c360-9812-11ee-8b88-92fbcf53809c.png








審核編輯:劉清

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • 以太網(wǎng)
    +關(guān)注

    關(guān)注

    40

    文章

    5385

    瀏覽量

    171162
  • VLAN
    +關(guān)注

    關(guān)注

    1

    文章

    273

    瀏覽量

    35583
  • LwIP協(xié)議棧
    +關(guān)注

    關(guān)注

    0

    文章

    19

    瀏覽量

    7342

原文標(biāo)題:以太網(wǎng)基礎(chǔ):為什么需要VLAN?

文章出處:【微信號(hào):談思實(shí)驗(yàn)室,微信公眾號(hào):談思實(shí)驗(yàn)室】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

收藏 人收藏

    評(píng)論

    相關(guān)推薦

    以太網(wǎng)交換技術(shù)講解

    當(dāng)前園區(qū)網(wǎng)大多使用交換機(jī)組網(wǎng),使用交換機(jī)組建的網(wǎng)絡(luò)管理非常靈活,可以根據(jù)同一部門或者具有相同管理要求的需要?jiǎng)?chuàng)建虛擬局域網(wǎng)Vlan)。那么園區(qū)內(nèi)的交換機(jī)是如何進(jìn)行數(shù)據(jù)包交換的?不同部門之間是如何進(jìn)行隔離的?今天這篇文章,將通過(guò)對(duì)以太網(wǎng)
    的頭像 發(fā)表于 12-11 10:30 ?923次閱讀
    <b class='flag-5'>以太網(wǎng)</b>交換技術(shù)講解

    以太網(wǎng)是什么鬼?以太網(wǎng)基礎(chǔ)知識(shí)詳解

    以太網(wǎng)
    電子學(xué)習(xí)
    發(fā)布于 :2023年02月07日 21:05:57

    車載以太網(wǎng)快速入門#車載以太網(wǎng)

    車載以太網(wǎng)
    北匯信息POLELINK
    發(fā)布于 :2023年09月01日 17:54:31

    車載以太網(wǎng)基礎(chǔ)培訓(xùn)——車載以太網(wǎng)的鏈路層#車載以太網(wǎng)

    車載以太網(wǎng)
    北匯信息POLELINK
    發(fā)布于 :2023年09月19日 16:25:21

    ATM上的以太網(wǎng)服務(wù)介紹

    ATM上的以太網(wǎng)服務(wù)介紹ATM電路擴(kuò)展技術(shù)使服務(wù)提供商可以將多條VLAN映射到一條虛擬電路上,或?qū)⒍鄺l虛擬電路映射到一條VLAN上。利用這項(xiàng)技術(shù)作為一個(gè)構(gòu)件,服務(wù)提供商可以在ATM和以太網(wǎng)
    發(fā)表于 05-25 12:14

    以太網(wǎng)城域MSTP應(yīng)用發(fā)展趨勢(shì)

    一個(gè)共享傳輸媒介上提供多點(diǎn)接入方式,因此點(diǎn)對(duì)點(diǎn)連接服務(wù)并沒有充分發(fā)揮以太網(wǎng)技術(shù)的特點(diǎn)?;?b class='flag-5'>VLAN技術(shù)的城域以太網(wǎng)的組網(wǎng)是通過(guò)二層以太網(wǎng)交換機(jī)完成的,當(dāng)網(wǎng)絡(luò)規(guī)模擴(kuò)大時(shí),網(wǎng)絡(luò)轉(zhuǎn)發(fā)時(shí)延、V
    發(fā)表于 11-13 22:21

    如何在S32DS中設(shè)置以太網(wǎng)VLAN ID?

    我想在 S32K324 上設(shè)置以太網(wǎng) VLAN ID,但在LWIP 示例和 S32DS 外設(shè) UI中找不到任何信息。是否有關(guān)于如何設(shè)置以太網(wǎng) VLAN ID 的示例或文檔?
    發(fā)表于 03-20 06:49

    以太網(wǎng)交換機(jī)基礎(chǔ)

    3.1 培訓(xùn)目標(biāo). 123.1.1 傳統(tǒng)的共享式以太網(wǎng). 123.1.2 以太網(wǎng)沖突域 123.1.3 廣播 123.1.4 以太網(wǎng)分段 133.1.5 以太網(wǎng)交換機(jī) 133.2 虛擬
    發(fā)表于 06-09 23:21 ?19次下載

    以太網(wǎng)與工業(yè)以太網(wǎng)的區(qū)別

    以太網(wǎng)相較工業(yè)以太網(wǎng)有以下四大缺陷,要使以太網(wǎng)符合工藝上的要求,還必須克服這4大缺陷
    發(fā)表于 12-12 15:16 ?3766次閱讀

    以太網(wǎng)是什么_以太網(wǎng)怎么連接寬帶

    本文首先介紹了以太網(wǎng)的概念,其次介紹了以太網(wǎng)連接寬帶的方法,最后闡述了以太網(wǎng)與寬帶區(qū)別。
    發(fā)表于 03-20 10:02 ?8.6w次閱讀
    <b class='flag-5'>以太網(wǎng)</b>是什么_<b class='flag-5'>以太網(wǎng)</b>怎么連接寬帶

    以太網(wǎng)的傳播速率_以太網(wǎng)的傳輸介質(zhì)

    本文首先介紹了以太網(wǎng)的傳播速率,其次介紹了千兆以太網(wǎng)的傳輸速度,最后介紹了以太網(wǎng)的傳輸介質(zhì)。
    發(fā)表于 03-20 10:12 ?7235次閱讀

    工業(yè)以太網(wǎng)和普通以太網(wǎng)區(qū)別

    工業(yè)以太網(wǎng)和普通以太網(wǎng)的主要區(qū)別在哪?
    的頭像 發(fā)表于 07-29 14:24 ?1.2w次閱讀

    如何快速分辨以太網(wǎng)與千兆以太網(wǎng)

    本文解釋并比較了兩種類型的以太網(wǎng):快速以太網(wǎng)與千兆以太網(wǎng)。快速以太網(wǎng)和千兆以太網(wǎng)之間的最大區(qū)別在于速度。
    的頭像 發(fā)表于 05-06 16:35 ?4420次閱讀
    如何快速分辨<b class='flag-5'>以太網(wǎng)</b>與千兆<b class='flag-5'>以太網(wǎng)</b>

    傳統(tǒng)以太網(wǎng)是如何工作的?傳統(tǒng)以太網(wǎng)和時(shí)間敏感網(wǎng)絡(luò)TSN的區(qū)別

    傳統(tǒng)以太網(wǎng)是如何工作的?傳統(tǒng)以太網(wǎng)和時(shí)間敏感網(wǎng)絡(luò)TSN的區(qū)別? 傳統(tǒng)以太網(wǎng)是一種局域網(wǎng)技術(shù),它在20世紀(jì)70年代開始普及,主要用于連接個(gè)人電腦和其他設(shè)備,提供高速、可靠的數(shù)據(jù)傳輸。它
    的頭像 發(fā)表于 11-17 14:23 ?1363次閱讀

    科普科普以太網(wǎng)的定義、種類以及晶振在以太網(wǎng)上的應(yīng)用

    科普科普以太網(wǎng)的定義、種類以及晶振在以太網(wǎng)上的應(yīng)用? 以太網(wǎng)是一種用于局域網(wǎng)通信的傳輸技術(shù),它是一種在計(jì)算機(jī)網(wǎng)絡(luò)中常用的傳輸協(xié)議,用于將數(shù)據(jù)包從一個(gè)節(jié)點(diǎn)傳輸?shù)搅硪粋€(gè)
    的頭像 發(fā)表于 01-24 16:11 ?1022次閱讀