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