【網絡原理】數據鏈路層

一、數據鏈路層的基礎知識:

1、數據鏈路層主要目的

  • 將原始的、有差錯的物理線路變成無差錯的數據鏈路。

2、數據鏈路層主要功能

  • 1.鏈路管理:數據鏈路的建立、維護、釋放;
  • 2.幀同步:接收方應從收到的比特流中正確地判斷出一幀的開始與結束位;
  • 3.流量控制:控制發送方的數據發送速度,使得接收方來得及接收,以致網絡不發生擁塞;
  • 4.差錯控制:發現傳輸中出現的錯誤;
  • 5.透明傳輸:使接收方分辨數據還是控制信息;
  • 6.尋址:收發雙方應知道對方是誰;

3、數據鏈路層使用的信道

  • 1.點對點信道 1vs 1
  • 2.廣播信道 1 vs 多

4、基本概念:鏈路和數據鏈路

  • 1、鏈路:是一條無源的點到點的物理線路段。
  • 3、數據鏈路:數據鏈路 = 鏈路 + 控制數據傳輸的通信協議。
  • 最常用的方法:使用適配器(即網卡)來實現這些協議的硬件和軟件

5.傳輸的數據單位:數據幀(幀)

二、使用點對點信道的數據鏈路層

1.主要步驟

  • 1、發送方A將網絡層的數據報添加首部和尾部封裝成幀;
  • 2、發送方A將幀發送給B的數據鏈路層;
  • 3、B收到的幀無錯,則從幀中提取出數據報交給網絡層;若有錯,則丟棄該幀。

2.三個基本操作:封裝成幀、透明傳輸、差錯檢測

1、封裝成幀:數據報添加首部和尾部,就構成了一個幀

  • 1、幀的首部和尾部一個重要作用是進行幀定界;
  • 2、幀首和幀尾還包括許多必要的控制信息;
  • 3、爲提高幀傳輸效率,應使幀的數據部分儘可能大,且規定了數據部分長度上限MTU;
  • 幀長 = 幀首尾部長 + 數據部分長

2、透明傳輸:當數據部分是非ASCⅡ文件時,若數據某字節恰好是SOH(幀開始符)或EOT(幀結束符)控制字符時,數據鏈路層就會錯誤地處理幀,這就是“不透明傳輸”。
解決:【字節填充】插入轉義字符ESC

  • 1、若數據部分出現EOT或SOH時,就在這個EOT和SOH前插入ESC;接收方在送交網絡層之前將這個ESC刪除。
  • 2、用ESC ESC表示ESC。

3、差錯檢測

  • 1、差錯產生的原因和差錯類型:
    信噪存在,可能使比特流傳輸產生錯誤。(0-》1 1-》0)
    噪聲分兩類:熱噪聲(分子熱運動)、衝擊噪聲(突發):
  • 誤碼率:二進制比特在數據傳輸系統中被傳錯的概率。
  • 2、CRC循環冗餘編碼工作原理:
    將數據比特序列當作一個多項式f(x)的係數,在發送端用預先約定的生成多項式G(x)去除,求出一個餘數多項式。將餘數多項式加到數據多項式後發送到接收端;
    接收端用同樣的G(x)去除收到的f1(x),得到餘數多項式。如果得到的餘數多項式與接收到的餘數多項式相同,表示傳輸無錯。否則有錯,發送方重傳;
  • 3.注:數據鏈路層不使用確認和重傳機制(因爲代價高),由運輸層TCP協議實現可靠傳輸。

【例題3.1】發送數據M=1101011011(K=10),雙方約定生成多項式爲10011,即:G(x)=x4+x+1,N=4;
在這裏插入圖片描述
故實際發送爲1100110111110(在數據後面添加的冗餘碼1110稱爲幀檢驗序列 FCS);
是否有誤:1100110111110/10011 餘數爲0,則無誤!

三.點對點協議(ppp)

1、PPP協議組成

  • 1、一個將IP數據報封裝到串行鏈路的方法;
  • 2、一個鏈路控制協議LCP :用來建立、配置和測試數據鏈路連接。
  • 3、一套網絡控制協議NCP :一個NCP協議支持一種網絡層協議。

