【正文】
為了降低阻塞和避免線(xiàn)端阻塞,高速交換 ASIC 使用了共享和每端口緩沖區(qū)技術(shù)。 7.總結(jié) 在優(yōu)化數(shù)據(jù)交換方面,盡管存在多種不 同的方法,但它們的核心概念卻是緊密相關(guān)的。每種交換平臺(tái)都支持各種類(lèi)型負(fù)責(zé)智能交換決策的ASIC。 6. 數(shù)據(jù)轉(zhuǎn)發(fā) 無(wú)論交換矩陣類(lèi)型如何,交換機(jī)都必須決定哪些端口轉(zhuǎn)發(fā)幀和哪些端口應(yīng)當(dāng)清空或者丟棄幀。在正常工作的情況下,因?yàn)榻粨Q總線(xiàn)能夠以非常高的速度為幀提供服務(wù),所以只需要小的輸入隊(duì)列。每個(gè)端口都維護(hù) 1個(gè)小的入口緩沖區(qū)和 1 個(gè)大的出口緩沖區(qū)。在這種情況下,發(fā)往其他非忙狀中英文資料 12 態(tài)線(xiàn)路卡的數(shù)據(jù)將會(huì)被線(xiàn)端的幀所阻塞。 圖 27 線(xiàn)端阻塞 在使用交叉交換矩陣的情況下,因?yàn)楹芏嗑€(xiàn)路卡都和交換矩陣之間具有高速連接,所以也可能發(fā)生線(xiàn)端阻塞。因?yàn)榻粨Q機(jī)需要發(fā)送流量為端口轉(zhuǎn)發(fā)能力的 150%,所以交換端口 4 所轉(zhuǎn)發(fā)的流量就會(huì)產(chǎn)生擁塞。流量發(fā)生器的端口 1 連接到交換機(jī)的端口 1,并且向交換機(jī)的端口 3 和端口 4 發(fā)送 50%速率的流量。這種情況與在銀行中進(jìn)行巾進(jìn)行存款的情形存在一定的相似性: l 名出納員向多個(gè)客戶(hù)提供服務(wù),但接收服務(wù)的客戶(hù)正在辦理復(fù)雜的業(yè)務(wù),那么其他客戶(hù)就必須等待。為了獲得交換總線(xiàn)的訪(fǎng)問(wèn),每個(gè)線(xiàn)路卡的本地仲裁器都必須等待中央仲裁器的分配次序。在早期的共享總線(xiàn)環(huán)境中,中央仲裁器采用循環(huán)服務(wù)的方法在不同的線(xiàn)路卡之間移動(dòng)流量。 5. 擁塞和線(xiàn)端阻塞 對(duì)于等待傳送的流量,如呆它們阻礙或者阻塞了去往其他目標(biāo)的流量被傳送,那么就發(fā)生線(xiàn)端阻寨。 圖 26 共享內(nèi)存體系結(jié)構(gòu) 根據(jù)具體的帶寬需求情況, Cisco 在各種平臺(tái)上提供了無(wú)阻塞和阻塞等兩種配置。如果大部分或者全部端口都連接到高速文件服務(wù)器,而這些 文件服務(wù)器會(huì)產(chǎn)生穩(wěn)定的通信流,那么單個(gè)線(xiàn)路模塊就會(huì)超過(guò)整個(gè)交換矩陣的帶寬。 根據(jù)應(yīng)用情況的不同,過(guò)度預(yù)定的端口可能存在問(wèn)題,也可能不存在問(wèn)題。例如,對(duì)于 8 端口吉比特以太網(wǎng)模塊,為了似的端口能夠達(dá)到無(wú)阻塞的狀態(tài),那么就要求交換矩陣必須支持 8Gbit/s 的帶寬。 圖 26 舉例說(shuō)明輸入幀在被交換引擎交換之前如何存儲(chǔ)到共享內(nèi)存(以 64 字節(jié)為單位)中。 Catalyst 4500 Supervisor IV 中英文資料 11 采用 16MB 的 SRAM 用于分組緩沖區(qū)。對(duì)于采用 Supervisor 1的 Catalyst 4000系列,它采用 8MB 的 SRAM( Static RandomAccess Memory,靜態(tài)隨機(jī)訪(fǎng)問(wèn)內(nèi)存)作為動(dòng)態(tài)幀緩沖區(qū)。分組采用 FIFO( first in , first out,先入先出)的處理方式。 圖 25 端口緩沖內(nèi)存 Catalyst 1200 系列交換機(jī)是一款早期的共享內(nèi)存交換機(jī)產(chǎn)品。所有的入口幀都被存儲(chǔ)到共享內(nèi)存“池”中,并且一直保存到出站端口準(zhǔn)備發(fā)送幀為止。 共享內(nèi)存 在最早的 Cisco 交換機(jī)產(chǎn)品中,某些產(chǎn)品使用共享內(nèi)存設(shè)計(jì)進(jìn)行端口緩沖。因?yàn)榇蠖鄶?shù)緩沖區(qū)都用語(yǔ)輸出隊(duì)列,所以 Catalyst 5000 家族交換機(jī)已經(jīng)減輕線(xiàn)端阻塞的問(wèn)題。對(duì)于采用 SAINT ASIC 的 Catalyst 5000 以太網(wǎng)卡,每個(gè)端口包含 192KB 的緩沖區(qū)內(nèi)存,其中 24KB 用于接收或者輸入緩沖區(qū),而 168KB 用于發(fā)送或者輸出緩沖區(qū)。為了最大限度利用緩沖的優(yōu)勢(shì),方法之一是采用靈活的緩沖區(qū)尺寸。 端口緩沖內(nèi)存 通過(guò)采用端口緩沖內(nèi)存,交換機(jī) (例如 Catalyst 5500)能夠?yàn)槊總€(gè)以太網(wǎng)端口提供一定數(shù)量的高速內(nèi)存,這些內(nèi)存可用于幀發(fā)送之前的幀緩沖。出現(xiàn)下述情況的時(shí)中英文資料 10 候,就需要使用緩沖: ? 入口和出站端口的速度不匹配; ? 多個(gè)輸入端口共同向單個(gè)輸出端口提供流景; ? 輸出端口發(fā)生半雙工碰撞; ? 上述幾種情況的組合。如果沒(méi)有有效的緩沖機(jī)制,那么當(dāng)出現(xiàn)流景過(guò)量或發(fā)牛擁塞的時(shí)候 ,幀被丟棄的可能性就非常高。此外,交叉交換矩陣發(fā)生擁塞,也可能會(huì)延遲幀的處理。新型 SFM2 用于支持 Catalyst 6513( 13 插槽的機(jī)箱),并且對(duì) SFM 進(jìn)行了體系結(jié)構(gòu)方面的優(yōu)化。 在 Cisco Catalyst 6500 系列交換機(jī)中, SFM( Switch Fabric Module,交換矩陣模塊)和SFM2( Switch Fabric Module2,交換矩陣模塊 2)能夠支持交叉矩陣。通過(guò)僅連接到 3 條數(shù)據(jù)總線(xiàn)中的 1 條數(shù)據(jù)總線(xiàn),老式的 Cisco Catalyst 5500系列線(xiàn)路卡仍然能夠兼容 Cisco Catalyst 5500 系列。對(duì)于不同的交換機(jī)平臺(tái),術(shù)語(yǔ)交叉矩陣意味著不同的內(nèi)容,但基本都指線(xiàn)路卡之間能夠同時(shí)使用多個(gè)數(shù)據(jù)信道或者通路。因?yàn)榭偩€(xiàn)采用共享訪(fǎng)問(wèn)的方式,所以線(xiàn)路卡必須等待時(shí)機(jī)才能進(jìn)行通信,這嚴(yán)重限制了總帶寬。 共享總線(xiàn)體系結(jié)構(gòu)的優(yōu)勢(shì)之一在于每個(gè)端口(入站端口除外)都將自動(dòng)接收幀的副本,也就易于實(shí)現(xiàn)組播和廣播流量,而無(wú)需復(fù)制各個(gè)端口的幀。 ,其余端口丟棄該幀 根 據(jù)第 5 步驟中的決策,某個(gè)特定端口或者某些端口被告知發(fā)送幀,而其余端口則被告知丟棄或者清空幀。 第 2 步驟中添加到幀中的信息可用于確定哪些端口應(yīng)當(dāng)發(fā)送幀。 中英文資料 9 在共享總線(xiàn)體系結(jié)構(gòu)中,所有端口都將同時(shí)接收每個(gè)發(fā)送幀。 包含轉(zhuǎn)發(fā)決策所需要的信息報(bào)頭將被添加到幀中,然后線(xiàn)路卡請(qǐng)求在數(shù)據(jù)總線(xiàn) 上發(fā)送幀的訪(fǎng)問(wèn)權(quán)限或者許可權(quán)限。端口根據(jù)幀的 FCS( Frame Check Sequence,幀檢驗(yàn)序列)進(jìn)行錯(cuò)誤檢測(cè)。 圖 22 循環(huán)服務(wù)順序 圖 23 說(shuō)明了共享總線(xiàn)體系結(jié)構(gòu)中將接收端口或入口處的幀移動(dòng)到發(fā)送端口或出口的基本原理 ,其中各步驟說(shuō)明如下。如果希望根據(jù)幀的接收順序進(jìn)行服務(wù),那么循環(huán)是最簡(jiǎn)單的方法。共享總線(xiàn)體系結(jié)構(gòu)非常類(lèi)似于機(jī)場(chǎng)票務(wù)柜臺(tái)前的多個(gè)隊(duì)列,但任何時(shí)候僅有 1個(gè)票務(wù)代理處理客戶(hù)請(qǐng)求。中央仲裁器決定何時(shí)授予各線(xiàn)路卡訪(fǎng)問(wèn)總線(xiàn)的請(qǐng)求。 盡管 Cisco Catalyst 平臺(tái)已經(jīng)采用多種技術(shù)來(lái)實(shí)現(xiàn)交換矩陣,但以下兩種體系結(jié)構(gòu)的交換矩陣最為常見(jiàn): ? 共享總線(xiàn); ? 交叉矩陣。 Catalyst 交換機(jī)中的交換矩陣可以看作汽車(chē)中的傳動(dòng)裝置,在汽車(chē)中 ,傳動(dòng)裝置負(fù)責(zé)將引擎的動(dòng)力傳遞給汽車(chē)輪子;在Catalyst 交換機(jī)中,交換矩陣負(fù)責(zé)將輸入或入站端口的幀轉(zhuǎn)送給單個(gè)或多個(gè)輸出和出站端口。 圖 21 交換模式 2. 數(shù)據(jù)交換 無(wú)論交換機(jī)需要檢查幀的多少字節(jié),幀最終都將由輸入或入站端口交換到單個(gè)或多個(gè)輸出和出站端口。 由于 采用速度更快的處理器和 ASIC( ApplicationSpecific Integrated Circuit,專(zhuān)用集成電路),交換機(jī)不必支持直通交換機(jī)和碎片隔離交換,因此,所有新型的 Cisco Catalyst 交換機(jī)都采用存儲(chǔ)轉(zhuǎn)發(fā)交換。為什么交換機(jī)檢查幀的前64 個(gè)字節(jié)呢 ?因?yàn)樵谠O(shè)計(jì)良好的以太網(wǎng)網(wǎng)絡(luò)中 ,碰撞碎片必須在前 64 字節(jié)中檢測(cè)出來(lái)。 碎片隔離模式 如呆交換機(jī)工作在碎片隔離模式 ,那么它將接收和檢查全幀的前 64 個(gè)字節(jié)。這 6 個(gè)字節(jié)代表了幀的日標(biāo) MAC 地址 ,交換機(jī)利用這些信息足以做 出轉(zhuǎn)發(fā)決策。下面將詳細(xì)討論每種交換模式。 Catalyst 交換機(jī)攴持下述三種交換模式 : ? 直通模式; ? 碎片隔離模式; ? 存儲(chǔ)轉(zhuǎn)發(fā)模式。本章首先從第2 層的角度來(lái)研究交換機(jī)。對(duì)于僅在 OSI 模型的第 2 層進(jìn)行轉(zhuǎn)發(fā)決策的交換機(jī),它們將數(shù)據(jù)看作幀。這些概念并非 Cisco 交換機(jī)所特有的,而是在查看局域網(wǎng)交換機(jī)功能的時(shí)候,對(duì)所有交換機(jī)產(chǎn)品都適用的。隨后,本章介紹保證高效數(shù)據(jù)交換的一些機(jī)制。 one important example is the use of per port buffering. Each port maintains a small ingress buffer and a larger egress buffer. Larger output buffers (64 Kb to 512 k shared) allow frames to be queued for transmit during periods of congestion. During normal operations, only a small input queue is necessary because the switching bus is servicing frames at a very high speed. In addition to queuing during congestion, many models of Catalyst switches are capable of separating frames into different input and output queues, providing preferential treatment or priority queuing for sensitive traffic such as voice. Chapter 8 will discuss queuing in greater detail. 6. Forwarding Data Regardless of the type of switch fabric, a decision on which ports should forward a frame and which should flush or discard the frame must occur. This decision can be made using only the information found at Layer 2 (source/destination MAC address), or on other factors such as Layer 3 (IP) and Layer 4 (Port). Each switching platform supports various types of ASICs responsible for making the intelligent switching decisions. Each Catalyst switch creates a header or label for each packet, and forwarding decisions are based on this header or label. Chapter 3 will include a more detailed discussion of how various platforms make forwarding decisions and ultimately forward data. 7. Summary Although a wide variety of different approaches exist to optimize the s