CCNA-Part3 - 資料鏈路層的趣事 - 走進交換機

以終為始發表於2020-06-27

在這篇文章中,會先介紹區域網及其的元件,通過交換機延伸到 TCP/IP 中資料鏈路層,瞭解資料的傳輸介質,以及交換機的發展歷程及原理。

最後介紹資料幀的格式。

在閱讀後應該瞭解如下的內容:

  • 什麼是區域網及其元件
  • Hub 和交換機的區別
  • 交換機的轉發規則
  • 資料幀的格式
  • Ethernet2 和 IEEE 制訂的標準的區別。

LAN

將在一定的限制區域內,有多個終端裝置連線到一起的裝置叫區域網。例如通過交換機連線起來的多臺終端。

常用的元件:

終端:PC,IP 電話,印表機,行動電話,伺服器

連線裝置:網路卡(NIC),網路介質(網線,無線電波)

網路裝置:乙太網交換機,路由器,AP(擴散無線訊號,通過 WCL 集中控制)

協議:Ethernet,IP,ARP,DHCP

上面是常見的一個區域網中的架構圖,由此可見,對於一個區域網來說,交換機是其中最重要的部分。

集線器 (Hub)

對於 2 臺 PC 來說,可以將其直接連線起來,但對於 3 臺甚至更多就不行了。在這時,先是出現一個叫 HUB 的裝置,用於解決連線多臺終端的問題。由於 HUB 本身內部的設計(一根匯流排,匯流排分出多根線連線其他裝置),就決定了有如下的特性:

  • 工作在物理層,對收到的訊號進行放大,以擴大網路的傳輸距離。

  • 集線器傳送資料沒有針對性,而是採用廣播的形式傳送,也就是說當它要向某個節點傳送資料時,不是直接把資料傳送到目的埠,而是把資料包傳送到會集線器相連的所有節點

  • 當以 HUB 為中心裝置時,網路中某條線路發生了故障並不影響其他的埠工作

但 HUB 有一個非常嚴重的問題,就是由於本身的設計,導致在同一時間只能有一根線傳遞資料,就意味著是半雙工的工作模式。為了解決這個問題,就出現了一個技術 - CSMA/CD,載波監聽多路檢測。

實現 CSMA/CD 的方法就是:

  • 先聽後發

  • 邊聽邊發

  • 衝突停發

  • 隨機分配

交換機

什麼是交換機?

在 HUB 之後,交換機被發明出來,解決連線多臺終端的問題。和 HUB 不同,交換機在設計時,非常採用匯流排的架構,而是採用交換矩陣的形式。這就意味著具有以下的特點:

  • 基於硬體轉發,轉發的速度是線性(可以忽略在交換機上處理資料的時間)並且是有選擇的轉發資料幀

  • 工作在 TCP/IP 的資料鏈路層

  • 預設全雙工

  • 高速,並具有大量的幀快取

  • 埠很多

  • 可擴充,可分為核心交換機和邊緣交換機,連線起來的多臺交換機同屬於同一區域網

交換機的作用

當交換機收到資料時,檢查資料包中的目的 MAC 地址,然後把資料從目的所在埠轉發出去。

轉發過程一般分為三種:

  • 直通式轉發:轉發時僅檢查前 12 位元組(源,目的 MAC 地址),避免不了轉發無效殘幀(小於 64 位元組)
  • 儲存式轉發,檢查資料包的所有位元組,可靠性高,但有效率的損失
  • 無碎片式轉發,檢查前 64 位元組,在可靠性和效率間取捨。

交換機的原理

在交換機內部有一張 MAC 地址表,表中記錄了網路中所有 MAC 地址和該交換機各埠的對應資訊,以及老化時間(300s)。

在交換機收到資料時會遵循如下的處理流程:

  1. 先查詢 MAC 表,看錶中是否存在所在埠源 MAC 地址。

    • 如果存在,不做處理

    • 不存在,則將源 MAC 和交換機所在埠號記錄。

  2. 再次查詢 MAC 表,看錶中是否存在目的 MAC 地址。

    • 如果存在,則單播轉發。

    • 不存在,進行泛洪操作(廣播)。終端在收到資料包會先檢查二層報頭,不是自己的 MAC 則丟棄,是自己則繼續拆包到應用層,接著回包。

