1 前言
從外部看,交換機與集線器類似,實際上它們的分類是不同的。研究一下OSI,你會注意到七個不同的層對應不同的通訊服務。最底層是物理層,中繼器或中繼型集線器接收這些信令并在擴展時修復。10BASE5和10BASE-T都是物理層的標準。
物理層上面是數據鏈路層,它負責處理物理層間往來的幀的實際傳送和接收。站點編址(MAC或媒介訪問控制)、數據分幀及錯誤檢測都由數據鏈路層處理。盡管物理層的參照也包括在其中,IEEE802.3標準基本上是數據鏈路層的標準。網橋工作在數據鏈路層上。交換機和網橋一樣。
上一層是論述數據傳送的網絡層,它包括了一個以上的數據鏈接。由IP(流行的互連協(xié)議)的互連進行分類。路由器在多重鏈接中指揮交通。傳送單元叫做數據包。交換機通常不工作在這層,但有一個叫做第3層的交換機。實際上這是一個帶有交換機功能的路由器。
按硬件分,上一層是應用層。當需要用網關來互連不同的網絡和不同的協(xié)議時,網關位于該層。網關能獲知實際運行的應用而其他的設備如中繼器、網橋和路由器則不能。本文的重點是討論網橋。
2 網橋(交換機)的結構
交換機即網橋,兩者可以互換。最初,網橋用兩個端口連接兩個類似的數據鏈路以形成一個更大數據鏈路。如果這種實現沒有損失,加上數據鏈路間的通訊看起來一樣,這種網橋叫做透明網橋,你或許認為我們在描述路由器,實際不是。路由器將每一個數據鏈接看作帶有相應網絡地址的實際網絡。網橋把單個數據鏈接當作一個更大數據鏈接或網絡的一部分。它不使用網絡編址的概念,在多個數據鏈接中單站點的地址(MAC地址)并不重復。和傳統(tǒng)的帶有兩個端口的網橋不同,交換機有多個端口,通常被稱為交換型集線器或交換機。
與中繼型集線器不同,交換機的每一個端口和以太網主機適配器上的端口一樣,都是以太網的接口。這是因為每一個端口必須以另一個以太網設備身份作用。它必須能接收幀并進行解碼、測試幀的完整性、重裝并傳送以太網幀。但是,每一個端口都不要求有類似于以太網卡那樣的MAC地址。每一個交換機端口以混合方式作用,不考慮目標MAC地址即可接收所有幀。傳送過程中,以太網端口通過假設它的目標地址偽裝成節(jié)點設備。因此,交換型集線器的每一個端口并不需要自己的MAC地址,除非網橋有編址要求(生成樹算法要求網橋編址)。
以太網碰撞域通過交換機端口對其進行終結。對中繼型集線器而言,整個集線器是碰撞域的一部分。對交換機而言,它的好處在于每增加一個交換機,網絡的有效范圍就擴大一倍。這是因為網絡分成了兩個不同的數據鏈接。對于100Mbps的銅纜系統(tǒng)來說,這是很重要的,因為它的碰撞域只有205米。
另一個不同是中繼型集線器只能在一種速度下工作,要么10Mbps要么100Mbps。交換型集線器擁有多速端口,能與附屬于該端口的設備匹配,叫做自動協(xié)商。不同端口允許有不同速度。一些交換機有固定的低速端口(10Mbps),另還有一個或多個連至服務器的高速端口(100Mbps)。
通過在交換機端口上終結碰撞域,可以有效地把網絡分成單獨的碰撞域。如果只有一個設備附屬于交換機端口(一個以太網卡或是另一個交換機端口),這稱做網絡微化。在這種情況下,可實現全雙工工作而不會產生碰撞。但如果交換機端口(多主機適配卡和一個中繼集線器)存在一個共享型以太網碰撞域,只允許半雙工工作且交換機端口必須與以太網媒介裁決規(guī)則相符。
2.1 交換機工作原理
為了理解交換機工作原理,我們假設未對交換機進行編程。我們所討論的交換機只通過學習方式對操作進行修改。
假設有四個同樣的端口。假設端口1的站點A準備傳送信息至端口2的站點B。對于中繼型集線器或是未學習的交換機,盡管其它站點不是對話的一部分,它們會收聽至站點B的傳送。這種方式造成了不必要的網絡通訊,阻止了其他站點的初始化傳送。延遲站點只有偵測到空閑信號才能進行初始化傳送。與中繼型集線器不同,自學習交換機會注意到端口站點A的源地址,并將端口1與站點A相連這一實際情況輸入表格。但是,這時的交換機并不知道站點B位于何處,所以必須傳送至所有其他端口。這叫做洪泛。在站點B初始化傳送前,交換機獲悉站點B與端口2相連。一旦站點A和B的端口分配輸入交換機的表格,在兩個站點間的所有并發(fā)單址發(fā)送僅出現在端口1和2。所有的其他端口并不知道正在發(fā)生的傳送,因而允許端口1和2之外的站點能進行同步的傳送。這就是交換機提高吞吐量的原因。
如果站點B移至端口3會出現什么情況?如果站點A與站點B有通訊,根據端口-地址表,會傳送至端口2,傳送失敗。為了找到站點B所連的端口,需要進行傳送初始化。之后,交換機會注意到站點B端口分配的變化,在表格中做相應改動。但如果沒有站點B的報告,就無法讓交換機獲知站點B新的位置。這就是為什么交換機表格需要刷新。
刷新是忘卻的過程。交換機定時檢查表格中的所有站點是否在刷新期限內進行過初始化傳送。如果有某個站點沒有這么做,則被刪去。即站點B將被刪除。因此,當站點A對站點B進行初始化傳送,由于交換機表格中找不到站點B的入口,就會發(fā)送至所有端口,使得站點B能聽到站點A。站點B以發(fā)送初始化傳送來響應站點A,交換機將再次獲知站點B的端口分配并寫入表格。刷新過程通常每四,五分鐘發(fā)生一次,這樣可以獲知沒有動靜的設備的位置。
2.2 交換機的結構
與中繼型集線器不同,交換機允許端口的同步傳送進而提高了吞吐量。當然,這是在交換機的工作速度足夠快的前提下。做到這些的交換機叫做非阻塞型交換機。如果通訊不能同步,幀需要排隊或有丟失現象,叫做阻塞型交換機。
交換機的首要任務是把幀從一個端口可靠傳送至另一個端口。第二個任務是在表格中記錄它所知的多個源地址的位置。它的最后一個任務是對表作刷新,使站點能重新定位至另外的端口,可以被交換機找到。交換機是否對每一個幀都做這些工作,由處理的通訊量決定。多幀傳送時交換機可能會放棄刷新表格,這意味著一些第一次出現的源地址沒有記錄。一般地,刷新過程只是一個后臺過程,時間會隨通訊的情況變化。
2.3 數據延遲
交換機對幀進行操作,而中繼型集線器對信令進行操作。交換機必須從它的輸入端口之一接收完整的幀、觀察目的地址、端口分配查找、記錄源地址、檢驗幀是否有錯,然后轉發(fā)幀至指定的端口號。這叫存儲-轉發(fā)。10Mbps下,以太網幀通過交換機的最長允許時間是1.2ms,而發(fā)送的最短允許時間仍需要500μs左右。交換機的存儲-轉發(fā)引起了數據延遲。這個延遲時間與中繼型集線器進行比較,后者的延遲小于1ms。直通型交換機可以解決這個問題。
由于目的地址緊隨以太網幀的前導碼,交換機只需用11μs獲知幀要傳送的端口。交換機會立即將幀傳至要求的端口。當然,這是在假設已知輸出端口的情況下。如果端口已知,數據延遲可以明顯降低,但這種方法仍有問題。
如果輸出端口未知,交換機會象存儲-轉發(fā)方式那樣進行排隊。如果幀損壞,FCS沒有驗證出,交換機轉發(fā)的是不完整的幀。這種有缺陷的幀不應該在網絡中傳播,應該被丟棄。但是在一個可靠的局域網絡中,FCS失敗的機會很少,因此,這不是一個重要的話題。重要的是碰撞導致的幀殘片。這些幀殘片長度小于576位,但有可能比前導碼和目的地址之和(即112位)要大。因此,在確定幀是否殘缺前交換機會錯誤地轉發(fā)這些幀。解決的方法就是修改直通方式,即至少收到幀的576位才開始轉發(fā)。只有這時,幀的轉發(fā)才真正開始。
有時直通操作并不可行,例如,如果交換機要進行廣播、多址發(fā)送或目的地址未知的發(fā)送,在所有端口的輸出隊列同時進行即時傳送的可能性還很遙遠,在這種情況下,還是接收完整的幀并送至端口輸出隊列等待最終的傳送。
2.4 流量控制
高速結構的交換機可以用來處理大容量的同步通訊,但是,通訊方式并不會均勻地分布。通常會有一個主要端口,處理另一端口通訊,這個端口可能連接在服務器上或是主控制器上。如果交換機沒有用流量控制機制來限制輸入端口的接收,輸出端口發(fā)生阻塞,沒有多余的可用緩沖,幀會被未加提示、簡單地丟棄掉。為了避免這個問題,發(fā)展了兩種流量控制的方法-backpressure和PAUSE。
backpressure用在連接半雙工或共享型以太網的交換機端口上,即交換機端口使用以太網內置的碰撞檢測和延遲算法來加強段內的碰撞,進而要求附屬設備重發(fā)數據。當交換機的通訊恢復正常后,backpressure停止工作。
全雙工的鏈接是沒有碰撞的,因此backpressure不工作,取代它的是專用于全雙工的PAUSE功能。由交換機端口發(fā)出的PAUSE幀告訴源設備在一確定的時間內終止發(fā)送。這個方案工作與否要看附屬的設備能夠調用全雙工操作并能理解PAUSE幀的含義。
3 IEEE802.1D
IEEE中有一適用于網橋的標準-802.1D。這個標準的標題是:“信息技術—系統(tǒng)間的電信和信息交換-局域網和城域網—一般的規(guī)范—第3部分:媒介訪問控制網橋”。這個標準談了網橋(交換機)的使用。在這個標準中有一些參數對實時控制網絡的運作有一定影響。
3.1 數據刷新
刷新就是在一定量時間內由于源地址未進行初始化傳送,網橋的源地址從表格中移去的時間。標準允許的范圍為10s~1,000,000s。但大多數的網橋采用的約定是300s或5分鐘。
3.2 網橋發(fā)送延遲
規(guī)定了交換機引入的最大數據延遲。推薦最大值是1s,實際4s以內都允許,
3.3 FCS校驗
要求交換機對幀執(zhí)行幀校驗序列測試,并丟棄殘缺幀。為此,交換機必須在轉發(fā)前接收完整的幀。這意味著標準不允許直通或直通修正型的操作。
3.4 網橋編址
標準要求網橋不僅要有MAC地址,每一個端口也要有MAC地址。對于普通操作這是不必要的,許多商業(yè)交換機并不支持這個要求。
4 概括
交換機按網橋來分類,工作在數據鏈路層。它把網絡分成不同的碰撞域,擴展了網絡范圍。交換機會根據當前的通訊情況限制數據流向指定的端口,使其它空閑端口能進行獨立的傳送,改善了性能(與共享型相比)。中繼型集線器有它的作用,但取決于應用,交換機能提供更佳的解決方法。
|