2、PPP協議幀格式【首部+尾部8字節】

  • 1、第一個字節和最後一個字節是標誌字段F,規定爲7EH;
  • 2、第二個字節是地址字段A,規定爲FFH;
  • 3、第三個字節是控制字段C,規定爲03H;
  • 4、協議字段2字節:當爲0021H時表示信息字段是IP數據報;爲C021H時,是PPP鏈路控制協議LCP的數據,若爲8021H時爲NCP控制數據;
  • 5、信息字段最大長度不超過1500字節;
  • 6、FCS字段使用CRC幀檢驗序列,2字節;
  • 注意:PPP 是面向字節的,所有的 PPP 幀的長度都是整數字節;
    在這裏插入圖片描述

3、透明傳輸問題(字節填充)引入轉義字符7DH

  • 1、若信息字段出現7EH(標誌字符),則將其轉化成7DH 5EH
  • 2、若信息字段出現7DH(轉義字符),則將其轉化成7DH 5DH
  • 3、若出現控制字符(即值小於20H的字符),則在字符前加入7DH,同時將該字符與20H異或
  • 4、零比特填充,連續五個1,後面加一個0.

【例題3.2】若數據部分是7D 5E FE 27 7D 5D 7D 5D 65 7D 5E,問真正的數據是什麼?

答:7E FE 27 7D 7D 65 7E

【例題3.3】同步傳輸技術傳送0110111111111100,試問用零比特填充後,變成怎樣的比特串?
若接收端收到PPP幀數據部分是0001110 111110111110110,問真正數據是什麼?

答:(1)011011111011111000;(2)0001110 1111111111110

四、使用廣播信道的數據鏈路層【局域網】

1、局域網工作層次

  • 跨物理層和數據鏈路層,無需網絡層;【沒有多次路由選擇,數據報直達】

2、共享信道的媒體共享技術

  • 1、靜態劃分信道:如頻分、時分、波分和碼分等多路複用技術;
  • 2、動態媒體接入控制(又稱:多點接入)信道並非固定給某用戶。
    ①.隨機接入:所有用戶可以隨機發送信息,可能出現衝突【主要使用】。
    ②.受控接入:所有用戶不能隨機發送信息,服從統一控制。

3.局域網的數據鏈路層

LLC和MAC兩個子層:

  • 邏輯鏈路控制 LLC 子層:與傳輸媒體無關。建立和釋放邏輯連接,給幀編號。
  • 媒體接入控制 MAC子層:與傳輸媒體有關。組裝成幀、解析幀、地址識別、差錯控制、管理和控制對局域網傳輸介質的訪問。
  • 注:由於TCP/IP體系經常使用的標準是DIXEthwrnetV2標準,大多數廠家的網卡只用MAC子層。

4、適配器【網卡】的作用

  • 1、並/串行轉換;

  • 2、對數據緩存;

  • 3、實現以太網(局域網的一種)協議;

  • 注意:
    ①.計算機的操作系統必須安裝網卡驅動程序,由它告知網卡如何取數等;
    ②.網卡把幀發送到局域網或從局域網接收並處理幀都不使用CPU,當把處理後的正確幀交給協議棧中的網絡層時使用中斷方式通知CPU。

5、CSMA/CD(帶有衝突檢測的載波偵聽多路訪問)

最早的以太網是將許多的計算機都連接到一根總線上。

  • 總線的特點:當一臺計算機向總線發送數據時,總線上所有計算機都能檢測到這個數據;

1、以太網通信的兩種措施

  • 1、無連接的廣播工作方式:不必先建立連接就直接發送數據,發現數據幀錯就丟棄。對發送的數據幀不編號,也不要求對方發回確認,差錯的糾正即重傳操作由網絡層處理;
  • 2、數據採用曼徹斯特編碼。

2.CSMA/CD協議
協調總線各計算機的工作,保證同一時間只允許一臺計算機發送信息。

  • CSMA/CD協議的三個要點:
    ①.多點接入:許多計算機以多點接入的方式連接在一根總線上;
    ②.載波監聽:先聽後發:用電子技術檢測總線上有無其它計算機發送的信號;
    ③.碰撞檢測:邊發邊聽:若發送數據期間檢測到信道是上信號電壓變化幅度增大,則表明出現衝突。若出現衝突,立即停發,等待一個隨即時間後重發。
  • 注意:當某站點監聽到總線空閒時,總線並非一定空閒。這是因爲數據傳播有延遲。

