如果你曾經買過交換器(Switch),可能聽過有 Layer 2 和 Layer 3 的 Switch,或是被簡稱成 L2、L3。
但 Switch 的作用具體是什麼呢?為何有有分 L2 及 L3 的版本?
一般的 Switch 做的事情其實很簡潔易懂,就是將資料從 A 地轉送到 B 地而已,這件事聽起來很簡單,但是相對於歷史更悠久的集線器(Hub)來說,已經是相當聰明了。
我們來看看 Switch 及 Hub 傳輸資料的方式。
*Switch vs. Hub
Hub 的做法卻是收到資料後「廣播」給所有連接的設備,這樣的做法相當直接且簡單,完全不用考慮目的地在哪裡,只要和 Hub 有連接的設備都能得到資料,反正我收到不是我要的資料,丟掉就好了。不過,一旦連接設備數量增加,就會讓網路壅塞、資料碰撞的程度呈指數增加,這是很大的一個缺陷。
於是就有了 Switch 的誕生,加入了目的地的概念,能夠直接將 A 地來的資料,直接「轉送」給 B 地。
那麼 Switch 實際上要怎麼聰明的轉送資料呢?這就得提到開頭所講的兩種不同 Switch,L2 及 L3 Switch,各有不同的實現方式。
所謂的 L2, Layer 2 和 L3, Layer 3,都是出自 OSI 模型裡面定義的分層,每層各司其職處理不同功能的事情。
L2 指的是 Data Link Layer(資料連結層),顧名思義,主要負責處理兩個連接的網路節點連線及資料傳輸的細節。也就是在 L2 之中,定義了 MAC Address(格式如:AB:CD:EF:00:00:01),讓資料的傳輸有了來源及目的地。
有了地址的概念, L2 Switch 便是透過維護一張 Mac Address 的表格,來儲存與其相連的設備,從而達到將資料從 A 地轉送到 B 地。
*L2 Switch
另外一層:L3, Layer 3,指的是 Network Layer(網路層),也就是定義 IP 位置的層級。
如同 L2,L3 Switch 也是透過維護 IP Address 的表格,來知道收到的資料要傳到哪裡去。不同的點是,L3 Switch 的功能更強大了,不單單只是記錄相鄰的設備,而是一張「路由表」。就算不是相鄰節點,也能根據你的目的地來轉送資料到下一個節點。
*L3 Switch
以上就便是一個簡單的例子來說明路由表,就算 L3 Switch 並沒有和 192.168.2.2 的這台設備相連,也能夠轉送封包到下一個節點,如此往復下去最終抵達目的地。
我們現在比較清楚 Layer 2 及 Layer 3 所做的事情了,在 L2 負責相鄰設備的連線、而 L3 負責整個網路中尋找目的地。
至於 L1, L4, L5 和其他 Layers 呢?我們就要細究 OSI 模型中所定義的網路七層架構了。