文章目錄
- 資料鏈路層概述
- 使用點對點信道的資料鏈路層
- 資料鏈路和幀
- 三個基本問題
- 封裝成幀
- 透明傳輸
- 差錯控制
- 點對點協議PPP
- PPP協議的特點
- PPP協議的幀格式
- 使用廣播信道的資料鏈路層
- 局域網的資料鏈路層
- 以太網
- 配接器的作用
- CSMA/CD協議
- 使用集線器的星型拓撲
- 以太網的信道利用率
- 以太網的MAC層
- MAC層的硬體地址
- MAC幀的格式
- 擴展以太網
- 在資料鏈路層擴展以太網
- 以太網交換機的特點
- 以太網交換機的自學習功能
- 虛擬局域網
- 高速以太網
資料鏈路層概述
- 資料鏈路層使用的信道主要有以下兩種型別:
1、點到點信道:這種信道使用一對一的點對點通信方式;
2、廣播信道:這種信道使用一對多的廣播通信方式,因此程序比較復雜,廣播信道上連接的主機很多,因此必須使用專門的共享信道協議來協調這些主機的資料發送;
- 下面分析一下兩臺主機通過互聯網進行通信時資料鏈路層所處的地位:

當主機H1向主機H2發送資料時,從協議的層次上看,資料的流動如上圖所示,主機H1、H2都有完整的五層協議堆疊,但路由器在轉發分組的時候使用到的協議堆疊只有下面的三層,資料進入路由器后要先從物理層上到網路層,在轉發表中找到下一跳的地址后,再下到物理層轉發出去,因此,資料從主機主機H1傳送到H2需要在路徑中的各結點的協議堆疊向上和向下流動多次,即通過了:H1的鏈路層——R1的鏈路層——R2的鏈路層——R3的鏈路層——H2的鏈路層;
這期間,四段不同的鏈路層通信可能采用不同的資料鏈路層協議;
使用點對點信道的資料鏈路層
資料鏈路和幀
- 鏈路是指從一個結點到相鄰結點的一段物理線路(有線或無線),而中間沒有任何其他的交換結點,再進行資料通信時,鏈路作為路徑的組成部分;
- 資料鏈路:當需要一條線路上傳輸資料時,除了必須有一條物理線路外,還必須有一些必要的通信協議來控制這些資料的傳輸,把實作這些協議的硬體和軟體加到鏈路上,就構成了資料鏈路,
- 現在最常用的方法是使用網路配接器來實作這些協議,一般的配接器(比如網卡)都包括了資料鏈路層和物理層這兩層的功能;
- 點對點信道中的資料鏈路層的協議資料單元為——幀,資料鏈路層把網路層交下來的資料構成幀發送到鏈路上,以及把接收到的幀中的資料取出并交給網路層,在互聯網中,網路層的協議資料單元就是IP資料報(簡稱為資料報、分組、包);

- 上圖中點對點信道的資料鏈路層在進行通信時的主要步驟為:
1、結點A的資料鏈路層把網路層交下來的IP資料報添加首部和尾部封裝成幀;
2、結點A把封裝好的幀發送給結點B的資料鏈路層;
3、若結點B的資料鏈路層收到的幀無差錯,則從收到的幀中提取出IP資料報交給上面的網路層,否則丟棄這個幀;
- 資料鏈路層就像一個管道,它傳輸的是幀;
三個基本問題
- 資料鏈路層的協議有許多種,但3個最基本的問題是:封裝成幀、透明傳輸、差錯控制;
封裝成幀

- 指的是在一段資料的前后分別添加首部和尾部,這樣就構成了一個幀;
- 接收端收到物理層上交的位元流之后,會根據首部和尾部的標記,從收到的位元流中識別幀的開始和結束;
- 首部和尾部的重要作用就是作為幀定界(即確定幀的界限),此外還包括了許多必要的控制資訊,
- 為了提高幀的傳輸效率,應當使幀的資料部分長度盡可能大于首部和尾部的長度,因此就有了資料部分長度上限——最大傳送單元MTU,如上圖所示;
幀定界符
- 當資料是由可列印的ASCII碼組成的文本檔案時,幀定界可以使用特殊的幀定界符,
- 控制字符SOH放在幀的最前面,表示幀的首部開始,另一個控制字符EOT表示幀的結束;
- 注意:這里的SOH和EOT不是時控制字符的名字,它們的十六進制編碼為:01和04,并不是S,O,T(或E,O,T)三個字符;

- 假定發送端在尚未發送完一個幀時突然出現故障,中斷了發送,但隨后又恢復正常,于是從頭開始再發,由于使用了幀定界符,接收端就知道前面收到的資料是個不完整的幀(只有首部開始符SOH而沒有傳輸結束符EOT),必須丟棄;
透明傳輸
- 當傳輸的幀是用文本檔案組成的幀時,其資料部分顯然不會出現像SOH或EOT這樣的幀定界控制字符,因此這樣的傳輸稱為透明傳輸;
透明的意思是:某一個實際存在的事物看起來卻好像不存在一樣;
在資料鏈路層中透明傳送資料,表示無論什么樣的位元組合的資料,對于傳送的資料來說,它們看不見資料鏈路層又什么妨礙資料傳輸的東西,因此資料鏈路層對于這些資料來說是透明的;
- 但當資料部分是非ASCII碼的文本檔案(如二進制代碼的計算機程式或圖象),資料中的某個位元組的二進制代碼恰好和SOH或EOT這樣的控制字符一樣,資料鏈路層就會錯誤地“找到幀的邊界”,把部分幀手下(誤認為這是完整的),而丟棄剩下的資料;

- 為了解決透明傳輸問題,就必須使資料中可能出現的控制字符“SOH”和“EOT”在接收端不被解釋為控制字符,
位元組填充:
具體的方法是:在“SOH”和“EOT”前面插入一個轉義字符“ESC”(其16進制為1B),而在接收端的資料鏈路層把資料送往網路層之前洗掉這個插入的轉義字符,
如果轉義字符也出現在資料當中,任然是在轉義字符的前面插入一個轉義字符,

差錯控制
- 位元在傳輸程序中可能產生差錯,1可能變為0,0可能變為1,這就叫做位元差錯;
- 傳輸錯誤的位元占所傳輸位元總數的比率稱為誤碼率(BER),誤碼率與信噪比有很大的關系,如果設法提高信噪比,就可以使誤碼率減小;
- 實際的通信鏈路并非是理想的,他不可能使誤碼率下降為0,因此資料鏈路層廣泛使用回圈冗余檢驗CRC的檢錯技術,原理為:
1、在待傳送的資料M后面添加供差錯檢驗用的n位冗余碼,然后構成一個幀發送出去;
2、這個冗余碼可以用以下方法獲得:在M后面添加n個0,得到的這個數出意收發雙方事先商定的長度為(n+1)位的除數P,得出商位Q余數為R,這個R就作為冗余碼拼接在M后面發送出去;

3、在接收端把接收到的資料以幀為單位進行檢驗,收到的每一個幀都除以同樣的除數P,檢查得到的余數R,如果傳輸程序無差錯,余數R肯定為0,如果出現誤碼,R就可能不為0了;
- 也就是說,凡是接收端資料鏈路層收到的幀,我們都能以非常接近于1的概率認為這些幀在傳輸程序中沒有產生差錯,接收端丟棄的幀雖然曾經收到了,但是最侄訓是因為有差錯被丟棄,即沒有被接受,
- 傳輸差錯可以分為兩大類:一類是前面說的位元差錯,一類是比較復雜的:收到的幀并沒有出現位元差錯,但卻出現了幀丟失、幀重復、幀失序;
- 也就是說,無位元差錯和無傳輸差錯并不是同樣的概念,在資料鏈路層使用CRC檢驗,能夠實作無位元差錯的傳輸,但這還不是最可靠的傳輸;
- 對于通信線路良好的有線傳輸鏈路,資料鏈路層協議不適用確認和重傳機制,對于通信質量較差的無線傳輸鏈路,則使用確認和重傳機制,
點對點協議PPP
- 互聯網用戶通常都需要接到某個ISP才能接入到互聯網,PPP協議就是用戶計算機和ISP進行通信時所使用的資料鏈路層協議;

PPP協議的特點
- PPP協議應滿足的需求:(了解)
簡單、封裝成幀、透明性、多種網路層協議、多種型別鏈路、差錯檢驗、檢測連接狀態、最大傳輸單元、網路層地址協商、資料壓縮協商;
- PPP協議的組成:
1、一個將IP資料報封裝到穿行鏈路的方法;
2、一個用來建立、配置和測驗資料鏈路連接的鏈路控制協議(LCP);
3、一套網路控制協議NCP;
PPP協議的幀格式

-
標志欄位表示一個幀的開始和結束,因此標志欄位就是PPP幀的定界符,連續兩幀之間只需要用一個標志欄位,如果出現連續;兩個標志欄位,就表示這是一個空幀,應當丟棄;
-
當資訊欄位出現和標志欄位一樣的位元組合時,就必須采取一些措施:
當PPP協議使用異步傳輸時,可以使用位元組填充;由于在發送端進行了位元組填充,因此在鏈路上傳送的資訊位元組數就超過了原來的資訊位元組數,但接收端收到資料后再進行與發送端位元組填充相反的變化,就可以正確恢復出原來的資訊;
- 零位元填充:
PPP協議使用同步傳輸的時候,可使用零位元傳輸,在發送端,掃描整個資訊欄位,如果發現有5個連續的1,就立即填入一個0;接收端在收到一個幀的時候,先找到標志欄位F以確定一個幀的邊界,接著再使用硬體對其中的位元流進行掃描,每當發現5個連續的1時,就把這5個連續1后面的一個0洗掉,以還原原來的資訊位元流;

使用廣播信道的資料鏈路層
局域網的資料鏈路層
- 局域網特點:網路為一個單位所擁有,且地理位置和站點數目均有限;
- 局域網的優點:
1、具有廣播功能;
2、便于系統的擴展和逐漸演變;
3、提高了系統的可靠性、可用性、生存性;
- 按照網路拓撲進行分類,局域網分為:

-
局域網可以使用多種傳輸媒體:雙絞線(主流傳輸媒體)、光纖(資料率很高);
-
共享信道要著重考慮的一個我呢提是如何使眾多用戶能夠合理而方便的共享通信媒體資源,這在技術上有兩種方法:
1、靜態劃分信道:頻分復用、時分復用、波分復用、碼分復用;
2、動態媒體接入控制:
- 隨機接入:主要被以太網采用,所有的用戶可隨機地發送資訊,如果恰好有兩個或更多的用戶在同一時刻發送訊息,那么在共享媒體上就要產生碰撞,使得這些用戶的發送都失敗;
- 受控接入:用戶不能隨即地發送資訊而必須服從一定的控制,比如輪詢;
以太網
- 以太網是一種基帶總線局域網,早期的以太網:

上圖中發送資料的方式其實是廣播通信方式;
配接器的作用
- 計算機與外界局域網的連接是通過通信配接器進行的,現在的計算機主板上都已經嵌入配接器(主機箱內插入的一塊網路介面板),不再使用單獨的網卡了;
- 在這種配接器上面裝有處理器和存盤器(包括RAM、ROM),配接器和局域網之間的通信是通過電纜或雙絞線以串行傳輸方式進行的,而配接器與計算機之間的通信則是通過計算機主板上的I/O總線以并行傳輸方式進行的,
- 因此,配接器一個最重要的功能就是要進行資料串行傳輸和并行傳輸的轉換;
- 由于網路上的資料率和計算機總線上的資料率并不相同,因此在配接器中必須裝有對資料進行快取的存盤芯片,
- 在主板上插入配接器的時候,還必須把管理該配接器的設備驅動程式安裝在計算機的作業系統上,這個驅動程式就會告訴配接器,應當從存盤器的什么位置上把多長的資料塊發送得到局域網,或者應當在存盤區的什么位置把局域網傳送過來的資料塊存盤下來,
- 配接器還要能實作以太網協議;
- 配接器所實作的功能包含了資料鏈路層和物理層;
- 配接器在接收和發送各種幀時,不使用計算機的CPU,這時計算機中的CPU可以處理其他任務,當配接器收到有差錯的幀時,就把這個幀丟棄而不必通知計算機,當配接器收到正確的幀時,它就使用中斷來通知計算機,并交付協議堆疊中的網路層,當計算機要發送IP資料報時,就由協議堆疊把IP資料報向下交給配接器,組裝成幀之后發送到局域網,

CSMA/CD協議
- 前面說,最早的以太網是將許多計算機都連接在一根總線上;總線的特點是,當一臺計算機發送資料時,總線上的所有計算機都能檢測到這個資料,這就是廣播的通信方式;
- 為了在總線上實作一對一的通信,可以使每一臺計算機的配接器都擁有一個與其他配接器不同的地址,在發送資料幀時,在幀的首部寫明接收站的地址,僅當資料幀中的目的地址與配接器ROM中存放的硬體地址一致時,該配接器才能接收到這個資料,配接器對不是發送給自己的資料幀就丟棄,這樣,具有廣播特性的總線上就實作了一對一的通信;
- 為了通信的簡便,以太網采取了以下兩種措施:
1、采用較為靈活的無連接的作業方式:
即不必先建立連接就可以直接發送資料,配接器對發送的資料幀不進行編號,也不必要求對方發回確認;以太網的服務是不可靠交付,對有差錯的幀是否需要重傳則由高層來決定,
總線上的計算機在同一時間只能允許一臺計算機發送資料,否則各個計算機之間就會互相干擾,以太網采用了一種協議CSMA/CD,載波監聽多點接入/碰撞檢測,即如減少沖突概率的發生;
2、以太網上的所有資料都采用曼徹斯特編碼的信號:

CSMA/CD協議的要點:
多點接入:許多計算機以多點接入的方式連接在一根總線上;
載波監聽:在發送前和發送中,每個站都必須不停的檢測信道,為了獲得發送權、減少沖突;
碰撞檢測:“邊發送邊監聽”,即配接器在發送資料邊檢測信道上的信號電壓得變化情況,以便判斷自己在發送資料時其他站是否也在發送資料,當幾個站同時在總線上發送資料時,總線上的信號電壓變化幅度會增大,當配接器檢測到的信號電壓變化幅度超過一定的門限值時,就認為總線上至少有兩個站在同時發送資料,表明產生了碰撞,這時候配接器應當立即停止作業,免得進行無效得發送;
- 設圖中的局域網兩端的站A和B相距1km,在A——B發送資料一段時間后,B在A發送的資料到達B之前發送自己的幀(這時候的B的載波偵聽不到A發送過來的資訊),則必然會在某個時間與A發送的幀產生碰撞,碰撞的結果就是兩個幀都變得無用,

- 一般將總線上的單程端到端傳播時延記為t,也就是A發送資料之后,最多要經過兩倍的總線端到端的傳播時延(2t)才能知道自己發送的資料和其他站發送的資料有沒有發送碰撞;
- 在使用CSMA/CD協議時,一個站不可能同時進行發送和接收,因此使用該協議的以太網只能進行雙向交替通信(半雙工通信);
- 每一個站在自己發送資料之后的一小段時間內,存在著遭遇碰撞的可能性,這一特點稱為發送的不確定性;
爭用期:
以太網的端到端往返時間2t稱為爭用期,它是一個很重要的引數,即只有經過這段時間還沒有檢測到碰撞,才能肯定這次發送不會發生碰撞;
協議規定了基本退避時間為爭用期2t,具體的爭用時間為51.2微秒,對于10Mbit/s以太網,在爭用期內可發送512bit,即64位元組,也就是說爭用期是512位元時間,凡是長度小于64位元組的幀都是由于沖突而例外終止的無效幀,
使用集線器的星型拓撲
- 以太網采用星型拓撲,在星型的中心增加了一種可靠性非常高的設備,叫做集線器(現已被交換機取代)