問題:發送站要經過多長時間才能知道自己有沒有與別的站發生衝突呢?
在這裏插入圖片描述

  • 顯然CSMA/CD協議的以太網只能進行半雙工通信。
  • 最先發送數據幀的站,在發送數據幀後至多經過時間2t(兩倍的端到端傳播時延)就可知道發送的數據幀是否遭受了碰撞,2t稱爲爭用期,或碰撞窗口;
  • 若經過爭用期後還沒檢測到衝突,則可肯定不會有衝突。因爲發送64字節後沒發現衝突才能肯定不會發生衝突,故10MBb/S以太網規定了最短幀長爲64字節,凡小於64字節幀均視爲無效幀。

3.二進制指數退避算法:CSMA/CD發現衝突到再次發送之間的時間確定方法

  • ①.確定基本退避時間,它就是2t。以太網取2t=51.2us。
  • ②.第k次重傳時,從離散整數集合{0,1,……,(2k-1)}中隨機取一個數r,重傳等待時間即爲2rt。當重傳次數大於10時k取10。
  • ③.當重傳達16次仍不能成功時,丟棄該幀並報告上層。
    4.強化碰撞:發送數據的站點發現衝突後,立即停止發送數據,再發送32bit或48bit的干擾信號,以便所有用戶知道信道發生了衝突。以太網還規定幀間間隔最少爲9.6us,即96bit時間。爲了讓接收站來得及處理剛收到的幀。【幀間最小間隔】
    5、CSMA/CD要點歸納如下
  • ⑴、適配器從網絡層接收到一個分組,加上以太網首部和尾部,組成以太網幀。
  • ⑵、若檢測到信道空閒(即96比特時間內沒有檢測到信道上有信號)就發送這個幀。若信道忙,繼續檢測並等待信道轉爲空閒後再發。
  • ⑶、數據發送過程中繼續偵聽,若發送過程中一直未檢測到碰撞,則順利發送,若檢測到碰撞,則終止發送,併發送人爲干擾信號。
  • ⑷、在中止發送後,執行二進制指數退避算法,等待r倍爭用期,返回步驟⑵。

【例3.4】:某以太網的數據速率爲100Mbps,信號速率爲200000km/s,求最大網絡跨距?
爭用期>=信號來回時間。
爭用期=64*8/100=5.12us
在這裏插入圖片描述

6、以太網信道利用率

一個幀從開始發送,經可能發生的數次碰撞後再重傳,到發送成功且信道轉爲空閒(即再經過時間t使得信道上無信號在傳播)時爲止,是發送一幀所需的平均時間。
在這裏插入圖片描述
在這裏插入圖片描述

7、以太網的MAC層【18字節】

1、MAC層的硬件地址 【局域網中硬件地址又稱物理地址或MAC地址】

  • 現在局域網適配器都是用6B(48bit)的全球地址,固化在適配器的ROM中。
  • 注意:MAC地址的兩種記法
    一種是字節的高位在先(左),一種是字節的低位在先(左)。

【例題3.5】AC-DE-48-00-00—80
802.5中 10101100-11011110-01001000-00000000-00000000-10000000高位在先
802.3中 00110101-01111011-00010010-00000000-00000000-00000001低位在先
2、適配器檢查 MAC 地址:

  • 1、適配器從網絡上每收到一個 MAC 幀就首先用硬件檢查 MAC 幀中的 MAC 地址.
    如果是發往本站的幀則收下,然後再進行其他的處理。否則就將此幀丟棄。
  • 2、“發往本站的幀”包括以下三種幀:
    ①.單播幀(一對一)I/G位=0;【第一個字節第七位】
    ②.多播幀(一對多) I/G位=1;【第一個字節第七位】
    ③.廣播幀(一對全體)48位MAC地址全1;

3、以太網的MAC幀格式

  • 1.前同步碼:用於同步,使接收端適配器與比特流達成同步,8個字節爲10交替,最後一位爲1.
  • 2.類型:高層使用何種協議,8137H表示novell ipx數據、0800H表示IP數據;
  • 3.客戶數據字段:46~1500字節,不足46B需填充,填充操作由IP層完成。
    客戶數據字段的最小長度 = 最小幀長度 64 字節 - 18 字節的首部和尾部

五、擴展以太網

1、在物理層擴展以太網(使用集線器擴展)

