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

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

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

分布式系統(tǒng)中MAC地址和IP地址的動(dòng)態(tài)配置方法

電子設(shè)計(jì) ? 來(lái)源:?jiǎn)纹瑱C(jī)與嵌入式系統(tǒng)應(yīng)用 ? 作者:李鵬,姜鯤鵬,蘭 ? 2021-06-17 14:03 ? 次閱讀

作者:李鵬,姜鯤鵬,蘭巨龍,曲晶,趙崢嶸

1 引 言

以太網(wǎng)以其簡(jiǎn)單靈活、成熟穩(wěn)定的特性成為許多分布式系統(tǒng)[-]內(nèi)部通信的首選方式。在這些系統(tǒng)內(nèi)部采用的以太網(wǎng)結(jié)構(gòu)中,如何合理利用與配置地址信息(包括MAC地址和IP地址)成為提高系統(tǒng)可用性與靈活性的關(guān)鍵。

在OSI七層網(wǎng)絡(luò)協(xié)議參考模型中,第2層為數(shù)據(jù)鏈路層。MAC地址位于此層,它由網(wǎng)絡(luò)設(shè)備制造商生產(chǎn)時(shí)寫在硬件內(nèi)部。MAC地址一般采用6字節(jié)48位,前24位是生產(chǎn)網(wǎng)絡(luò)設(shè)備的廠商向IEEE申請(qǐng)的廠商地址,后24位由廠商自行分配。這樣的分配使得世界上任意一個(gè)擁有48位MAC地址的網(wǎng)絡(luò)設(shè)備都有唯一的標(biāo)識(shí)。

在TCP/IP網(wǎng)絡(luò)中,每個(gè)主機(jī)都有唯一的地址。IP協(xié)議要求在每次與TCP/IP網(wǎng)絡(luò)建立連接時(shí),每臺(tái)主機(jī)都必須為這個(gè)連接分配一個(gè)唯一地址(IPV4為32位,IPV6為128位)。這個(gè)分配給各主機(jī)的地址就稱為IP地址。它分為互連網(wǎng)上的公共IP地址和局域網(wǎng)上的內(nèi)部IP地址兩種。

分布式系統(tǒng)的內(nèi)部結(jié)構(gòu)對(duì)用戶是完全透明的,其內(nèi)部一般采用嵌入式結(jié)構(gòu)。嵌入式結(jié)構(gòu)中的地址信息一般都固化在只讀存儲(chǔ)器ROM中,當(dāng)系統(tǒng)啟動(dòng)時(shí)自動(dòng)加載這些信息。這種地址配置模式比較通用,適合于一般的分布式系統(tǒng);但對(duì)于某些復(fù)雜的分布式系統(tǒng),這種模式可能帶來(lái)一些問(wèn)題,如增加生產(chǎn)成本、生產(chǎn)周期較長(zhǎng)、調(diào)試過(guò)程復(fù)雜、工作效率低以及地址資源利用率低等。本文結(jié)合實(shí)際項(xiàng)目,提出分布式系統(tǒng)內(nèi)部以太網(wǎng)中MAC地址和IP地址的動(dòng)態(tài)配置方法,從根本上解決了傳統(tǒng)配置方法所帶來(lái)的問(wèn)題。下面介紹MAC地址和IP地址的動(dòng)態(tài)配置方法。

2 項(xiàng)目背景

國(guó)家數(shù)字交換系統(tǒng)工程技術(shù)研究中心(NDSC)承擔(dān)了國(guó)家863項(xiàng)目高性能IPv6核心路由器的研發(fā)工作。該核心路由器采用分布式系統(tǒng)結(jié)構(gòu),由線卡、轉(zhuǎn)發(fā)、交換、主控等模塊組成。其中線卡、轉(zhuǎn)發(fā)、交換模塊統(tǒng)稱為單板模塊。這些單板模塊利用自己的嵌入式處理機(jī)板的以太網(wǎng)網(wǎng)口單元,通過(guò)以太網(wǎng)和主控模塊相連。各處理機(jī)板用VxWorks嵌入式實(shí)時(shí)操作系統(tǒng),可單獨(dú)處理各單板模塊的實(shí)時(shí)任務(wù)。主控模塊用Linux操作系統(tǒng),有良好的人機(jī)對(duì)話窗口,可通過(guò)以太網(wǎng)和各單板模塊取得聯(lián)系,其結(jié)構(gòu)如圖l所示。

