作者:李鵬,姜鯤鵬,蘭巨龍,曲晶,趙崢嶸
1 引 言
以太網以其簡單靈活、成熟穩定的特性成為許多分布式系統[-]內部通信的首選方式。在這些系統內部采用的以太網結構中,如何合理利用與配置地址信息(包括MAC地址和IP地址)成為提高系統可用性與靈活性的關鍵。
在OSI七層網絡協議參考模型中,第2層為數據鏈路層。MAC地址位于此層,它由網絡設備制造商生產時寫在硬件內部。MAC地址一般采用6字節48位,前24位是生產網絡設備的廠商向IEEE申請的廠商地址,后24位由廠商自行分配。這樣的分配使得世界上任意一個擁有48位MAC地址的網絡設備都有唯一的標識。
在TCP/IP網絡中,每個主機都有唯一的地址。IP協議要求在每次與TCP/IP網絡建立連接時,每臺主機都必須為這個連接分配一個唯一地址(IPV4為32位,IPV6為128位)。這個分配給各主機的地址就稱為IP地址。它分為互連網上的公共IP地址和局域網上的內部IP地址兩種。
分布式系統的內部結構對用戶是完全透明的,其內部一般采用嵌入式結構。嵌入式結構中的地址信息一般都固化在只讀存儲器ROM中,當系統啟動時自動加載這些信息。這種地址配置模式比較通用,適合于一般的分布式系統;但對于某些復雜的分布式系統,這種模式可能帶來一些問題,如增加生產成本、生產周期較長、調試過程復雜、工作效率低以及地址資源利用率低等。本文結合實際項目,提出分布式系統內部以太網中MAC地址和IP地址的動態配置方法,從根本上解決了傳統配置方法所帶來的問題。下面介紹MAC地址和IP地址的動態配置方法。
2 項目背景
國家數字交換系統工程技術研究中心(NDSC)承擔了國家863項目高性能IPv6核心路由器的研發工作。該核心路由器采用分布式系統結構,由線卡、轉發、交換、主控等模塊組成。其中線卡、轉發、交換模塊統稱為單板模塊。這些單板模塊利用自己的嵌入式處理機板的以太網網口單元,通過以太網和主控模塊相連。各處理機板用VxWorks嵌入式實時操作系統,可單獨處理各單板模塊的實時任務。主控模塊用Linux操作系統,有良好的人機對話窗口,可通過以太網和各單板模塊取得聯系,其結構如圖l所示。
由于分布式系統中的各單板模塊需要通過內部以太網和主控模塊進行通信,因此必須給各單板模塊上的嵌入式處理機板的網口單元分配相應的MAC地址和IP地址。這些地址信息一般固化在ROM當中,系統啟動時自動讀取。
這里需要指出的是,下面討論的MAC地址和IP地址配置與傳統意義上的地址分配出發點是不同的。傳統意義上的IP地址分配是指通過DHCP協議(動態主機配置協議)將與互聯網相連的計算機(可以是通過服務器與互聯網相連的局域網中的計算機)分配一個互聯網上的公共IP地址,使之在互連網上能唯一地標識自己。這里討論的分布式系統結構中的內部以太網和外部網絡是相隔離的,不需要將互聯網上的公共IP地址分配給各單板模塊上的嵌入式處理機板的網口單元。各網口單元只需要在局域網內部唯一地標識自己,只對應一個局域網內部IP地址;而MAC地址對于每個網絡設備都是唯一的。下面討論的配置方式是指如何將局域網內部的IP地址和MAC地址配置給每個網口單元。
3 傳統靜態配置方法
根據項目的設計要求,首先要申請若干MAC地址,同時選定一些局域網內部IP地址(由于是內部以太網,和外界是隔離的,IP地址也可任意選定)。然后將這些MAC地址和IP地址的信息固化在ROM中,由生產廠家生產這些ROM。ROM出廠后,將它們焊接在各嵌入式處理機板上進行調試。這種方法有以下缺點:
①根據MAC地址和IP地址的定義,每個處理機板上的以太網網口單元的MAC地址和IP地址是不一樣的。不能把相同的地址信息固化在不同的ROM當中,因此每個ROM的信息不同,只能單獨制作,不能進行批量生產。這樣一來就增加了成本,而且生產周期較長。
②由于制作好的各嵌入式處理機板的網口單元的MAC地址和IP地址不同,調試各嵌入式處理機板時要區別對待。因此要根據不同的地址分別設置不同的配置信
息,這樣的調試過程復雜、工作效率低。
③在具體應用中,為防止設備的損壞,備用設備是必不可少的,因此生產的嵌入式處理機板個數要多于實際需要的數量。因為處理機板上的網口單元個數要和處理機板個數相一致,所以需要申請的MAc地址數量也要和處理機板的生產數量相一致,要多于正常工作所需要的數量。如果工作中的處理機板都能工作正常,不需要使用備用處理機板,那樣分配給備用處理機板上的MAC地址資源就得不到應用。當工作中的處理機板出現問題時需要使用備用板時,有問題的處理機板的MAC地址一樣不能得到應用。因此多于工作所需數量的MAC地址必定得不到應用而被浪費。
針對以上問題,對核心路由器項目分布式系統中的嵌入式處理機板的網口地址信息采用了動態配置方法。
4 動態配置方法
Flash的可擦寫性和非易失性在當今的嵌入式系統中得到了廣泛的應用。由于ROM出廠時內容已寫定,不能更改,因此復雜的嵌入式系統一般利用Flash的可擦寫性進行系統的配置。由于單板模塊的復雜性,需要調整嵌入式處理機板的配置信息來保證其正常工作,因此,可以充分利用Flash的作用,將其和ROM的配置有效地結合起來。在分布式路由器中采取以下.MAC地址和IP地址的動態配置方法:
①按照正常工作所需量申請MAC地址(與靜態配置相比,沒有備用的MAC地址),這樣資源可以得到有效利用。
②設置嵌入式處理機板嵌入式系統訪問MAC地址和IP地址信息的順序。系統啟動讀取ROM信息,當讀到網口地址信息時轉到Flash中相關地址訪問,如果存在相關信息則讀取;如果Flash中沒有相關信息則讀取ROM中的地址信息,過程如圖2所示。
③從申請到的MAC地址中任選一個,同時選一個局域網IP地址。將這些硬件信息和嵌入式系統訪問MAC地址和IP地址順序的信息統一編程固化到各個ROM當中,并成批量生產這些ROM。這樣可以有效降低成本,減少生產周期。
④將這些ROM分別焊接到各嵌入式處理機板上,并把處理機板上Flash中的相關MAC地址和IP地址信息置O,這樣處理機板就讀取ROM中的地址信息進行配置。因為各個ROM中的MAC地址和IP地址信息相同,因此各處理機板的調試過程相同。這樣步驟一致,簡單易行。
⑤處理機板調試完畢后,把申請到的MAC地址分配給各個單板模塊不同的處理機板的網口;同時選一些局域網IP地址,保證它們在以太網內部是唯一的。然后可以通過調試工具(Linux下用Minicom,Windows下用遠程終端)將已分配好的MAC地址和IP地址等硬件信息分別寫到工作中的各處理機板上的Flash中。通過以上分配方式,所有工作的處理機板都將自己Flash中的地址作為唯一的MAC地址和IP地址了。嵌入式系統啟動時就讀到了分配給各自的地址信息。接下來就可以進行處理機板和各單板模塊的綜合調試了。
⑥當工作中的處理機板出現問題需要使用備用處理機板時,可以將出現問題的處理機板上Flash中MAC地址和IP地址重新分配給備用的處理機板。這樣就有效地利用了所申請的MAC地址資源。
通過以上MAC地址和IP地址的動態配置方法,可以有效地克服靜態配置方法中存在的各種問題。相對于靜態配置方法,動態配置方法結合了F1ash和ROM的靈活應用,有以下優點:
①能成批量生產內容一致的ROM,降低系統成本,減少生產周期。
②各個處理機板的調試步驟一致,簡單易行。
③所申請的MAC地址得到有效的利用,節省地址資源。
5 結 語
分布式系統中MAC地址和IP地址動態配置與靜態配置的根本區別在于F1ash的靈活應用。隨著分布式系統的應用日益廣泛和設計的日益復雜,動態配置方法所提供的低生產成本、短生產周期和高地址資源利用率以及簡公司提供的QHartus II和SOPC Builder開發工具可以在完成接口功能設計后,快速進行系統的集成設計和系統仿真,最終可以在Altera提供的Cyclone系列芯片上實現整個系統設計。對Nios處理器重新編程可以在不改變系統硬件框架的基礎上,方便地增加系統的功能和處理效率,對系統的升級和再開發有很大的便利。
責任編輯:gt
-
嵌入式
+關注
關注
5082文章
19126瀏覽量
305255 -
以太網
+關注
關注
40文章
5426瀏覽量
171733 -
存儲器
+關注
關注
38文章
7492瀏覽量
163843
發布評論請先 登錄
相關推薦
評論