3.1 使用點對點信道的數據鏈路層
1、數據鏈路和幀
鏈路(物理鏈路) :是一條無源的點到點的物理線路段,中間沒有任何其他的交換結點。
一條鏈路只是一條通路的一個組成部分-
數據鏈路(邏輯鏈路):除了物理線路外,還必須有通信協(xié)議來控制這些數據的傳輸。若把實現這些協(xié)議的硬件和軟件加到鏈路上,就構成了數據鏈路。
- 現在最常用的方法是使用適配器(即網卡)來實現這些協(xié)議的硬件和軟件。
- 一般的適配器都包括了數據鏈路層和物理層這兩層的功能。
數據鏈路層的協(xié)議數據單元是幀
-
數據鏈路層使用的信道有兩種類型:
點對點信道:這種信道使用一對一的點對點通信方式。
廣播信道:這種信道使用一對多的廣播通信方式,因此過程比較復雜。廣播信道上連接的主機很多,因此必須使用專用的共享信道協(xié)議來協(xié)調這些主機的數據發(fā)送。
2、三個基本問題
封裝成幀
- 封裝成幀就是在一段數據的前后分別添加首部和尾部,然后就構成了一個幀。確定幀的界限
- 當數據是由可打印的 ASCII 碼組成的文本文件時,幀定界可以使用特殊的幀定界符。
- 控制字符 SOH (Start Of Header) 放在一幀的最前面,表示幀的首部開始。另一個控制字符 EOT (End Of Transmission) 表示幀的結束。
透明傳輸
- 問題:如果數據中的某個字節(jié)的二進制代碼恰好和 SOH 或 EOT 一樣,數據鏈路層就會錯誤地“找到幀的邊界”
- 解決方法:字節(jié)填充或字符填充
- 發(fā)送端的數據鏈路層在數據中出現控制字符“SOH”或“EOT”的前面插入一個轉義字符“ESC” (其十六進制編碼是 1B)。
- 接收端的數據鏈路層在將數據送往網絡層之前刪除插入的轉義字符。
- 如果轉義字符也出現在數據當中,那么應在轉義字符前面插入一個轉義字符 ESC。當接收端收到連續(xù)的兩個轉義字符時,就刪除其中前面的一個。
差錯檢測
在一段時間內,傳輸錯誤的比特占所傳輸比特總數的比率稱為誤碼率 BER (誤碼率與信噪比有很大的關系)。
在數據鏈路層傳送的幀中,廣泛使用了循環(huán)冗余檢驗 CRC 的檢錯技術。
在數據后面添加上的冗余碼稱為幀檢驗序列FCS。CRC是FCS獲得方式之一。
無差錯接受是指:“凡是接受的幀(即不包括丟棄的幀),我們都能以非常接近于 1 的概率認為這些幀在傳輸過程中沒有產生差錯”。
可靠傳輸(即發(fā)送什么就收到什么)就必須再加上確認和重傳機制。
在數據鏈路層使用 CRC 檢驗,能夠實現無比特差錯的傳輸(不是無傳輸差錯)
3.2 點對點協(xié)議PPP
1、PPP協(xié)議的特點
-
用戶使用撥號電話線接入互聯網時, 用戶計算機和 ISP 進行通信時所使用的數據鏈路層協(xié)議就是 PPP 協(xié)議image.png
-
PPP 協(xié)議應滿足的需求
- 簡單
- 封裝成幀:必須規(guī)定特殊的字符作為幀定界符
- 透明性
- 能夠在同一條物理鏈路上同時支持多種網絡層協(xié)議。
- 能夠在多種類型的鏈路上運行
- 差錯檢測 —— 能夠對接收端收到的幀進行檢測,并立即丟棄有差錯的幀
- 檢測連接狀態(tài) —— 能夠及時自動檢測出鏈路是否處于正常工作狀態(tài)
- 最大傳送單元 —— 必須對每一種類型的點對點鏈路設置最大傳送單元 MTU 的標準默認值,促進各種實現之間的互操作性。
- 網絡層地址協(xié)商 —— 必須提供一種機制使通信的兩個網絡層實體能夠通過協(xié)商知道或能夠配置彼此的網絡層地址
- 數據壓縮協(xié)商 —— 必須提供一種方法來協(xié)商使用數據壓縮算法
- PPP 協(xié)議的組成
- 一個將 IP 數據報封裝到串行鏈路的方法。
- 鏈路控制協(xié)議 LCP:用來建立、配置和測試數據鏈路連接
- 網絡控制協(xié)議 NCP:其中的每個協(xié)議支持不同的網絡層
2、PPP協(xié)議的幀格式

