網(wǎng)管員不可不知 二層交換機基礎知識
咱們平時所說的局域網(wǎng)交換技術,也稱為層2交換技術,內(nèi)容主要包括層2交換的工作原理、網(wǎng)絡環(huán)路、如何利用Spanning-Tree Protocol來解決網(wǎng)絡環(huán)路、VLAN及VTP技術,這篇文章主要介紹二層交換機的工作原理以及網(wǎng)絡環(huán)路的危害。其他的內(nèi)容將在后續(xù)陸續(xù)介紹。
大家都知道傳統(tǒng)共享以太網(wǎng)使用的是CSMA/CD機制,即載波偵聽多路訪問/沖突檢測。我們來詳細分析一下:
▲CSMA/CD
CSMA/CD是一種分布式介質訪問控制協(xié)議,網(wǎng)絡中的各個節(jié)點都能獨立地決定數(shù)據(jù)幀的發(fā)送與接收。每個節(jié)點在發(fā)送數(shù)據(jù)幀之前,首先要進行載波監(jiān)聽,只有介質空閑時,才允許發(fā)送幀。這時,如果兩個以上的節(jié)點同時監(jiān)聽到介質空閑并發(fā)送幀,則會產(chǎn)生沖突現(xiàn)象,這使發(fā)送的幀都成為無效幀,發(fā)送隨即宣告失敗。每個節(jié)點必須有能力隨時檢測沖突是否發(fā)生,一旦發(fā)生沖突,則應停止發(fā)送,以免介質帶寬因傳送無效幀而被白白浪費,然后隨機延時一段時間后,再重新爭用介質,重發(fā)送幀。
最早由Inter,施樂,DEC三家公司提出以太網(wǎng)標準,后來IEEE組織制定了802.3標準規(guī)定了以太網(wǎng)的物理層和數(shù)據(jù)鏈路層的MAC子層,主要就是定義了10BASE-2、10BASE-5、10BASE-T、10BASE-F等,規(guī)定了介質,帶寬,距離等。同時還定義了一個502.2標準,規(guī)定以太網(wǎng)數(shù)據(jù)鏈路層的LLC子層,即邏輯鏈路控制子層,主要是提供了一個數(shù)據(jù)鏈路層與網(wǎng)絡層的接口,如圖所示:
網(wǎng)絡層有很多協(xié)議,數(shù)據(jù)鏈路層提供了很多協(xié)議之間的區(qū)分,使用網(wǎng)絡層的哪一個協(xié)議,這就是為什么數(shù)據(jù)幀要封裝一個LLC的頭部信息。但傳統(tǒng)以太2幀中不是使用LLC封裝而是在數(shù)據(jù)幀中有一個2個字節(jié)的type來表明上網(wǎng)所使用的協(xié)議,如下圖所使用的網(wǎng)絡層協(xié)議是ARP。
下面來看一下沖突域,廣播域
沖突域:共享式以太網(wǎng)中的所有節(jié)點在需要與其他節(jié)點通訊時是可以發(fā)送數(shù)據(jù)的,但是CSMA/CD的機制卻在確保在某個時刻只有一個節(jié)點可以發(fā)送數(shù)據(jù),那如果肉個同時發(fā)送數(shù)據(jù)了,出現(xiàn)這種情況會導致沖突,那么在這個共享式網(wǎng)絡中可能產(chǎn)生沖突的這么一個范圍,我們就稱為沖突域。
廣播域:廣播域是指在一個網(wǎng)絡中廣播包所能到達的范圍。也就是說如果在一個網(wǎng)絡上一個節(jié)點發(fā)送了一個廣播包,這個廣播包可以到達的范圍,我們稱為廣播域,
作為一名專業(yè)的網(wǎng)絡工作人員,具有識別沖突域和廣播域的能力是所需要的一項重要技能。***層設備的加入是擴大了沖突域,只有加入第二層設備或三層設備才可以分隔沖突域,也就是說如果加入了網(wǎng)橋、交換機和路由器可以將沖突域分割成較小的部分,從面降低對帶寬的競爭,減少沖突。路由器還有一個好處,可以劃分更小的廣播域。這就叫網(wǎng)絡分段。而用二層設備來減少沖突域的范圍叫做“微分段”,也就是說不是正真意義的分段。真正意義的分段是網(wǎng)段號不同,不可能進行直接通訊。所以二層設備可以實現(xiàn)分段,但不能真正將網(wǎng)絡進行分段,而路由器是可以實現(xiàn)真正網(wǎng)絡分段的。這句話,大家好好理解一下!給出一個表供大家參考。
▲網(wǎng)絡分段
那么咱們的交換技術毫無疑問使用的就是交換機,我們來看一個交換機的功能。#p#
交換機的三大功能:
1.MACA地址的學習
2.數(shù)據(jù)幀的轉發(fā)或者是數(shù)據(jù)幀的過濾
3.利用生成樹協(xié)議防止網(wǎng)絡環(huán)路
首先我們來看***個交換機MAC地址的學習功能,交換機是通過MAC表來進行交換轉發(fā)工作的,所以MAC地址表是交換工作的核心,網(wǎng)絡與交換機的不同之處就在于網(wǎng)橋使用軟件來創(chuàng)建和管理MAC地址表的,而交換機使用ASIC來創(chuàng)建和管理MAC地址表。
交換機的MAC地址學習功能:
交換機初始化時,要學習進入交換機的數(shù)據(jù)幀的源地址,并且把源地址及其對應的交換機的端口號記錄在MAC地址表。在MAC地地址表形成之后,交換機要學習進入交換機數(shù)據(jù)幀的目的地址,并且與MAC地址表中的條目進行比較,完成相應的轉發(fā)。
▲MAC地址學習
交換機開機初始化時,MAC地址表是空的,因為MAC地址表是存儲在內(nèi)存中的。
如果計算機A發(fā)送數(shù)據(jù)幀到計算機C,此時交換機的E0口接收該數(shù)據(jù)幀,交換機記錄下該數(shù)據(jù)幀的源地址C的對應關系及E0口的對應關系。如圖所示:
由于交換機并不知道C的MAC地址,所以將此數(shù)據(jù)幀對除了E0口以外的其他端口進行轉發(fā)。
如果是計算機D發(fā)送數(shù)據(jù)幀到計算機C,此時交換機的E3口接收該數(shù)據(jù)幀,交換機記錄下該數(shù)據(jù)幀的源地址D的地址與端口的對應關系。此時交換機仍然不知道C的地址,所以還是要對除了E0口以外的其他端口上進行轉發(fā)。
交換機不斷記錄每個接口上接收到的數(shù)據(jù)幀的地址,一段時間以后所有的端口所連接的MAC地址都會記錄到MAC地址表中。此時計算機A再向計算機C發(fā)送數(shù)據(jù)時,就直接查MAC地址表進行轉發(fā)即可,不會再轉發(fā)到其他端口上。
在這個圖中計算機A和計算機B通過HUB連接到Switch的E0口上,所以在MAC地址表中記錄兩個MAC地址對應同一個端口,此時如果A與B通訊,則交換機不會轉發(fā)該數(shù)據(jù)幀,因為源和標MAC都在同一個接口上。這就是交換機的地址學習功能以及數(shù)據(jù)包的轉發(fā)過濾。
交換機的交換方式一般有三種:直通轉發(fā)、片斷轉發(fā)和存儲轉發(fā)
直通轉發(fā):交換機檢測到目錄地址后即轉發(fā)數(shù)據(jù)幀,也就是說只要讀到目標地址以后就開始轉發(fā),大家分析一下數(shù)據(jù)幀的格式就知道了,加上前導位和目標地址也就是14個字節(jié)左右,不需要再往后分析了。這樣減少延時,但是不適合高錯誤率的網(wǎng)絡。因為有一些數(shù)據(jù)碰撞幀,是小于64字節(jié)的,也會一起轉發(fā)!
片斷轉發(fā):與直通轉發(fā)相似,只是在轉發(fā)的時候會檢測幀的前64個字節(jié),這前64個字節(jié)中會包含一小部分數(shù)據(jù),好處是可以把可以把小于64字節(jié)的壞幀拋棄掉,以節(jié)約帶寬。
存儲轉發(fā):這是延時***的一種轉發(fā),在進行數(shù)據(jù)轉發(fā)之前要將收到的幀進行完整性校驗,確認沒有錯誤才進行轉發(fā),如果有錯誤就不轉發(fā)。好處是可以丟棄任何小于64字節(jié)和受損的數(shù)據(jù)包,但是缺點是延遲大。
下面看一下網(wǎng)絡環(huán)路的形成:
網(wǎng)絡環(huán)路
大家看下面這個圖:
在這個拓撲圖中,交換機就成了一個單點故障,如果交換機壞了,此時的幾個模塊之間都無法進行正常的工作,客戶機不能訪問服務器,不能連接internet,不能訪問打印機,反之都一樣。所謂單點故障,也就是一點發(fā)生故障,則整網(wǎng)絡無法正常工作。所以在一般的交換式網(wǎng)絡中,我們都需要對交換機進行冗余,但是引入冗余又會發(fā)生一個問題,一個很嚴重的問題,就是網(wǎng)絡環(huán)路。下面我們來看看環(huán)路對我們的網(wǎng)絡到底造成了什么影響,影響主要有三:
1Broadca ststorms廣播風暴
2Multiple Frame Copies多重復數(shù)據(jù)幀
3MAC Database Instability MAC地址表不穩(wěn)定
咱們一一來看
廣播風暴:我們看一個圖,大家就明白什么是廣播風暴了:
分析:如果主機X希望跟網(wǎng)絡上的其他主機通訊,將數(shù)據(jù)報傳給交換機A,但交換機仍然會將此報再一次傳給交換機A,依次類似,構成了一個環(huán),而且這個環(huán)后面比較嚴重,為什么?我們在講網(wǎng)絡基礎的時候,我們講了數(shù)據(jù)幀的格式,大家可以回憶一下,但在這個格式中,沒有類似于三層IP報頭中TTL機制,所以數(shù)據(jù)幀在網(wǎng)絡中將被無限次數(shù)的傳遞,從面造成了廣播風暴,如果是單播的數(shù)據(jù)還要好一些,如果是廣播或者組播數(shù)據(jù)在這樣一個環(huán)路網(wǎng)絡中傳遞則廣播風暴更加明顯。
多重數(shù)據(jù)幀:也稱為重復數(shù)據(jù)幀
分析:主機X準備發(fā)一個單播幀給路由器Y,數(shù)據(jù)報發(fā)出后,發(fā)現(xiàn)有兩條路可以到達路由器Y,一個是直接發(fā)過去,還有一條就是通過交換機A轉給交換機B,然后再交給路由器Y,此時路由器Y就收到了兩位一模一樣的數(shù)據(jù)幀。
還有一個就是MAC地址表的不穩(wěn)定:
分析:還是主機X發(fā)送數(shù)據(jù)幀給路由器Y,路由器的MAC地址表還沒有被交換機學習到,數(shù)據(jù)幀沿鏈路發(fā)送到交換A和交換機B的端口0,那么交換機A和交換機B都將主機X的MAC地址記錄在port0。因為是通過port0收到的數(shù)據(jù)幀,所以會通過兩個交換機的port1向外泛洪,交叉來到相互交換機的port1口,又認為主機X的MAC地址所對應的端口是port1,即從交換機A發(fā)出來的數(shù)據(jù)幀來到了交換機B的port1端口。然后交換機B收到后又通過Port0口再次泛洪,依次類推,數(shù)據(jù)幀在環(huán)路里重復執(zhí)行上述過程,交換機A和交換機B重復的在port1以及port0上不斷的學習主機X的MAC地址,造成MAC地址表的不穩(wěn)定。