計算機網絡學習筆記——數據鏈路層
三、數據鏈路層
3.1 使用點對點信道的數據鏈路層
-
鏈路(link):
-
就是從一個結點到相鄰結點的一段物理線路(有限或無線),中間沒有任何其他的交換節點。
-
-
數據鏈路(data link):
-
在一條新路上傳送數據時,除了必須有一條物理線路外,還必須有一些必要的通信協議來控制這些數據的傳輸。若把這些協議的硬件和軟件加到鏈路上來,就構成了數據鏈路,最常用的方法時使用網絡適配器(即網卡,既有硬件,也包括軟件)來實現這些協議。一般的適配器包括了數據鏈路層和物理層這兩層的功能。
-
-
幀:
-
幀是數據鏈路層的協議數據單元。數據鏈路層把網絡層交下來的數據構成幀發送到鏈路上,以及把接收到的幀中的數據去除並交給網絡層。
-
-
-
數據鏈路層的三個基本問題:
-
封裝成幀:
-
就是在一段數據的前後分別添加首部和尾部,這樣就構成了一個幀。首部和尾部的作用是幀定界(即確定幀的邊界)。接收端收到物理層上交的比特流後就能根據首部和尾部的標記,從收到的比特流中識別幀的開始和結束。沒有的話,接收端就不能知道是否收到完整的數據 或 什麽時候接收完畢。
-
當數據是由可打印的 ASCII 碼組成的文本文件時,幀定界可以使用幀定界符。控制字符EOF(End Of Transmission)表示幀的結束,SOH(Start Of Header)放在幀的最前面表示幀的開始。他們的十六進制編碼分別是01(00000001)和04(00000100)。
-
-
透明傳輸:
-
透明傳輸就是無論鍵盤輸入的什麽字符都能放到幀中傳輸過去。
-
由於幀的開始和結束的標記使用的專門的控制字符,因此,所傳輸的任何 8比特的組合 不允許幀定界的控制字符的比特編碼一樣。當傳送的幀使用文本文件時,不會出現。當傳輸的數據是非文本文件時,就會可能出現幀定界符,這樣就會錯誤地識別。
-
為了解決這個問題,發送端的數據鏈路層在數據中出現的控制字符前面插入一個轉義字符“ESC”(十六進制是 1B,二進制 00011011)。接收端的數據鏈路層把這個轉義字符再刪除。如果數據中有轉義字符時,就轉義這個轉義字符,然後刪除。
-
-
差錯檢測:
-
3.2 點對點協議 PPP
-
用戶通常要連接到某個ISP 才能接入互聯網。PPP協議(Point-to-Point Protocol)就是用戶和ISP進行通信所使用的數據鏈路層協議。
-
PPP 協議的特點:
-
PPP協議需要滿足的需求:
-
簡單
-
封裝成幀
-
透明性
-
多種網絡協議多種類型鏈路
-
插入錯檢測
-
檢測連接狀態
-
最大傳送單元
-
網絡層地址協商
-
數據壓縮協商
-
-
PPP 協議的組成:
-
一個將IP數據包封裝到穿行鏈路的方法。
-
一個用來建立配置和測試數據鏈路連接的鏈路控制協議 LCP(Link Control Protocol)。用來身份驗證。
-
一套網絡控制協議NCP(Network Control Protocol)。
-
-
-
PPP協議的幀格式:
-
-
兩個字節的協議字段標記的是信息部分是什麽內容
-
PPP協議通過字節填充和零比特填充來轉義特殊字符,實現透明傳輸。
-
-
PPP協議的工作狀態:
-
3.3 使用廣播信道的數據鏈路層
-
局域網的數據鏈路層:
-
局域網主要特點:網絡為一個單位所擁有,且地理範圍和站點數目均有限。
-
優點:
-
具有廣播功能,從一個站點可很方便訪問全網。
-
局域網上的主句可共享連接在局域網的各種硬件和軟件資源。
-
提高了系統的可靠性、可用性和生存性。速度快,誤碼率低。
-
-
局域網可按照網絡拓撲進行分類:
-
-
共享通信媒體:
-
靜態劃分信道:就是頻分復用、時分復用、波分復用和碼分復用。但這種方法代價高,不適合局域網。
-
動態媒體接入:又稱多點接入,特點就是信道並非在通信時分配給用戶。
-
隨機接入,就是在局域網的所有主機都能收到信息,但是如果恰巧有兩個或更多用戶向一個用戶同一時刻發送信息,那麽在共享媒體上就會產生碰撞(即發生沖突),使得這些用戶都發送失敗,因此必須要有解決碰撞的網絡協議。
-
-
-
CSMA/CD 協議:
-
Carrier Sense Multiple Access with Collision Detection
-
多點接入:表示許多計算機以多點接入的方式連接在一根總線上。
-
載波監聽:是指每一個站在發送數據之前先要檢測一下總線上是否有其他計算機在發送數據,如果有,則暫時不發送數據以免發生碰撞。
-
碰撞檢測:就是計算機邊發送數據邊檢測信道上的信號
-
-
MAC地址:
-
硬件地址又稱為物理地址或 MAC地址(因為這種地址在MAC幀中),是固化在適配器(網卡)的ROM中的地址。
-
適配器從網絡上每收到一個MAC幀就先用硬件檢查MAC幀中的地址,如果是發往本站的就收下然後處理,不是的話就丟棄。
-
ipconfig /all 查看MAC地址
-
更改MAC地址,就是讓計算機用給定的MAC地址,而不用網卡上的。可以蹭網
-
修改的話,都不要加上減號 -
-
網絡連接-> 右鍵 -> 配置 -> 高級 -> 網絡地址 -> 修改值。這種方法有的網卡不行,因為網卡沒提供接口。
-
萬能方法,修改註冊表:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Class\{4D36E972-E325-11CE-BFC1-08002bE10318}
每個00XX的代號都代表一個網卡,可以根據右側的DriverDesc值中確定型號。確定網卡後,在這個網卡的項目中新建一個字符串值,命名為NetworkAddress,內容是新的MAC地址。
-
-
-
計算機網絡學習筆記——數據鏈路層