- 地址字段A實際上并不起作用
- 標志字段 F = 0x7E ,控制字段 C 通常置為 0x03
- PPP 是面向字節(jié)的,所有的 PPP 幀的長度都是整數字節(jié)。
-
當 PPP 用在異步傳輸時,就使用一種特殊的字符填充法。
- 將信息字段中出現的每一個 0x7E 字節(jié)轉變成為 2 字節(jié)序列 (0x7D, 0x5E)。
- 若信息字段中出現一個 0x7D 的字節(jié), 則將其轉變成為 2 字節(jié)序列 (0x7D, 0x5D)。
- 若信息字段中出現 ASCII 碼的控制字符(即數值小于 0x20 的字符),則在該字符前面要加入一個 0x7D 字節(jié),同時將該字符的編碼加以改變。
-
當 PPP 用在同步傳輸鏈路時,協(xié)議規(guī)定采用硬件來完成零比特填充。
- 在發(fā)送端,只要發(fā)現有 5 個連續(xù) 1,則立即填入一個 0
- 接收端對幀中的比特流進行掃描。每當發(fā)現 5 個連續(xù)1時,就把這 5 個連續(xù) 1 后的一個 0 刪除
3、PPP協(xié)議的工作狀態(tài)
- 當用戶撥號接入 ISP 時,路由器的調制解調器對撥號做出確認,并建立一條物理連接
- PC 機向路由器發(fā)送一系列的鏈路控制協(xié)議LCP 分組(封裝成多個 PPP 幀),以便建立LCP連接。
- 這些分組及其響應選擇一些 PPP 參數,并進行網絡層配置,網絡控制協(xié)議NCP 給新接入的 PC 機分配一個臨時的 IP 地址,使 PC 機成為因特網上的一個主機。
- 通信完畢時,NCP 釋放網絡層連接,收回原來分配出去的 IP 地址。接著,LCP 釋放數據鏈路層連接。最后釋放的是物理層的連接。
可見,PPP 協(xié)議已不是純粹的數據鏈路層的協(xié)議,它還包含了物理層和網絡層的內容

3.3 使用廣播信道的數據鏈路層
1、局域網的數據鏈路層
- 局域網最主要的特點是:
- 網絡為一個單位所擁有
- 地理范圍和站點數目均有限
- 局域網具有如下主要優(yōu)點:
- 具有廣播功能,從一個站點可很方便地訪問全網。局域網上的主機可共享連接在局域網上的各種硬件和軟件資源
- 于系統(tǒng)的擴展和逐漸地演變,各設備的位置可靈活調整和改變。
- 提高了系統(tǒng)的可靠性、可用性和殘存性
- 局域網拓撲結構:星形網、環(huán)形網、總線網
- 信道劃分:
- 靜態(tài)劃分信道:頻分、時分、波分、碼分復用等。
- 動態(tài)媒體接入控制:隨機接入、受控接入
- 以太網的兩個標準
- DIX Ethernet V2 是世界上第一個局域網產品(以太網)的規(guī)約。
- IEEE 802.3 是第一個 IEEE 的以太網標準。
兩者差別很小,嚴格來講,“以太網”應當是指符合 DIX Ethernet V2 標準的局域網
-
為了使數據鏈路層能更好地適應多種局域網標準,IEEE 802 委員會就將局域網的數據鏈路層拆成兩個子層:
- 邏輯鏈路控制 LLC 子層:LLC子層看不見下面的局域網
- 媒體接入控制 MAC子層
由于 TCP/IP 體系經常使用的局域網是 DIX Ethernet V2 ,很多廠商生產的適配器上就僅裝有 MAC 協(xié)議而沒有 LLC 協(xié)議。
-
適配器的作用:網絡接口板又稱為通信適配器或網絡接口卡NIC,或“網卡”
- 進行串行/并行轉換
- 對數據進行緩存
- 在計算機的操作系統(tǒng)安裝設備驅動程序
- 實現以太網協(xié)議
-
計算機通過適配器和局域網進行通信
image.png
2、CSMA/CD協(xié)議
- 為了通信的簡便,以太網采取了兩種重要的措施
- 采用較為靈活的無連接的工作方式:
- 不必先建立連接就可以直接發(fā)送數據。
- 對發(fā)送的數據幀不進行編號,也不要求對方發(fā)回確認。
- 這樣做的理由是局域網信道的質量很好,因信道質量產生差錯的概率是很小的。
- 以太網發(fā)送的數據都使用曼徹斯特編碼
- 采用較為靈活的無連接的工作方式:
載波監(jiān)聽多點接入 / 碰撞檢測
- 多點接入:表示許多計算機以多點接入的方式連接在一根總線上。
- 載波監(jiān)聽:是指每一個站在發(fā)送數據之前先要檢測一下總線上是否有其他計算機在發(fā)送數據,如果有,則暫時不要發(fā)送數據,以免發(fā)生碰撞。
總線上并沒有什么“載波”。因此, “載波監(jiān)聽”就是用電子技術檢測總線上有沒有其他計算機發(fā)送的數據信號 - 碰撞檢測:計算機邊發(fā)送數據邊檢測信道上的信號電壓大小。
當一個站檢測到的信號電壓擺動值超過一定的門限值時,就認為總線上至少有兩個站同時在發(fā)送數據,表明產生了碰撞。 - 檢測到碰撞后:每一個正在發(fā)送數據的站,一旦發(fā)現總線上出現了碰撞,就要立即停止發(fā)送,免得繼續(xù)浪費網絡資源,然后等待一段隨機時間后再次發(fā)送。
- 為什么要進行碰撞檢測:由于電磁波在總線上的傳播速率是有限的。A 向 B 發(fā)出的信息,要經過一定的時間后才能傳送到 B。