分布式系統(tǒng)中MAC地址和IP地址的動(dòng)態(tài)配置方法

由于分布式系統(tǒng)中的各單板模塊需要通過(guò)內(nèi)部以太網(wǎng)和主控模塊進(jìn)行通信,因此必須給各單板模塊上的嵌入式處理機(jī)板的網(wǎng)口單元分配相應(yīng)的MAC地址和IP地址。這些地址信息一般固化在ROM當(dāng)中,系統(tǒng)啟動(dòng)時(shí)自動(dòng)讀取。

這里需要指出的是,下面討論的MAC地址和IP地址配置與傳統(tǒng)意義上的地址分配出發(fā)點(diǎn)是不同的。傳統(tǒng)意義上的IP地址分配是指通過(guò)DHCP協(xié)議(動(dòng)態(tài)主機(jī)配置協(xié)議)將與互聯(lián)網(wǎng)相連的計(jì)算機(jī)(可以是通過(guò)服務(wù)器與互聯(lián)網(wǎng)相連的局域網(wǎng)中的計(jì)算機(jī))分配一個(gè)互聯(lián)網(wǎng)上的公共IP地址,使之在互連網(wǎng)上能唯一地標(biāo)識(shí)自己。這里討論的分布式系統(tǒng)結(jié)構(gòu)中的內(nèi)部以太網(wǎng)和外部網(wǎng)絡(luò)是相隔離的,不需要將互聯(lián)網(wǎng)上的公共IP地址分配給各單板模塊上的嵌入式處理機(jī)板的網(wǎng)口單元。各網(wǎng)口單元只需要在局域網(wǎng)內(nèi)部唯一地標(biāo)識(shí)自己,只對(duì)應(yīng)一個(gè)局域網(wǎng)內(nèi)部IP地址;而MAC地址對(duì)于每個(gè)網(wǎng)絡(luò)設(shè)備都是唯一的。下面討論的配置方式是指如何將局域網(wǎng)內(nèi)部的IP地址和MAC地址配置給每個(gè)網(wǎng)口單元。

3 傳統(tǒng)靜態(tài)配置方法

根據(jù)項(xiàng)目的設(shè)計(jì)要求,首先要申請(qǐng)若干MAC地址,同時(shí)選定一些局域網(wǎng)內(nèi)部IP地址(由于是內(nèi)部以太網(wǎng),和外界是隔離的,IP地址也可任意選定)。然后將這些MAC地址和IP地址的信息固化在ROM中,由生產(chǎn)廠家生產(chǎn)這些ROM。ROM出廠后,將它們焊接在各嵌入式處理機(jī)板上進(jìn)行調(diào)試。這種方法有以下缺點(diǎn):

①根據(jù)MAC地址和IP地址的定義,每個(gè)處理機(jī)板上的以太網(wǎng)網(wǎng)口單元的MAC地址和IP地址是不一樣的。不能把相同的地址信息固化在不同的ROM當(dāng)中,因此每個(gè)ROM的信息不同,只能單獨(dú)制作,不能進(jìn)行批量生產(chǎn)。這樣一來(lái)就增加了成本,而且生產(chǎn)周期較長(zhǎng)。

②由于制作好的各嵌入式處理機(jī)板的網(wǎng)口單元的MAC地址和IP地址不同,調(diào)試各嵌入式處理機(jī)板時(shí)要區(qū)別對(duì)待。因此要根據(jù)不同的地址分別設(shè)置不同的配置信

息,這樣的調(diào)試過(guò)程復(fù)雜、工作效率低。

