㈠ 交換機工作原理
層交換技術是發展比較成熟,二層交換機屬數據鏈路層設備,可以識別數據包中的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)前端的作用。
每台伺服器和支持單一或通用應用的伺服器組都配置一個VIP地址。這個VIP地址被發送出去並在域名系統上注冊。
在發出一個服務請求時,第四層交換機通過判定TCP開始,來識別一次會話的開始。然後它利用復雜的演算法來確定處理這個請求的最佳伺服器。一旦做出這種決定,交換機就將會話與一個具體的IP地址聯系在一起,並用該伺服器真正的IP地址來代替伺服器上的VIP地址。
每台第四層交換機都保存一個與被選擇的伺服器相配的源IP地址以及源TCP 埠相關聯的連接表。然後第四層交換機向這台伺服器轉發連接請求。所有後續包在客戶機與伺服器之間重新影射和轉發,直到交換機發現
會話為止。
在使用第四層交換的情況下,接入可以與真正的伺服器連接在一起來滿足用戶制定的規則,諸如使每台伺服器上有相等數量的接入或根據不同伺服器的容量來分配傳輸流。
如何選用合適的第四層交換
a,速度
為了在企業網中行之有效,第四層交換必須提供與第三層線速路由器可比擬的性能。也就是說,第四層交換必須在所有埠以全介質速度操作,即使在多個千兆乙太網連接上亦如此。千兆乙太網速度等於以每秒488000 個數據包的最大速度路由(假定最壞的情形,即所有包為以及網定義的最小尺寸,長64位元組)。
b,伺服器容量平衡演算法
依據所希望的容量平衡間隔尺寸,第四層交換機將應用分配給伺服器的演算法有很多種,有簡單的檢測環路最近的連接、檢測環路時延或檢測伺服器本身的閉環反饋。在所有的預測中,閉環反饋提供反映伺服器現有業務量的最精確的檢測。
c,表容量
應注意的是,進行第四層交換的交換機需要有區分和存貯大量發送表項的能力。交換機在一個企業網的核心時尤其如此。許多第二 三層交換機傾向發送表的大小與網路設備的數量成正比。對第四層交換機,這個數量必須乘以網路中使用的不同應用協議和會話的數量。因而發送表的大小隨端點設備和應用類型數量的增長而迅速增長。第四層交換機設計者在設計其產品時需要考慮表的這種增長。大的表容量對製造支持線速發送第四層流量的高性能交換機至關重要.
d,冗餘
第四層交換機內部有支持冗餘拓撲結構的功能。在具有雙鏈路的網卡容錯連接時,就可能建立從一個伺服器到網卡,鏈路和伺服器交換器的完全冗
㈡ 第二層交換機如何進行數據幀的過濾,詳細說明。急,謝謝!求答案
交換機收到幀後,檢查源MAC地址,如果該地址不在地址表中,就記錄該地址,以及入站埠和VLAN,並加上時間戳。如果發現該地址已移到其他埠,則更新該MAC地址和入站埠以及VLAN的映射關系,同時更新時間戳。如果該MAC的映射關系沒有變化,直接更新時間戳。
入站幀還包括目標MAC地址,同樣,交換機在地址表中查找該地址,如果找到,就讀取相應的出站埠和VLAN。如果沒有找到,就把該幀從源埠所屬的VLAN中所有埠轉發出去(未知單播的泛洪)。
幀的過濾,可以在埠做MAC綁定,實現入站的過濾,也就是不讓交換機動態學習MAC地址,凡是不符合源MAC的數據幀直接丟棄。 還有就是用ACL做出站的過濾。 另外就是關於在交換機上部署802.1X的認證。
㈢ 為什麼路由器可以過濾廣播包而交換機不可以
廣播分二層廣播和三層廣播,二層廣播是FFFF.FFFF.FFFF,二層交換機遇到這種包就會泛洪到所有同VLAN的埠,不會過濾掉,因為如果二層交換機過濾這種包,arp廣播怎麼正常工作呢?沒有arp,同網段的PC如何通信呢?路由器可以過濾二層廣播是因為路由器是三層設備,如果路由器不過濾這種包,任何人發起的二層廣播包就會到達Internet的整個范圍,這樣還要路由器做什麼呢?路由器就是為了劃分廣播域用的阿。
對於三層廣播還有本地廣播255.255.255.255和特定子網廣播比如192.168.1.255/24之分,255.255.255.255這種本地廣播是肯定沒發跨越路由器的,因為一旦這種廣播能跨越路由器的話,同樣任何人發起的這種廣播就會跑到Internet的任何角落。然而對於特定子網的廣播是可以配置為允許跨路由器或者不允許跨路由器的,如果允許的話,我就可以跨越路由器對特定的子網發起三層廣播。通常不要允許這類廣播,因為你一旦允許了很容易造成icmp sumrf攻擊的。
再說一下這種三層廣播對二層交換機來說是沒有意義的,普通二層交換機只能看到二層頭。也只會根據二層頭中的目標地址進行處理。