- CSMA/CD 重要特性:
- 只能進行雙向交替通信(半雙工通信)
- 每個站在發(fā)送數據之后的一小段時間內,存在著遭遇碰撞的可能性。 這種發(fā)送的不確定性使整個以太網的平均通信量遠小于以太網的最高數據率
- 以太網的端到端往返時延2t稱為爭用期,或碰撞窗口。10 Mbit/s 以太網取 51.2 微秒為爭用期的長度。在爭用期內可發(fā)送 512 bit,即 64 字節(jié),以太網規(guī)定了最短有效幀長為 64 字節(jié)。
- 二進制指數類型退避算法
- 基本退避時間取為爭用期 2t。
- 從整數集合 [0, 1, … , (2^k-1)] 中隨機地取出一個數,記為 r。重傳所需的時延就是 r 倍的基本退避時間。
- 參數 k 按下面的公式計算:k = Min[重傳次數, 10]
- 當重傳達 16 次仍不能成功時即丟棄該幀,并向高層報告。
-
強化碰撞:當發(fā)送數據的站一旦發(fā)現發(fā)生了碰撞時:
- 立即停止發(fā)送數據
- 再繼續(xù)發(fā)送若干比特的人為干擾信號,以便讓所有用戶都知道現在已經發(fā)生了碰撞。
-
總線被占用時間image.pngimage.png
- CSMA/CD協(xié)議的要點歸納:
準備發(fā)送:發(fā)送之前必須先檢測信道。
-
檢測信道:若檢測到信道忙,則應不停地檢測,一直等待信道轉為空閑。若檢測到信道空閑,并在 96 比特時間內信道保持空閑(保證了幀間最小間隔。這樣做是為了使剛剛收到數據幀的站的接收緩存來得及清理,做好接收下一幀的準備。),就發(fā)送這個幀。
- 1)檢查碰撞:在發(fā)送過程中仍不停地檢測信道,即網絡適配器要邊發(fā)送邊監(jiān)聽。
- 2)發(fā)送成功:在爭用期內一直未檢測到碰撞。這個幀肯定能夠發(fā)送成功。
- 3)發(fā)送失?。涸跔幱闷趦葯z測到碰撞。這時立即停止發(fā)送數據,并按規(guī)定發(fā)送人為干擾信號。適配器接著就執(zhí)行指數退避算法,等待 r 倍 512 比特時間后,返回到步驟 2),繼續(xù)檢測信道。
3、使用集線器的星形拓撲
- 以太網:粗同軸電纜->細同軸電纜->雙絞線
-
星形以太網 10BASE-Timage.png
- 集線器的一些特點 :
- 使用集線器的以太網在邏輯上仍是一個總線網,各工作站使用的還是 CSMA/CD 協(xié)議,并共享邏輯上的總線。
- 集線器很像一個多接口的轉發(fā)器
- 集線器工作在物理層,它的每個接口僅僅簡單地轉發(fā)比特,不進行碰撞檢測。
- 集線器采用了專門的芯片,進行自適應串音回波抵消,減少了近端串音。
4、以太網的MAC層
- 在局域網中,硬件地址又稱為物理地址,或 MAC 地址。 實際上就是適配器地址或適配器標識符 EUI-48。
-
IEEE 802 標準規(guī)定 MAC 地址字段可采用 6 字節(jié) ( 48位) 或 2 字節(jié) ( 16 位) 這兩種中的一種。IEEE 的注冊管理機構 RA 負責向廠家分配地址字段 6 個字節(jié)中的前三個字節(jié) (即高位 24 位),稱為組織唯一標識符。image.png
- IEEE 規(guī)定地址字段的第一字節(jié)的最低位為 I/G 位。I/G 表示 Individual / Group。
- 當 I/G位 = 0 時,地址字段表示一個單站地址。
- 當 I/G位 = 1 時,表示組地址,用來進行多播(以前曾譯為組播)。此時,IEEE 只分配地址字段前三個字節(jié)中的 23 位。
- 所有 48 位都為 1 時,為廣播地址。只能作為目的地址使用。
- IEEE 把地址字段第一字節(jié)的最低第 2 位規(guī)定為 G/L 位,表示 Global / Local。
- 當 G/L位 = 0 時,是全球管理(保證在全球沒有相同的地址),廠商向IEEE購買的 OUI 都屬于全球管理。
- 當 G/L位 = 1 時, 是本地管理,這時用戶可任意分配網絡上的地址。
- 以太網的適配器有過濾功能,它只接受單播幀,或廣播幀,或多播幀。
- 以混雜方式工作的以太網適配器只要“聽到”有幀在以太網上傳輸就都接收下來。(黑客竊聽,Sniffer)
-
MAC幀的格式(DIX Ethernet V2 標準)image.png
- 類型字段用來標志上一層使用的是什么協(xié)議,以便把收到的 MAC 幀的數據上交給上一層的這個協(xié)議。
- 最小長度 64 字節(jié) -18 字節(jié)的首部和尾部 = 數據字段的最小長度(46字節(jié))
- 在幀的前面插入(硬件生成)的 8 字節(jié)中,第一個字段共 7 個字節(jié),是前同步碼,用來迅速實現 MAC 幀的比特同步。第二個字段 1 個字節(jié)是幀開始定界符,表示后面的信息就是 MAC 幀。
- IEEE 802.3 MAC 幀格式
- MAC 幀的第三個字段是“長度 / 類型”。當這個字段值大于 0x0600 時,就表示“類型”;小于 0x0600 時才表示“長度”。
- 當“長度/類型”字段值小于 0x0600 時,數據字段必須裝入上面的邏輯鏈路控制 LLC 子層的 LLC 幀。
3.4 擴展的以太網
1、在物理層擴展以太網
- 主機使用光纖(通常是一對光纖)和一對光纖調制解調器連接到幾公里以外的集線器。
- 使用集線器級聯,擴展以太網容量
- 優(yōu)點
- 使原來屬于不同碰撞域的以太網上的計算機能夠進行跨碰撞域的通信。
- 擴大了以太網覆蓋的地理范圍。
- 缺點
- 碰撞域增大了,但總的吞吐量并未提高。
- 如果不同的碰撞域使用不同的數據率,那么就不能用集線器將它們互連起來。
- 優(yōu)點
2、在數據鏈路層擴展以太網
網橋:當網橋收到一個幀時,并不是向所有的接口轉發(fā)此幀,而是先檢查此幀的目的 MAC 地址,然后再確定將該幀轉發(fā)到哪一個接口,或把它丟棄。
-
以太網交換機的特點
- 以太網交換機實質上就是一個多接口的網橋
- 每個接口都直接與一個單臺主機或另一個以太網交換機相連,并且一般都工作在全雙工方式。
- 以太網交換機具有并行性。能同時連通多對接口,使多對主機能同時通信。
- 相互通信的主機都是獨占傳輸媒體,無碰撞地傳輸數據。
- 以太網交換機的接口有存儲器,能在輸出端口繁忙時把到來的幀進行緩存。
- 以太網交換機是一種即插即用設備,其內部的幀交換表(又稱為地址表)是通過自學習算法自動地逐漸建立起來的。
- 以太網交換機使用了專用的交換結構芯片,用硬件轉發(fā),其轉發(fā)速率要比使用軟件轉發(fā)的網橋快很多。
- 用戶獨享帶寬,增加了總容量。
- 從共享總線以太網轉到交換式以太網時,所有接入設備的軟件和硬件、適配器等都不需要做任何改動。
- 以太網交換機一般都具有多種速率的接口,方便了各種不同情況的用戶。
- 以太網交換機的方式:存儲轉發(fā)方式;直通方式
-
以太網交換機的自學習功能
image.png- 開始時,以太網交換機里面的交換表是空的。
- A 先向 B 發(fā)送一幀,從接口 1 進入到交換機。
- 交換機收到幀后,先查找交換表,沒有查到應從哪個接口轉發(fā)這個幀。
- 交換機把這個幀的源地址 A 和接口 1 寫入交換表中,并向除接口1以外的所有的接口廣播這個幀。
- C 和 D 將丟棄這個幀,因為目的地址不對。只 B 才收下這個目的地址正確的幀。這也稱為過濾。
image.png
- 從總線以太網到星形以太網
- 總線以太網使用 CSMA/CD 協(xié)議,以半雙工方式工作。
- 以太網交換機不使用共享總線,沒有碰撞問題,因此不使用 CSMA/CD 協(xié)議,而是以全雙工方式工作。但仍然采用以太網的幀結構。
3、虛擬局域網
- 利用以太網交換機可以很方便地實現虛擬局域網 VLAN (Virtual LAN)。
- 虛擬局域網 VLAN 是由一些局域網網段構成的與物理位置無關的邏輯組,而這些網段具有某些共同的需求。每一個 VLAN 的幀都有一個明確的標識符,指明發(fā)送這個幀的計算機是屬于哪一個 VLAN。
- 虛擬局域網其實只是局域網給用戶提供的一種服務,而并不是一種新型局域網。
-
由于虛擬局域網是用戶和網絡資源的邏輯組合,因此可按照需要將有關設備和資源非常方便地重新組合,使用戶從不同的服務器或數據庫中存取所需的資源。
image.png
3.5 高速以太網
速率達到或超過 100 Mbit/s 的以太網稱為高速以太網。
1、100BASE-T以太網
- 100BASE-T 在雙絞線上傳送 100 Mbit/s 基帶信號的星形拓撲以太網,仍使用 IEEE 802.3 的CSMA/CD 協(xié)議。
- 又稱為“快速以太網”
- 可在全雙工方式下工作而無沖突發(fā)生。在全雙工方式下工作時,不使用 CSMA/CD 協(xié)議。
- MAC 幀格式仍然是 802.3 標準規(guī)定的。
- 幀間時間間隔從原來的 9.6 微秒改為現在的 0.96微秒。
- 100BASE-TX:使用 2 對 UTP 5 類線 或 屏蔽雙絞線 STP。
100BASE-T4:使用 4 對 UTP 3 類線 或 5 類線。
100BASE-FX:使用 2 對光纖。
2、吉比特以太網
- 允許在 1 Gbit/s 下以全雙工和半雙工兩種方式工作。
- 向后兼容
3、10吉比特以太網(10GE)和更快的以太網
- 10GE 只工作在全雙工的傳輸方式
4、使用以太網進行寬帶接入
- 以太網寬帶接入具有以下特點:
- 可以提供雙向的寬帶通信。
- 可以根據用戶對帶寬的需求靈活地進行帶寬升級。
- 可以實現端到端的以太網傳輸,中間不需要再進行幀格式的轉換。這就提高了數據的傳輸效率且降低了傳輸的成本。
- 但是不支持用戶身份鑒別。
- PPPoE (PPP over Ethernet) 的意思是“在以太網上運行 PPP”,它把 PPP 協(xié)議與以太網協(xié)議結合起來 —— 將 PPP 幀再封裝到以太網中來傳輸。
- 現在的光纖寬帶接入 FTTx 都要使用 PPPoE 的方式進行接入。在 PPPoE 彈出的窗口中鍵入在網絡運營商購買的用戶名和密碼,就可以進行寬帶上網了。
- 利用 ADSL 進行寬帶上網時,從用戶個人電腦到家中的 ADSL 調制解調器之間,也是使用 RJ-45 和 5 類線(即以太網使用的網線)進行連接的,并且也是使用 PPPoE 彈出的窗口進行撥號連接的。









