摘要:文章針對(duì)以太網(wǎng)交換機(jī)的可管理性的重要評(píng)價(jià)參數(shù),在分析了商用以太網(wǎng)交換機(jī)工作原理與設(shè)計(jì)基礎(chǔ)之上,設(shè)計(jì)并實(shí)現(xiàn)了面向以太網(wǎng)交換機(jī)的集群式管理方案,將二層交換機(jī)和三層交換機(jī)的集群管理無縫地結(jié)合在一起。這種集群管理方法以二層交換機(jī)的集群管理為基礎(chǔ),通過給三層交換機(jī)分不同的角色以及通過區(qū)域子分和設(shè)備抽象的概念,在保證集群系統(tǒng)的服務(wù)器性能的前提下提供了良好的集群管理特性。
關(guān)健詞:以太網(wǎng)交換機(jī);集群管理;主從服務(wù)器
中圖分類號(hào):TP393.11 文獻(xiàn)標(biāo)識(shí)碼:A 文章編號(hào):1006-8937(2009)12-0019-02
1集群管理系統(tǒng)的體系結(jié)構(gòu)
目前無論在城域網(wǎng)還是企業(yè)網(wǎng)中都廣泛采用了以太網(wǎng)技術(shù),而隨著網(wǎng)絡(luò)規(guī)模的增大,在網(wǎng)絡(luò)邊緣使用了大量的接入交換機(jī)。由于這些設(shè)備數(shù)量巨大,又需要逐一管理維護(hù),使管理工作非常繁瑣,同時(shí)為這些設(shè)備配置IP地址,也將耗費(fèi)大量的IP地址,在目前IP地址資源比較緊張的情況下無疑是一種浪費(fèi)。
針對(duì)以上問題,集群管理提出了一個(gè)解決方法。集群是由一組交換機(jī)組成的一個(gè)集合,集群管理提供了一種自動(dòng)收集設(shè)備拓?fù)涞姆椒ǎ⑻峁┝思?、統(tǒng)一的維護(hù)管理通道,并且一個(gè)集群只使用一個(gè)IP地址,從而簡化了設(shè)備的管理并節(jié)約了IP地址。
一個(gè)支持集群管理的域中只有一臺(tái)三層交換機(jī),可以有多臺(tái)二層交換機(jī),多臺(tái)二層交換機(jī)直接或間接地連接到三層交換機(jī)上。本方案支持設(shè)備間的級(jí)連;每臺(tái)服務(wù)器只能管理它所屬的設(shè)備,網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)如圖1所示,其中,A為三層交換機(jī),其他為二層交換機(jī)。
這個(gè)方案應(yīng)用在一個(gè)相對(duì)較小的網(wǎng)絡(luò)中,在這個(gè)網(wǎng)絡(luò)中,三層交換機(jī)連接到整個(gè)網(wǎng)絡(luò)的出口,二層交換機(jī)通過直接或間接方式與三層交換機(jī)相連。這個(gè)方案中,唯一的一臺(tái)三層交換機(jī)承擔(dān)整個(gè)網(wǎng)絡(luò)的集群管理任務(wù),數(shù)量眾多的二層交換機(jī)只是擔(dān)任三層交換機(jī)的子設(shè)備(或稱為客戶端)。圖1為本方案管理設(shè)備的典型拓?fù)浣Y(jié)構(gòu)圖。需作幾點(diǎn)說明:
①圖中A表示三層交換機(jī),其他表示二層交換機(jī),二層設(shè)備可以級(jí)聯(lián);A表示擔(dān)當(dāng)集群服務(wù)器的三層交換機(jī),其他二層交換機(jī)表示被管理的客戶端。
②圖中設(shè)備與設(shè)備之間、設(shè)備與服務(wù)器之間,以及服務(wù)器之間的連線僅僅表示為某種連接方式,下一級(jí)設(shè)備應(yīng)通過上行端口與上一級(jí)設(shè)備或服務(wù)器相連。
③理論上可支持很多級(jí)的級(jí)連,但是太多的清空下己失去意義,且最上一級(jí)設(shè)備將承受過大的負(fù)擔(dān),本方案控制為可支持8級(jí)級(jí)連。
④圖中級(jí)連的設(shè)備不區(qū)分類型,參加組網(wǎng)的交換機(jī)可能只有端口數(shù)目的不同,沒有其他區(qū)別,不同端口數(shù)目的交換機(jī)可以互相級(jí)聯(lián),如8口的交換機(jī)下行可級(jí)連8口、16口或24口的交換機(jī),其它也如此。
2系統(tǒng)的服務(wù)器與設(shè)備
①主從服務(wù)器。網(wǎng)絡(luò)中有多于一臺(tái)的三層交換機(jī)時(shí),由于這些三層交換機(jī)都有集群管理能力,所以必須通過某種方式使得其中的一臺(tái)三層交換機(jī)擔(dān)任服務(wù)器,其他的三層交換機(jī)擔(dān)任從服務(wù)器。如圖1所示的網(wǎng)絡(luò)中,三層交換機(jī)A、B、C都有擔(dān)任服務(wù)器的能力,但是A擔(dān)任服務(wù)器時(shí)是最合適的。判斷依據(jù)是要使得各個(gè)端口盡量分擔(dān)集群管理報(bào)文的信息量,且管理時(shí)不需要經(jīng)過太多的中間節(jié)點(diǎn)。如果B擔(dān)任服務(wù)器,雖然方案完全能正常工作,但當(dāng)要管理設(shè)備E時(shí),就需要經(jīng)過中間節(jié)點(diǎn)A、C、D,這些無關(guān)的節(jié)點(diǎn)參與E的管理,增加了系統(tǒng)的負(fù)擔(dān)。對(duì)于三層交換機(jī),在整個(gè)集群系統(tǒng)中可能擔(dān)任兩個(gè)角色:主服務(wù)器(SS MAIN SERVER);從服務(wù)器(SS SUB SERVER)。
在一個(gè)集群網(wǎng)絡(luò)中,只有一臺(tái)三層交換機(jī)是服務(wù)器,其他的三層交換機(jī)擔(dān)任從服務(wù)器。當(dāng)連接建立以后,從服務(wù)器會(huì)定時(shí)把自己的拓?fù)湫畔?bào)告給服務(wù)器;服務(wù)器收到此拓?fù)湫畔⒑蟾伦约旱耐負(fù)浣Y(jié)構(gòu),并向從服務(wù)器發(fā)送確認(rèn)報(bào)文。同時(shí)從服務(wù)器與下邊所有的設(shè)備進(jìn)行拓?fù)渚S護(hù)。
②設(shè)備的關(guān)系。文章稱相連接的設(shè)備的關(guān)系是連接關(guān)系。如圖1,與設(shè)備A直接相連的設(shè)備B稱為設(shè)備A的鄰居。本方案能發(fā)現(xiàn)支持本方案的所有設(shè)備(不識(shí)別用戶主機(jī)、集線器設(shè)備)。
為支持服務(wù)器維護(hù)拓?fù)浣Y(jié)構(gòu),設(shè)備A應(yīng)知道它的那個(gè)端口連接了哪些設(shè)備,為了獲取拓?fù)湫畔?,需要知道鄰居的端口?hào)、設(shè)備類型、版本等信息。下級(jí)設(shè)備將定時(shí)向上級(jí)設(shè)備發(fā)送消息,通告自己的MAC地址與接收端口號(hào)。上級(jí)設(shè)備根據(jù)收到的信息構(gòu)造鄰居表。這樣就可以在一臺(tái)設(shè)備上獲得直接與其相連的設(shè)備的拓?fù)湫畔?dāng)需要查詢其拓?fù)鋾r(shí),可以遞歸查詢每一個(gè)鄰居表來獲此服務(wù)器下端連接的交換機(jī)的拓?fù)湫畔ⅰ?/p>
3核心數(shù)據(jù)
為了實(shí)現(xiàn)集群管理,需要在添加一系列數(shù)據(jù)結(jié)構(gòu)來支撐這些關(guān)于集群管理的各個(gè)模塊。在服務(wù)器端,主要有四個(gè)模塊,即表示客戶端的“設(shè)備控制塊”,接收集群管理報(bào)文以便以后處理的“接收隊(duì)列”,表示整個(gè)網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)的數(shù)據(jù)結(jié)構(gòu)“拓?fù)洹?,以及為?shí)現(xiàn)模板化管理而加入的“用戶表”。設(shè)備的連接控制塊是服務(wù)器端核心的數(shù)據(jù)結(jié)構(gòu),每一個(gè)登錄服務(wù)器的子設(shè)備在服務(wù)器中都通過這種類型的一個(gè)數(shù)據(jù)結(jié)構(gòu)來表示,登錄到服務(wù)器的所有設(shè)備的連接控制塊形成一個(gè)雙向鏈表,互相連接起來,系統(tǒng)中很多操作都是基于這個(gè)鏈表的。
當(dāng)交換機(jī)收到一個(gè)新的MAC幀時(shí)要判斷這個(gè)幀的類型,若是集群管理報(bào)文,則交換芯片不根據(jù)這個(gè)幀的目的MAC進(jìn)行轉(zhuǎn)發(fā),而是直接送交CPU。這時(shí)CPU將把這個(gè)幀轉(zhuǎn)發(fā)到集群管理模塊進(jìn)行處理。上層任務(wù)的對(duì)報(bào)文的處理和報(bào)文的接收是異步的,所以本方案把接收到的報(bào)文加入到一個(gè)隊(duì)列,即接收隊(duì)列,隨后發(fā)送一個(gè)消息,通知上層處理接收到的報(bào)文,在此過程的任意時(shí)刻都可以向接收隊(duì)列中添加報(bào)文。
當(dāng)網(wǎng)絡(luò)中新加入一個(gè)設(shè)備或斷開一個(gè)設(shè)備時(shí),拓?fù)浣Y(jié)構(gòu)將改變。拓?fù)浣Y(jié)構(gòu)與LCB結(jié)構(gòu)是一一對(duì)應(yīng)的,每個(gè)LCB對(duì)應(yīng)一個(gè)節(jié)點(diǎn)。因此,拓?fù)浣Y(jié)構(gòu)隨設(shè)備的登錄或斷開連接而變化:當(dāng)一個(gè)設(shè)備登錄時(shí),創(chuàng)建一個(gè)LCB、添加一個(gè)拓?fù)涔?jié)點(diǎn);當(dāng)設(shè)備退出時(shí),釋放相應(yīng)LCB和節(jié)點(diǎn)。
服務(wù)器可以提供多個(gè)分組管理策略,對(duì)應(yīng)與多個(gè)策略,服務(wù)器通過成為用戶模板的數(shù)據(jù)結(jié)構(gòu)來實(shí)現(xiàn)。這些結(jié)構(gòu)組成用戶表。用戶表實(shí)現(xiàn)分組管理的策略,用戶表由用戶維護(hù)。
參考文獻(xiàn):
[1] 彭濤.交換機(jī)集群技術(shù)[J].現(xiàn)代通信,2003,(4).
[2] 陳明.網(wǎng)絡(luò)設(shè)備教程[M].北京:清華大學(xué)出版社,2004.
[3] 馮彬,李芳芳.以太網(wǎng)交換機(jī)的工作原理[J].Siena andTechnology Information,2007,(17).