因爲信號在傳輸過程中會衰減,導致CSMA/CD協議無法正常工作。標準規定單個網段不超過500米長,兩個網段之間可用轉發器連接起來,但任意兩個站點最多可經過3個電纜網段。

  • 可以採用以下兩種途徑擴展:
    ⑴、用光纖取代雙絞線:可擴展以太網覆蓋範圍:【需要光纖解調器】
    ⑵、使用多級集線器,就可以連接成覆蓋範圍更大的多級星型以太網。
  • 優點:
    ①.實現不同以太網之間通信。
    ②.擴大了以太網範圍。主機與集線器之間最多100米,集線器與集線器之間距離也可是100米。
  • 缺點:
    ①.多個碰撞域成爲一個碰撞域,碰撞域增大了,但總的吞吐量並未提高。
    ②.不同技術以太網不能用集線器互連。

2、在數據鏈路層擴展以太網(使用網橋擴展)

兩個以太網通過網橋連接起來後,就成爲一個覆蓋範圍很大的以太網,原先的每個以太網稱一個網段(每個網段處在各自獨立的衝突域中)。

  • 1.網橋工作在數據鏈路層,它根據MAC幀的目的地址對收到的幀進行轉發。
  • 2.網橋具有過濾幀的功能。當網橋收到一個幀時,並不是立即轉發幀,而是先檢查幀的目的MAC 地址,然後確定是丟棄還是將該幀轉發到哪一個接口。

1、網橋的內部結構
在這裏插入圖片描述
網橋依靠轉發表來轉發幀。
2.好處

  • ①.過濾通信量,增大吞吐量:不同網段上間部通信時互不干擾。
  • ②.擴大的了物理範圍:增加以太網上工作站的最大數目。
  • ③.提高了可靠性:當網絡出現故障時,隻影響個別網段。
  • ④.可互連不同以太網:不同物理層、不同MAC子層,不同速率。

3.網橋的缺點

  • ①.先存儲、後轉發,轉發時執行CSMA/CD算法,增加了時延。
  • ②.MAC子層沒有流量控制,可能因緩存不夠丟失幀。
  • ③.可能產生廣播風暴,擴展的以太網共一個廣播域,若網橋之間通過點對點轉發幀時採用PPP協議,則在幀的頭部和尾部再加上PPP-H和PPP-T。

4、網橋和集線器(或轉發器)的區別

  • 集線器在轉發幀時,不對傳輸媒體進行檢測。網橋在轉發幀之前必須執行CSMA/CD 算法。

5、透明網橋

  • ⑴、透明網橋:是指以太網網站點並不知道所發送的幀將經過哪幾個網橋,即網橋對站點是透明的。
    轉發表每項記錄的信息結構:MAC地址+接口+ 幀進入該網橋的時間。
  • ⑵、透明網橋的自學習原理:若從站點A發出的幀從接口X進入了某網橋,那麼從這個接口出發,沿相反方向一定可以把一個幀傳送到A。所以網橋每收到一個幀時檢查是否有相應的表項。
  • ⑶、網橋的自學習和轉發幀的步驟:
    自學習:網橋收到一幀後,查找轉發表中有無與源地址匹配的項目,若有,則更新(接口時間),若無,增加一個新表項:地址、接口、時間。
    轉發幀:若幀的目的地址與轉發表中所有表項不匹配,則向除進入接口以外的其它所有接口轉發,若與轉發表中給出接口相同,則丟棄該幀,若進入的接口與轉發表給出接口不同,則按轉發表給出的接口進行轉發。
  • 網橋工作原理簡述:學習源地址、過濾本網段幀、轉發異網段幀、廣播未知幀。
  • ⑷、透明網橋的生成樹算法:目的:避免幀在網絡中不停地兜圈子,白白耗費資源。
  • 生成樹算法:每個網橋都有一個唯一的標示符,通常取網橋MAC加一個優先級,網橋每個端口有一個路徑代價:
    第一步:“決定根網橋”,取優先級最高者,同優先級取MAC最小者;
    選根期間各網橋廣播自己的BPDU(網橋協議數據單元)表明自己的標示符,當收到比自己優先級高的BPDU時就不再廣播自己的BPDU而轉發高優先級的BPDU,最終只產生一個根端口;
    第二步:“決定非根網橋的根端口”,從它出發到根網橋路徑代價最小的端口;
    方法是根網橋廣播一個BPDU,非根網橋在各端口收到此BPDU後檢測出代價,從而決定根端口;
    第三部:“決定指定網橋和各網絡的指定端口”,指定網橋就是本網絡A到達另一網絡B路徑代價最小的網橋,由它負責本網絡A與B之間的數據交換(一個網絡可能有多個通向數個網絡的多個指定網橋);指定端口就是網絡與指定網橋的相連端口,其它非指定端口被阻塞。

