網絡之交換機原理

網絡拓撲

拓撲(Topology):網絡連接圖。
網絡按照拓撲類型按照接入設備劃分,可以分成兩種類型:

  • 總線型網絡:通過集線器(Hub)將終端設備(PC Printer)連接形成的網絡,屬於OSI一層(Layer 1)網絡。
  • 星形網絡:通過交換機(Switch)將終端設備(PC Printer)連接形成的網絡,屬於OSI二層(Layer 2)網絡。

總線型網絡

在這裏插入圖片描述
總線型網絡的工作原理

數據從終端PCA通過Hub集線器發送到終端PCB,需要進行數據封裝,添加一些頭信息,形成類似這樣的數據包(“Header(源地址 目的地址)|Header(源端口 目的端口)|數據XXXXX”),再由接入設備,通過目的地址找到PCB

Q:Hub集線器是一個一層設備,功能只有轉發數據,根本不認識Header,自然也就無法獲得PCB的目的地址,那Hbu是怎樣把數據轉發給PCB的呢?

答案:數據全發,又稱之爲數據泛洪(Flooding)。Bub會把數據拷貝N份,全部發到所有與之相聯的終端PC…上,PCX如果發現是我的消息就處理,不是我的就丟棄。總有正確的一路到達PCB,並且在這個過程中Hub採用的是半雙工工作方式進行數據轉發。一端發送數據的時候,其他端必須等待接收完畢,才能向外發送數據;如果有兩端同時向Hub發送數據,就會發生數據衝突,形成衝突碎片導致數據不能用。爲了避免這種情況發生,Hub採用CSMA /CD(載波偵聽多路訪問/衝突檢測),來抑制衝突。

總線型網絡的缺點

  • 正是因爲,Bub採用半雙工的工作模式,數據轉發效率很低。而且CSMA /CD無法完全避免,衝突碎片產生。
  • 因爲Hub採用,數據泛洪的工作模式,數據全發就會浪費帶寬。

正是由於有這些缺點,所以集線器在現代網絡中,早已經被淘汰了;取而代之的是交換機(Switch)。

雙工模式
單工:A到B的通路上,只能A向B發消息,或者只能B向A發消息,不能雙向發送消息。
半雙攻:A到B的通路上,可以A向B發消息,也可以B向A發消息,但不能同時雙向發生消息,必須等待一端接收完畢。
全雙工:A到B的通路上,可以A向B發消息,也可以B向A發消息,也可以同時雙向發送信息。

廣域網VS局域網

  • 局域網(LAN):覆蓋範圍比較小,節點數量比較少的網絡,包含以下協議。

    • 以太網協議(Ethernet)
    • 令牌環協議 (Token Ring)
    • 光纖分佈數據接口協議(FDDI)
  • 廣域網(WAN):覆蓋範圍比較大,節點數量衆多的網絡,包含以下協議。

    • 高級鏈路控制協議(HDLC)
    • 點到點協議(PPP)
    • 幀中繼協議(Frame-Relay)

局域網,廣域網包含的協議都屬於OSI二層協議 數據鏈路層協議

什麼是協議?
協議簡單來說就是網絡中各終端,在發送,接收數據時,必須要遵守的規則,約束,規定;各種的協議形成一組協議棧(例如TCP/IP OSI),一起保證數據從網絡的一端 安全完整,的發送到另一端。

只要由雙絞線,光纖連接的網絡就是以太網協議。

以太網 MAC地址

MAC地址:介質訪問控制地址(Media Access Control ),是以太網規定的一個數據鏈路層的硬件物理地址,屬於OSI二層地址。

MAC地址的特點

  • MAC地址用48bit6Byte字節表示。
  • MAC地址是在網內標識終端物理網絡地址的唯一標識,全球唯一。
  • MAC地址是在網卡出廠的時候,以只讀的方式,寫入到網卡ROM(Read Only Mermory 只讀存儲器)中的。

