第四層交換簡述
在第四層交換中為每個供搜尋使用的
伺服器組設立虛
IP位址(VIP),每組伺服器支持某種套用。在
域名伺服器(DNS)中存儲的每個套用伺服器地址是VIP,而不是真實的伺服器地址。
當某用戶申請套用時,一個帶有目標伺服器組的VIP連線請求(例如一個TCP SYN包)發給伺服器交換機。伺服器
交換機在組中選取最好的伺服器,將終端地址中的VIP用實際伺服器的IP取代,並將連線請求傳給伺服器。這樣,同一區間所有的包由伺服器交換機進行映射,在用戶和同一伺服器間進行傳輸。
第四層交換的原理
OSI模型的第四層是
傳輸層。傳輸層負責端對端通信,即在網路源和目標系統之間協調通信。在IP協定棧中這是TCP(一種
傳輸協定)和UDP(用戶
數據包協定)所在的協定層。
在第四層中,TCP和UDP標題包含
連線埠號(portnumber),它們可以唯一區分每個數據包包含哪些套用協定(例如HTTP、FTP等)。端點系統利用這種信息來區分包中的數據,尤其是連線埠號使一個接收端計算機系統能夠確定它所收到的IP包類型,並把它交給合適的高層軟體。連線埠號和設備IP位址的組合通常稱作“插口(socket)”。
1和255之間的連線埠號被保留,他們稱為“熟知”連線埠,也就是說,在所有主機TCP/IP協定棧實現中,這些
連線埠號是相同的。除了“熟知”連線埠外,標準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)
TCP/UDP連線埠號提供的附加信息可以為網路交換機所利用,這是第四層交換的基礎。
具有第四層功能的
交換機能夠起到與
伺服器相連線的“虛擬IP”(VIP)前端的作用。
每台伺服器和支持單一或通用套用的伺服器組都配置一個VIP位址。這個VIP位址被傳送出去並在
域名系統上註冊。
在發出一個服務請求時,第
四層交換機通過判定TCP開始,來識別一次會話的開始。然後它利用複雜的算法來確定處理這個請求的最佳
伺服器。一旦做出這種決定,
交換機就將會話與一個具體的IP位址聯繫在一起,並用該伺服器真正的IP位址來代替伺服器上的VIP位址。
每台第四層交換機都保存一個與被選擇的伺服器相配的源IP位址以及源TCP 連線埠相關聯的連線表。然後
第四層交換機向這台伺服器轉發連線請求。所有後續包在客戶機與伺服器之間重新影射和轉發,直到交換機發現會話為止。
在使用第四層交換的情況下,接入可以與真正的伺服器連線在一起來滿足用戶制定的規則,諸如使每台伺服器上有相等數量的接入或根據不同伺服器的容量來分配傳輸流。
第四層交換的作用
第四層交換的主要作用是提高
伺服器和伺服器群的可靠性和可擴性。
如果伺服器速度跟不上,即使是具有最快速交換的網路也不能完全確保端到端的性能。可以想見高優先權的業務在這種QoS使能的網路中會因伺服器中低優先權的業務佇列而阻塞。在更糟的情況下,伺服器甚至會喪失循環處理業務的能力。
設計在伺服器上的第四層交換的目的就是擴展過去伺服器和套用中第二層和第
三層交換的性能和
業務流的管理功能。
第四層交換的優勢
第四層交換使用第三層和第四層
信息包的報頭信息,根據套用區間識別
業務流,將整個區間段的業務流分配到合適的
套用伺服器進行處理。
每個開放的區間與特定的
伺服器相關,為跟蹤伺服器,第四層交換使多個伺服器支持的特殊套用,隨伺服器的增加而線性增強整體性能。同時,第四層交換通過減少對任何特定伺服器的依賴性而提高套用的可靠性。
第四層交換也要求端到端QoS,提高第二層和第
三層交換一包接一包QoS傳輸的能力。例如,從級別高的用戶來的業務或重要套用的網路業務流,可以分配給最快的I/O系統和CPU,而普通的業務就分配給性能較差的機器。
第四層交換與第二層第三層交換
如果第二層交換是網橋的再現,第
三層交換是
路由,那么,什麼是第四層交換?第四層交換可以根據專門的套用進行流量排隊,這為基於規則的服務質量機制提供了一條更可操作的途徑。我們可以把第四層交換叫作“會話
交換機”。
第二層交換
區域網路交換技術是作為對共享式區域網路提供有效的
網段劃分的解決方案而出現的,他可以使每個用戶儘可能地分享到最大頻寬。前文已經提到,交換技術是在OSI七層網路模型中的第二層,即
數據鏈路層進行操作的,因此
交換機對
數據包的轉發是建立在MAC地址--
物理地址基礎之上的,對於IP
網路協定來說,它是透明的,即交換機在轉發數據包時,不知道也無須知道信源機和信宿機的IP位址,只須其物理地址即MAC地址。交換機在操作過程當中會不斷的收集資料去建立它本身的一個地址表,這個表相當簡單,它說明了某個MAC地址是在哪個連線埠上被發現的,所以當交換機收到一個TCP/IP
封包時,他便會看一下該數據包的標籤部分的目的MAC地址,核對一下自己的地址表以確認該從哪個連線埠把數據包發出去,由於這個過程比較簡單,加
上今天這功能由ASIC硬體進行,因此速度相當高,一般只需幾十微秒,
交換機便可決定一個IP封包該往那裡送。值得一提的是:萬一交換機收到一個不認識的封包,就是說如果目的地MAC地址不能在地址表中找到時,交換機會把IP封包"擴散"出去,即把它從每一個連線埠中送出去,就好像交換機在收到一個廣播封包時一樣處理。
二層交換機的弱點正是它處理廣播
封包的手法太不有效,比方說,當一個交換機收到一個從TCP/IP工作站上發出來的廣播封包時,他便會把該封包傳到所有其他連線埠去,哪怕有些連線埠上連的是IPX或DECnet工作站!這樣一來,非TCP/IP接點的
頻寬便會受到負面的影響,就算同樣的TCP/IP接點,除非他們的
子網跟傳送那個廣播封包的工作站的子網相同,否則他們也會無緣無故地收到一些與他們毫不相干的網路廣播,整個網路的效率因此會大打折扣。
第三層交換
假設
主機A跟主機B以前曾通過
交換機通信,中間的交換機如支持第
三層交換的話,他便會把A和B的IP位址及他們的MAC地址記錄下來,當其它主機如C要和A或B通信時,針對C所發出的
定址封包,第三層交換機會不假思索的送C一個回覆封包告訴他A或B的MAC地址,以後C當然就會用A或B的MAC地址"直接"和他通信。因為通信雙方完全沒有通過
路由器這樣的第三者,所以那怕A、B和C屬不同的
子網,他們間均可直接知道對方的MAC地址來通信,更重要的是,
第三層交換機並沒有像其他
交換器般把廣播封包擴散,第三層交換機之所以叫三層交換器便是因為他們能看懂三層信息,如IP位址、ARP等。因此,
三層交換器便能洞悉某廣播
封包目的何在,而在沒有把他擴散出去的情形下,滿足了發出該廣播封包的人的需要,(不管他們在任何子網裡)。如果認為第三層交換機就是路由器,那也應稱作超高速反傳統路由器,因為第三層交換器沒做任何"拆打"數據封包的工作,所有路過他的封包都不會被修改並以交換的速度傳到目的地。
相比之下,
路由器是在OSI七層網路模型中的第三層--網路層操作的,它在網路中,收到任何一個
數據包(包括
廣播包在內),都要將該數據包第二層(
數據鏈路層)的信息去掉(稱為"拆包"),查看第三層信息(IP位址)。然後,根據
路由表確定數據包的路由,再檢查安全
訪問表;若被通過,則再進行第二層信息的封裝(稱為"打包"),最後將該數據包轉發。如果在路由表中查不到對應MAC地址的
網路地址,則路由器將向源地址的站點返回一個信息,並把這個數據包丟掉。
與交換機相比,路由器顯然能夠提供構成
企業網安全控制策略的一系列存取控制機制。由於
路由器對任何數據包都要有一個"拆打"過程,即使是同一源地址向同一目的地址發出的所有數據包,也要重複相同的過程。這導致路由器不可能具有很高的吞吐量,也是路由器成為網路瓶頸的原因之一. 端到端性能和服務質量要求對所有聯網設備的
負載進行細緻的均衡,以保證客戶機與
伺服器之間數據平滑地流動。第二層與第
三層交換產品在解決區域網路和網際網路的頻寬及容量問題上發揮了很好的作用,但是,這可能還不夠,還需要更多的性能,而這正是第四層交換的用武之地。
第二層交換連線用戶和網路,在
子網中指引
業務流,第三層交換或路由器將包從一個子網傳到另一個子網,第四層交換將包傳到
終端伺服器。第四層交換是網路基礎結構中的重要因素,它使得
伺服器容量隨網路頻寬增加而增加。
第四層交換
從操作方面來看,第四層交換是穩固的,因為它將包控制在從源端到宿端的區間中。另一方面,
路由器或第
三層交換,只針對單一的包進行處理,不清楚上一個包從哪來、也不知道下一個包的情況。它們只是檢測包報頭中的TCP連線埠數字,根據套用建立
優先權佇列。路由器根據鏈路和網路可用的
節點決定包的路由。第四層則是在可用的
伺服器和性能基礎上先確定區間。
第四層交換與伺服器集群
在第四層交換和伺服器集群技術(如Microsoft的Wolfpack)之間有一些共同的功能。它們都能提供服務品
負載平衡和故障防護功能,儘管許多集群技術的實現支持橫跨多個
伺服器的應用程式的
負載平衡。這二種技術的不同之處在於:集群功能經常被密集地成在
伺服器作業系統中,因此是廠家專有的。被嵌入到作業系統中意味著集群技術能支持檔案系統共享和緊密的伺服器資源監測,並允許更快的伺服器容錯。另一方面,第四層交換是建立在標準IP協定族之上的。因此,它使不同廠商,不同作業系統的伺服器為負載平衡和增強可靠性而組成一個“鬆散耦合”伺服器集群,這兩種技術產不是彼此對立的。伺服器集群能利用第四層交換來同時提高應用程式擴展性和伺服器可用性。
在
伺服器集群中使用第四層交換可以在
交換機上利用第四層交換的功能來保證伺服器集群中各伺服器的
負載平衡。第四層交換可以使人們對許多備份
伺服器進行毫無顧忌的選擇,同時,還會有一系列伺服器在提供同樣的服務,這樣就可以使各伺服器上的通信量負載達到
平衡。
到目前為止,能使
負載達到平衡的唯一方法是輪換
主機地址,但問題在於預測或控制每一伺服器將要獲得的負載是一件很不容易的事情,這簡直太原始了,並不能滿足用戶對第四層交換的要求。套用第四層交換,採用先進的套用分配算法,能更好,更智慧型實現負載平衡。根據所需
負載均衡的顆粒度,
第四層交換機可以利用多種方法將套用會話分配到
伺服器上。這些方法包括求權數最小接入的簡單加權循環、測量往返時延和伺服器自身的閉合環路反饋等等。
閉合環路反饋是最先進的方法,它利用可用記憶體、I/O中斷和CPU利用率等特定的系統信息,這些信息可以為適配器
驅動器和第四層交換機自動獲取。目前的閉合環路反饋機制要求在每台伺服器上安裝軟體代理。
如何選用合適的第四層交換
速度
為了在
企業網中行之有效,第四層交換必須提供與第三層
線速路由器可比擬的性能。也就是說,第四層交換必須在所有連線埠以全介質速度操作,即使在多個
千兆乙太網連線上亦如此。千兆乙太網速度等於以每秒1488000 個
數據包的最大速度
路由(假定最壞的情形,即所有包為以及網定義的最小尺寸,長64位元組)。
伺服器容量平衡算法
依據所希望的容量
平衡間隔尺寸,
第四層交換機將套用分配給
伺服器的算法有很多種,有簡單的檢測環路最近的連線、檢測環路時延或檢測伺服器本身的閉環反饋。在所有的預測中,閉環反饋提供反映伺服器現有業務量的最精確的檢測。
表容量
應注意的是,進行第四層交換的
交換機需要有區分和存貯大量傳送表項的能力。交換機在一個
企業網的核心時尤其如此。許多第二/
三層交換機傾向傳送表的大小與
網路設備的數量成正比。對
第四層交換機,這個數量必須乘以網路中使用的不同套用協定和會話的數量。因而傳送表的大小隨端點設備和套用類型數量的增長而迅速增長。第四層交換機設計者在設計其產品時需要考慮表的這種增長。大的表容量對製造支持線速傳送第四層流量的高性能交換機至關重要.
冗餘
第四層交換機內部有支持冗餘拓撲結構的功能。在具有雙鏈路的網卡容錯連線時,就可能建立從一個
伺服器到網卡,鏈路和伺服器
交換器的完全
冗餘系統。
幾種第四層交換產品
Berkeley Networks公司的exponeNT e4和Alteon Networks公司的ACEswith 180兩款
第四層交換產品具有突出的性能和靈活性,能夠比第二層和
第三層交換機做出更智慧型的轉發決定。由於把包頭查詢的代碼嵌入到交換機中的
專用積體電路(
ASIC)中去實現上述功能,幾乎不會造成任何延時。這兩家廠商的
交換機都能實現10M、100M和
千兆乙太網功能,但是Berkeley的交換機是設計用於企業套用的,而Alteon交換機則是用於擁有大量Web或FTP
伺服器的機構的。
Alteon的第四層交換技術能通過對伺服器的性能和運行狀況的實時監測,根據不同伺服器的健康狀況,將來訪的數據流以經濟高效的方式分配到合適的伺服器上。同時,Alteon的第四層交換技術具有Web高速快取重定向功能,能把指定發往遠程Internet
主機的HTTP通信攔截,並將這些通信重新定向到本地的高速快取伺服器上,從而大大加快了訪問Internet的速度,並節省了大量寶貴的廣域網頻寬。而且這對於用戶和信息提供者來說是完全透明的,不需要用戶和信息提供者做任何的設定。
Cabletron公司的SmartSwitch Router和Torrent NetworkingTechnologies公司推出
的IP9000 Gigabit Router 也是具有第四層交換功能的產品。其中SmartSwitch Router可以實現
骨幹網從常規第
三層交換向全面的第三、第四層交換功能的升級轉換,其獨特的
廣域網集成能力以及基於第四層交換的
訪問控制能力對於網路數據傳輸安全、有序地進行發揮了關鍵作用。此外,Cabletron Smart SwitchRouter基於第四層交換的QoS功能為特定業務套用數據交換提供了不同級別的優先處理能力。
第四層交換與單功能負載均衡產品
目前一般的單功能負載均衡產品可以每秒連線400到800個接入。而同時具有第二層和第四層功能的新一代產品(使用定製的
專用積體電路的基於硬體的負載均衡功能)的連線速度則超過了每秒10萬次接入。
第四層交換機在形式和功能上與專用
負載均衡器完全不同。傳統基於硬體的負載均衡器是速度為45Mbps的最佳化的兩連線埠設備。而第四層交換機是設計用於高速Intranet套用的,它支持100Mbps或千兆位接口。
第四層交換除了
負載均衡功能外還支持其它功能,如基於套用類型和用戶ID的傳輸流控制功能。採用多級排隊技術,第四層交換機可以根據套用來標記傳輸流以及為傳輸流分配優先權。此外,
第四層交換機直接安放在
伺服器前端,它了解套用會話內容和用戶許可權,因而使它成為了防止
非授權訪問伺服器的理想平台。
第四層交換方案
HTTP
HTTP是Internet中最重要的一種套用,目前Internet上廣泛使用的Web Server,採用的是
多進程技術,占用系統資源多,效率較低,一般一台Web Server只能承受幾百個並發用戶。採用
第四層交換機可以很好地解決Web Server的擴展性問題,提高Web Server系統的可靠性,並在WebServer之間合理分配
負載。
Alteon
Alteon的
第四層交換機監測Web Server的可用性,包括物理連線、Web Server
主機、HTTP Server本身的健康狀況,當發現某台Web Server不能提供Web 服務時,交換機自動把Web 請求分配到好的兩台Web Server。Alteon第四層交換機還可以通過設定每台Web Server能承受的最大
會話數、設定溢出Web Server、備份Web Server等方法來進一步保證Web系統的可靠性。
Web Server
Web Server在同一區域網路內實現
負載均衡時採用多種負載均衡算法,包括LeastConnection、Round Robin、MinMiss和Hash算法,以及對算法的加權等等。
當Web Server不在同一區域網路內時,利用Alteon
交換機的GlobalLoad Balance技術來實現
負載分擔的合理性問題。
總結
隨著網路信息系統由小型到中型到大型的發展趨勢,交換技術也由原來最初的基於MAC地址的交換,發展到基於IP位址的交換,進一步發展到基於IP+連線埠的交換,本文對第四層交換技術作了一個比較全面的介紹,如今也有產品更提出了第七層交換(基於內容的交換)。可見,網路交換技術的不斷發展使得原來由基於數據的交換變成了基於套用的交換,不僅提高了網路的訪問速度,而且不斷地最佳化了網路的整體性能。