在這篇文章中,會先介紹區域網及其的元件,通過交換機延伸到 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)。
在交換機收到資料時會遵循如下的處理流程:
-
先查詢 MAC 表,看錶中是否存在所在埠源 MAC 地址。
-
如果存在,不做處理
-
不存在,則將源 MAC 和交換機所在埠號記錄。
-
-
再次查詢 MAC 表,看錶中是否存在目的 MAC 地址。
-
如果存在,則單播轉發。
-
不存在,進行泛洪操作(廣播)。終端在收到資料包會先檢查二層報頭,不是自己的 MAC 則丟棄,是自己則繼續拆包到應用層,接著回包。
-
規範:
- 交換機只記錄源 MAC 地址(因為通常來說資料都是有來有回的,這樣雙方的 MAC 地址都能記住)
- 廣播幀和組播幀向所有的埠進行轉發
- 泛洪:收到未知單播幀(MAC 地址未知)或者廣播幀
- 轉發:收到已知的單播幀
- 丟棄: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.