6、源路由網橋:由發送幀的源站負責路由選擇的網橋。

  • 源站發送幀時將詳細的路由信息放在幀的首部中。
  • 爲發現合適的路由,源站以廣播方式向目的站發送一個發現幀,作探測之用。發現幀在整個擴展的以太網上沿所有可能的路徑傳送。在傳送過程中,每個發現幀都記錄所經過的路由。當這些發現幀到達目的站時,就沿着各自路由返回源站。源站從各種路由中選擇一個最佳路由。

7、多接口網橋:“以太網交換機”
以太網交換機工作在數據鏈路層,實際上是一個多接口網橋。

  • 1、以太網交換機的特點:
    ①.一般都工作在全雙工方式。
    ②.交換機能同時連通許多對的接口,使每一對相互通信的主機都能像獨佔通信媒體那樣,進行無碰撞地傳輸數據,從而增加總容量。

  • 2、交換機與集線器的不同點:
    ①.工作層次不同:交換機工作在數據鏈路層,集線器工作在物理層。
    ②.傳輸數據方式不同:交換機轉發,集線器廣播。
    ③.帶寬佔用方式不同:交換機用戶獨佔帶寬,集線器用戶共享帶寬。
    ④.傳輸模式不同:交換機全雙工,集線器半雙工。
    ⑤.碰撞域不同:集線器所有接口是一個碰撞域,交換機每個接口是一個獨立的碰撞域。

  • 3、利用以太網交換機可以很方便地實現VLAN(虛擬局域網)
    在這裏插入圖片描述

  • 每一個VLAN 的幀都有一個明確的標識符,指明發送這個幀的工作站是屬於哪一個VLAN。

  • 虛擬局域網其實只是局域網給用戶提供的一種服務,而並不是一種新型局域網。

  • VLAN的優點
    ①.可控制廣播風暴,廣播只在同一個VLAN中。
    ②.提高網絡整體安全性

  • 實現虛擬局域網主要的三種途徑
    ①.基於端口的虛擬局域網
    ②.基於MAC地址的VLAN;
    ③.基於IP 地址的VLAN。

  • 虛擬局域網使用的以太網MAC幀格式:在以太網幀格式中插入一個4字節標識符,稱VLAN標記,用來指明發送該幀的工作屬於哪一個虛擬局域網。

3、在網絡層擴展以太網è 使用路由器擴展(局域網擴展成廣域網)

六、高速以太網

1、100BASE-T以太網 ----又稱爲快速以太網(Fast Ethernet)

  • 1、支持半雙工和全雙工方式,雙工方式下CSMA/CD不起作用。
  • 2、最短幀長仍爲64B,最大幀長爲1518B,但將網段的最大電纜長度減小到 100 m。
  • 3、爭用期仍爲512比特時間,幀間隙爲0.96us(96比特時間)。

2、吉比特以太網

  • 1、支持全雙工和半雙工(此時使用 CSMA/CD 協議)工作方式。
  • 2、使用載波延長(載波擴展技術)和分組突發技術。
  • 3、最短幀長仍然爲64B,爭用期增加爲512B時間,當幀長處於64B~512B時需要填充到512B。
  • 載波擴展技術:若幀長小於512B,將整個發送長度擴展到512B。
  • 分組突發技術:一個站獲得介質訪問權後連續發送多個短幀時,第一個短幀採用載波擴展技術擴展爲512B,以後的短幀就不必擴展而連續發送,但在所有的幀之間用載波擴展爲填充幀與幀之間的間隔IPG(一個IPG共96b),以便使得其它站始終能夠檢測到載波,防止他們打斷當前站的幀突發操作。

【例題3.10】半雙工千兆位以太網中,要發送一個100B的幀,需要多長時間才發完?若要發送10個100B的幀,又需要多長時間才發完?
在這裏插入圖片描述

3、10吉比特以太網

  • 1、只支持全雙工,不使用 CSMA/CD 協議。
  • 2、只使用光纖作傳輸媒體。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章