咱們平時所說的區域網路交換技術,也稱為層2交換技術,内容主要包括層2交換的工作原理、網絡環路、如何利用Spanning-Tree Protocol來解決網絡環路、VLAN及VTP技術,這篇文章主要介紹二層交換機的工作原理以及網絡環路的危害。其他的内容将在後續陸續介紹。
大家都知道傳統共享以太網使用的是CSMA/CD機制,即載波偵聽多路通路/沖突檢測。我們來詳細分析一下:

▲CSMA/CD
CSMA/CD是一種分布式媒體通路控制協定,網絡中的各個節點都能獨立地決定資料幀的發送與接收。每個節點在發送資料幀之前,首先要進行載波監聽,隻有媒體空閑時,才允許發送幀。這時,如果兩個以上的節點同時監聽到媒體空閑并發送幀,則會産生沖突現象,這使發送的幀都成為無效幀,發送随即宣告失敗。每個節點必須有能力随時檢測沖突是否發生,一旦發生沖突,則應停止發送,以免媒體帶寬因傳送無效幀而被白白浪費,然後随機延時一段時間後,再重新争用媒體,重發送幀。
最早由Inter,施樂,DEC三家公司提出以太網标準,後來IEEE組織制定了802.3标準規定了以太網的實體層和資料鍊路層的MAC子層,主要就是定義了10BASE-2、10BASE-5、10BASE-T、10BASE-F等,規定了媒體,帶寬,距離等。同時還定義了一個502.2标準,規定以太網資料鍊路層的LLC子層,即邏輯鍊路控制子層,主要是提供了一個資料鍊路層與網絡層的接口,如圖所示:
網絡層有很多協定,資料鍊路層提供了很多協定之間的區分,使用網絡層的哪一個協定,這就是為什麼資料幀要封裝一個LLC的頭部資訊。但傳統以太2幀中不是使用LLC封裝而是在資料幀中有一個2個位元組的type來表明上網所使用的協定,如下圖所使用的網絡層協定是ARP。
下面來看一下沖突域,廣播域
沖突域:共享式以太網中的所有節點在需要與其他節點通訊時是可以發送資料的,但是CSMA/CD的機制卻在確定在某個時刻隻有一個節點可以發送資料,那如果肉個同時發送資料了,出現這種情況會導緻沖突,那麼在這個共享式網絡中可能産生沖突的這麼一個範圍,我們就稱為沖突域。
廣播域:廣播域是指在一個網絡中廣播包所能到達的範圍。也就是說如果在一個網絡上一個節點發送了一個廣播包,這個廣播包可以到達的範圍,我們稱為廣播域,
作為一名專業的網絡從業人員,具有識别沖突域和廣播域的能力是所需要的一項重要技能。第一層裝置的加入是擴大了沖突域,隻有加入第二層裝置或三層裝置才可以分隔沖突域,也就是說如果加入了網橋、交換機和路由器可以将沖突域分割成較小的部分,從面降低對帶寬的競争,減少沖突。路由器還有一個好處,可以劃分更小的廣播域。這就叫網絡分段。而用二層裝置來減少沖突域的範圍叫做“微分段”,也就是說不是正真意義的分段。真正意義的分段是網段号不同,不可能進行直接通訊。是以二層裝置可以實作分段,但不能真正将網絡進行分段,而路由器是可以實作真正網絡分段的。這句話,大家好好了解一下!給出一個表供大家參考。
▲網絡分段
那麼咱們的交換技術毫無疑問使用的就是交換機,我們來看一個交換機的功能。
交換機的三大功能:
1.MACA位址的學習
2.資料幀的轉發或者是資料幀的過濾
3.利用生成樹協定防止網絡環路
首先我們來看第一個交換機MAC位址的學習功能,交換機是通過MAC表來進行交換轉發工作的,是以MAC位址表是交換工作的核心,網絡與交換機的不同之處就在于網橋使用軟體來建立和管理MAC位址表的,而交換機使用ASIC來建立和管理MAC位址表。
交換機的MAC位址學習功能:
交換機初始化時,要學習進入交換機的資料幀的源位址,并且把源位址及其對應的交換機的端口号記錄在MAC位址表。在MAC地位址表形成之後,交換機要學習進入交換機資料幀的目的位址,并且與MAC位址表中的條目進行比較,完成相應的轉發。
▲MAC位址學習
交換機開機初始化時,MAC位址表是空的,因為MAC位址表是存儲在記憶體中的。
如果計算機A發送資料幀到計算機C,此時交換機的E0口接收該資料幀,交換機記錄下該資料幀的源位址C的對應關系及E0口的對應關系。如圖所示:
由于交換機并不知道C的MAC位址,是以将此資料幀對除了E0口以外的其他端口進行轉發。
如果是計算機D發送資料幀到計算機C,此時交換機的E3口接收該資料幀,交換機記錄下該資料幀的源位址D的位址與端口的對應關系。此時交換機仍然不知道C的位址,是以還是要對除了E0口以外的其他端口上進行轉發。
交換機不斷記錄每個接口上接收到的資料幀的位址,一段時間以後所有的端口所連接配接的MAC位址都會記錄到MAC位址表中。此時計算機A再向計算機C發送資料時,就直接查MAC位址表進行轉發即可,不會再轉發到其他端口上。
在這個圖中計算機A和計算機B通過HUB連接配接到Switch的E0口上,是以在MAC位址表中記錄兩個MAC位址對應同一個端口,此時如果A與B通訊,則交換機不會轉發該資料幀,因為源和标MAC都在同一個接口上。這就是交換機的位址學習功能以及資料包的轉發過濾。
交換機的交換方式一般有三種:直通轉發、片斷轉發和存儲轉發
直通轉發:交換機檢測到目錄位址後即轉發資料幀,也就是說隻要讀到目标位址以後就開始轉發,大家分析一下資料幀的格式就知道了,加上前導位和目标位址也就是14個位元組左右,不需要再往後分析了。這樣減少延時,但是不适合高錯誤率的網絡。因為有一些資料碰撞幀,是小于64位元組的,也會一起轉發!
片斷轉發:與直通轉發相似,隻是在轉發的時候會檢測幀的前64個位元組,這前64個位元組中會包含一小部分資料,好處是可以把可以把小于64位元組的壞幀抛棄掉,以節約帶寬。
存儲轉發:這是延時最大的一種轉發,在進行資料轉發之前要将收到的幀進行完整性校驗,确認沒有錯誤才進行轉發,如果有錯誤就不轉發。好處是可以丢棄任何小于64位元組和受損的資料包,但是缺點是延遲大。
下面看一下網絡環路的形成:
網絡環路
大家看下面這個圖:
在這個拓撲圖中,交換機就成了一個單點故障,如果交換機壞了,此時的幾個子產品之間都無法進行正常的工作,客戶機不能通路伺服器,不能連接配接internet,不能通路列印機,反之都一樣。所謂單點故障,也就是一點發生故障,則整網絡無法正常工作。是以在一般的交換式網絡中,我們都需要對交換機進行備援,但是引入備援又會發生一個問題,一個很嚴重的問題,就是網絡環路。下面我們來看看環路對我們的網絡到底造成了什麼影響,影響主要有三:
1Broadca ststorms廣播風暴
2Multiple Frame Copies多重複資料幀
3MAC Database Instability MAC位址表不穩定
咱們一一來看
廣播風暴:我們看一個圖,大家就明白什麼是廣播風暴了:
分析:如果主機X希望跟網絡上的其他主機通訊,将資料報傳給交換機A,但交換機仍然會将此報再一次傳給交換機A,依次類似,構成了一個環,而且這個環後面比較嚴重,為什麼?我們在講網絡基礎的時候,我們講了資料幀的格式,大家可以回憶一下,但在這個格式中,沒有類似于三層IP報頭中TTL機制,是以資料幀在網絡中将被無限次數的傳遞,從面造成了廣播風暴,如果是單點傳播的資料還要好一些,如果是廣播或者多點傳播資料在這樣一個環路網絡中傳遞則廣播風暴更加明顯。
多重資料幀:也稱為重複資料幀
分析:主機X準備發一個單點傳播幀給路由器Y,資料報發出後,發現有兩條路可以到達路由器Y,一個是直接發過去,還有一條就是通過交換機A轉給交換機B,然後再交給路由器Y,此時路由器Y就收到了兩位一模一樣的資料幀。
還有一個就是MAC位址表的不穩定: