一、數據鏈路層的基礎知識:
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、只使用光纖作傳輸媒體。