大家好,我是楊數Tos,這是《從零基礎到大神》系列課程的第87篇文章,第三階段的課程:Python進階知識:網絡編程之OSI七層協議(三),數據鍊路層。
這篇文章我們詳細講解:OSI七層協議(三),數據鍊路層。
數據鍊路層的功作用:定義了電信号的分組方式,将單純的電信号(0和1沒有任何意義),必須規定電信号多少位一組,每組什麼意思。
1、什麼是以太網協議?早期的時候,每一家公司都有自己的電信号分組方式,後來形成了統一的标準,這個标準就是以太網協議(即:ethernt)。
一組電信号構成一個數據“幀”(frame)。
每一數據幀由head(頭部)和data(數據)兩部分組成
head包含:(固定18個字節)
發送者/源地址,6個字節,接收者/目标地址,6個字節,數據類型,6個字節;
data包含:(最短46字節,最長1500字節)
數據包的具體内容。
head的長度+data的長度=最短64字節,最長1518字節,超過最大限制就多次發送。
2、什麼是MAC地址?
head中包含了源地址和目标地址,而以太網協議規定接入以太網協議的設備都必須具備網卡;head中包含的地址信息便是網卡的地址,即MAC地址。
每塊網卡出廠時都被燒制上一個世界唯一的mac地址,長度為48位2進制,通常由12位16進制數表示(前六位是廠商編号,後六位是流水線号)。
3、以太網協議的通信方式
有了mac地址,同一網絡内的兩台主機就可以通信了;以太網協議以廣播的方式進行通信;
所謂廣播就是大聲吼一嗓子,就像村裡面的大喇叭,張三你有快遞,如果張三聽到了,就會取走他的快遞。
但廣播的方式有很大的缺陷,比如:
兩台計算機同時進行通信隻有2條廣播,假如有100萬台計算機呢?
還有就是廣播的安全性很低,容易被其他計算機獲取信息;
最後,廣播的範圍有限,你大喊一場最多傳個幾百米,想實現全世界通信完全不現實。
所以,以太網協議比較适合小型局域網的範圍傳輸;我們需要更安全、更合理的傳輸方式。
下一文,我們将講到網絡層。
以上是本期内容,如果有表達不對的内容,歡迎您的留言、斧正,我們一起天天向上。
感謝您的閱讀,您的三連【關注、點贊、收藏】就是對我最大的支持,謝謝!
本文由楊數Tos原創,歡迎關注,帶你一起長知識。
,