第四層交換
第四層交換
第四層交換的一個簡單定義是:它是一種功能,它決定傳輸不僅僅依據MAC地址(第二層網橋)或源/目標IP地址(第三層路由),而且依據TCP/UDP(第四層)應用埠號。第四層交換功能就象是虛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之間的埠號被保留,他們稱為“熟知”埠,也就是說,在所有主機TCP/I
P協議棧實現中,這些埠號是相同的。除了“熟知”埠外,標準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,而普通的業務就分配給性能較差的機器。
如果第二層交換是網橋的再現,第三層交換是路由,那麼,什麼是第四層交換?第四層交換可以根據專門的應用進行流量排隊,這為基於規則的服務質量機制提供了一條更可操作的途徑。我們可以把第四層交換叫作“會話交換機”。
a,第二層交換
區域網交換技術是作為對共享式區域網提供有效的網段劃分的解決方案而出現的,他可以使每個用戶儘可能地分享到最大帶寬。前文已經提到,交換技術是在OSI七層網路模型中的第二層,即數據鏈路層進行操作的,因此交換機對數據包的轉發是建立在MAC地址--物理地址基礎之上的,對於IP網路協議來說,它是透明的,即交換機在轉發數據包時,不知道也無須知道信源機和信宿機的IP地址,只須其物理地址即MAC地址。交換機在操作過程當中會不斷的收集資料去建立它本身的一個地址表,這個表相當簡單,它說明了某個MAC地址是在哪個埠上被發現的,所以當交換機收到一個TCP/IP封包時,他便會看一下該數據包的標籤部分的目的MAC地址,核對一下自己的地址表以確認該從哪個埠把數據包發出去,由於這個過程比較簡單,加
上今天這功能由ASIC硬體進行,因此速度相當高,一般只需幾十微秒,交換機便可決定一個IP封包該往那裡送。值得一提的是:萬一交換機收到一個不認識的封包,就是說如果目的地MAC地址不能在地址表中找到時,交換機會把IP封包"擴散"出去,即把它從每一個埠中送出去,就好象交換機在收到一個廣播封包時一樣處理。二層交換機的弱點正是它處理廣播封包的手法太不有效,比方說,當一個交換機收到一個從TCP/IP工作站上發出來的廣播封包時,他便會把該封包傳到所有其他埠去,哪怕有些埠上連的是IPX或DECnet工作站!這樣一來,非TCP/IP接點的帶寬便會受到負面的影響,就算同樣的TCP/IP接點,除非他們的子網跟發送那個廣播封包的工作站的子網相同,否則他們也會無原無故地收到一些與他們毫不相干的網路廣播,整個網路的效率因此會大打折扣。
b,第三層交換
假設主機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利用率等特定的系統信息,這些信息可以為適配器驅動器和第四層交換機自動獲取。目前的閉合環路反饋機制要求在每台伺服器上安裝軟體代理。
a,速度
為了在企業網中行之有效,第四層交換必須提供與第三層線速路由器可比擬的性能。也就是說,第四層交換必須在所有埠以全介質速度操作,即使在多個千兆乙太網連接上亦如此。千兆乙太網速度等於以每秒1488000 個數據包的最大速度路由(假定最壞的情形,即所有包為以及網定義的最小尺寸,長64位元組)。
b,伺服器容量平衡演演算法
依據所希望的容量平衡間隔尺寸,第四層交換機將應用分配給伺服器的演演算法有很多種,有簡單的檢測環路最近的連接、檢測環路時延或檢測伺服器本身的閉環反饋。在所有的預測中,閉環反饋提供反映伺服器現有業務量的最精確的檢測。
c,表容量
應注意的是,進行第四層交換的交換機需要有區分和存貯大量發送表項的能力。交換機在一個企業網的核心時尤其如此。許多第二/ 三層交換機傾向發送表的大小與網路設備的數量成正比。對第四層交換機,這個數量必須乘以網路中使用的不同應用協議和會話的數量。因而發送表的大小隨端點設備和應用類型數量的增長而迅速增長。第四層交換機設計者在設計其產品時需要考慮表的這種增長。大的表容量對製造支持線速發送第四層流量的高性能交換機至關重要.
d,冗餘
第四層交換機內部有支持冗餘拓撲結構的功能。在具有雙鏈路的網卡容錯連接時,就可能建立從一個伺服器到網卡,鏈路和伺服器交換器的完全冗餘系統。
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的傳輸流控制功能。採用多級排隊技術,第四層交換機可以根據應用來標記傳輸流以及為傳輸流分配優先順序。此外,第四層交換機直接安放在伺服器前端,它了解應用會話內容和用戶許可權,因而使它成為了防止非授權訪問伺服器的理想平台。
在本方案中,通過採用Alteon的第四層交換機來實現Web Server的負載均衡。
HTTP是Internet中最重要的一種應用,目前Internet上廣泛使用的Web Server,採用的是多進程技術,佔用系統資源多,效率較低,一般一台Web Server只能承受幾百個併發用戶。採用第四層交換機可以很好地解決Web Server的擴展性問題,提高Web Server系統的可靠性,並在WebServer之間合理分配負載。
Alteon的第四層交換機監測Web Server的可用性,包括物理連接、Web Server主機、HTTP Server本身的健康狀況,當發現某台Web Server不能提供Web 服務時,交換機自動把Web 請求分配到好的兩台Web Server。Alteon第四層交換機還可以通過設置每台Web Server能承受的最大會話數、設置溢出Web Server、備份Web Server等方法來進一步保證Web系統的可靠性。
Web Server在同一區域網內實現負載均衡時採用多種負載均衡演演算法,包括LeastConnection、Round Robin、MinMiss和Hash演演算法,以及對演演算法的加權等等。
當Web Server不在同一區域網內時,利用Alteon交換機的GlobalLoad Balance技術來實現負載分擔的合理性問題。