- 10BASE-T雙絞線以太網的出現,是局域網發展史上的一個重要的里程碑,它的通信距離較短,每個站到集線器的距離不超過100m;
- 集線器的一些特點為:
1、使用集線器的以太網在邏輯上仍然是一個總線網,個站共享邏輯上的總線,使用的還是CSMA/CD協議,網路中的各站必須競爭對傳輸媒體的控制,并且在同一時刻至多只允許一個站發送資料;
2、一個集線器很像一個多介面的轉發器;
3、集線器作業在物理層,它的每個介面只是簡單的轉發位元——收到1就發1,收到0就發0,不進行碰撞檢測;
以太網的信道利用率
- 假定一個10Mbit/s以太網同時有10個站在作業,那么每一個站所能發送資料的平均速率似乎應當是總資料率的1/10.其實由于多個站在以太網上作業可能會發生碰撞,信道資源可能被浪費,因此,一外網的信道利用率并不能達到100%;
- 以太網中,定義了引數α,他是以太網單程端到端延時t與幀發送時間T0之比:

如果α引數越小,表示信道資源被浪費的時間非常少,信道利用率很高,這也就是說,當資料率一定時,以太網的連線的長度受到限制(否則t會太大),同時以太網的幀不能太短(否則T0回會太小);
- 現在考慮一種理想情況下,就是以太網發送的資料不會產生碰撞,也就是不存在爭用期,此時不需要使用CSDM/CD,并且能夠非常有效的利用網路的傳輸資源,即總線一旦有空閑就會有某一個站立即發送資料,這樣就有了極限信道利用率Smax:

上式的意義是只有當引數α遠遠小于1的時候,信道的利用率才會越大;
以太網的MAC層
MAC層的硬體地址
- 在局域網中,硬體地址又稱為MAC地址;
- MAC地址是一種48位的二進制地址值,前24位代表廠家,后24是廠家自己指定,是全球唯一的識別符號,固化在配接器的ROM中的地址;
- 配接器具有過濾功能:從網路上每收到一個MAC幀就先用硬體檢查MAC幀中的目的地址,如果是發往本站的幀就收下,然后再進行其他處理,否則就將此幀丟棄,不進行處理;
- 收到的幀一般分為3種:
1、單播幀:一對一
2、廣播幀:發給本局域網上所有站點的幀;
3、多播幀:發給本局域網上一部分站點的幀;
MAC幀的格式

- 常用的以太網MAC幀格式有兩種標準:一種是DIX Ethernet V2標準(即就是以太網V2標準),另一種是IEEE的802.3標準,這里介紹V2標準的MAC幀格式,上圖假定網路層使用的是IP協議,
- 各個部分介紹:
目的地址:6個位元組
源地址:6個位元組
型別欄位:2個位元組,用來標志上一層使用的是什么協議,以便把收到的MAC幀的資料交給上一層的這個協議;
資料欄位:長度在46~1500位元組之間;(64-18位元組)
FSC:4個位元組——幀檢驗序列(使用CRC檢驗)
- 以太網的V2的MAC幀格式種,其首部并沒有一個幀長度(或資料長度)欄位,MAC子層怎么知道從接收到的以太網幀中取出多少個位元組的資料交付給上一層的協議呢?曼徹斯特編碼的特點是:當發送方把一個以太網幀發送完畢之后,就不再發送其他碼元了;因此接收方很容易找到以太網幀的結束位置;
- 還需要注意:以太網傳輸資料是以幀位單位傳送的,各幀之間都有一定的空隙,以后那次,接收端只要找到幀的開始定界符,其后面的連續到達的位元流都屬于一個,AC幀,可見以太網不需要使用幀結束定界符,也不需要使用位元組插入來保證透明傳輸;
- IEEE 802.3規定以下幀位無效的MAC幀:
1、幀的長度不是整數個位元組;
2、用收到的幀檢驗序列FCS查出有差錯;
3、收到的幀的MAC客戶資料欄位的長度不再46~1500位元組之間;
- 對于檢查出的無效的MAC幀,以太網不負責重傳丟棄的幀,由上一層的應用程式來實作和完成重傳;
擴展以太網
- 以太網上的主機之間的距離不能太遠;
- 現在,擴展主機和集線器之間的距離的一種簡單方法是使用光纖和一對光纖調制解調器;

光纖調制解調器的作用就是進行電信號和光信號的轉換,you由于光纖帶來的時延很小,并且帶寬很寬,因此使用這種方法可以很容易地使主機和幾公里以外的集線器相連接;
- 如果使用多個集線器,就可以連接成覆寫更大范圍的多級星型結構的以太網:

