深入分析三層網絡交換機的原理和設計
轉:https://blog.csdn.net/zqixiao_09/article/details/51170124
引言
傳統路由器在網絡中起到隔離網絡、隔離廣播、路由轉發以及防火墻的作業,並且隨著網絡的不斷發展,路由器的負荷也在迅速增長。其中一個重要原因是出於安全和管理方便等方面的考慮,VLAN(虛擬局域網)技術在網絡中大量應用。VLAN技術可以邏輯隔離各個不同的網段、端口甚至主機,而各個不同VLAN間的通信都要經過路由器來完成轉發。由於局域網中數據流量很大,VLAN間大量的信息交換都要通過路由器來完成轉發,這時候隨著數據流量的不斷增長路由器就成為了網絡的瓶頸。為了解決局域網絡的這個瓶頸,很多企業內部、學校和小區建設局域網時都采用了三層交換機。三層交換技術將交換技術引入到網絡層,三層交換機的應用也從最初網絡中心的骨幹層、匯聚層一直滲透到網絡邊緣的接入層。
一、第三層交換技術
1、三層交換的概念
第三層交換技術也稱為IP交換技術或高速路由技術等,是相對於傳統交換概念而提出的。眾所周知,傳統的交換技術是在OSI 網絡標準模型中的第二層—數據鏈路層進行操作的,而第三層交換技術是在網絡模型中的第三層實現了數據包的高速轉發。簡單地說,第三層交換技術就是:第二層交換技術+第三層轉發技術,這是一種利用第三層協議中的信息來加強第二層交換功能的機制。一個具有第三層交換功能的設備是一個帶有第三層路由功能的第二層交換機,但它是二者的有機結合,並不是簡單地把路由器設備的硬件及軟件簡單地疊加在局域網交換機上。
2、三層交換的原理
從硬件的實現上看,目前,第二層交換機的接口模塊都是通過高速背板/總線交換數據的。在第三層交換機中,與路由器有關的第三層路由硬件模塊也插接在高速背板/總線上,這種方式使得路由模塊可以與需要路由的其他模塊間高速地交換數據,從而突破了傳統的外接路由器接口速率的限制(10Mbit/s---100Mbit/s)。在軟件方面,第三層交換機將傳統的基於軟件的路由器重新進行了界定
(1) 數據封包的轉發:如IP/IPX封包的轉發,這些有規律的過程通過硬件高速實現;
(2) 第三層路由軟件:如路由信息的更新、路由表維護、路由計算、路由的確定等功能,用優化、高效的軟件實現。
假設有兩個使用IP協議的站點,通過第三層交換機進行通信的過程為:若發送站點A在開始發送時,已知目的站B的IP地址,但尚不知道它在局域網上發送所需要的MAC 地址,則需要采用地址解析(ARP)來確定B的MAC 地址。A把自己的IP 地址與B的IP 地址比較,采用其軟件中配置的子網掩碼提取出網絡地址來確定B是否與自己在同一子網內。若B 與A 在同一子網內,A 廣播一個ARP 請求,B 返回其MAC 地址,A 得到B 的MAC 地址後將這一地址緩存起來,並用此MAC 地址封包轉發數據,第二層交換模塊查找MAC 地址表確定將數據包發向目的端口。若兩個站點不在同一子網內,則A 要向"缺省網關"發出ARP(地址解析)封包,而"缺省網關"的IP 地址已經在系統軟件中設置,這個IP 地址實際上對應第三層交換機的第三層交換模塊。當A 對"缺省網關"的IP 地址廣播出一個ARP 請求時,若第三層交換模塊在以往的通信過程中已得到B 的MAC 地址,則向發送站A 回復B 的MAC 地址;否則第三層交換模塊根據路由信息向目的站廣播一個ARP 請求,B 得到此ARP 請求後向第三層交換模塊回復其MAC 地址,第三層交換模塊保存此地址並回復給發送站A 。以後,當再進行A 與B 之間數據包轉發時,將用最終的目的站點的MAC 地址封包,數據轉發過程全部交給第二層交換處理,信息得以高速交換[1] 。
3、第三層交換的特點
突出的特點如下:
(1).有機的硬件結合使得數據交換加速
(2).優化的路由軟件使得路由過程效率提高;
(3).除了必要的路由決定過程外,大部分數據轉發過程由第二層交換處理;
(4).多個子網互連時只是與第三層交換模塊的邏輯連接,不象傳統的外接路由器那樣需增加端口,保護了用戶的投資。
第三層交換的目標是,只要在源地址和目的地址之間有一條更為直接的第二層通路,就沒有必要經過路由器轉發數據包。第三層交換使用第三層路由協議確定傳送路徑,此路徑可以只用一次,也可以存儲起來,供以後使用。之後數據包通過一條虛電路繞過路由器快速發送。
第三層交換技術的出現,解決了局域網中網段劃分之後,網段中子網必須依賴路由器進行管理的局面,解決了傳統路由器低速、復雜所造成的網絡瓶頸問題。當然,三層交換技術並不是網絡交換機與路由器的簡單疊加,而是二者的有機結合,形成一個集成的、完整的解決方案。
二、VLSW4150系列交換機
VLSW4150 系列交換機是為企業提供的高性能、多層次化的解決方案。VLSW 4150也適用於ISP和服務提供商,尤其是對於一些大型的運營商,將能夠增強其在IP市場的競爭力。
1、總體設計
VLSW4150交換機有24個RJ45 10/100BASE-TX自適應端口,提供2個可選的光纖10/100BaseTx以太口、100BaseFx快速以太端口或者千兆以太網口(SX,LX,ZX),並另外提供一個串口和一個100M以太網口對交換機進行配置。
VLSW4150交換機的體系結構可以支持最高到11Gbps的速率,多層交換速率達到6.6Mpps;可以支持8,192個MAC地址;為了更好的控制網絡流量和網絡安全,還支持以1M為步長的速率限制;支持TaggedVLAN和MAC-based的幀過濾以及RIP、OSPF和BGP路由協議。
VLSW4150交換機提供堆棧技術可以以一個邏輯IP地址來管理多個交換機,並可在一個口上鏡像其他的數據包,提供基於Web的網管系統以及CLI方式來調試交換機。VLSW4150支持SNMP協議、RMON和Telnet功能來便於管理。
2、硬件結構
VLSW4150三層交換機的硬件結構分為兩個部分,處理器模塊和交換模塊,它們之間通過PCI接口相連,同時配合相應的外圍電路形成完整的三層交換機系統,見圖1。
圖1 硬件結構
(1)處理器模塊
如圖2所示,處理器部采用一款MOTOROLAPowerQUICCIICPU,同一些外部存儲設備以及一些外圍電路構成三層交換機的處理器部分。處理器模塊主要是運行嵌入式操作系統,配置系統和路由表的維持,而不是數據轉發通路的組成部分。CPLD 保存一些CPU初始化的一些配置以保證上電後CPU正常啟動,Flash 芯片用於存儲三層交換機的所需要的所有軟件和相關配置,SDRAM在系統啟動之後載入FLASH中的程序,保證系統正常運行。處理器模塊一方面提供一個快速以太網接口和一個異步口,用於對交換機進行配置和調試;另一方面通過PCI接口和交換模塊相連,通過PCI接口對交換模塊進行控制,並進行數據傳輸[2] 。
圖2 處理器模塊的硬件組成
(2)交換模塊
如圖3所示,交換模塊采用了BROADCOM公司的BCM5645作為ASIC芯片,通過PCI接口與處理器模塊進行通信完成數據傳輸,通過5645提供的內存接口,可以給交換模塊提供一個64M的外部SDRAM,從而提高交換機的吞吐量和交換速度。5645通過MII接口和GMII接口分別連接24個百兆以太網和2個千兆以太網[3]。
圖3 交換模塊的硬件組成
3、軟件結構
VLSW4150三層交換機的軟件系統采用了模塊化、分布式的設計方法,基於實時多任務操作系統。軟件系統的結構呈層次結構,一層建立在另一層的基礎上,每一層都使用近鄰它的下一層所提供的服務,並且為它上面一層提供更高一級的服務,其優點是:可以向上層軟件屏蔽底層操作,提高上層軟件的可移植性,提高軟件的可維護性。
如圖4所示,軟件大體分為三個層面:
(1)驅動層
驅動程序將上層軟件和硬件系統進行了連接,把上層軟件的路由更新、管理及配置命令轉化為硬件系統所能識別的格式,從而達到更新其內部數據結構如路由表,地址表等,控制及管理硬件交換系統的目的;同時設備驅動程序把底層硬件收到的路由更新報文、控制管理幀及收到的各種信息傳遞給上層軟件處理;
(2)協議棧
實現了TCP/IP、802.1D和802.1Q等協議,為上層的應用程序提供良好的接口;
(3)應用層
主要包括路由模塊和網管模塊,路由模塊實現了RIP和OSPF等協議,即實現第三層路由的主要功能;網管模塊實現了SNMP和RMON等網管模塊,使三層交換機具有部分網管功能,保證三層交換機更好地正常運轉。
圖4 軟件結構
三、第三層交換機的應用
第三層交換機的主要用途是代替傳統路由器作為網絡的核心,因此,凡是沒有廣域連接需求,同時又需要路由器的地方,都可以用第三層交換機來代替。在企業網和校園網中,一般會將第三層交換機用在網絡的核心層,用第三層交換機上的千兆端口或百兆端口連接不同的子網或VLAN。第三層交換機解決了局域網VLAN必須依賴路由器進行管理的局面,解決了傳統路由器速度低、復雜所造成的網絡瓶頸問題。利用三層交換機在局域網中劃分VLAN,可以滿足用戶端多種靈活的邏輯組合,防止了廣播風暴的產生,對不同 VLAN 之間可以根據需要設定不同的訪問權限,以此增加網絡的整體安全性,極大地提高網絡管理員的工作效率,而且第三層交換機可以合理配置信息資源,降低網絡配置成本,使得交換機之間連接變得靈活。
交換機開發(一)—— 交換機的工作原理
轉:https://blog.csdn.net/zqixiao_09/article/details/51154368
一、交換機的工作原理
當交換機收到數據時,它會檢查它的目的MAC地址,然後把數據從目的主機所在的接口轉發出去。交換機之所以能實現這一功能,是因為交換機內部有一個MAC地址表,MAC地址表記錄了網絡中所有MAC地址與該交換機各端口的對應信息。某一數據幀需要轉發時,交換機根據該數據幀的目的MAC地址來查找MAC地址表,從而得到該地址對應的端口,即知道具有該MAC地址的設備是連接在交換機的哪個端口上,然後交換機把數據幀從該端口轉發出去。
1.交換機根據收到數據幀中的源MAC地址建立該地址同交換機端口的映射,並將其寫入MAC地址表中。
2.交換機將數據幀中的目的MAC地址同已建立的MAC地址表進行比較,以決定由哪個端口進行轉發。
3.如數據幀中的目的MAC地址不在MAC地址表中,則向所有端口轉發。這一過程稱為泛洪(flood)。
4.廣播幀和組播幀向所有的端口轉發。
例:某網絡如圖1所示。
圖1 交換機地址表
表1端口/MAC地址映射表
MAC地址 |
端口 |
00-10-B5-4B-30-85 |
E0/1 |
00-10-B5-4B-30-90 |
E0/2 |
00-10-B5-4B-30-65 |
E0/24 |
假設主機pc1向主機pc7發送一個數據幀,該數據幀被送到交換機後,交換機首先查MAC地址表,發現主機pc7連接在E0/24接口上,就將數據幀從E0/24接口轉發出去。
二、MAC地址表的構建過程
為快速轉發報文,以太網交換機需要建立和維護MAC地址表。交換機采用源MAC地址學習的方法建立MAC地址表。
(1)交換機初始狀態
交換機的初始狀態MAC地址表為空,如圖2所示。
圖2 交換機地址表初始狀態
(2)地址表源MAC地址學習
當計算機PC1要發送數據幀給計算機PC6時,因此時地址表是空的,交換機將向除PC1連接端口E0/1以外的其他所有端口轉發數據幀。在轉發之前,首先檢查該數據幀的源MAC地址(00-10-B5-4B-30-85),並在交換機的MAC地址表中添加一條記錄(00-10-B5-4B-30-85,E0/1)使之和端口E0/1相對應。
(3)計算機PC6接收數據幀
計算機PC6收到發送的數據幀後,用該數據幀的目的MAC地址和本機的MAC地址比較,發現PC1找的正是它,則接收該數據幀,其他計算機丟棄數據幀。
計算機PC6回復PC1時,交換機直接從端口E0/1轉發,並學習到(00-10-B5-4B-30-65)為PC6連接的端口,將其添加到地址表中,如圖3所示。
圖3 地址表源MAC地址學習
交換機的其他端口利用源MAC地址學習的方法在MAC地址表中不斷添加新的MAC地址與端口號的對應信息。直到MAC地址表添加完整為止。
為了保證MAC地址表中的信息能夠實時地反映網絡情況,每個學習到的記錄都有一個老化時間,如果在老化時間內收到地址信息則刷新記錄。對沒有收到相應的地址信息的則刪除該記錄。例如,計算機PC6停止了和交換機通信,達到老化時間後,交換機會將其對應的記錄從MAC地址表中刪除。
也可以手工添加交換機的MAC地址表的靜態記錄,手工配置的靜態記錄沒有老化時間的限制。由於MAC地址表中對於同一個MAC地址只能有一條記錄,所以如果手工配置了MAC地址和端口號對應關系後,交換機就不再動態學習這臺計算機的MAC地址了。
三、交換機的三個主要功能
a -- 學習
以太網交換機了解每一端口相連設備的MAC地址,並將地址同相應的端口映射起來存放在交換機緩存中的MAC地址表中.
b -- 轉發/過濾
當一個數據幀的目的地址在MAC地址表中有映射時,它被轉發到連接目的節點的端口而不是所有端口(如該數據幀為廣播/組播幀則轉發至所有端口)
c -- 消除回路
當交換機包括一個冗余回路時,以太網交換機通過生成樹協議避免回路的產生,同時允許存在後備路徑。
四、交換機的工作特性
1.交換機的每一個端口所連接的網段都是一個獨立的沖突域。
2.交換機所連接的設備仍然在同一個廣播域內,也就是說,交換機不隔絕廣播(惟一的例外是在配有VLAN的環境中)。
3.交換機依據幀頭的信息進行轉發,因此說交換機是工作在數據鏈路層的網絡設備(此處所述交換機僅指傳統的二層交換設備)。
五、交換機的分類
依照交換機處理幀時不同的操作模式,主要可分為兩類:
a -- 存儲轉發
交換機在轉發之前必須接收整個幀,並進行錯誤校檢,如無錯誤再將這一幀發往目的地址。幀通過交換機的轉發時延隨幀長度的不同而變化。
b -- 直通式
交換機只要檢查到幀頭中所包含的目的地址就立即轉發該幀,而無需等待幀全部的被接收,也不進行錯誤校驗。由於以太網幀頭的長度總是固定的,因此幀通過交換機的轉發時延也保持不變。
六、二、三、四層交換機對比
多種理解的說法:
1.
二層交換(也稱為橋接)是基於硬件的橋接。基於每個末端站點的唯一MAC地址轉發數據包。二層交換的高性能可以產生增加各子網主機數量的網絡設計。其仍然有橋接所具有的特性和限制。
三層交換是基於硬件的路由選擇。路由器和第三層交換機對數據包交換操作的主要區別在於物理上的實施。
四層交換的簡單定義是:不僅基於MAC(第二層橋接)或源/目的地IP地址(第三層路由選擇),同時也基於TCP/UDP應用端口來做出轉發決定的能力。其使網絡在決定路由時能夠區分應用。能夠基於具體應用對數據流進行優先級劃分。它為基於策略的服務質量技術提供了更加細化的解決方案。提供了一種可以區分應用類型的方法。
2.
二層交換機 基於MAC地址
三層交換機 具有VLAN功能 有交換和路由///基於IP,就是網絡
四層交換機 基於端口,就是應用
3.
二層交換技術從網橋發展到VLAN(虛擬局域網),在局域網建設和改造中得到了廣泛的應用。第二層交換技術是工作在OSI七層網絡模型中的第二層,即數據鏈路層。它按照所接收到數據包的目的MAC地址來進行轉發,對於網絡層或者高層協議來說是透明的。它不處理網絡層的IP地址,不處理高層協議的諸如TCP、UDP的端口地址,它只需要數據包的物理地址即MAC地址,數據交換是靠硬件來實現的,其速度相當快,這是二層交換的一個顯著的優點。但是,它不能處理不同IP子網之間的數據交換。傳統的路由器可以處理大量的跨越IP子網的數據包,但是它的轉發效率比二層低,因此要想利用二層轉發效率高這一優點,又要處理三層IP數據包,三層交換技術就誕生了。
三層交換技術的工作原理
第三層交換工作在OSI七層網絡模型中的第三層即網絡層,是利用第三層協議中的IP包的包頭信息來對後續數據業務流進行標記,具有同一標記的業務流的後續報文被交換到第二層數據鏈路層,從而打通源IP地址和目的IP地址之間的一條通路。這條通路經過第二層鏈路層。有了這條通路,三層交換機就沒有必要每次將接收到的數據包進行拆包來判斷路由,而是直接將數據包進行轉發,將數據流進行交換
下面看一下詳細分析:
1、二層交換技術
二層交換技術是發展比較成熟,二層交換機屬數據鏈路層設備,可以識別數據包中的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不同,直接影響產品性能。
以上三點也是評判二三層交換機性能優劣的主要技術參數,這一點請大家在考慮設備選型時註意比較。
2、路由技術
路由器工作在OSI模型的第三層---網絡層操作,其工作模式與二層交換相似,但路由器工作在第三層,這個區別決定了路由和交換在傳遞包時使用不同的控制信息,實現功能的方式就不同。工作原理是在路由器的內部也有一個表,這個表所標示的是如果要去某一個地方,下一步應該向那裏走,如果能從路由表中找到數據包下一步往那裏走,把鏈路層信息加上轉發出去;如果不能知道下一步走向那裏,則將此包丟棄,然後返回一個信息交給源地址。
路由技術實質上來說不過兩種功能:決定最優路由和轉發數據包。路由表中寫入各種信息,由路由算法計算出到達目的地址的最佳路徑,然後由相對簡單直接的轉發機制發送數據包。接受數據的下一臺路由器依照相同的工作方式繼續轉發,依次類推,直到數據包到達目的路由器。
而路由表的維護,也有兩種不同的方式。一種是路由信息的更新,將部分或者全部的路由信息公布出去,路由器通過互相學習路由信息,就掌握了全網的拓撲結構,這一類的路由協議稱為距離矢量路由協議;另一種是路由器將自己的鏈路狀態信息進行廣播,通過互相學習掌握全網的路由信息,進而計算出最佳的轉發路徑,這類路由協議稱為鏈路狀態路由協議。
由於路由器需要做大量的路徑計算工作,一般處理器的工作能力直接決定其性能的優劣。當然這一判斷還是對中低端路由器而言,因為高端路由器往往采用分布式處理系統體系設計。
3、三層交換技術
近年來的對三層技術的宣傳,耳朵都能起繭子,到處都在喊三層技術,有人說這是個非常新的技術,也有人說,三層交換嘛,不就是路由器和二層交換機的堆疊,也沒有什麽新的玩意,事實果真如此嗎?下面先來通過一個簡單的網絡來看看三層交換機的工作過程。
組網比較簡單
使用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的數據,就直接交由二層交換模塊完成。這就通常所說的一次路由多次轉發。
以上就是三層交換機工作過程的簡單概括,可以看出三層交換的特點:
a -- 由硬件結合實現數據的高速轉發。
b -- 這就不是簡單的二層交換機和路由器的疊加,三層路由模塊直接疊加在二層交換的高速背板總線上,突破了傳統路由器的接口速率限制,速率可達幾十Gbit/s。算上背板帶寬,這些是三層交換機性能的兩個重要參數。
c -- 簡潔的路由軟件使路由過程簡化。
d -- 大部分的數據轉發,除了必要的路由選擇交由路由軟件處理,都是又二層模塊高速轉發,路由軟件大多都是經過處理的高效優化軟件,並不是簡單照搬路由器中的軟件。
簡單總結:
二層交換機用於小型的局域網絡。這個就不用多言了,在小型局域網中,廣播包影響不大,二層交換機的快速交換功能、多個接入端口和低謙價格為小型網絡用戶提供了很完善的解決方案。
路由器的優點在於接口類型豐富,支持的三層功能強大,路由能力強大,適合用於大型的網絡間的路由,它的優勢在於選擇最佳路由,負荷分擔,鏈路備份及和其他網絡進行路由信息的交換等等路由器所具有功能。
三層交換機的最重要的功能是加快大型局域網絡內部的數據的快速轉發,加入路由功能也是為這個目的服務的。如果把大型網絡按照部門,地域等等因素劃分成一個個小局域網,這將導致大量的網際互訪,單純的使用二層交換機不能實現網際互訪;如單純的使用路由器,由於接口數量有限和路由轉發速度慢,將限制網絡的速度和網絡規模,采用具有路由功能的快速轉發的三層交換機就成為首選。
一般來說,在內網數據流量大,要求快速轉發響應的網絡中,如全部由三層交換機來做這個工作,會造成三層交換機負擔過重,響應速度受影響,將網間的路由交由路由器去完成,充分發揮不同設備的優點,不失為一種好的組網策略,當然,前提是客戶的腰包很鼓,不然就退而求其次,讓三層交換機也兼為網際互連。
4、四層交換機
第四層交換的一個簡單定義是:它是一種功能,它決定傳輸不僅僅依據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/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端口相關聯的連接表。然後第四層交換機向這臺服務器轉發連接請求。所有後續包在客戶機與服務器之間重新影射和轉發,直到交換機發現會話為止。
在使用第四層交換的情況下,接入可以與真正的服務器連接在一起來滿足用戶制定的規則,諸如使每臺服務器上有相等數量的接入或根據不同服務器的容量來分配傳輸流。
深入分析三層網絡交換機的原理和設計