規範:

  1. 交換機只記錄源 MAC 地址(因為通常來說資料都是有來有回的,這樣雙方的 MAC 地址都能記住)
  2. 廣播幀和組播幀向所有的埠進行轉發
  3. 泛洪:收到未知單播幀(MAC 地址未知)或者廣播幀
  4. 轉發:收到已知的單播幀
  5. 丟棄:FCS 損壞,或者目的 MAC 不是自己

MAC 地址表的老化時間

MAC地址表項的老化時間為300秒。從一個地址記錄加入地址表以後開始計時,如果在老化時間內各埠未收到源地址為該 MAC 地址的幀,那麼這些地址將從動態轉發地址表(由源 MAC 地址、目的 MAC 地址和它們相對應的交換機的埠號)中被刪除。靜態MAC地址表不受地址老化時間影響。

現在我們知道,交換機工作在資料鏈路層,下面來了解下鏈路層具體的一些內容。

TCP/IP - 資料鏈路層

先說一下鏈路層的實際傳輸介質,Ethernet 的實際轉發速度取決於實際的傳輸媒介,一般為:

  • 雙絞線
  • 光纖
  • 同軸電纜(早期,淘汰)

雙絞線(應用較多)

雙絞的目的,為了遮蔽內部的電磁干擾。一般來說,雙絞線的速度可以從 10 Mbps 到 40 Gbps.,傳輸的最大距離是 100 m.

雙絞線的線序:

T568B 線序為: 橙白,橙,綠白,藍,藍白,綠,粽白,粽

T568A 線序:綠白,綠,橙白,藍,藍白,橙,棕白、棕

其實 1,2 發生資料,3,6 接受資料

不同線序的目的:

同種裝置連線需要用交叉線(568a,568b),不同種裝置需要用直通線(568b)。原因在於同種裝置使用直通線會衝突,因為 1,2 都是傳送,3,6是接受。

交叉線:交換機和交換機,路由器和路由器,路由器和PC,PC 和 PC

直通線:交換機和路由器,交換機和 PC,交換機和伺服器。

光纖

多模光纖(ST),波長 850nm,1310nm,光由二級發光產生,傳輸距離短,造價低。

單模光纖(SC,LC,FC),波長 1310nm,1550 nm,由鐳射產生,距離長,造價高。

資料鏈路層-資料幀的結構

Ethernet 2 的資料幀格式:

大小為 6 位元組,48 bits. 前 24 bits 由 OUI 組成,後 24 bits 由 vendor assigned 組成。

由於在早期,Ethernet 2 為私有協議,IEEE 為了通用化,發明了一個新的標準,將資料鏈路層拆分為兩層 MAC 子層和 LLC 子層,對應協議如下:

資料鏈路層 LLC 子層 - 與網路層打交道 802.2 802.2 802.2 802.2
資料鏈路層 MAC 子層 - 與物理層打交道 802.3 802.1 802.5 FDDI
物理層 雙絞線 無線 令牌 光纖

下面以 802.3 為例,說一下和 Ethernet2 的對比:

Ethernet2 長度:14Byte, 6Byte 源 MAC,6Byte 目的MAC,2Byte 型別

IEEE802.3 MAC 子層:長度:14Byte, 6Byte 源 MAC,6Byte 目的MAC,2Byte 長度

LLC 子層:

  • SAP:長度:3Byte,1Byte DSAP(Ox42),1Byte DSAP(Ox42), 1Byte CON(Ox03) -- 上層是 STP 協議
    • 將 802.3 和802.2 合起來實現 Ethernet2 的功能,公有協議
  • SNAP: 長度: 8Byte, 1Byte DSAP(Ox42),1Byte DSAP(Ox42), 1Byte CON(Ox03), 3Byte (Ox00000c), 2Byte PID -- 上層是 CDP
    • 為了實現私有協議

一般來說,協議的傳輸用 802.3,使用者流量用的是 Ethernet2.

相關文章