计算机网络【四】数据链路层基本概念+点到点通信(PPP协议)
數(shù)據(jù)鏈路層基本概念
路由器是網(wǎng)絡層設備
數(shù)據(jù)鏈路層:數(shù)據(jù)管道,傳輸?shù)氖菙?shù)據(jù)包加上發(fā)送地址,接收地址,校驗的數(shù)據(jù)幀
數(shù)據(jù)鏈路層的信道類型:
- 點到點信道:使用一對一的點到點通信方式(兩個設備之間直接使用網(wǎng)線相連)
- 廣播信道:使用一對多的廣播信道方式,因此過程比較復雜。廣播信道上連接的主機很多,因此必須使用專用的共享信道協(xié)議來協(xié)調(diào)這些主機的數(shù)據(jù)發(fā)送
鏈路:一條點到點的物理線路段,中間沒有其他交換節(jié)點。一條鏈路只是一條通路的一個組成部分。
數(shù)據(jù)鏈路:除了物理線路外,還必須有通信協(xié)議來控制這些數(shù)據(jù)的傳輸。若把實現(xiàn)這些協(xié)議的硬件和軟件加到鏈路上,就構(gòu)成了數(shù)據(jù)鏈路。
- 現(xiàn)在最常用的方法是使用適配器(網(wǎng)卡)來實現(xiàn)這些協(xié)議的硬件和軟件。
- 一般的適配器都包括了數(shù)據(jù)鏈路層和物理層這兩層的功能。
數(shù)據(jù)幀
數(shù)據(jù)幀=數(shù)據(jù)包+幀頭+幀尾+物理層地址+校驗值
數(shù)據(jù)鏈路層解決的問題
封裝成幀
透明傳輸
- 字節(jié)填充解決透明傳輸
發(fā)送端的數(shù)據(jù)鏈路層在數(shù)據(jù)中出現(xiàn)控制字符SOH或EOT的前面插入一個轉(zhuǎn)義字符ESC(0x1B)
接收端的數(shù)據(jù)鏈路在將數(shù)據(jù)發(fā)送給上一層的網(wǎng)絡層的時候會刪除前面的轉(zhuǎn)義字符
如果轉(zhuǎn)義字符也出現(xiàn)在數(shù)據(jù)當中,那么應該在轉(zhuǎn)義字符前插入一個轉(zhuǎn)義字符。當接收端收到兩個連續(xù)的轉(zhuǎn)義字符的時候就刪除其中前面那個
因此只有如果接收數(shù)據(jù)中含有一個ESC那么一定是數(shù)據(jù)中開始字符或者結(jié)束字符。
差錯控制
誤碼率(BER):傳輸錯誤的比特占所傳輸比特總數(shù)的比率。誤碼率和信噪比有很大的關系。
如果傳送過程中出現(xiàn)錯誤,路由器發(fā)現(xiàn)錯誤后會直接丟掉這個幀。可靠傳輸由傳輸層實現(xiàn)。
- 循環(huán)冗余檢驗(CRC)
運算過程為加上x個0以后,用x+1位數(shù)作為除數(shù)(隨便選一個)。每次進行異或操作。要確保每次會至少減少一位,意思是如果某次的余數(shù)的最高位位0,則商為0,如果最高位為1,則商為1.
幀檢驗序列FCS為運算的余數(shù),可以通過多種方法得到,不一定是CRC
最后傳輸?shù)臄?shù)據(jù)是數(shù)據(jù)加上FCS,如果余數(shù)不為0,則丟棄
特點:
- 這種檢測方法不能確定究竟是哪一個或哪幾個比特出現(xiàn)了差錯
- 如果除數(shù)選擇的足夠好(位數(shù)足夠長),那么檢錯能力就很強
使用循環(huán)冗余檢驗(CRC)差錯檢測技術只能做到無差錯接受。
無差錯接收:凡是接收的幀我們幾乎都能認為是沒有差錯的。
要做到可靠傳輸(發(fā)送什么接收什么)就必須加上確認和重傳機制
CRC是一種無比特差錯,而不是無傳輸差錯的檢測機制。雖然數(shù)據(jù)鏈路層要求做成無傳輸差錯的,但是目前沒有做到。
兩種情況下的數(shù)據(jù)鏈路層
點對點通信
使用PPP協(xié)議,用于點到點通信。全世界用的最多的數(shù)據(jù)鏈路層協(xié)議。
PPP協(xié)議特點:
- 簡單
- 封裝成幀
- 透明傳輸
- 差錯檢驗
- 多種網(wǎng)絡層協(xié)議:可以在PPP協(xié)議種封裝TCP/IP協(xié)議,可以封裝IPX,SPx協(xié)議
- 多種數(shù)據(jù)鏈路
- 檢測連接狀態(tài)
- 最大傳送單元
- 網(wǎng)絡層地址協(xié)商
- 數(shù)據(jù)壓縮協(xié)商
缺點: - 不能糾錯
- 不能流量控制
- 不能得到序號
- 不支持多點線路
- 不支持半雙工或單工鏈路
PPP協(xié)議的組成
- 數(shù)據(jù)鏈路層協(xié)議可以用于異步串行或者同步串行介質(zhì)
- 使用LCP(鏈路控制協(xié)議)建立并維護數(shù)據(jù)鏈路連接
ADSL撥號上網(wǎng)賬號密碼正確、有網(wǎng)費數(shù)據(jù)鏈路層才會通。即LCP有身份驗證和計費功能 - 網(wǎng)絡控制協(xié)議(NCP)允許點到點連接上使用多種網(wǎng)絡層協(xié)議
PPP協(xié)議幀格式
A段是地址,因為是點對點傳輸,所以是固定的FF,沒有起什么作用
C段是控制字段,但是沒有使用,一般是03
協(xié)議中的兩個字節(jié)表示數(shù)據(jù)包中是什么內(nèi)容
標志字段F=0x7E
PPP是面向字節(jié)的,所有PPP幀的長度都是整數(shù)字節(jié)
-
字節(jié)填充實現(xiàn)透明傳輸
將信息字段中出現(xiàn)的每個0x7E(01111111)字節(jié)轉(zhuǎn)換成0x7D 0x5E(0111111001011111)
如果信息字段中出現(xiàn)0x7D(01111110)的字節(jié),則將其轉(zhuǎn)換為2字節(jié)序列(0x7D,0x5D(0111111001011110))
如果信息字段中出現(xiàn)ASCLL碼的控制字符(數(shù)值小于0x20)則在前面加入一個0x7D
最后接收的時候再轉(zhuǎn)換為原來的信息 -
零比特填充方法實現(xiàn)透明傳輸
如果信息字段發(fā)送的不是字節(jié),而是二進制流,則在發(fā)送端,只要發(fā)現(xiàn)5個連續(xù)的1就在其中填入一個0。在接收的時候每接收5個1就刪除一個0。 -
不使用序號和確認機制
在數(shù)據(jù)鏈路層出現(xiàn)差錯概率不大時,使用比較簡單的PPP協(xié)議比較合理
在因特網(wǎng)環(huán)境下,PPP的信息字段放入的數(shù)據(jù)是IP數(shù)據(jù)報。數(shù)據(jù)鏈路層的可靠傳輸并不能夠保證網(wǎng)絡層的傳輸也是可靠的
幀檢驗序列FCS字段可保證無差錯接受
PPP協(xié)議的工作狀態(tài)(撥號上網(wǎng)的過程):當用戶撥號撥入ISP時,路由器的調(diào)制解調(diào)器對撥號做出確認,并建立一條物理連接。PC機向路由器發(fā)送一系列的LCP分組(封裝成多個PPP幀)。這些分組及其響應選擇一些PPP參數(shù),進行網(wǎng)絡層配置,NCP給新接入的PC機分配一個臨時的IP地址,時PC機成為因特網(wǎng)上的一個主機。
通信完畢時,NCP釋放網(wǎng)絡層鏈接,收回原來分配出去的IP地址。接著,LCP釋放數(shù)據(jù)鏈路層連接,最后釋放物理層鏈接。
總結(jié)
以上是生活随笔為你收集整理的计算机网络【四】数据链路层基本概念+点到点通信(PPP协议)的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 为什么英雄联盟登上去一直都是显示正在登陆
- 下一篇: 二分查找的最大比较次数