③在具體應(yīng)用中,為防止設(shè)備的損壞,備用設(shè)備是必不可少的,因此生產(chǎn)的嵌入式處理機(jī)板個(gè)數(shù)要多于實(shí)際需要的數(shù)量。因?yàn)樘幚頇C(jī)板上的網(wǎng)口單元個(gè)數(shù)要和處理機(jī)板個(gè)數(shù)相一致,所以需要申請(qǐng)的MAc地址數(shù)量也要和處理機(jī)板的生產(chǎn)數(shù)量相一致,要多于正常工作所需要的數(shù)量。如果工作中的處理機(jī)板都能工作正常,不需要使用備用處理機(jī)板,那樣分配給備用處理機(jī)板上的MAC地址資源就得不到應(yīng)用。當(dāng)工作中的處理機(jī)板出現(xiàn)問(wèn)題時(shí)需要使用備用板時(shí),有問(wèn)題的處理機(jī)板的MAC地址一樣不能得到應(yīng)用。因此多于工作所需數(shù)量的MAC地址必定得不到應(yīng)用而被浪費(fèi)。

針對(duì)以上問(wèn)題,對(duì)核心路由器項(xiàng)目分布式系統(tǒng)中的嵌入式處理機(jī)板的網(wǎng)口地址信息采用了動(dòng)態(tài)配置方法。

4 動(dòng)態(tài)配置方法

Flash的可擦寫性和非易失性在當(dāng)今的嵌入式系統(tǒng)中得到了廣泛的應(yīng)用。由于ROM出廠時(shí)內(nèi)容已寫定,不能更改,因此復(fù)雜的嵌入式系統(tǒng)一般利用Flash的可擦寫性進(jìn)行系統(tǒng)的配置。由于單板模塊的復(fù)雜性,需要調(diào)整嵌入式處理機(jī)板的配置信息來(lái)保證其正常工作,因此,可以充分利用Flash的作用,將其和ROM的配置有效地結(jié)合起來(lái)。在分布式路由器中采取以下.MAC地址和IP地址的動(dòng)態(tài)配置方法:

①按照正常工作所需量申請(qǐng)MAC地址(與靜態(tài)配置相比,沒(méi)有備用的MAC地址),這樣資源可以得到有效利用。

②設(shè)置嵌入式處理機(jī)板嵌入式系統(tǒng)訪問(wèn)MAC地址和IP地址信息的順序。系統(tǒng)啟動(dòng)讀取ROM信息,當(dāng)讀到網(wǎng)口地址信息時(shí)轉(zhuǎn)到Flash中相關(guān)地址訪問(wèn),如果存在相關(guān)信息則讀??;如果Flash中沒(méi)有相關(guān)信息則讀取ROM中的地址信息,過(guò)程如圖2所示。

③從申請(qǐng)到的MAC地址中任選一個(gè),同時(shí)選一個(gè)局域網(wǎng)IP地址。將這些硬件信息和嵌入式系統(tǒng)訪問(wèn)MAC地址和IP地址順序的信息統(tǒng)一編程固化到各個(gè)ROM當(dāng)中,并成批量生產(chǎn)這些ROM。這樣可以有效降低成本,減少生產(chǎn)周期。

④將這些ROM分別焊接到各嵌入式處理機(jī)板上,并把處理機(jī)板上Flash中的相關(guān)MAC地址和IP地址信息置O,這樣處理機(jī)板就讀取ROM中的地址信息進(jìn)行配置。因?yàn)楦鱾€(gè)ROM中的MAC地址和IP地址信息相同,因此各處理機(jī)板的調(diào)試過(guò)程相同。這樣步驟一致,簡(jiǎn)單易行。

⑤處理機(jī)板調(diào)試完畢后,把申請(qǐng)到的MAC地址分配給各個(gè)單板模塊不同的處理機(jī)板的網(wǎng)口;同時(shí)選一些局域網(wǎng)IP地址,保證它們?cè)谝蕴W(wǎng)內(nèi)部是唯一的。然后可以通過(guò)調(diào)試工具(Linux下用Minicom,Windows下用遠(yuǎn)程終端)將已分配好的MAC地址和IP地址等硬件信息分別寫到工作中的各處理機(jī)板上的Flash中。通過(guò)以上分配方式,所有工作的處理機(jī)板都將自己Flash中的地址作為唯一的MAC地址和IP地址了。嵌入式系統(tǒng)啟動(dòng)時(shí)就讀到了分配給各自的地址信息。接下來(lái)就可以進(jìn)行處理機(jī)板和各單板模塊的綜合調(diào)試了。

