層交換技術是發展比較成熟,二層交換器屬資料連結層裝置,可以識別資料包中的MAC地址資訊,根據MAC地址進行轉寄,並將這些MAC地址與對應的連接埠記錄在自己內部的一個地址表中。具體的工作流程如下:
(1) 當交換器從某個連接埠收到一個資料包,它先讀取包頭中的源MAC地址,這樣它就知道源MAC地址的機器是連在哪個連接埠上的;
(2) 再去讀取包頭中的目的MAC地址,並在地址表中尋找相應的連接埠;
(3) 如表中有與這目的MAC地址對應的連接埠,把資料包直接複製到這連接埠上;
(4) 如表中找不到相應的連接埠則把資料包廣播到所有連接埠上,當目的機器對源機器回應時,交換器又可以學習一目的MAC地址與哪個連接埠對應,在下次傳送資料時就不再需要對所有連接埠進行廣播了。
不斷的迴圈這個過程,對於全網的MAC地址資訊都可以學習到,二層交換器就是這樣建立和維護它自己的地址表。
從二層交換器的工作原理可以推知以下三點:
(1) 由於交換器對多數連接埠的資料進行同時交換,這就要求具有很寬的交換匯流排頻寬,如果二層交換器有N個連接埠,每個連接埠的頻寬是M,交換器匯流排頻寬超過N×M,那麼這交換器就可以實現線速交換;
(2) 學習連接埠串連的機器的MAC地址,寫入地址表,地址表的大小(一般兩種表示方式:一為BEFFER RAM,一為MAC表項數值),地址表大小影響交換器的接入容量;
(3) 還有一個就是二層交換器一般都含有專門用於處理資料包轉寄的ASIC (Application specific Integrated Circuit)晶片,因此轉寄速度可以做到非常快。由於各個廠家採用ASIC不同,直接影響產品效能。
以上三點也是評判二三層交換器效能優劣的主要技術參數,這一點請大家在考慮裝置選型時注意比較。
(二)路由技術
路由器工作在OSI模型的第三層---網路層操作,其工作模式與二層交換相似,但路由器工作在第三層,這個區別決定了路由和交換在傳遞包時使用不同的控制資訊,實現功能的方式就不同。工作原理是在路由器的內部也有一個表,這個表所標示的是如果要去某一個地方,下一步應該向那裡走,如果能從路由表中找到資料包下一步往那裡走,把鏈路層資訊加上轉寄出去;如果不能知道下一步走向那裡,則將此包丟棄,然後返回一個資訊交給源地址。
路由技術實質上來說不過兩種功能:決定最優路由和轉寄資料包。路由表中寫入各種資訊,由路由演算法計算出到達目的地址的最佳路徑,然後由相對簡單直接的轉寄機制發送資料包。接受資料的下一台路由器依照相同的工作方式繼續轉寄,依次類推,直到資料包到達目的路由器。
而路由表的維護,也有兩種不同的方式。一種是路由資訊的更新,將部分或者全部的路由資訊公布出去,路由器通過互相學習路由資訊,就掌握了全網的拓撲結構,這一類的路由協議稱為距離向量路由協議;另一種是路由器將自己的鏈路狀態資訊進行廣播,通過互相學習掌握全網的路由資訊,進而計算出最佳的轉寄路徑,這類路由協議稱為鏈路狀態路由協議。
由於路由器需要做大量的路徑計算工作,一般處理器的工作能力直接決定其效能的優劣。當然這一判斷還是對中低端路由器而言,因為高端路由器往往採用分散式處理系統體系設計。
(三)三層交換技術
近年來的對三層技術的宣傳,耳朵都能起繭子,到處都在喊三層技術,有人說這是個非常新的技術,也有人說,三層交換嘛,不就是路由器和二層交換器的堆疊,也沒有什麼新的玩意,事實果真如此嗎?下面先來通過一個簡單的網路來看看三層交換器的工作過程。
組網比較簡單
使用IP的裝置A------------------------三層交換器------------------------使用IP的裝置B
比如A要給B發送資料,已知目的IP,那麼A就用子網路遮罩取得網路地址,判斷目的IP是否與自己在同一網段。
如果在同一網段,但不知道轉寄資料所需的MAC地址,A就發送一個ARP請求,B返回其MAC地址,A用此MAC封裝資料包並發送給交換器,交換器起用二層交換模組,尋找MAC地址表,將資料包轉寄到相應的連接埠。
如果目的IP地址顯示不是同一網段的,那麼A要實現和B的通訊,在流緩衝條目中沒有對應MAC地址條目,就將第一個正常資料包發送向一個預設網關,這個預設網關一般在作業系統中已經設好,對應第三層路由模組,所以可見對於不是同一子網的資料,最先在MAC表中放的是預設網關的MAC地址;然後就由三層模組接收到此資料包,查詢路由表以確定到達B的路由,將構造一個新的幀頭,其中以預設網關的MAC地址為源MAC地址,以主機B的MAC地址為目的MAC地址。通過一定的識別觸發機制,確立主機A與B的MAC地址及轉送連接埠的對應關
系,並記錄進流緩衝條目表,以後的A到B的資料,就直接交由二層交換模組完成。這就通常所說的一次路由多次轉寄。
以上就是三層交換器工作過程的簡單概括,可以看出三層交換的特點:
由硬體結合實現資料的高速轉寄。
這就不是簡單的二層交換器和路由器的疊加,三層路由模組直接疊加在二層交換的高速背板匯流排上,突破了傳統路由器的介面速率限制,速率可達幾十Gbits。算上背板頻寬,這些是三層交換器效能的兩個重要參數。
簡潔的路由軟體使路由過程簡化。
大部分的資料轉寄,除了必要的路由選擇交由路由軟體處理,都是又二層模組高速轉寄,路由軟體大多都是經過處理的高效最佳化軟體,並不是簡單照搬路由器中的軟體。
結論
二層交換器用於小型的區域網路絡。這個就不用多言了,在小型區域網路中,廣播包影響不大,二層交換器的快速交換功能、多個接入連接埠和低謙價格為小型網路使用者提供了很完善的解決方案。
路由器的優點在於介面類型豐富,支援的三層功能強大,路由能力強大,適合用於大型的網路間的路由,它的優勢在於選擇最佳路由,負荷分擔,鏈路備份及和其他網路進行路由資訊的交換等等路由器所具有功能。
三層交換器的最重要的功能是加快大型區域網路絡內部的資料的快速轉寄,加入路由功能也是為這個目的服務的。如果把大型網路按照部門,地區等等因素劃分成一個個小區域網路,這將導致大量的網際互訪,單純的使用二層交換器不能實現網際互訪;如單純的使用路由器,由於介面數量有限和路由轉寄速度慢,將限制網路的速度和網路規模,採用具有路由功能的快速轉寄的三層交換器就成為首選。
一般來說,在內網資料流量大,要求快速轉寄響應的網路中,如全部由三層交換器來做這個工作,會造成三層交換器負擔過重,響應速度受影響,將網間的路由交由路由器去完成,充分發揮不同裝置的優點,不失為一種好的組網策略,當然,前提是客戶的腰包很鼓,不然就退而求其次,讓三層交換器也兼為網際互連。
第四層交換的一個簡單定義是:它是一種功能,它決定傳輸不僅僅依據MAC地址(第二層橋接器)或源目標IP地址(第三層路由),而且依據TCPUDP(第四層) 應用連接埠號碼。第四層交換功能就象是虛IP,指向物理伺服器。它傳輸的業務服從的協議多種多樣,有HTTP、FTP、NFS、Telnet或其他協議。這些業務在物理伺服器基礎上,需要複雜的載量平衡演算法。在IP世界,業務類型由終端TCP或UDP連接埠地址來決定,在第四層交換中的應用區間則由源端和終端IP地址、TCP和UDP連接埠共同決定。
在第四層交換中為每個供搜尋使用的伺服器組設立虛IP地址(VIP),每組伺服器支援某種應用。在網域名稱伺服器(DNS)中儲存的每個應用伺服器位址是VIP,而不是真實的伺服器位址。
當某使用者申請應用時,一個帶有目標伺服器組的VIP串連請求(例如一個TCP SYN包)發給伺服器交換器。伺服器交換器在組中選取最好的伺服器,將終端地址中的VIP用實際伺服器的IP取代,並將串連請求傳給伺服器。這樣,同一區間所有的包由伺服器交換器進行映射,在使用者和同一伺服器間進行傳輸。
第四層交換的原理
OSI模型的第四層是傳輸層。傳輸層負責端對端通訊,即在網路源和目標系統之間協調通訊。在IP協議棧中這是TCP(一種傳輸協議)和UDP(使用者資料包協議)所在的協議層。
在第四層中,TCP和UDP標題包含連接埠號碼(portnumber),它們可以唯一區分每個資料包包含哪些應用協議(例如HTTP、FTP等)。端點系統利用這種資訊來區分包中的資料,尤其是連接埠號碼使一個接收端電腦系統能夠確定它所收到的IP包類型,並把它交給合適的高層軟體。連接埠號碼和裝置IP地址的組合通常稱作“插口(socket)”。 1和255之間的連接埠號碼被保留,他們稱為“熟知”連接埠,也就是說,在所有主機TCPIP協議棧實現中,這些連接埠號碼是相同的。除了“熟知”連接埠外,標準UNIX服務分配在256到1024連接埠範圍,定製的應用一般在1024以上分配連接埠號碼. 分配連接埠號碼的最近清單可以在RFc1700”Assigned Numbers”上找到。TCP/UDP連接埠號碼提供的附加資訊可以為網路交換器所利用,這是第4層交換的基礎。
熟知連接埠號碼舉例
應用協議 連接埠號碼
FTP 20(資料)
21(控制)
TELNET 23
SMTP 25
HTTP 80
NNTP 119
NNMP 16
162(SNMP traps)
TCPUDP連接埠號碼提供的附加資訊可以為網路交換器所利用,這是第四層交換的基礎。
具有第四層功能的交換器能夠起到與伺服器相串連的“虛擬IP”(VIP)前端的作用。
每台伺服器和支援單一或跨平台 app的伺服器組都配置一個VIP地址。這個VIP地址被發送出去並在網域名稱系統上註冊。
在發出一個服務要求時,第四層交換器通過判定TCP開始,來識別一次會話的開始。然後它利用複雜的演算法來確定處理這個請求的最佳伺服器。一旦做出這種決定,交換器就將會話與一個具體的IP地址聯絡在一起,並用該伺服器真正的IP地址來代替伺服器上的VIP地址。
每台第四層交換器都儲存一個與被選擇的伺服器相配的源IP地址以及源TCP 通訊埠相關聯的串連表。然後第四層交換器向這台伺服器轉寄串連請求。所有後續包在客戶機與伺服器之間重新影射和轉寄,直到交換器發現
會話為止。
在使用第四層交換的情況下,接入可以與真正的伺服器串連在一起來滿足使用者制定的規則,諸如使每台伺服器上有相等數量的接入或根據不同伺服器的容量來分配傳輸串流。
如何選用合適的第四層交換
a,速度
為了在企業網中行之有效,第四層交換必須提供與第三層線速路由器可比擬的效能。也就是說,第四層交換必須在所有連接埠以全介質速度操作,即使在多個千兆乙太網路串連上亦如此。千兆乙太網路速度等於以每秒488000 個資料包的最大速度路由(假定最壞的情形,即所有包為以及網定義的最小尺寸,長64位元組)。
b,伺服器容量平衡演算法
依據所希望的容量平衡間隔尺寸,第四層交換器將應用程式指派給伺服器的演算法有很多種,有簡單的檢測環路最近的串連、檢測環路時延或檢測伺服器本身的閉環反饋。在所有的預測中,閉環反饋提供反映伺服器現有業務量的最精確的檢測。
c,表容量
應注意的是,進行第四層交換的交換器需要有區分和存貯大量發送表項的能力。交換器在一個企業網的核心時尤其如此。許多第二 三層交換器傾向發送表的大小與網路裝置的數量成正比。對第四層交換器,這個數量必須乘以網路中使用的不同應用協議和會話的數量。因而發送表的大小隨端點裝置和應用類型數量的增長而迅速增長。第四層交換器設計者在設計其產品時需要考慮表的這種增長。大的表容量對製造支援線速發送第四層流量的高效能交換器至關重要.
d,冗餘
第四層交換器內部有支援冗餘拓撲結構的功能。在具有雙鏈路的網卡容錯串連時,就可能建立從一個伺服器到網卡,鏈路和伺服器交換器的完全冗 "