三層交換機(jī)的原理和設(shè)計(jì)
傳統(tǒng)路由器在網(wǎng)絡(luò)中起到隔離網(wǎng)絡(luò)、隔離廣播、路由轉(zhuǎn)發(fā)以及防火墻的作業(yè),并且隨著網(wǎng)絡(luò)的不斷發(fā)展,路由器的負(fù)荷也在迅速增長。其中一個(gè)重要原因是出于安全和管理方便等方面的考慮,VLAN(虛擬局域網(wǎng))技術(shù)在網(wǎng)絡(luò)中大量應(yīng)用。VLAN技術(shù)可以邏輯隔離各個(gè)不同的網(wǎng)段、端口甚至主機(jī),而各個(gè)不同VLAN間的通信都要經(jīng)過路由器來完成轉(zhuǎn)發(fā)。由于局域網(wǎng)中數(shù)據(jù)流量很大,VLAN間大量的信息交換都要通過路由器來完成轉(zhuǎn)發(fā),這時(shí)候隨著數(shù)據(jù)流量的不斷增長路由器就成為了網(wǎng)絡(luò)的瓶頸。為了解決局域網(wǎng)絡(luò)的這個(gè)瓶頸,很多企業(yè)內(nèi)部、學(xué)校和小區(qū)建設(shè)局域網(wǎng)時(shí)都采用了三層交換機(jī)。三層交換技術(shù)將交換技術(shù)引入到網(wǎng)絡(luò)層,三層交換機(jī)的應(yīng)用也從最初網(wǎng)絡(luò)中心的骨干層、匯聚層一直滲透到網(wǎng)絡(luò)邊緣的接入層。
2.第三層交換技術(shù)
第三層交換技術(shù)也稱為IP 交換技術(shù)或高速路由技術(shù)等,是相對于傳統(tǒng)交換概念而提出的。眾所周知,傳統(tǒng)的交換技術(shù)是在OSI 網(wǎng)絡(luò)標(biāo)準(zhǔn)模型中的第二層—數(shù)據(jù)鏈路層進(jìn)行操作的,而第三層交換技術(shù)是在網(wǎng)絡(luò)模型中的第三層實(shí)現(xiàn)了數(shù)據(jù)包的高速轉(zhuǎn)發(fā)。簡單地說,第三層交換技術(shù)就是:第二層交換技術(shù)+第三層轉(zhuǎn)發(fā)技術(shù),這是一種利用第三層協(xié)議中的信息來加強(qiáng)第二層交換功能的機(jī)制。一個(gè)具有第三層交換功能的設(shè)備是一個(gè)帶有第三層路由功能的第二層交換機(jī),但它是二者的有機(jī)結(jié)合,并不是簡單地把路由器設(shè)備的硬件及軟件簡單地疊加在局域網(wǎng)交換機(jī)上。
2.2 三層交換的原理
從硬件的實(shí)現(xiàn)上看,目前,第二層交換機(jī)的接口模塊都是通過高速背板/總線交換數(shù)據(jù)的。在第三層交換機(jī)中,與路由器有關(guān)的第三層路由硬件模塊也插接在高速背板/總線上,這種方式使得路由模塊可以與需要路由的其他模塊間高速地交換數(shù)據(jù),從而突破了傳統(tǒng)的外接路由器接口速率的限制(10Mbit/s---100Mbit/s)。在軟件方面,第三層交換機(jī)將傳統(tǒng)的基于軟件的路由器重新進(jìn)行了界定:
(1).?dāng)?shù)據(jù)封包的轉(zhuǎn)發(fā):如IP/IPX 封包的轉(zhuǎn)發(fā),這些有規(guī)律的過程通過硬件高速實(shí)現(xiàn);
(2).第三層路由軟件:如路由信息的更新、路由表維護(hù)、路由計(jì)算、路由的確定等功能,用優(yōu)化、高效的軟件實(shí)現(xiàn)。
假設(shè)有兩個(gè)使用IP 協(xié)議的站點(diǎn),通過第三層交換機(jī)進(jìn)行通信的過程為:若發(fā)送站點(diǎn)A 在開始發(fā)送時(shí),已知目的站B的IP 地址,但尚不知道它在局域網(wǎng)上發(fā)送所需要的MAC 地址,則需要采用地址解析(ARP)來確定B的MAC 地址。A把自己的IP 地址與B的IP 地址比較,采用其軟件中配置的子網(wǎng)掩碼提取出網(wǎng)絡(luò)地址來確定B是否與自己在同一子網(wǎng)內(nèi)。若B 與A 在同一子網(wǎng)內(nèi),A 廣播一個(gè)ARP 請求,B 返回其MAC 地址,A 得到B 的MAC 地址后將這一地址緩存起來,并用此MAC 地址封包轉(zhuǎn)發(fā)數(shù)據(jù),第二層交換模塊查找MAC 地址表確定將數(shù)據(jù)包發(fā)向目的端口。若兩個(gè)站點(diǎn)不在同一子網(wǎng)內(nèi),則A 要向"缺省網(wǎng)關(guān)"發(fā)出ARP(地址解析)封包,而"缺省網(wǎng)關(guān)"的IP 地址已經(jīng)在系統(tǒng)軟件中設(shè)置,這個(gè)IP 地址實(shí)際上對應(yīng)第三層交換機(jī)的第三層交換模塊。當(dāng)A 對"缺省網(wǎng)關(guān)"的IP 地址廣播出一個(gè)ARP 請求時(shí),若第三層交換模塊在以往的通信過程中已得到B 的MAC 地址,則向發(fā)送站A 回復(fù)B 的MAC 地址;否則第三層交換模塊根據(jù)路由信息向目的站廣播一個(gè)ARP 請求,B 得到此ARP 請求后向第三層交換模塊回復(fù)其MAC 地址,第三層交換模塊保存此地址并回復(fù)給發(fā)送站A 。以后,當(dāng)再進(jìn)行A 與B 之間數(shù)據(jù)包轉(zhuǎn)發(fā)時(shí),將用最終的目的站點(diǎn)的MAC 地址封包,數(shù)據(jù)轉(zhuǎn)發(fā)過程全部交給第二層交換處理,信息得以高速交換[1] 。
2.3 第三層交換的特點(diǎn)
突出的特點(diǎn)如下:
(1). 有機(jī)的硬件結(jié)合使得數(shù)據(jù)交換加速;
(2). 優(yōu)化的路由軟件使得路由過程效率提高;
(3). 除了必要的路由決定過程外,大部分?jǐn)?shù)據(jù)轉(zhuǎn)發(fā)過程由第二層交換處理;
(4). 多個(gè)子網(wǎng)互連時(shí)只是與第三層交換模塊的邏輯連接,不象傳統(tǒng)的外接路由器那樣需增加端口,保護(hù)了用戶的投資。
第三層交換的目標(biāo)是,只要在源地址和目的地址之間有一條更為直接的第二層通路,就沒有必要經(jīng)過路由器轉(zhuǎn)發(fā)數(shù)據(jù)包。第三層交換使用第三層路由協(xié)議確定傳送路徑,此路徑可以只用一次,也可以存儲起來,供以后使用。之后數(shù)據(jù)包通過一條虛電路繞過路由器快速發(fā)送。
第三層交換技術(shù)的出現(xiàn),解決了局域網(wǎng)中網(wǎng)段劃分之后,網(wǎng)段中子網(wǎng)必須依賴路由器進(jìn)行管理的局面,解決了傳統(tǒng)路由器低速、復(fù)雜所造成的網(wǎng)絡(luò)瓶頸問題。當(dāng)然,三層交換技術(shù)并不是網(wǎng)絡(luò)交換機(jī)與路由器的簡單疊加,而是二者的有機(jī)結(jié)合,形成一個(gè)集成的、完整的解決方案。
3.一款第三層交換機(jī)的設(shè)計(jì)
考慮到市場需要,交換機(jī)成本和自主知識產(chǎn)權(quán)因素,我們設(shè)計(jì)開發(fā)了有自主知識產(chǎn)權(quán)的VLSW 4150系列交換機(jī)。VLSW 4150 系列交換機(jī)是為企業(yè)提供的高性能、多層次化的解決方案。VLSW 4150也適用于ISP和服務(wù)提供商,尤其是對于一些大型的運(yùn)營商,將能夠增強(qiáng)其在IP市場的競爭力。
3.1 總體設(shè)計(jì)
VLSW 4150交換機(jī)有24個(gè)RJ45 10/100BASE-TX自適應(yīng)端口,提供2個(gè)可選的光纖10/100BaseTx以太口、100BaseFx快速以太端口或者千兆以太網(wǎng)口(SX,LX,ZX),并另外提供一個(gè)串口和一個(gè)100M以太網(wǎng)口對交換機(jī)進(jìn)行配置。
VLSW 4150交換機(jī)的體系結(jié)構(gòu)可以支持最高到11Gbps的速率,多層交換速率達(dá)到6.6Mpps;可以支持8,192個(gè)MAC地址;為了更好的控制網(wǎng)絡(luò)流量和網(wǎng)絡(luò)安全,還支持以1M為步長的速率限制;支持Tagged VLAN和MAC-based的 幀過濾以及RIP、OSPF和BGP路由協(xié)議。
VLSW 4150交換機(jī)提供堆棧技術(shù)可以以一個(gè)邏輯IP地址來管理多個(gè)交換機(jī),并可在一個(gè)口上鏡像其他的數(shù)據(jù)包,提供基于Web的網(wǎng)管系統(tǒng)以及CLI方式來調(diào)試交換機(jī)。VLSW 4150支持SNMP協(xié)議、RMON和Telnet功能來便于管理。
3.2 硬件結(jié)構(gòu)
VLSW 4150三層交換機(jī)的硬件結(jié)構(gòu)分為兩個(gè)部分,處理器模塊和交換模塊,它們之間通過PCI接口相連,同時(shí)配合相應(yīng)的外圍電路形成完整的三層交換機(jī)系統(tǒng),見圖1。
圖1 硬件結(jié)構(gòu)
(1)處理器模塊
如圖2所示,處理器部采用一款MOTOROLA PowerQUICC II CPU,同一些外部存儲設(shè)備以及一些外圍電路構(gòu)成三層交換機(jī)的處理器部分。處理器模塊主要是運(yùn)行嵌入式操作系統(tǒng),配置系統(tǒng)和路由表的維持,而不是數(shù)據(jù)轉(zhuǎn)發(fā)通路的組成部分。CPLD 保存一些CPU初始化的一些配置以保證上電后CPU正常啟動(dòng),F(xiàn)lash 芯片用于存儲三層交換機(jī)的所需要的所有軟件和相關(guān)配置,SDRAM在系統(tǒng)啟動(dòng)之后載入FLASH中的程序,保證系統(tǒng)正常運(yùn)行。處理器模塊一方面提供一個(gè)快速以太網(wǎng)接口和一個(gè)異步口,用于對交換機(jī)進(jìn)行配置和調(diào)試;另一方面通過PCI接口和交換模塊相連,通過PCI接口對交換模塊進(jìn)行控制,并進(jìn)行數(shù)據(jù)傳輸[2] 。
圖2 處理器模塊的硬件組成
(2)交換模塊
如圖3所示,交換模塊采用了BROADCOM公司的BCM5645作為ASIC芯片,通過PCI接口與處理器模塊進(jìn)行通信完成數(shù)據(jù)傳輸,通過5645提供的內(nèi)存接口,可以給交換模塊提供一個(gè)64M的外部SDRAM,從而提高交換機(jī)的吞吐量和交換速度。5645通過MII接口和GMII接口分別連接24個(gè)百兆以太網(wǎng)和2個(gè)千兆以太網(wǎng)[3] 。
圖3 交換模塊的硬件組成
3.3 軟件結(jié)構(gòu)
VLSW 4150三層交換機(jī)的軟件系統(tǒng)采用了模塊化、分布式的設(shè)計(jì)方法,基于實(shí)時(shí)多任務(wù)操作系統(tǒng)。軟件系統(tǒng)的結(jié)構(gòu)呈層次結(jié)構(gòu),一層建立在另一層的基礎(chǔ)上,每一層都使用近鄰它的下一層所提供的服務(wù),并且為它上面一層提供更高一級的服務(wù),其優(yōu)點(diǎn)是:可以向上層軟件屏蔽底層操作,提高上層軟件的可移植性,提高軟件的可維護(hù)性。
如圖4所示,軟件大體分為三個(gè)層面:
(1)驅(qū)動(dòng)層
驅(qū)動(dòng)程序?qū)⑸蠈榆浖陀布到y(tǒng)進(jìn)行了連接,把上層軟件的路由更新、管理及配置命令轉(zhuǎn)化為硬件系統(tǒng)所能識別的格式,從而達(dá)到更新其內(nèi)部數(shù)據(jù)結(jié)構(gòu)如路由表,地址表等,控制及管理硬件交換系統(tǒng)的目的;同時(shí)設(shè)備驅(qū)動(dòng)程序把底層硬件收到的路由更新報(bào)文、控制管理幀及收到的各種信息傳遞給上層軟件處理;
(2)協(xié)議棧
實(shí)現(xiàn)了TCP/IP、802.1D和802.1Q等協(xié)議,為上層的應(yīng)用程序提供良好的接口;
(3)應(yīng)用層
主要包括路由模塊和網(wǎng)管模塊,路由模塊實(shí)現(xiàn)了RIP和OSPF等協(xié)議,即實(shí)現(xiàn)第三層路由的主要功能;網(wǎng)管模塊實(shí)現(xiàn)了SNMP和RMON等網(wǎng)管模塊,使三層交換機(jī)具有部分網(wǎng)管功能,保證三層交換機(jī)更好地正常運(yùn)轉(zhuǎn)。
圖4 軟件結(jié)構(gòu)
4.第三層交換機(jī)的應(yīng)用
第三層交換機(jī)的主要用途是代替?zhèn)鹘y(tǒng)路由器作為網(wǎng)絡(luò)的核心,因此,凡是沒有廣域連接需求,同時(shí)又需要路由器的地方,都可以用第三層交換機(jī)來代替。在企業(yè)網(wǎng)和校園網(wǎng)中,一般會(huì)將第三層交換機(jī)用在網(wǎng)絡(luò)的核心層,用第三層交換機(jī)上的千兆端口或百兆端口連接不同的子網(wǎng)或VLAN。第三層交換機(jī)解決了局域網(wǎng)VLAN必須依賴路由器進(jìn)行管理的局面,解決了傳統(tǒng)路由器速度低、復(fù)雜所造成的網(wǎng)絡(luò)瓶頸問題。利用三層交換機(jī)在局域網(wǎng)中劃分VLAN, 可以滿足用戶端多種靈活的邏輯組合, 防止了廣播風(fēng)暴的產(chǎn)生, 對不同 VLAN 之間可以根據(jù)需要設(shè)定不同的訪問權(quán)限,以此增加網(wǎng)絡(luò)的整體安全性,極大地提高網(wǎng)絡(luò)管理員的工作效率,而且第三層交換機(jī)可以合理配置信息資源,降低網(wǎng)絡(luò)配置成本,使得交換機(jī)之間連接變得靈活。