⑥當(dāng)工作中的處理機(jī)板出現(xiàn)問(wèn)題需要使用備用處理機(jī)板時(shí),可以將出現(xiàn)問(wèn)題的處理機(jī)板上Flash中MAC地址和IP地址重新分配給備用的處理機(jī)板。這樣就有效地利用了所申請(qǐng)的MAC地址資源。

通過(guò)以上MAC地址和IP地址的動(dòng)態(tài)配置方法,可以有效地克服靜態(tài)配置方法中存在的各種問(wèn)題。相對(duì)于靜態(tài)配置方法,動(dòng)態(tài)配置方法結(jié)合了F1ash和ROM的靈活應(yīng)用,有以下優(yōu)點(diǎn):

①能成批量生產(chǎn)內(nèi)容一致的ROM,降低系統(tǒng)成本,減少生產(chǎn)周期。

②各個(gè)處理機(jī)板的調(diào)試步驟一致,簡(jiǎn)單易行。

③所申請(qǐng)的MAC地址得到有效的利用,節(jié)省地址資源。

5 結(jié) 語(yǔ)

分布式系統(tǒng)中MAC地址和IP地址動(dòng)態(tài)配置與靜態(tài)配置的根本區(qū)別在于F1ash的靈活應(yīng)用。隨著分布式系統(tǒng)的應(yīng)用日益廣泛和設(shè)計(jì)的日益復(fù)雜,動(dòng)態(tài)配置方法所提供的低生產(chǎn)成本、短生產(chǎn)周期和高地址資源利用率以及簡(jiǎn)公司提供的QHartus II和SOPC Builder開發(fā)工具可以在完成接口功能設(shè)計(jì)后,快速進(jìn)行系統(tǒng)的集成設(shè)計(jì)和系統(tǒng)仿真,最終可以在Altera提供的Cyclone系列芯片上實(shí)現(xiàn)整個(gè)系統(tǒng)設(shè)計(jì)。對(duì)Nios處理器重新編程可以在不改變系統(tǒng)硬件框架的基礎(chǔ)上,方便地增加系統(tǒng)的功能和處理效率,對(duì)系統(tǒng)的升級(jí)和再開發(fā)有很大的便利。

責(zé)任編輯:gt

聲明:本文內(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)投訴
  • 嵌入式
    +關(guān)注

    關(guān)注

    5059

    文章

    18973

    瀏覽量

    302033
  • 以太網(wǎng)
    +關(guān)注

    關(guān)注

    40

    文章

    5343

    瀏覽量

    170801
  • 存儲(chǔ)器
    +關(guān)注

    關(guān)注

    38

    文章

    7430

    瀏覽量

    163515
