首先我先介紹一下什麼是OSI
OSI是ISO(國際標準化組織)在網絡通信中創建的開放系統互連模型,爲開放式互連信息系統提供了一種功能結構的框架。它分爲七個層次,從低到高分別是:物理層、數據鏈路層、網絡層、傳輸層、會話層、表示層和應用層。
今天我介紹的是數據鏈路層的主要功能
數據鏈路層的功能
- 數據鏈路的建立,維護與拆除
- 幀包裝,幀傳輸,幀同步
- 幀的差錯恢復
- 流量控制
以太網
什麼是以太網:
- 我們平常使用的局域網就是以太網
- 以太網工作在數據鏈路層
以太網需要注意的三個事項:規則 地址 格式
以太網的規則
- CSMA/CD--帶衝突檢測的載波監聽多路訪問
- 以太網採用CSMA/CD避免信號的衝突
- 工作原理
- 發送前先監聽信道是否空閒,若空閒則立即發送數據
- 在發送時,邊發邊繼續監聽
- 若監聽到衝突,則立即停止發送
- 等待一段隨機時間(稱爲退避)以後,再重新嘗試
以太網MAC地址
- 以太網地址用來識別一個以太網上的某個單獨的設備或一組設備
- Mac地址長度共48位(6個字節),供應商標識爲24位(3個字節),唯一編號爲24位(3個字節)
- Mac地址第八位如果是數字0代表的是單播地址,如果是數字1代表的是組播地址,48位全爲1時是廣播地址(網卡的編號爲二進制)
- Mac地址長度一般用16進製表示,例如: 00-50-56-C0-00-08(每一段16進制數代表2進制的8位)廣播的Mac地址用16進製表示爲:FF-FF-FF-FF-FF-FF
以太網幀格式
- 前導碼(7字節)-- 幀啓始定界符(1字節)-- 目的地址(6字節或48位即Mac地址)-- 源地址(6字節或48位即Mac地址)-- 類型/長度(2字節)-- 數據(46-1500字節)-- 幀校驗序列(4字節)
幀的長度範圍爲:64--1518(數據加包裝不包含前導碼和幀啓始定界符)
數據鏈路層的兩個子層
- 介質訪問控制(MAC)子層
- 將上層交下來的數據封裝成幀進行發送(接收時進行相反的過程,將幀拆卸)
- 實現和維護介質訪問控制協議,例如CSMA/CD
- 比特差錯檢測
- MAC幀的尋址,即MAC幀由哪個站(源站)發出,被哪個站/哪些站接收(目的站)
- 邏輯鏈路控制(LLC)子層
- 建立和釋放數據鏈路層的邏輯鏈接
- 提供與上層的接口
- 給幀加上序號
以太網命名方法
- N-信號-物理介質
- N:以兆位爲單位的數據速率,如10,100,1000
- 信號:基帶還是寬帶
- 物理介質:標識介質類型
例如:100BASE-TX
100 數據速率爲100M
BESE基帶,即物理介質爲以太網專用
TX UTP或STP
TF 光纖
基帶:以太網專用的設備叫基帶
寬帶:多功能使用的叫寬帶
數據鏈路層的物理設備交換機
什麼是交換機:
- 交換機是用來連接局域網的主要設備
- 交換機能夠根據以太網幀中目標地址智能的轉發數據,因此交換機工作在數據鏈路層
- 交換機分割衝突域,實現全雙工通信
交換機的工作原理
- 初始狀態(最初的交換機是空白的,對任何電腦的MAC地址都一無所知)
- MAC地址學習
- 廣播未知數據幀
- 接收方迴應
- 交換機實現單播通信
- 學習
- MAC地址表示交換機通過學習接收的數據幀的源MAC地址來形成的
- 廣播
- 如果目標地址在MAC地址表中沒有,交換機就想出接收到該數據幀的端口外的其他所有端口廣播該數據幀
- 轉發
- 交換機根據MAC地址表單播轉發數據幀
- 更新
- 交換機MAC地址表的老化(無應答)時間是300秒
- 交換機如果發現一個鎮的入端口和MAC地址表中源MAC地址的所在端口不同,交換機將MAC地址重新學習到新的端口
MAC地址表
- MAC地址表是交換機所自帶的列表,記錄着交換機上的每個端口所對應的MAC地址,初始時MAC地址表是空白的,MAC地址表是通過通信過程中交換機所學習過來的
單工,半雙工與全雙工
- 單工
- 只有一個信道,傳輸方向只能是單向的 例如:BB機
- 半雙工
- 只有一個信道,在同一時刻,只能是單向傳輸 例如:對講機
- 全雙工
- 雙信道,同時可以有雙向數據傳輸 例如:電話
衝突與衝突域
- 如果衝突過多,則傳輸效率就會降低
分割衝突域
- 爲了提高傳輸效率,分割衝突域
- 交換機背板交換矩陣結構
- 交換機的每個端口訪問另一個端口時,都有一條專有的線路,不會產生衝突
廣播域
- 廣播域指接收同樣廣播消息的節點和幾何,如:在該集合中的任何一個節點傳輸一個廣播幀,則所有其他能收到這個幀的節點都被認爲是該廣播幀的一部分
- 交換機分割衝突域,但是部分割廣播域,即交換機的所有端口屬於同一個廣播域
交換機內部交換方式
- 存儲轉發
- 是計算機網絡領域應用最爲廣泛的方式
- 對進入交換機的數據包進行錯誤檢測
- 支持不同速度的端口間的轉換
- 在數據處理時延時大
- 快速轉發
- 延遲非常小,交換非常快
- 不能提供錯誤檢測能力
- 由於沒有緩存,不能將具有不同速率的輸入/輸出端口直接接通,而且容易丟包
- 分段過濾
- 檢查數據包的長度是否夠64個字節,如果小於64字節,實名是假包,則丟棄該包;如果大於64字節,則發送該包
- 不提供數據校驗。它的數據處理速度比存儲轉發方式快,但比直通式慢。