CAM表含义及各层交换机介绍
轉(zhuǎn)自:http://skyeagle.blog.51cto.com/417071/93338
所謂CAM表是用于二層交換的地址表,通常稱為CAM表,該表是MAC地址與出接口的對應(yīng)關(guān)系,對于二層交換機(jī)和三層交換機(jī)都會維護(hù)這張表。
三層交換機(jī)基本特點
在概述部分中,我們給出了三層交換機(jī)的基本特點綜述,主要有下列特點:
1. 二層交換和三層互通
2. 實現(xiàn)三層精確匹配查詢
3. 專門針對局域網(wǎng),特別是以太網(wǎng)進(jìn)行了優(yōu)化
4. 引入了一些在二層交換機(jī)和三層路由器上都不存在的特性
5. 實現(xiàn)了初步的BAS功能
一般來說,只要能做到第一點,就可以稱為三層交換機(jī)了,但目前大多數(shù)流行的三層交換機(jī)都不局限于第一點,而是實現(xiàn)了上述的大部分功能。因此,為了更好的理解三層交換機(jī),接下來我們對上述特點進(jìn)行詳細(xì)講述。
2.1 二層交換和三層互通
三層交換機(jī)首先是一個交換機(jī),即完成二層交換功能。在以太網(wǎng)上,跟普通的二層交換機(jī)一樣,三層交換機(jī)也維護(hù)一張用于二層交換的地址表(通常稱為CAM表),該表是MAC地址與出接口的對應(yīng)關(guān)系。這樣每當(dāng)接收到一個以太網(wǎng)數(shù)據(jù)幀,三層交換機(jī)判斷如果該數(shù)據(jù)幀不是發(fā)送給自己的(這個概念很重要,至于三層交換機(jī)怎么判斷,在下面的講述中會詳細(xì)說明),則根據(jù)數(shù)據(jù)幀的目的MAC地址查詢CAM表,如果能命中(所謂命中,就是在CAM表中找到與該MAC地址對應(yīng)的轉(zhuǎn)發(fā)項),則根據(jù)查詢的結(jié)果,通常是一個出接口列表,來進(jìn)行轉(zhuǎn)發(fā)。如果不能命中,則向所有端口廣播該數(shù)據(jù)幀。
交換機(jī)的這張CAM表可以通過多種方式獲得,比如靜態(tài)配置,動態(tài)學(xué)習(xí),針對多播還可以通過各種多播協(xié)議,比如IGMP窺探,GMRP協(xié)議等方式獲得(注意,多播轉(zhuǎn)發(fā)表不能通過學(xué)習(xí)獲得,而且多播轉(zhuǎn)發(fā)項跟普通轉(zhuǎn)發(fā)項不同的是,跟其對應(yīng)的出口可能不止一個,而是一個出口集合,如果想詳細(xì)了解多播的一些基礎(chǔ)概念,請參考前面的專題資料)。但對于單播,最重要的一種建立方式是學(xué)習(xí)。
當(dāng)交換機(jī)接收到一個數(shù)據(jù)幀,提取出該數(shù)據(jù)幀的目的MAC地址,并依此為根據(jù)進(jìn)行CAM表查詢,如果能查找到結(jié)果,則根據(jù)結(jié)果進(jìn)行數(shù)據(jù)幀的轉(zhuǎn)發(fā),如果不能命中,則(向除接收端口外的)所有端口進(jìn)行復(fù)制。在進(jìn)行數(shù)據(jù)轉(zhuǎn)發(fā)的同時,交換機(jī)還進(jìn)行一個學(xué)習(xí)的過程,交換機(jī)把數(shù)據(jù)幀的源MAC地址提取出來,查詢CAM表,看CAM表中是否有針對該MAC地址的轉(zhuǎn)發(fā)項,如果沒有,則把該MAC地址和接收到該MAC地址的端口綁定起來,插入CAM表項,這樣當(dāng)接收到一個發(fā)送到該MAC地址的數(shù)據(jù)幀時,就不需要向所有端口廣播,而僅僅向這一個端口發(fā)送即可。需要注意的是,數(shù)據(jù)幀的轉(zhuǎn)發(fā)是依據(jù)目的MAC地址查詢CAM表,而CAM表的學(xué)習(xí)則是以源MAC地址為依據(jù)。
交換機(jī)動態(tài)學(xué)習(xí)的CAM表項并不是一成不變的,而是啟動一個定時器,當(dāng)該定時器遞減到零時,該CAM表項被刪除,每使用一次該CAM表項進(jìn)行轉(zhuǎn)發(fā),則恢復(fù)定時器初始值。
上述情況是沒有VLAN的工作過程,現(xiàn)在的交換機(jī)一般都實現(xiàn)了VLAN(即虛擬局域網(wǎng),詳細(xì)內(nèi)容請參考以太網(wǎng)的有關(guān)教程),這樣在交換機(jī)進(jìn)行轉(zhuǎn)發(fā)的CAM表就進(jìn)行了變化,由原來的兩項對應(yīng)關(guān)系(MAC地址跟接口)變成了三項對應(yīng)關(guān)系(MAC地址,VLAN ID,出口),這樣當(dāng)接收到一個數(shù)據(jù)幀的時候,交換機(jī)根據(jù)數(shù)據(jù)幀的目的MAC地址和VLAN ID兩項來查詢CAM表,找到接口后把該數(shù)據(jù)幀轉(zhuǎn)發(fā)出去。
但如果交換機(jī)根據(jù)MAC地址和VLAN ID查詢CAM表失敗,即沒有跟該MAC和VLAN ID的對應(yīng)關(guān)系,則交換機(jī)把該數(shù)據(jù)幀向該VLAN包含的(除接收端口以外的)所有端口上復(fù)制。如果只根據(jù)CAM表來確定一個VLAN包含哪些端口,則必須遍歷整個CAM表,這樣如果CAM表的規(guī)模非常大(一般情況下是4K以上),則效率特別低,所以一般的交換機(jī)上在實現(xiàn)VLAN時,還創(chuàng)建另外一張表,即VLAN配置表,該表包含了VLAN ID和所有端口的對應(yīng)關(guān)系,即只要根據(jù)VLAN ID查詢該表,就可以找到該VLAN包含的所有端口,這樣在進(jìn)行VLAN內(nèi)廣播的時候,就非常容易。
另外一個問題出現(xiàn)了,就是數(shù)據(jù)幀的VLAN ID是怎樣獲得的。交換機(jī)一般根據(jù)下列原則來給一個數(shù)據(jù)幀附加上VLAN ID:
1、如果接收到數(shù)據(jù)幀的端口是一個非TAG端口,且數(shù)據(jù)幀是一個普通數(shù)據(jù)幀,則附加上該端口的默認(rèn)VLAN ID;
根據(jù)農(nóng)基文的理解:當(dāng)一個非TAG端口收到了一個數(shù)據(jù)幀,且含有VLAN ID時,做判斷,如果VLAN ID=端口PVID,則可以接收;否則,丟棄。
2、如果接收到數(shù)據(jù)幀的端口是一個TAG端口,而數(shù)據(jù)幀是一個普通數(shù)據(jù)幀,則附加上該端口的默認(rèn)VLAN ID;
3、如果接收到數(shù)據(jù)幀的端口是一個TAG端口,數(shù)據(jù)幀自己攜帶了VLAN ID(通過802.1Q協(xié)議),則該數(shù)據(jù)幀的VLAN ID就是攜帶的VLAN ID。
需要注意的是,實現(xiàn)VLAN的交換機(jī)在查詢CAM表進(jìn)行轉(zhuǎn)發(fā)之前,首先給該數(shù)據(jù)幀附加上VLAN ID。
以上功能都是二層功能,作為一臺三層交換機(jī),上述功能是必須實現(xiàn)的,但三層交換機(jī)的最根本特點還是VLAN間的互通。
在三層交換機(jī)上,VLAN之間的互通是通過實現(xiàn)一個虛擬VLAN接口來實現(xiàn)的,即針對每個VLAN,交換機(jī)內(nèi)部維護(hù)了一個與該VLAN對應(yīng)的接口,該接口對外是不可見的,是一個虛擬的接口,但該接口有所有物理接口所具有的特性,比如有MAC地址,可配置最大傳輸單元和傳輸?shù)囊蕴W(wǎng)幀類型等。在上述的說明中,我們提到了當(dāng)交換機(jī)接收到一個數(shù)據(jù)幀時,判斷是不是發(fā)給自己的,判斷的依據(jù)便是查看該MAC地址是不是針對接收數(shù)據(jù)幀所在VLAN的接口MAC地址,如果是,則進(jìn)行三層處理,若不是,則進(jìn)行二層處理,按照上述流程進(jìn)行轉(zhuǎn)發(fā)。
既然實現(xiàn)了三層轉(zhuǎn)發(fā),交換機(jī)必須維護(hù)一個三層轉(zhuǎn)發(fā)表,該表可以是基于最長匹配查詢的FIB表,也可以是基于目的網(wǎng)絡(luò)層地址精確匹配的三層轉(zhuǎn)發(fā)表,這跟實現(xiàn)的廠家設(shè)備有關(guān)。這樣當(dāng)交換機(jī)接收到一個數(shù)據(jù)幀,該數(shù)據(jù)幀的目的MAC地址跟該數(shù)據(jù)幀所在VLAN對應(yīng)的VLAN接口的MAC地址相同,則進(jìn)行三層轉(zhuǎn)發(fā)。轉(zhuǎn)發(fā)的過程是查詢?nèi)龑愚D(zhuǎn)發(fā)表,查找的結(jié)果是一個(或多個,當(dāng)數(shù)據(jù)幀是多播的時候)出口和相應(yīng)的二層封裝數(shù)據(jù),交換機(jī)于是把該數(shù)據(jù)幀所攜帶的三層數(shù)據(jù)幀(比如,是IP或IPX數(shù)據(jù)報)進(jìn)行修改,比如修改校驗和,在IP協(xié)議中還進(jìn)行TTL字段遞減,然后重新計算CHECKSUM,完成這些后,就把該三層數(shù)據(jù)包進(jìn)行二層封裝(根據(jù)三層轉(zhuǎn)發(fā)表查找的結(jié)果),從相應(yīng)的接口發(fā)送出去。
這個三層轉(zhuǎn)發(fā)表的形成跟二層轉(zhuǎn)發(fā)表(CAM表)的形成有很大的不同,它是通過查詢路由表并經(jīng)過其它協(xié)議(比如ARP協(xié)議)形成的。在后面介紹典型產(chǎn)品實例的時候,我們以例子來講述三層轉(zhuǎn)發(fā)表的形成。
& 本部分有下列要點:
1、三層交換機(jī)有二層交換機(jī)所有功能,比如基于MAC地址的過濾(也就是基于MAC地址的單播轉(zhuǎn)發(fā)),生成樹協(xié)議等;
2、三層交換機(jī)通過為每個VLAN分配一個VLAN接口完成VLAN之間的互通,VLAN接口有自己的MAC地址和IP地址,凡目的MAC地址是VLAN接口的數(shù)據(jù)幀,交換機(jī)都進(jìn)行三層轉(zhuǎn)發(fā)或自己接收—取決于目的IP地址是否是交換機(jī)的接口地址。
2.2 三層精確匹配查詢
在路由器上,每當(dāng)接收到一個數(shù)據(jù)報,路由器便進(jìn)行路由表的查詢來找出該數(shù)據(jù)報的下一跳,然后通過相應(yīng)的接口發(fā)送出去。路由器查詢路由表采用的是最長匹配算法,在以前的路由器中,最長匹配算法采用軟件實現(xiàn),而且實現(xiàn)起來非常復(fù)雜,導(dǎo)致了效率特別低。
我們可以設(shè)想,能否改變這種最長匹配的查找思想,而采用精確匹配的查找技術(shù)實現(xiàn)呢?可以引入一個高速緩沖區(qū),用來存放精確查詢所需要的信息(一般是三層IP地址跟出口的對應(yīng)fib表,還關(guān)聯(lián)有一些二層封裝信息Arp表,比如鏈路層頭等),當(dāng)接收到一個需要進(jìn)行三層轉(zhuǎn)發(fā)的數(shù)據(jù)幀的時候,路由器先查詢高速緩沖區(qū)(采用精確匹配算法,即直接根據(jù)目的IP地址進(jìn)行索引),如果命中,則根據(jù)查詢出的信息進(jìn)行數(shù)據(jù)的轉(zhuǎn)發(fā),如果不能命中,則查詢路由表(采用最長匹配算法),根據(jù)查詢的結(jié)果進(jìn)行轉(zhuǎn)發(fā),同時更新相應(yīng)的精確查詢緩沖區(qū),這樣當(dāng)?shù)竭_(dá)同一個目的地的數(shù)據(jù)報來的時候,就可以直接查詢精確匹配緩沖區(qū)進(jìn)行轉(zhuǎn)發(fā)了。
跟CAM表一樣,精確匹配查詢項也有一個定時機(jī)制,超過了一定的時間限制就從緩沖區(qū)中刪除掉,跟CAM表不同的是,三層精確匹配查詢項跟路由表同步,每當(dāng)路由表變化,必定修改精確轉(zhuǎn)發(fā)緩沖區(qū),來保證跟路由表的同步。
如果數(shù)據(jù)鏈路層是以太網(wǎng),網(wǎng)絡(luò)層是IP,則這個三層高速轉(zhuǎn)發(fā)緩沖區(qū)是通過ARP協(xié)議建立的,我們說明它的工作過程。
開始的時候,三層交換機(jī)只有一張用于路由的路由表(該路由表是通過路由協(xié)議建立的),而精確匹配的三層轉(zhuǎn)發(fā)表為空,這樣當(dāng)三層交換機(jī)接收到一個需要進(jìn)行三層交換的數(shù)據(jù)幀時,它首先查詢?nèi)龑泳_匹配緩沖區(qū),因為三層轉(zhuǎn)發(fā)表為空,查詢失敗,于是,三層交換機(jī)通過最長匹配算法查詢路由表(根據(jù)數(shù)據(jù)報的目的IP地址),查詢的結(jié)果是一個出口(一般是一個VLAN接口)和一個下一跳。于是,有兩中可能的情況:
1、數(shù)據(jù)報的目的地址跟VLAN接口不在同一個網(wǎng)段;
2、數(shù)據(jù)報的目的地址跟VLAN接口在同一個網(wǎng)段。
在第一種情況下,三層交換機(jī)通過ARP解析來解析下一跳IP地址,獲得下一跳的MAC地址后,三層交換機(jī)把接收的數(shù)據(jù)幀進(jìn)行二層封裝,然后發(fā)送給下一跳。在第二種情況下,三層交換機(jī)直接解析數(shù)據(jù)報的目的IP地址,獲得目的IP地址對應(yīng)的主機(jī)MAC地址后,直接把該數(shù)據(jù)幀發(fā)送給目的主機(jī)。不論哪種情況,交換機(jī)進(jìn)行ARP解析的時候,都會獲得一個IP地址跟出口的對應(yīng)關(guān)系,同時還通過ARP協(xié)議獲得了下一跳的MAC地址,于是,三層交換機(jī)會把這些數(shù)據(jù)組合成一個三層精確匹配項,并插入到三層精確匹配緩沖區(qū)里面。這樣當(dāng)?shù)竭_(dá)同一目的地的數(shù)據(jù)報到來后,三層交換機(jī)使用精確匹配算法直接查詢高速緩沖區(qū),根據(jù)查詢的結(jié)果進(jìn)行轉(zhuǎn)發(fā)。
需要說明的是,實現(xiàn)三層精確匹配并不是三層交換機(jī)必須具備的特性。在一些低端交換機(jī)的場合下,最長匹配查詢采用軟件實現(xiàn),效率特別低,因而引入三層精確匹配算法,這是合理而且必須的,但對一些高端場合,就不適應(yīng)了,在一些高端交換機(jī)上,最長匹配算法都是基于硬件實現(xiàn)的,而且采用了效率很高的樹查找算法,其效率跟精確匹配算法相差無幾,而且只采用最長匹配算法還減少了精確匹配緩沖區(qū)和路由表的同步問題,因而在一些基于硬件實現(xiàn)的三層交換機(jī)上,精確匹配不是必須的。在后面介紹典型實例分析的時候,我們會介紹僅僅采用最長匹配算法實現(xiàn)高端三層的交換機(jī)。
& 本部分有下列要點:
1、三層交換機(jī)為了提高效率,采用了精確匹配查找算法,在一些高端三層交換機(jī)上,該特性不是必須的,因為采用最長匹配查找算法的效率并不一定比采用精確匹配查找算法效率差。
2.3 針對局域網(wǎng)進(jìn)行優(yōu)化
傳統(tǒng)的路由器提供豐富的接口種類,比如E1/T1,ISDN,Frame-Relay,X.25,POS,ATM,SMDS等,每種接口對應(yīng)不同的封裝類型,而且每種接口所對應(yīng)的最大傳輸單元和最大接收單元都不相同,這樣存在數(shù)據(jù)報分片的概率相當(dāng)大,概括起來,這些特性使得路由器的轉(zhuǎn)發(fā)效率特別低。
而三層交換機(jī)是由二層交換機(jī)發(fā)展起來的,而且其發(fā)展過程中一直遵循為局域網(wǎng)服務(wù)的指導(dǎo)思想,沒有過多的引入其它接口類型,而只提供跟局域網(wǎng)有關(guān)的接口,比如以太網(wǎng)接口,ATM局域網(wǎng)仿真接口等,這樣接口類型單純,大部分情況下三層交換機(jī)只提供以太網(wǎng)接口,這樣在多種類型接口路由器上所碰到的問題就徹底消除了,比如,最大傳輸單元問題,由于各個接口都是以太網(wǎng)接口,一般不存在沖突的問題,分片的概率就大大降低了。
接口類型單純的另外一個好處就是在進(jìn)行數(shù)據(jù)轉(zhuǎn)發(fā)的時候,內(nèi)部經(jīng)過的路徑比較單純。現(xiàn)在的通信處理器一般都是集中在一塊ASIC芯片上的,而且不同的接口類型有不同的ASIC芯片進(jìn)行處理。這樣如果接口類型比較單一,所需要的ASIC芯片就相對單一,交互起來必定流暢,使用ASIC芯片本身帶的功能就可以完成多個接口之間的數(shù)據(jù)交換,但如果接口類型不統(tǒng)一,則必須有一個轉(zhuǎn)換機(jī)構(gòu)來完成這些芯片之間的數(shù)據(jù)交換,效率上大大影響。
目前成熟的以太網(wǎng)接口速率最高可以達(dá)到1G(雖然10G的以太網(wǎng)已經(jīng)商用,但還不是很普遍),如果需要更高的速率,只能采用鏈路聚合的方式把幾個GE端口聚合成一個物理端口,雖然邏輯上是可行的,但實現(xiàn)起來可能會遇到這樣那樣的問題,比如聚合的鏈路不能跨越同一塊處理板,芯片本身的問題等,于是有些交換機(jī)拋棄了這種純粹以太網(wǎng)接口的解決方案,而引入了其它的接口類型作為上行接口,比如STM-16的POS接口(2.5G POS接口)等。這些接口用于上行連接核心層設(shè)備。
& 本部分有下列要點:
1、三層交換機(jī)專門針對局域網(wǎng)進(jìn)行了優(yōu)化,采用的接口類型比較單純,一般只提供以太網(wǎng)接口,但有些交換機(jī)為了提高上行鏈路的效率,也提高了高速的POS接口。
二層、三層、四層交換機(jī)的區(qū)別
二層交換技術(shù)是發(fā)展比較成熟,二層交換機(jī)屬數(shù)據(jù)鏈路層設(shè)備,可以識別數(shù)據(jù)包中的MAC地址信息,根據(jù)MAC地址進(jìn)行轉(zhuǎn)發(fā),并將這些MAC地址與對應(yīng)的端口記錄在自己內(nèi)部的一個地址表中。具體的工作流程如下:
(1) 當(dāng)交換機(jī)從某個端口收到一個數(shù)據(jù)包,它先讀取包頭中的源MAC地址,這樣它就知道源MAC地址的機(jī)器是連在哪個端口上的;
(2) 再去讀取包頭中的目的MAC地址,并在地址表中查找相應(yīng)的端口;
(3) 如表中有與這目的MAC地址對應(yīng)的端口,把數(shù)據(jù)包直接復(fù)制到這端口上;
(4) 如表中找不到相應(yīng)的端口則把數(shù)據(jù)包廣播到所有端口上,當(dāng)目的機(jī)器對源機(jī)器回應(yīng)時,交換機(jī)又可以學(xué)習(xí)一目的MAC地址與哪個端口對應(yīng),在下次傳送數(shù)據(jù)時就不再需要對所有端口進(jìn)行廣播了。
不斷的循環(huán)這個過程,對于全網(wǎng)的MAC地址信息都可以學(xué)習(xí)到,二層交換機(jī)就是這樣建立和維護(hù)它自己的地址表。
從二層交換機(jī)的工作原理可以推知以下三點:
(1) 由于交換機(jī)對多數(shù)端口的數(shù)據(jù)進(jìn)行同時交換,這就要求具有很寬的交換總線帶寬,如果二層交換機(jī)有N個端口,每個端口的帶寬是M,交換機(jī)總線帶寬超過N×M,那么這交換機(jī)就可以實現(xiàn)線速交換;
(2) 學(xué)習(xí)端口連接的機(jī)器的MAC地址,寫入地址表,地址表的大小(一般兩種表示方式:一為BEFFER RAM,一為MAC表項數(shù)值),地址表大小影響交換機(jī)的接入容量;
(3) 還有一個就是二層交換機(jī)一般都含有專門用于處理數(shù)據(jù)包轉(zhuǎn)發(fā)的ASIC (Application specific Integrated Circuit)芯片,因此轉(zhuǎn)發(fā)速度可以做到非常快。由于各個廠家采用ASIC不同,直接影響產(chǎn)品性能。
以上三點也是評判二三層交換機(jī)性能優(yōu)劣的主要技術(shù)參數(shù),這一點請大家在考慮設(shè)備選型時注意比較。
(二)路由技術(shù)
路由器工作在OSI模型的第三層—網(wǎng)絡(luò)層*作,其工作模式與二層交換相似,但路由器工作在第三層,這個區(qū)別決定了路由和交換在傳遞包時使用不同的控制信息,實現(xiàn)功能的方式就不同。工作原理是在路由器的內(nèi)部也有一個表,這個表所標(biāo)示的是如果要去某一個地方,下一步應(yīng)該向那里走,如果能從路由表中找到數(shù)據(jù)包下一步往那里走,把鏈路層信息加上轉(zhuǎn)發(fā)出去;如果不能知道下一步走向那里,則將此包丟棄,然后返回一個信息交給源地址。
路由技術(shù)實質(zhì)上來說不過兩種功能:決定最優(yōu)路由和轉(zhuǎn)發(fā)數(shù)據(jù)包。路由表中寫入各種信息,由路由算法計算出到達(dá)目的地址的最佳路徑,然后由相對簡單直接的轉(zhuǎn)發(fā)機(jī)制發(fā)送數(shù)據(jù)包。接受數(shù)據(jù)的下一臺路由器依照相同的工作方式繼續(xù)轉(zhuǎn)發(fā),依次類推,直到數(shù)據(jù)包到達(dá)目的路由器。
而路由表的維護(hù),也有兩種不同的方式。一種是路由信息的更新,將部分或者全部的路由信息公布出去,路由器通過互相學(xué)習(xí)路由信息,就掌握了全網(wǎng)的拓?fù)浣Y(jié)構(gòu),這一類的路由協(xié)議稱為距離矢量路由協(xié)議;另一種是路由器將自己的鏈路狀態(tài)信息進(jìn)行廣播,通過互相學(xué)習(xí)掌握全網(wǎng)的路由信息,進(jìn)而計算出最佳的轉(zhuǎn)發(fā)路徑,這類路由協(xié)議稱為鏈路狀態(tài)路由協(xié)議。
由于路由器需要做大量的路徑計算工作,一般處理器的工作能力直接決定其性能的優(yōu)劣。當(dāng)然這一判斷還是對中低端路由器而言,因為高端路由器往往采用分布式處理系統(tǒng)體系設(shè)計。
(三)三層交換技術(shù)
近年來的對三層技術(shù)的宣傳,耳朵都能起繭子,到處都在喊三層技術(shù),有人說這是個非常新的技術(shù),也有人說,三層交換嘛,不就是路由器和二層交換機(jī)的堆疊,也沒有什么新的玩意,事實果真如此嗎?下面先來通過一個簡單的網(wǎng)絡(luò)來看看三層交換機(jī)的工作過程。
組網(wǎng)比較簡單
使用IP的設(shè)備A————————三層交換機(jī)————————使用IP的設(shè)備B
比如A要給B發(fā)送數(shù)據(jù),已知目的IP,那么A就用子網(wǎng)掩碼取得網(wǎng)絡(luò)地址,判斷目的IP是否與自己在同一網(wǎng)段。
如果在同一網(wǎng)段,但不知道轉(zhuǎn)發(fā)數(shù)據(jù)所需的MAC地址,A就發(fā)送一個ARP請求,B返回其MAC地址,A用此MAC封裝數(shù)據(jù)包并發(fā)送給交換機(jī),交換機(jī)起用二層交換模塊,查找MAC地址表,將數(shù)據(jù)包轉(zhuǎn)發(fā)到相應(yīng)的端口。
如果目的IP地址顯示不是同一網(wǎng)段的,那么A要實現(xiàn)和B的通訊,在流緩存條目中沒有對應(yīng)MAC地址條目,就將第一個正常數(shù)據(jù)包發(fā)送向一個缺省網(wǎng)關(guān),這個缺省網(wǎng)關(guān)一般在*作系統(tǒng)中已經(jīng)設(shè)好,對應(yīng)第三層路由模塊,所以可見對于不是同一子網(wǎng)的數(shù)據(jù),最先在MAC表中放的是缺省網(wǎng)關(guān)的MAC地址;然后就由三層模塊接收到此數(shù)據(jù)包,查詢路由表以確定到達(dá)B的路由,將構(gòu)造一個新的幀頭,其中以缺省網(wǎng)關(guān)的MAC地址為源MAC地址,以主機(jī)B的MAC地址為目的MAC地址。通過一定的識別觸發(fā)機(jī)制,確立主機(jī)A與B的MAC地址及轉(zhuǎn)發(fā)端口的對應(yīng)關(guān)
系,并記錄進(jìn)流緩存條目表,以后的A到B的數(shù)據(jù),就直接交由二層交換模塊完成。這就通常所說的一次路由多次轉(zhuǎn)發(fā)。
以上就是三層交換機(jī)工作過程的簡單概括,可以看出三層交換的特點:
由硬件結(jié)合實現(xiàn)數(shù)據(jù)的高速轉(zhuǎn)發(fā)。
這就不是簡單的二層交換機(jī)和路由器的疊加,三層路由模塊直接疊加在二層交換的高速背板總線上,突破了傳統(tǒng)路由器的接口速率限制,速率可達(dá)幾十Gbit/s。算上背板帶寬,這些是三層交換機(jī)性能的兩個重要參數(shù)。
簡潔的路由軟件使路由過程簡化。
大部分的數(shù)據(jù)轉(zhuǎn)發(fā),除了必要的路由選擇交由路由軟件處理,都是又二層模塊高速轉(zhuǎn)發(fā),路由軟件大多都是經(jīng)過處理的高效優(yōu)化軟件,并不是簡單照搬路由器中的軟件。
結(jié)論
二層交換機(jī)用于小型的局域網(wǎng)絡(luò)。這個就不用多言了,在小型局域網(wǎng)中,廣播包影響不大,二層交換機(jī)的快速交換功能、多個接入端口和低謙價格為小型網(wǎng)絡(luò)用戶提供了很完善的解決方案。
路由器的優(yōu)點在于接口類型豐富,支持的三層功能強(qiáng)大,路由能力強(qiáng)大,適合用于大型的網(wǎng)絡(luò)間的路由,它的優(yōu)勢在于選擇最佳路由,負(fù)荷分擔(dān),鏈路備份及和其他網(wǎng)絡(luò)進(jìn)行路由信息的交換等等路由器所具有功能。
三層交換機(jī)的最重要的功能是加快大型局域網(wǎng)絡(luò)內(nèi)部的數(shù)據(jù)的快速轉(zhuǎn)發(fā),加入路由功能也是為這個目的服務(wù)的。如果把大型網(wǎng)絡(luò)按照部門,地域等等因素劃分成一個個小局域網(wǎng),這將導(dǎo)致大量的網(wǎng)際互訪,單純的使用二層交換機(jī)不能實現(xiàn)網(wǎng)際互訪;如單純的使用路由器,由于接口數(shù)量有限和路由轉(zhuǎn)發(fā)速度慢,將限制網(wǎng)絡(luò)的速度和網(wǎng)絡(luò)規(guī)模,采用具有路由功能的快速轉(zhuǎn)發(fā)的三層交換機(jī)就成為首選。
一般來說,在內(nèi)網(wǎng)數(shù)據(jù)流量大,要求快速轉(zhuǎn)發(fā)響應(yīng)的網(wǎng)絡(luò)中,如全部由三層交換機(jī)來做這個工作,會造成三層交換機(jī)負(fù)擔(dān)過重,響應(yīng)速度受影響,將網(wǎng)間的路由交由路由器去完成,充分發(fā)揮不同設(shè)備的優(yōu)點,不失為一種好的組網(wǎng)策略,當(dāng)然,前提是客戶的腰包很鼓,不然就退而求其次,讓三層交換機(jī)也兼為網(wǎng)際互連。
第四層交換的一個簡單定義是:它是一種功能,它決定傳輸不僅僅依據(jù)MAC地址(第二層網(wǎng)橋)或源/目標(biāo)IP地址(第三層路由),而且依據(jù)TCP/UDP(第四層) 應(yīng)用端口號。第四層交換功能就象是虛IP,指向物理服務(wù)器。它傳輸?shù)臉I(yè)務(wù)服從的協(xié)議多種多樣,有HTTP、FTP、NFS、Telnet或其他協(xié)議。這些業(yè)務(wù)在物理服務(wù)器基礎(chǔ)上,需要復(fù)雜的載量平衡算法。在IP世界,業(yè)務(wù)類型由終端TCP或UDP端口地址來決定,在第四層交換中的應(yīng)用區(qū)間則由源端和終端IP地址、TCP和UDP端口共同決定。
在第四層交換中為每個供搜尋使用的服務(wù)器組設(shè)立虛IP地址(VIP),每組服務(wù)器支持某種應(yīng)用。在域名服務(wù)器(DNS)中存儲的每個應(yīng)用服務(wù)器地址是VIP,而不是真實的服務(wù)器地址。
當(dāng)某用戶申請應(yīng)用時,一個帶有目標(biāo)服務(wù)器組的VIP連接請求(例如一個TCP SYN包)發(fā)給服務(wù)器交換機(jī)。服務(wù)器交換機(jī)在組中選取最好的服務(wù)器,將終端地址中的VIP用實際服務(wù)器的IP取代,并將連接請求傳給服務(wù)器。這樣,同一區(qū)間所有的包由服務(wù)器交換機(jī)進(jìn)行映射,在用戶和同一服務(wù)器間進(jìn)行傳輸。
第四層交換的原理
OSI模型的第四層是傳輸層。傳輸層負(fù)責(zé)端對端通信,即在網(wǎng)絡(luò)源和目標(biāo)系統(tǒng)之間協(xié)調(diào)通信。在IP協(xié)議棧中這是TCP(一種傳輸協(xié)議)和UDP(用戶數(shù)據(jù)包協(xié)議)所在的協(xié)議層。
在第四層中,TCP和UDP標(biāo)題包含端口號(portnumber),它們可以唯一區(qū)分每個數(shù)據(jù)包包含哪些應(yīng)用協(xié)議(例如HTTP、FTP等)。端點系統(tǒng)利用這種信息來區(qū)分包中的數(shù)據(jù),尤其是端口號使一個接收端計算機(jī)系統(tǒng)能夠確定它所收到的IP包類型,并把它交給合適的高層軟件。端口號和設(shè)備IP地址的組合通常稱作“插口(socket)”。 1和255之間的端口號被保留,他們稱為“熟知”端口,也就是說,在所有主機(jī)TCP/IP協(xié)議棧實現(xiàn)中,這些端口號是相同的。除了“熟知”端口外,標(biāo)準(zhǔn)UNIX服務(wù)分配在256到1024端口范圍,定制的應(yīng)用一般在1024以上分配端口號. 分配端口號的最近清單可以在RFc1700”Assigned Numbers”上找到。TCP/UDP端口號提供的附加信息可以為網(wǎng)絡(luò)交換機(jī)所利用,這是第4層交換的基礎(chǔ)。
“熟知”端口號舉例:
應(yīng)用協(xié)議 端口號
FTP 20(數(shù)據(jù))
21(控制)
TELNET 23
SMTP 25
HTTP 80
NNTP 119
NNMP 16
162(SNMP traps)
TCP/UDP端口號提供的附加信息可以為網(wǎng)絡(luò)交換機(jī)所利用,這是第四層交換的基礎(chǔ)。
具有第四層功能的交換機(jī)能夠起到與服務(wù)器相連接的“虛擬IP”(VIP)前端的作用。
每臺服務(wù)器和支持單一或通用應(yīng)用的服務(wù)器組都配置一個VIP地址。這個VIP地址被發(fā)送出去并在域名系統(tǒng)上注冊。
在發(fā)出一個服務(wù)請求時,第四層交換機(jī)通過判定TCP開始,來識別一次會話的開始。然后它利用復(fù)雜的算法來確定處理這個請求的最佳服務(wù)器。一旦做出這種決定,交換機(jī)就將會話與一個具體的IP地址聯(lián)系在一起,并用該服務(wù)器真正的IP地址來代替服務(wù)器上的VIP地址。
每臺第四層交換機(jī)都保存一個與被選擇的服務(wù)器相配的源IP地址以及源TCP 端口相關(guān)聯(lián)的連接表。然后第四層交換機(jī)向這臺服務(wù)器轉(zhuǎn)發(fā)連接請求。所有后續(xù)包在客戶機(jī)與服務(wù)器之間重新影射和轉(zhuǎn)發(fā),直到交換機(jī)發(fā)現(xiàn)
會話為止。
在使用第四層交換的情況下,接入可以與真正的服務(wù)器連接在一起來滿足用戶制定的規(guī)則,諸如使每臺服務(wù)器上有相等數(shù)量的接入或根據(jù)不同服務(wù)器的容量來分配傳輸流。
如何選用合適的第四層交換
a.速度
為了在企業(yè)網(wǎng)中行之有效,第四層交換必須提供與第三層線速路由器可比擬的性能。也就是說,第四層交換必須在所有端口以全介質(zhì)速度*作,即使在多個千兆以太網(wǎng)連接上亦如此。千兆以太網(wǎng)速度等于以每秒488000 個數(shù)據(jù)包的最大速度路由(假定最壞的情形,即所有包為以及網(wǎng)定義的最小尺寸,長64字節(jié))。
b.服務(wù)器容量平衡算法
依據(jù)所希望的容量平衡間隔尺寸,第四層交換機(jī)將應(yīng)用分配給服務(wù)器的算法有很多種,有簡單的檢測環(huán)路最近的連接、檢測環(huán)路時延或檢測服務(wù)器本身的閉環(huán)反饋。在所有的預(yù)測中,閉環(huán)反饋提供反映服務(wù)器現(xiàn)有業(yè)務(wù)量的最精確的檢測。
c.表容量
應(yīng)注意的是,進(jìn)行第四層交換的交換機(jī)需要有區(qū)分和存貯大量發(fā)送表項的能力。交換機(jī)在一個企業(yè)網(wǎng)的核心時尤其如此。許多第二/ 三層交換機(jī)傾向發(fā)送表的大小與網(wǎng)絡(luò)設(shè)備的數(shù)量成正比。對第四層交換機(jī),這個數(shù)量必須乘以網(wǎng)絡(luò)中使用的不同應(yīng)用協(xié)議和會話的數(shù)量。因而發(fā)送表的大小隨端點設(shè)備和應(yīng)用類型數(shù)量的增長而迅速增長。第四層交換機(jī)設(shè)計者在設(shè)計其產(chǎn)品時需要考慮表的這種增長。大的表容量對制造支持線速發(fā)送第四層流量的高性能交換機(jī)至關(guān)重要.
d.冗余
第四層交換機(jī)內(nèi)部有支持冗余拓?fù)浣Y(jié)構(gòu)的功能。在具有雙鏈路的網(wǎng)卡容錯連接時,就可能建立從一個服務(wù)器到網(wǎng)卡,鏈路和服務(wù)器交換器的完全冗余系統(tǒng)。
總結(jié)
以上是生活随笔為你收集整理的CAM表含义及各层交换机介绍的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: android获取网络时间工具类,And
- 下一篇: 计算机应用基础教程在线阅读,【精品】计算