資料鏈路層只認識mac地址, 解決的是資料在一個network裡面的傳送.
以最原始的Ethernet為例, 所有裝置都掛在一條線上, 見下圖:
裝置之間的通訊方式是拉高拉低這根線的電平. 由於大家都在一條線上,每次通訊所有裝置都能聽見,因此必須指明通訊的目標(mac地址). 什麼是mac地址,地址是怎麼確定的,這就是資料鏈路層要解決的問題. 另外,這根線的材質, 具體是銅線還是鐵線, 甚至是無線, 是物理層決定的.
顯然,光有物理層和鏈路層是不夠的,因為我們不能指望所有裝置都連在一條線上.因此,我們需要internet層. 這裡inter-net這個單詞可以顧名思義, net就是指的物理上連在一條線上的network, inter就是"之間"的意思. 這一層解決的就是這些networks之間的通訊.
這裡一層一層的協議,就像寫程式一樣.我們先寫底層的函式,解決一些基礎的,簡單的問題.再寫高層的函式,解決更復雜的問題.
從這個角度看, 物理層解決了一個bit如何廣播和如何收取的問題,比如拉高和拉低一根銅線的電平.所以這一層提供的函式是:
收到了一堆資料,怎麼確定是發給我的呢.資料鏈路層定義了,收到的前面若干bit是地址,後面的就是資料,一個裝置只應該收取地址與自己符合的資料.傳送也要遵從這個基本法.這一層利用上一層的函式實現了:
類似的, internet層會利用上一層提供的函式,解決跨network傳輸的問題.
當然,上面的函式都是瞎寫的.
資料鏈路層只認識mac地址, 解決的是資料在一個network裡面的傳送.
以最原始的Ethernet為例, 所有裝置都掛在一條線上, 見下圖:
裝置之間的通訊方式是拉高拉低這根線的電平. 由於大家都在一條線上,每次通訊所有裝置都能聽見,因此必須指明通訊的目標(mac地址). 什麼是mac地址,地址是怎麼確定的,這就是資料鏈路層要解決的問題. 另外,這根線的材質, 具體是銅線還是鐵線, 甚至是無線, 是物理層決定的.
顯然,光有物理層和鏈路層是不夠的,因為我們不能指望所有裝置都連在一條線上.因此,我們需要internet層. 這裡inter-net這個單詞可以顧名思義, net就是指的物理上連在一條線上的network, inter就是"之間"的意思. 這一層解決的就是這些networks之間的通訊.
這裡一層一層的協議,就像寫程式一樣.我們先寫底層的函式,解決一些基礎的,簡單的問題.再寫高層的函式,解決更復雜的問題.
從這個角度看, 物理層解決了一個bit如何廣播和如何收取的問題,比如拉高和拉低一根銅線的電平.所以這一層提供的函式是:
收到了一堆資料,怎麼確定是發給我的呢.資料鏈路層定義了,收到的前面若干bit是地址,後面的就是資料,一個裝置只應該收取地址與自己符合的資料.傳送也要遵從這個基本法.這一層利用上一層的函式實現了:
類似的, internet層會利用上一層提供的函式,解決跨network傳輸的問題.
當然,上面的函式都是瞎寫的.