一、交換機的交換方式
目前交換機在傳送源和目的端口的數據包時通常采用直通式交換、存儲轉發式和碎片隔離方式三種數據包交換方式,下面分別簡述。
1、直通交換方式
采用直通交換方式的以太網交換機可以理解為在各端口間是縱橫交叉的線路矩陣電話交換機。它在輸入端口檢測到一個數據包時,檢查該包的包頭,獲取包的目的地址,啟動內部的動態查找表轉換成相應的輸出端口,在輸入與輸出交叉處接通,把數據包直通到相應的端口,實現交換功能。由於它只檢查數據包的包頭(通常只檢查14個字節),不需要存儲,所以切入方式具有延遲小,交換速度快的優點(所謂延遲(Latency)是指數據包進入一個網絡設備到離開該設備所花的時間)。
它的缺點主要有三個方面:一是因為數據包內容並沒有被以太網交換機保存下來,所以無法檢查所傳送的數據包是否有誤,不能提供錯誤檢測能力;第二,由於沒有緩存,不能將具有不同速率的輸入/輸出端口直接接通,而且容易丟包。如果要連到高速網絡上,如提供快速以太網(100BASE-T)、FDDI或ATM連接,就不能簡單地將輸入/輸出端口“接通”,因為輸入/輸出端口間有速度上的差異,必須提供緩存;第三,當以太網交換機的端口增加時,交換矩陣變得越來越復雜,實現起來就越困難。
2、存儲轉發方式
存儲轉發(Store and Forward)是計算機網絡領域使用得最為廣泛的技術之一,以太網交換機的控制器先將輸入端口到來的數據包緩存起來,先檢查數據包是否正確,並過濾掉沖突包錯誤。確定包正確後,取出目的地址,通過查找表找到想要發送的輸出端口地址,然後將該包發送出去。正因如此,存儲轉發方式在數據處理時延時大,這是它的不足,但是它可以對進入交換機的數據包進行錯誤檢測,並且能支持不同速度的輸入/輸出端口間的交換,可有效地改善網絡性能。它的另一優點就是這種交換方式支持不同速度端口間的轉換,保持高速端口和低速端口間協同工作。實現的辦法是將10Mbps低速包存儲起來,再通過100Mbps速率轉發到端口上。
3、碎片隔離式(Fragment Free)
這是介於直通式和存儲轉發式之間的一種解決方案。它在轉發前先檢查數據包的長度是否夠64個字節(512 bit),如果小於64字節,說明是假包(或稱殘幀),則丟棄該包;如果大於64字節,則發送該包。該方式的數據處理速度比存儲轉發方式快,但比直通式慢,但由於能夠避免殘幀的轉發,所以被廣泛應用於低檔交換機中。
使用這類交換技術的交換機一般是使用了一種特殊的緩存。這種緩存是一種先進先出的FIFO(First In First Out),比特從一端進入然後再以同樣的順序從另一端出來。當幀被接收時,它被保存在FIFO中。如果幀以小於512比特的長度結束,那麼FIFO中的內容(殘幀)就會被丟棄。因此,不存在普通直通轉發交換機存在的殘幀轉發問題,是一個非常好的解決方案。數據包在轉發之前將被緩存保存下來,從而確保碰撞碎片不通過網絡傳播,能夠在很大程度上提高網絡傳輸效率。
二、主流堆棧交換技術
通過我們前面的介紹已經知道,按交換機工作在OSI/RM堆棧協議層來分的話,目前的交換機主要有第二層、第三層和第四層交換機,它們都有其對應的主流交換技術,下面分別予以介紹。
1、第二層交換技術
90年代初,在網絡系統集成模式中大量引入了局域網交換機。局域網交換機是一種第二層網絡設備,交換機在操作過程中不斷地收集資料去建立它本身的地址表,這個表相當簡單,主要標明某個MAC地址是在哪個端口上被發現的。當交換機接收到一個數據封包時,它檢查該封包的目的MAC地址,核對一下自己的地址表以決定從哪個端口發送出去。而不是象集線器那樣,任何一個發送方數據都會出現在集線器的所有端口上(不管是否為你所需)。這時的交換機因為其只能工作在OSI/RM的第二層,所以也就稱之為第二層交換機,所采用的技術也就稱之為“第二層交換技術”。
“第二層交換”是指OSI第二層或稱MAC層的交換。第二層交換機的引入,使得網絡站點間可獨享帶寬,消除了無謂的碰撞檢測和出錯重發,提高了傳輸效率,在交換機中可並行的維護幾個獨立的、互不影響的通信進程。在交換網絡環境下,用戶信息只在源節點與目的節點之間進行傳送,其他節點是不可見的。但有一點例外,當某一節點在網上發送廣播或多目廣播時,或某一節點發送了一個交換機不認識的MAC地址封包時,交換機上的所有節點都將收到這一廣播信息。整個交換環境構成一個大的廣播域。也就是說第二層交換機仍可能存在“廣播風暴”,廣播風暴會使網絡的效率大打折扣,但出現情況的情形的比率比起集線器來說要少許多。