- 使用多級集線器有以下缺點:
1、在三個系得以太網連接起來之前,每一個系的以太網是一個獨立的碰撞域,即在任何一個時刻,在每一個碰撞域中只能有一個站在發送資料,
2、每一個系得最大吞吐量為10Mbit/s,因此三個系的最大吞吐量為30Mbit/s,在三個系得以太網互連起來后就把三個碰撞域變成一個碰撞域,而這時候最大的吞吐量任然為10Mbit/s;
3、如果不同得系使用不同的以太網技術(如資料率不同),那么就不可能用集線器將他們互連起來;
在資料鏈路層擴展以太網
- 擴展以太網更常用的方法是在資料鏈路層進行,最初人們使用的是網橋,網橋對收到的幀根據其MAC幀的目的地址進行轉發和過濾,當網橋收到一個幀時,并不是向所有的介面轉發此幀,而是根據此幀的目的MAC地址,查找網橋中的地址表,然后確定將該幀轉發到哪一個介面,或者把他丟棄;
- 網橋使用存盤轉發(有學習功能),速率較低,現在使用的都是透明網橋;
- 交換式集線器常稱為以太網交換機,強調這種交換機作業在資料鏈路層;
- 足夠多介面的網橋就是現在的交換機;
以太網交換機的特點
- 以太網交換機實質上就是一個多介面的網橋,它的每個介面都直接與一個單臺主機或另一個以太網交換機相連,并且一般都作業在全雙工方式,以太網交換機還具有并行性,即同時連通多個介面,使多對主機都能同時通信(而網橋只負責依次分析和轉發一個幀);
- 以太網交換機介面有存盤轉發的功能,能在輸出埠繁忙時把都來得幀進行快取;
- 以太網交換機內部時幀交換表,是通過自學習演算法自動逐漸建立起來的,其轉發速率比網橋塊很多;
- 多于傳統的10Mbit/s的共享式以太網,如果有10個用戶,則每個用戶占有的平均帶寬只有1Mbit/s.若使用以太網交換機來連接這些主機,由于埠的帶寬獨享,交換機的總容量為100Mbit/s;
以太網交換機的自學習功能
下圖是以太網交換機中的交換表:

以太網交換機能夠即插即用,不必進行人工配置,非常方便;
-
在兩個交換機之間兜圈子的幀:

為了解決上述問題,IEEE的802.1D標準制定了一個生成樹協議STP,其要點就是不改變網路的實際拓撲,但在邏輯上則切斷某些鏈路,使得從一臺主機到所有其他主機的路徑是無環路的樹狀結構,從而消除了兜圈子現象; -
注意:使用集線器就不會產生兜圈子問題,集線器不參與生成樹;
虛擬局域網
- 利用以太網交換機可以很方便的實作虛擬局域網(VLAN):它指的是一些局域網段構成的與物理位置無關的邏輯組,這些網段具有某些共同的需求,每一個VLAN的幀都有一個明確的識別符號,指明發送這個幀的計算機屬于哪一個VLAN;

- 當計算機B1~B3同屬于虛擬局域網VLAN2,當B1向作業組內成員發送資料時,計算機B2和B3能收到廣播的資訊,雖然它沒有和B1連在同一個以太網交換機上;相反,此時的計算機A1,A2,C1都不能收到B1的廣播資訊;
- 兩個VLAN中的計算機即使在一個網段中,也不能ping通;
- 多個交換機下的虛擬局域網:

只用了一個干道鏈路,就可以讓兩個虛擬局域網各自作業;
- 虛擬局域網幀格式:

高速以太網
100BASE-T 以太網
- 100BASE-T 以太網是在雙絞線上傳送100Mbit/s基帶信號的星型拓撲以太網,使用CSMA/CD協議,又稱為快速以太網;
- 可以在全雙工方式下作業而無沖突發生,因此,CSMA/CD協議對全雙工方式作業的快速以太網是不起作用的;
吉位元以太網

10吉位元以太網和更快的以太網
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/214479.html
標籤:其他