MAC地址格式
華爲:XX-XX-XX-XX-XX-XX 4bit表示一個X,代表一個十六進制數,0-9 A-F。
思科:XXXX.XXXX.XXXX
前24位:OUI組織唯一標識符,表示地址所屬公司;需要向IANA組織購買(MAC IPV4 IPV6)。
後24位:表示可以可分配的地址,有2的24次方 1700w個地址。

MAC地址和IP地址的區別

  • MAC地址:只能在一個網絡內去標識一個節點,只在一個網絡內有意義,相當於身份證。
  • IP地址:能在全局網絡上標識一個節點,即在網絡內有意義,又在網絡間有意義,相當於護照。

多路訪問網絡(MA): 一個網絡中可以包含任意多個節點(由集線器Hub或者交換機Switch連接形成的網絡),需要二層地址。

點到點的網絡(P2P):一個網絡中只有兩個節點。(R1------R2 :路由器R1通過serial串行線纜連接路由器R2形成的網絡)不需要二層地址。

以太網數據幀

以太網發送數據的格式是以數據幀Frame)的形式傳遞的。
數據幀格式:Ethernet2(DMAC SMAC TYPE)|IPV4/IPV6|TCP/UDP|數據載荷(Payload)|FCS。

應用數據載荷封裝過程

  • 在數據載荷的頭部添加一個OSI四層協議,TCP/UDP協議頭,形成一個數據段(Segment)。
  • 在數據段的頭部添加一個OSI三層協議,IPV4/IPV6協議頭,形成一個IP數據報(Datagram)。
  • 在數據報的頭部添加一個以太網幀頭,在尾部添加一個以太網幀尾,形成一個以太網數據幀(Frame)。

ARP協議

網絡內兩個節點在以太網上通信,不僅需要知道對方的IP地址,還得知道對方的MAC地址。可是兩個節點上應用/管理員進行通信,應用和管理員只知道IP地址,不知道MAC地址,怎樣獲得MAC地址呢?通過ARP協議獲取。

爲什麼用戶只關心IP
IP地址的最大好處就是,我不管和你是不是在同一個網絡,我要和你通信,我都需要知道你的IP
並且也比較短,比較好記。對於用戶也好,設備也好,應用程序也好,在網絡通信的時候我更加關心對方的IP地址。

ARP:地址解析協議。

PCA要和PCB進行網絡通信,地址解析過程

  1. 在通信前PCA利用目的IP地址去本機ARP表查找PCBMAC地址。
  2. 如果表項不存在,PCA發送一個ARP廣播,這個ARP廣播中包含PCBIP地址。
  3. 網絡內所有的主機PCX都接受到廣播開始處理,PCB自然也受到了廣播。
  4. PCB收到廣播後,會產生一個ARP應答。在應答中包含PCBMAC地址。
  5. PCA收復PCBMAC地址以後,會和PCBIP進行一對一綁定,形成一個ARP表項,並記錄在本機的ARP表中。
  6. PCAPCBIPMAC地址,將數據封裝成幀。然後發送給PCB

注意:正是因爲APR廣播,會影響到網絡內的所有主機,所以一個網絡內的主機不應該過多。過多會浪費很多鏈路帶寬。10M的帶寬讓254臺機器用,一臺機器獲得的帶寬有限。並且還得處理很多不想幹的廣播。消耗CPU,內存資源。

星型網絡

在這裏插入圖片描述

交換機

交換機(Switch):是一個OSI二層設備。

交換機的作用

  • 通過識別MAC地址表,又叫CAM表(內容可尋址存儲器)中記錄的源目MAC地址項,在網絡間精確的轉發數據。
    • MAC地址表,包含計算機的MAC地址;計算機連接交換機的接口。
  • 通過FCS幀校驗序列,哈希算法。可以校驗數據幀的完整性。
  • 分割衝突域。
    • 如果主機PC通過集線器Hub再連接到交換機Switch上,如果有PC0PC1同時向PC4發送數據,就會產生衝突。數據幀到達交換機SwitchSwitch通過FCS校驗,發現是衝突碎片,就會丟棄。一個交換接口連接的就是一個衝突域。
      在這裏插入圖片描述