收藏 人收藏

    評(píng)論

    相關(guān)推薦

    ipmac地址的綁定命令及方法

    。在Windows 2000/XP系統(tǒng)下,要在命令提示符下輸入“ipconfig /all”,顯示列表的“Physical Address”就是MAC地址,“
    發(fā)表于 08-30 00:15

    嵌入網(wǎng)絡(luò)設(shè)備地址動(dòng)態(tài)配置的研究

    本文通過(guò)嵌入結(jié)構(gòu)網(wǎng)絡(luò)設(shè)備̣:一款I(lǐng)PV6 核心路由器,系統(tǒng)地介紹了分布式系統(tǒng)嵌入
    發(fā)表于 08-27 10:46 ?11次下載

    IP地址及網(wǎng)卡MAC地址操作指南

      為便于各分公司及部門統(tǒng)計(jì)IP地址及網(wǎng)卡MAC地址,請(qǐng)按照以下步驟操作:   1、 點(diǎn)擊“開始”,選擇運(yùn)行。   2、在“運(yùn)行”
    發(fā)表于 09-03 16:12 ?0次下載

    如何知道mac地址 怎么查看IP地址

    如何知道mac地址 怎么查看IP地址 步驟如下: 1 在“運(yùn)行”輸入 cmd 2 在打開的命令提示符界面
    發(fā)表于 03-21 12:08 ?5.4w次閱讀
    如何知道<b class='flag-5'>mac</b><b class='flag-5'>地址</b> 怎么查看<b class='flag-5'>IP</b><b class='flag-5'>地址</b>

    網(wǎng)絡(luò)與通信MAC地址詳解

    什么是MAC地址! MAC 地址在這種局域網(wǎng)環(huán)境究竟起到什么作用,下面就來(lái)介紹一下MAC
    發(fā)表于 08-23 18:25 ?90次下載
    網(wǎng)絡(luò)與通信<b class='flag-5'>MAC</b><b class='flag-5'>地址</b>詳解

    mac地址ip地址有什么區(qū)別

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

    mac地址ip地址是什么決定的

    IP地址是指互聯(lián)網(wǎng)協(xié)議地址(英語(yǔ):Internet Protocol Address,又譯為網(wǎng)際協(xié)議地址),是IP Address的縮寫。
    發(fā)表于 03-07 17:14 ?7618次閱讀
    <b class='flag-5'>mac</b><b class='flag-5'>地址</b>和<b class='flag-5'>ip</b><b class='flag-5'>地址</b>是什么決定的

    網(wǎng)絡(luò)通信技術(shù):IP地址MAC地址的差異

    了解完網(wǎng)絡(luò)協(xié)議,我們會(huì)發(fā)現(xiàn),網(wǎng)絡(luò)通信的五層模型里,有兩個(gè)很重要的概念:IP 地址MAC 地址。 那么 IP
    的頭像 發(fā)表于 10-22 15:12 ?4802次閱讀
    網(wǎng)絡(luò)通信技術(shù):<b class='flag-5'>IP</b><b class='flag-5'>地址</b>和<b class='flag-5'>MAC</b><b class='flag-5'>地址</b>的差異

    基于簇的分布式IPv6地址配置方案

    為實(shí)現(xiàn)無(wú)線傳感器網(wǎng)絡(luò)(WSN)與IPv6互聯(lián)網(wǎng)的全P通信,提出一種全 IP WSN地址配置方案。將WSN分為多個(gè)簇,設(shè)計(jì)分布式Pv6地址
    發(fā)表于 06-11 11:21 ?5次下載

    使用LPNDR_ReadGlobalInfo函數(shù)塊讀取IP地址MAC地址

    使用 LPNDR_ReadGlobalInfo 函數(shù)塊可以讀取 PROFINET 設(shè)備的 IP 地址MAC 地址。
    的頭像 發(fā)表于 11-14 10:09 ?3940次閱讀

    為什么有了IP地址,還需要MAC地址呢?

    流言傳到了“IP地址”和“MAC地址”的耳朵里,他倆也非??鄲溃裉煳臋n君把話筒遞給他們,看看他們?cè)趺凑f(shuō)?
    的頭像 發(fā)表于 04-17 09:32 ?2688次閱讀

    ubuntu系統(tǒng)ip地址配置

    在Ubuntu系統(tǒng)配置IP地址,可以采用兩種方式: 通過(guò)命令直接配置。打開終端,輸入以下命令:
    的頭像 發(fā)表于 11-13 17:01 ?1.3w次閱讀

    MAC地址注冊(cè)的原理和應(yīng)用

    MAC地址注冊(cè)是指在網(wǎng)絡(luò)設(shè)備,將設(shè)備的物理地址(即MAC地址)與設(shè)備的
    的頭像 發(fā)表于 11-13 16:07 ?937次閱讀
    <b class='flag-5'>MAC</b><b class='flag-5'>地址</b>注冊(cè)的原理和應(yīng)用

    centos7配置ip地址方法

    分隔的數(shù)字組成。每個(gè)數(shù)字的取值范圍是0到255。在本文中,我們將詳細(xì)討論如何在CentOS 7上配置靜態(tài)和動(dòng)態(tài)IP地址。 以下是配置
    的頭像 發(fā)表于 11-17 11:04 ?2650次閱讀

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

    如何綁定ip地址mac物理地址呢? 綁定IP地址MAC
    的頭像 發(fā)表于 12-07 09:33 ?6374次閱讀