衝突域:
在一次數據衝突中,能影響到的所有機器的集合,就叫做一個衝突域。

交換機控制層面

  • 控制層面(Cantrol Plane):交換機如何得知網絡連接信息,如何獲得轉發表項。
    • 靜態配置:管理員通過Console口登錄交換機系統VRP/IOS的控制檯,手動配置表項。
    • 動態學習:交換機通過它的任何一個接口,收到一個數據,根據這個數據幀幀頭中的源MAC地址,來確定發送主機的MAC地址,並根據接收數據接口,交換機認爲這個接口是直接連接發送者的。交換機就把這個接收接口和源MAC地址做一個綁定,形成MAC地址表項。
      • 表項通過老花計時器 Aging Timer 來確定什麼時候清除表項。默認時間300s。

交換機數據層面

  • 數據層面(Date Plane):如何精確的在網絡內轉發數據。
    • 交換機在數據幀頭中拿到DMAC地址,通過DMAC地址,去CAM表中查找,以確定是否有接口DMAC地址綁定的表項,如果有直接數據轉發。如果沒有進行數據泛洪(Flooding)。如果FCS驗證不通過進行數據丟棄。

重複幀:
如上圖PC3,PC4兩臺機器連接到一臺HubHub再連到Switch上。PC3發送數據到PC4上,Hub進行泛洪;Switch收到數據,通過查CAM表,發現A發送主機的接口,正好是B接收主機出去的接口。這個時候Switch不會把PC3的數據通過同一個端口轉發給PC4的,如果進行轉發PC4會收到兩份相同的數據,所以Switch會把數據包丟棄。

交換機接口分類

下連接口:連接終端的接口,一般爲電口,數量有24,48。
級聯接口:交換機和交換機連接的接口,一般爲光口,數量有2,4,是下聯接口的十分之一。

交換機進行地址轉發過程

PCA通過Switch交換機向PCB發送消息:

  • PCA通過接口1連接Switch交換機,Switch通過自動學習,將源SMAC地址和接口1綁定形成表項,添加到CAM表中。
  • PCA通過SwitchPCB發送數據幀,Switch 交換機通過解封裝,拿到數據幀頭的目DMAC地址
  • Switch通過目DMAC地址,去CAM表中查找,是否有目DMAC地址與之接入接口2對應的表項。
  • CAM表中如果有表項,則Switch通過接口2直接轉發數據幀。如果沒有表項,Switch進行數據泛洪(Flooing)。
  • PCB接收到泛洪數據,通過與Switch連接的接口2PCA回覆數據。
  • Switch收到PCB的回覆數據幀,Switch自動學習綁定PCB接口2表項。然後通過解封裝幀頭的目MAC地址,查找CAM表,找到與之對應的接口1,將數據轉發到PCA

經過以上步驟之後,無論是AB,還是BA發送數據,都可以不用數據泛洪了。
而且Switch轉發數據模式是全雙工形式。所以A,B可以同時發送數據。

交換機優/缺點

優點

  • 精確轉發數據,節省數據帶寬。
  • 採用全雙工模式,數據轉發效率也大大提高了。

缺點

  • CAM表項都是單播表項,數據轉發只能是單播。
  • 遇到未知單播幀,組播幀,廣播幀就會泛洪。

廣播域

交換網絡無法限制,組播和廣播,一個廣播流量會影響到的所有連接的主機。被稱之爲一個廣播域。
總線型和星型網絡都是一個廣播域。
因爲現在都是星型網絡,所以可以說一個網絡就是一個廣播域。
屬於同一個廣播域內的所有主機的IP地址 網絡位是完全相同的。

單播,組播,廣播區別
單播:源是單播,目的是單播。
組播:源是單播,目的是組播。
廣播:源是單播,目的是組播。
他們的區別只在於目的地址之上。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章