日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程资源 > 编程问答 >内容正文

编程问答

网络-数据链路层回顾

發(fā)布時(shí)間:2024/1/8 编程问答 33 豆豆
生活随笔 收集整理的這篇文章主要介紹了 网络-数据链路层回顾 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

數(shù)據(jù)鏈路層是干嘛的?

網(wǎng)絡(luò)層是研究分組怎樣從一個(gè)網(wǎng)絡(luò)通過(guò)路由器轉(zhuǎn)發(fā)到另一個(gè)網(wǎng)絡(luò)

數(shù)據(jù)鏈路層主要研究在同一個(gè)局域網(wǎng)中,分組怎樣從一個(gè)主機(jī)傳送到另一個(gè)主機(jī)(不經(jīng)過(guò)路由器)

數(shù)據(jù)鏈路層主要使用兩種信道:

點(diǎn)對(duì)點(diǎn)信道:使用一對(duì)一的點(diǎn)對(duì)點(diǎn)通信方式,使用PPP協(xié)議。

廣播信道:使用一對(duì)多的廣播通信方式,使用CSMA/CD協(xié)議。

數(shù)據(jù)鏈路層的三個(gè)需要解決的基本問(wèn)題:封裝成幀、透明傳輸、差錯(cuò)檢測(cè)

了解以太網(wǎng)MAC層的硬件地址

適配器、轉(zhuǎn)發(fā)器、集線器、網(wǎng)橋、以太網(wǎng)交換機(jī)的作用以及適用場(chǎng)合

兩個(gè)主機(jī)進(jìn)行通信時(shí)數(shù)據(jù)鏈路層的地位

主機(jī)H1通過(guò)電話線上網(wǎng),中間經(jīng)過(guò)三個(gè)路由器(R1,R2和R3)連接到遠(yuǎn)程主機(jī)H2。中間經(jīng)過(guò)的網(wǎng)絡(luò)可以是多種的。

如下圖中所示的:電話網(wǎng)、局域網(wǎng)、廣域網(wǎng)。

當(dāng)主機(jī)H1向H2發(fā)送數(shù)據(jù)時(shí),從協(xié)議的層次上觀察,數(shù)據(jù)的流動(dòng)如下圖所示。

主機(jī)H1和H2都有完整的五層協(xié)議棧,但是由路由器轉(zhuǎn)發(fā)分組時(shí)使用的協(xié)議棧只有下面三層。

數(shù)據(jù)進(jìn)入路由器后先從物理層開(kāi)始最后上升的網(wǎng)絡(luò)層,在轉(zhuǎn)發(fā)表中查找到下一跳的地址后,再下到物理層轉(zhuǎn)發(fā)出去。

當(dāng)我們專門(mén)研究數(shù)據(jù)鏈路層的問(wèn)題時(shí),我們可以只關(guān)心在協(xié)議棧中水平方向的各個(gè)數(shù)據(jù)鏈路層,如下圖所示。

H1的鏈路層---->R1的鏈路層---->R2的鏈路層---->R3的鏈路層---->H2的鏈路層

H1和H2的通信可以看成是由四段不同的數(shù)據(jù)鏈路層通信組成,即:H1--->R1,R1---->R2,R2---->R3,R3---->H2

這四段不同的鏈路層可能采用不同的鏈路層協(xié)議。

使用點(diǎn)對(duì)點(diǎn)信道的數(shù)據(jù)鏈路層

數(shù)據(jù)鏈路和幀

首先我們需要區(qū)分什么是鏈路什么是數(shù)據(jù)鏈路

  • 鏈路(物理鏈路):就是從一個(gè)結(jié)點(diǎn)到相鄰結(jié)點(diǎn)的一段物理線路(有線或無(wú)線),中間沒(méi)有任何其他的交換結(jié)點(diǎn)。

兩個(gè)計(jì)算機(jī)之間的通信路徑,往往需要經(jīng)過(guò)許多這樣的鏈路。鏈路只是通信路徑的組成部分

  • 數(shù)據(jù)鏈路(邏輯鏈路):數(shù)據(jù)鏈路層上傳輸數(shù)據(jù),在有物理線路之外,還需要有一些必要的通信協(xié)議來(lái)控制這些數(shù)據(jù)的傳輸。若把實(shí)現(xiàn)這些協(xié)議的硬件和軟件加到鏈路上,就構(gòu)成了數(shù)據(jù)鏈路。

數(shù)據(jù)鏈路層一般通過(guò)網(wǎng)絡(luò)適配器(硬件和軟件)來(lái)實(shí)現(xiàn)這些協(xié)議

  • 幀:點(diǎn)對(duì)點(diǎn)信道的數(shù)據(jù)鏈路層的協(xié)議數(shù)據(jù)單元。

數(shù)據(jù)鏈路層把網(wǎng)絡(luò)層交下來(lái)的數(shù)據(jù)構(gòu)成幀發(fā)送到鏈路上,以及把接收到的幀中的數(shù)據(jù)取出并上交給網(wǎng)絡(luò)層

網(wǎng)絡(luò)層協(xié)議數(shù)據(jù)單元---IP數(shù)據(jù)報(bào)(數(shù)據(jù)報(bào)、分組、包)

點(diǎn)對(duì)點(diǎn)數(shù)據(jù)鏈路層進(jìn)行通信的主要步驟:

? ? ? ?假設(shè)兩個(gè)結(jié)點(diǎn)AB之間進(jìn)行,則只需關(guān)注這兩個(gè)節(jié)點(diǎn)的網(wǎng)絡(luò)層、數(shù)據(jù)鏈路層、物理層

  • 結(jié)點(diǎn)A的數(shù)據(jù)鏈路層把網(wǎng)絡(luò)層交下來(lái)的IP數(shù)據(jù)報(bào)添加首部和尾部封裝成幀
  • 結(jié)點(diǎn)A把封裝好的幀發(fā)送給結(jié)點(diǎn)B的數(shù)據(jù)鏈路層
  • 若結(jié)點(diǎn)B的數(shù)據(jù)鏈路層收到的幀無(wú)差錯(cuò),則從收到的幀中提取出IP數(shù)據(jù)報(bào)上交給上面的網(wǎng)絡(luò)層,否則丟棄這個(gè)幀
  • ?

    需要解決的三個(gè)基本問(wèn)題

    • 封裝成幀

    什么是封裝成幀?

    在一段數(shù)據(jù)的前后分別添加首部和尾部,這樣就構(gòu)成了一個(gè)幀。

    如何封裝成幀?

    網(wǎng)絡(luò)層的IP數(shù)據(jù)報(bào)傳送到數(shù)據(jù)鏈層就成為幀的數(shù)據(jù)部分。

    在幀的數(shù)據(jù)部分的前面和后面分別添加上首部和尾部,就構(gòu)成一個(gè)完整的幀。

    這個(gè)完整的幀就是數(shù)據(jù)鏈路層的數(shù)據(jù)傳送單元

    幀的首部和尾部的作用

    1.進(jìn)行幀界定:接收到物理層上交的比特流后,就能根據(jù)首部和尾部的標(biāo)記,從收到的比特流中識(shí)別幀的開(kāi)始和結(jié)束

    2.添加一些必要的控制信息

    幀界定

    幀的開(kāi)始結(jié)束的標(biāo)記使用專門(mén)指明的控制字符:

    在一個(gè)幀的最前面添加SOH(Start Of Header)控制字符,表示幀的首部開(kāi)始

    在一個(gè)幀的末尾添加EOT(End Of Transmission)表示幀的結(jié)束。

    SOH和EOT只是控制字符的名稱。并不是真正的字符S、O、H(或者E、O、T)。

    它們十六進(jìn)制編碼分別為01(二進(jìn)制為00000001)04(二進(jìn)制為00000100)

    最大傳送單元MTU(Maximum Transfer Unit)——每一種鏈路層協(xié)議都規(guī)定的所能傳送的幀的數(shù)據(jù)部分長(zhǎng)度上限

    • 透明傳輸

    什么是透明傳輸?

    無(wú)論什么比特組合的數(shù)據(jù)都能通過(guò)這個(gè)數(shù)據(jù)鏈路層。也就是說(shuō)數(shù)據(jù)鏈路層對(duì)這些數(shù)據(jù)來(lái)說(shuō)是透明的

    怎么實(shí)現(xiàn)透明傳輸?

    因?yàn)閹拈_(kāi)始和結(jié)束的標(biāo)記使用專門(mén)指明的控制字符。

    因此,所傳輸?shù)臄?shù)據(jù)中的任何8比特的組合一定不允許和用作幀界定的控制字符的比特編碼一樣。

    為了解決透明傳輸問(wèn)題,我們就需要解決在數(shù)據(jù)中可能出現(xiàn)的控制字符SOH或者EOT不被解釋為控制字符

    解決了以上問(wèn)題就能實(shí)現(xiàn)透明傳輸。

    解決辦法:字節(jié)填充或者字符填充

    在發(fā)送端的數(shù)據(jù)鏈路層的數(shù)據(jù)中出現(xiàn)控制字符 SOH 或者 EOT 的前面插入一個(gè)轉(zhuǎn)義字符 ESC (其十六進(jìn)制編碼是1B,二進(jìn)制是00011011)

    如果轉(zhuǎn)義字符也出現(xiàn)在數(shù)據(jù)當(dāng)中,解決方法仍然是在轉(zhuǎn)義字符前面插入一個(gè)轉(zhuǎn)義字符

    在接收端的數(shù)據(jù)鏈路層在把數(shù)據(jù)送往網(wǎng)絡(luò)層之前刪除這個(gè)插入的轉(zhuǎn)義字符,因此當(dāng)接收端收到連續(xù)兩個(gè)轉(zhuǎn)義字符時(shí),就刪除其中前面的一個(gè)。

    以上操作被稱為字節(jié)填充(byte stuffing)或字符填充(character stuffing)

    • 差錯(cuò)檢測(cè)

    在傳輸過(guò)程中可能會(huì)產(chǎn)生差錯(cuò),如0變成1,或者1變成0。這稱為比特差錯(cuò)。

    在傳輸過(guò)程中沒(méi)有出現(xiàn)比特差錯(cuò),但出現(xiàn)幀丟失、幀重復(fù)、幀失序這三種情況,則屬于傳輸差錯(cuò),比特差錯(cuò)是傳輸差錯(cuò)的一種

    在一段時(shí)間內(nèi),傳輸錯(cuò)誤的比特占所傳輸比特總數(shù)的比率稱為誤碼率BER(Bit Error Rate)

    如何解決比特差錯(cuò)?

    目前在數(shù)據(jù)鏈路層廣泛使用 循環(huán)冗余檢驗(yàn)CRC(Cyclie Redundancy Check) 的檢錯(cuò)技術(shù)

    原理:在發(fā)送端的數(shù)據(jù)鏈路層傳輸?shù)臄?shù)據(jù)后面添加冗余碼

    ? ? ? ? ? ?在接收端的數(shù)據(jù)鏈路層收到的數(shù)據(jù)以幀為單位進(jìn)行CRC檢驗(yàn)

    ? ? ? ? ? ?檢驗(yàn)得出的余數(shù)是否為0。是,表示無(wú)差錯(cuò)就接受該幀;不是,表示有差錯(cuò),但不確定哪里出錯(cuò)就丟棄該幀。

    為了進(jìn)行檢錯(cuò)而添加的冗余碼稱為 幀檢測(cè)序列FCS(Frame Check Sequence)

    如何解決傳輸差錯(cuò)?

    在CRC檢錯(cuò)的基礎(chǔ)上,增加幀編號(hào)、確認(rèn)和重傳機(jī)制

    即:收到正確的幀就要向發(fā)送端發(fā)送確認(rèn)。

    ? ? ? ?發(fā)送端在一定的期限內(nèi)若沒(méi)有收到對(duì)方的確認(rèn),就認(rèn)為出現(xiàn)了差錯(cuò),因而就進(jìn)行重傳,直到收到對(duì)方的確認(rèn)為止。

    ?

    為了提高通信效率,通信質(zhì)量良好的有線傳輸鏈路數(shù)據(jù)鏈路層協(xié)議不使用確認(rèn)和重傳機(jī)制

    也就是不要求數(shù)據(jù)鏈路層向上提供可靠傳輸?shù)姆?wù)。如果出現(xiàn)差錯(cuò),那么改正的任務(wù)交給上層協(xié)議
    ?? ??? (如,運(yùn)輸層的TCP協(xié)議)完成。?? ?

    通信質(zhì)量較差的無(wú)線傳輸鏈路數(shù)據(jù)鏈路層協(xié)議使用確認(rèn)和重傳機(jī)制,數(shù)據(jù)鏈路層向上提供可靠傳輸?shù)姆?wù)如無(wú)線網(wǎng)絡(luò)

    ?

    點(diǎn)對(duì)點(diǎn)協(xié)議PPP

    由來(lái):因?yàn)樵缙谕ㄐ啪€路質(zhì)量不好,因此在數(shù)據(jù)鏈路層使用的協(xié)議是能實(shí)現(xiàn)可靠傳輸?shù)?高級(jí)數(shù)據(jù)鏈路控制HDLC(High-level Data Link Control)協(xié)議

    隨著通信線路質(zhì)量的提高,現(xiàn)在HDLC已經(jīng)很少使用了,改為使用相對(duì)簡(jiǎn)單的PPP協(xié)議

    PPP協(xié)議就是用戶計(jì)算機(jī)和ISP進(jìn)行通信所使用的數(shù)據(jù)鏈路層協(xié)議

    每一個(gè)ISP都從因特網(wǎng)的管理機(jī)構(gòu)或從一個(gè)更大的ISP申請(qǐng)到一批IP地址。ISP擁有與因特網(wǎng)通過(guò)高速通信專線相連的路由器。大的ISP還擁有屬于自己的通信線路,小的ISP則向電信公司租用通信線路。用戶在某一個(gè)ISP繳費(fèi)登記后(或購(gòu)買了該ISP的上網(wǎng)卡),就可用自己的計(jì)算機(jī)通過(guò)調(diào)制解調(diào)器、電話線路接入到該ISP。用戶在接通ISP后,ISP就分配給該用戶一個(gè)臨時(shí)IP地址。用戶計(jì)算機(jī)在獲得了臨時(shí)的IP地址后,就成為連接在因特網(wǎng)上的主機(jī),因而就可以使用因特網(wǎng)所提供的各種服務(wù),當(dāng)用戶結(jié)束通信后,ISP就把剛才分配給該用戶的IP地址收回,以便再分配給后面接通ISP的其他用戶使用。

    PPP協(xié)議應(yīng)滿足的需求

    • 簡(jiǎn)單

    因?yàn)镮EFE設(shè)計(jì)的因特網(wǎng)體系結(jié)構(gòu)中把最復(fù)雜的部分放在TCP協(xié)議中。

    網(wǎng)際層協(xié)議IP則相對(duì)簡(jiǎn)單提供不可靠傳輸,因此下一層的數(shù)據(jù)鏈路層不必提供比IP更復(fù)雜的協(xié)議

    因此數(shù)據(jù)鏈路層的幀不需要糾錯(cuò)、不需要序號(hào)、不需要流量控制

    • 封裝成幀

    PPP協(xié)議必須規(guī)定特殊的字符為幀定界符

    • 透明性

    PPP協(xié)議必須保證數(shù)據(jù)傳輸?shù)耐该餍?#xff0c;傳輸?shù)臄?shù)據(jù)中有和定界符一樣的比特組合時(shí),需要解決這個(gè)問(wèn)題(字節(jié)或者字符填充)

    • 多種網(wǎng)絡(luò)層協(xié)議

    PPP協(xié)議必須能夠在同一條物理鏈路上同事支持多種網(wǎng)絡(luò)層協(xié)議的運(yùn)行,如IP何IPX等

    • 多種類型鏈路

    PPP協(xié)議還必須能夠在多種類型的鏈路上運(yùn)行

    • 差錯(cuò)檢測(cè)

    能夠?qū)邮斩耸盏降膸M(jìn)行檢測(cè),并立即丟掉有差錯(cuò)的幀

    • 檢測(cè)連接狀態(tài)

    能夠自動(dòng)檢測(cè)鏈路是否處于工作狀態(tài)

    • 最大傳輸單元

    能夠設(shè)置最大傳送單元MTU的標(biāo)準(zhǔn)默認(rèn)值(MTU的標(biāo)準(zhǔn)默認(rèn)值為1500字節(jié)

    • 網(wǎng)絡(luò)層地址協(xié)商

    PPP協(xié)議必須提供一種機(jī)制使通信的兩個(gè)網(wǎng)絡(luò)層(如兩個(gè)IP層)的實(shí)體能夠通過(guò)協(xié)商通知或能夠配置彼此的網(wǎng)絡(luò)地址

    協(xié)商的算法應(yīng)盡可能簡(jiǎn)單,并且嫩夠在所有的情況下得出協(xié)商結(jié)果

    • 數(shù)據(jù)壓縮協(xié)商

    PPP協(xié)議必須提供一種方法來(lái)協(xié)商使用數(shù)據(jù)壓縮算法

    ?

    PPP協(xié)議的組成

    PPP協(xié)議由三部分組成

    1.一個(gè)將IP數(shù)據(jù)報(bào)封裝到串行鏈路的方法

    PPP既支持異步鏈路(無(wú)奇偶檢驗(yàn)的8比特?cái)?shù)據(jù)),也支持面向比特的同步鏈路。

    IP數(shù)據(jù)報(bào)在PPP幀中就是其信息部分,該大小受MTU控制

    2.一個(gè)用來(lái)建立,配置和測(cè)試數(shù)據(jù)鏈路連接的 鏈路控制協(xié)議LCP(Link Control Protocol)

    3.一套 網(wǎng)絡(luò)控制協(xié)議NCP(Network Control Protocol),其中的每一個(gè)協(xié)議支持不同的網(wǎng)絡(luò)層協(xié)議,如IP、OSI的網(wǎng)絡(luò)層、DECnet等

    ?

    PPP協(xié)議的幀格式

    4個(gè)首部字段(分別為1、1、1、2字節(jié))+信息字段(不超過(guò)1500字節(jié))+尾部字段(分別為2、1字節(jié))

    各字段含義

    首部字段:四個(gè)字段

    第一個(gè)字段:標(biāo)志字段 F(Flag),幀定界符,表示一個(gè)幀開(kāi)始。規(guī)定為0x7E(十六進(jìn)制的7E,二進(jìn)制01111110),1字節(jié)。

    注意:連續(xù)兩個(gè)幀之間只需要一個(gè)標(biāo)志字段。如果出現(xiàn)兩個(gè)標(biāo)志字段,表示一個(gè)空幀,應(yīng)丟棄

    第二個(gè)字段:地址字段 A。規(guī)定為0xFF(即11111111),1字節(jié)。

    第三個(gè)字段:控制字段 C。規(guī)定為0x03(即00000011),1字節(jié)。

    第四個(gè)字段:協(xié)議字段。2字節(jié)。

    ? ? ? ? ? ? ? ? ? ? ?規(guī)定協(xié)議字段為0x0021時(shí),PPP幀的信息字段就是IP數(shù)據(jù)報(bào)

    ? ? ? ? ? ? ? ? ? ? ?若協(xié)議字段為0xC021時(shí),PPP幀的信息字段就是LCP的數(shù)據(jù)

    ? ? ? ? ? ? ? ? ? ? ?若協(xié)議字段為0x8021時(shí),PPP幀的信息字段就是網(wǎng)絡(luò)層的控制數(shù)據(jù)

    ?

    信息字段:長(zhǎng)度可變,不超過(guò)1500字節(jié)

    尾部字段:兩個(gè)字段

    第一個(gè)字段:使用CRC的幀檢驗(yàn)序列FCS,1字節(jié)。

    第二個(gè)字段:標(biāo)志字段 F(Flag)。幀定界符,表示一個(gè)幀結(jié)束。規(guī)定為0x7E(十六進(jìn)制的7E,二進(jìn)制01111110),1字節(jié)。

    ?

    字節(jié)填充

    信息字段中出現(xiàn)和標(biāo)志字段一樣的比特(0x7E)組合時(shí)

    需要使用一些方法使這種形式上和標(biāo)志字段一樣的比特組合不出現(xiàn)在信息字段中

    當(dāng)PPP使用異步傳輸(逐個(gè)字符的傳送)時(shí),把轉(zhuǎn)義字符定義為0x7D(即01111101),并使用字節(jié)填充

    1.把信息字段中出現(xiàn)的每一個(gè)0x7E字節(jié)轉(zhuǎn)變成2字節(jié)序列0x7D,0x5E

    2.若信息字段中出現(xiàn)一個(gè)0x7D的字節(jié)(即出現(xiàn)了和轉(zhuǎn)義字段一樣的比特組合),則把0x7D轉(zhuǎn)變成2字節(jié)序列(0x7D,0x5D)

    3.若信息字段中出現(xiàn)ASCII碼的控制字符(即數(shù)值小于0x20的字符),則在該字符前面加入一個(gè)0x7D字節(jié),并改變?cè)撟址木幋a

    零比特填充

    PPP協(xié)議進(jìn)行同步傳輸(一連串的比特連續(xù)傳送)時(shí),采用零比特填充的方法來(lái)實(shí)現(xiàn)透明傳輸

    標(biāo)志字段是0x7E,二進(jìn)制為01111110

    1.在發(fā)送端,先掃描整個(gè)信息字段(硬件或者軟件)只要發(fā)現(xiàn)有連續(xù)的5個(gè)1就立即填入一個(gè)0,保證不出現(xiàn)6個(gè)連續(xù)的1。

    2.在接收端收到一個(gè)幀時(shí),先找到標(biāo)志字段 F 確定一個(gè)幀的邊界

    ? ?然后再用硬件對(duì)其中的比特流進(jìn)行掃描

    ? ?每發(fā)現(xiàn)5個(gè)連續(xù)1時(shí),就把這5個(gè)連續(xù)1后的一個(gè)0刪除

    ?

    PPP協(xié)議的工作狀態(tài)

    PPP鏈路初始化過(guò)程:

    設(shè)備之間無(wú)鏈路---------> 物理鏈路----------> LCP鏈路---------->已鑒別的LCP鏈路---------->已鑒別的LCP鏈路和NCP鏈路

    ?

    PPP鏈路的起始和終止?fàn)顟B(tài)永遠(yuǎn)是 鏈路靜止(Link Dead)狀態(tài)

    此時(shí)用戶PC和ISP的路由器之間并不存在物理層的連接

    1.當(dāng)用戶撥號(hào)接入ISP后,就建立了一條從用戶PC到ISP的物理鏈路。

    ? ?用戶在屏幕上點(diǎn)擊連接按鈕,路由器就能夠檢測(cè)調(diào)制解調(diào)器發(fā)出的載波信息。

    ? ?雙方就建立了物理層連接,PPP進(jìn)入 鏈路建立(Link Establish)狀態(tài)。

    ? ?目的是建立鏈路層的LCP連接

    2.用戶PC向ISP發(fā)送一系列的?鏈路控制協(xié)議LCP分組(封裝成多個(gè)PPP幀),以便建立連接

    ? ?LCP開(kāi)始協(xié)商一些配置選項(xiàng),發(fā)送LCP配置請(qǐng)求幀(Configure-Request)

    ? ?該幀是一個(gè)PPP幀,協(xié)議字段設(shè)置為LCP對(duì)應(yīng)的代碼,信息字段包含特定的配置請(qǐng)求

    ? ?LCP的配置選項(xiàng)包括:

    ? ?鏈路上的最大幀長(zhǎng)

    ? ?所使用的的鑒別協(xié)議(authentication protocol)的規(guī)約(有的話)

    ? ?不使用PPP幀中的地址和控制字段(因?yàn)檫@兩個(gè)字段的值是固定的,沒(méi)有任何信息量,可以在PPP幀的首部中省略這兩個(gè)? 字節(jié))

    3.這些分組及其響應(yīng)選擇了將要使用的一些PPP參數(shù)

    ? ?發(fā)送了LCP的配置請(qǐng)求幀后,獲得響應(yīng)。

    ? ?鏈路的另一端可以發(fā)送以下幾種響應(yīng)中的一種:

    ? ?配置確認(rèn)幀(Configure-Ack):所有選項(xiàng)都接受

    ? ?配置否認(rèn)幀(Configure-Nak):所有選項(xiàng)都理解但不接受

    ? ?配置拒絕幀(Configure-Reject):選項(xiàng)有的無(wú)法識(shí)別或不能接受,需要協(xié)商

    ? ?協(xié)商結(jié)束后就建立了LCP鏈路,接著就進(jìn)入 鑒別(Authenticate)狀態(tài)。鑒別狀態(tài)只允許傳送LCP協(xié)議的分組、鑒別協(xié)議的分組、以及監(jiān)測(cè)鏈路質(zhì)量的分組。

    ? ?如果使用口令鑒別協(xié)議PAP(Password Authtication Protocol),則需要發(fā)起通信的一方發(fā)送身份標(biāo)識(shí)符和口令,可以允許用戶重試若干次。

    ? ?需要更好的安全性,則可使用更復(fù)雜的口令握手鑒別協(xié)議CHAP(Challenge-Handshake Authtication Protocol),在CHAP協(xié)議下,若鑒別身份失敗,則轉(zhuǎn)到 鏈路終止(Link Terminate)狀態(tài)。成功,則進(jìn)入 網(wǎng)絡(luò)層協(xié)議(NetWork-Layer Protocol)狀態(tài)

    4.接著進(jìn)行網(wǎng)絡(luò)層配置,網(wǎng)絡(luò)控制協(xié)議NCP 給新接入的用戶分配一個(gè)臨時(shí)的IP地址

    ? ?PPP鏈路兩端的網(wǎng)絡(luò)控制協(xié)議NCP根據(jù)網(wǎng)絡(luò)層的不同協(xié)議互相交換網(wǎng)絡(luò)層特定的網(wǎng)絡(luò)控制分組。通過(guò)同一個(gè)PPP協(xié)議進(jìn)行通信

    ? ?如:IP協(xié)議,就使用NCP中支持IP的協(xié)議---IP控制協(xié)議IPCP(IP Control Protocol).

    ? ? ? ? ? 把IPCP分組封裝成PPP幀(協(xié)議字段為0x8021)在鏈路上傳送。

    ? ? ? ? ??網(wǎng)絡(luò)層配置完后,鏈路進(jìn)入到 鏈路打開(kāi)(Link Open)狀態(tài),此時(shí)就可以進(jìn)行數(shù)據(jù)通信。

    此時(shí),用戶就是因特網(wǎng)上的一個(gè)有IP地址的主機(jī)了

    數(shù)據(jù)傳輸結(jié)束后,由鏈路的一端發(fā)出終止請(qǐng)求LCP分組(Terminate-Request)請(qǐng)求終止鏈路連接

    在收到對(duì)方發(fā)來(lái)的終止確認(rèn)LCP分組(Terminate-Ack)后,轉(zhuǎn)到 鏈路終止?fàn)顟B(tài)

    當(dāng)調(diào)制解調(diào)器載波停止后,回到 鏈路靜止?fàn)顟B(tài)

    通信完畢,NCP釋放網(wǎng)絡(luò)層連接,收回原來(lái)分配出去的IP地址,LCP釋放數(shù)據(jù)鏈路層連接,最后釋放物理層連接。

    PPP協(xié)議不是一個(gè)純粹的數(shù)據(jù)鏈路層協(xié)議,還包含了物理層和網(wǎng)絡(luò)層的內(nèi)容

    ?

    使用廣播信道的數(shù)據(jù)鏈路層

    廣播信道可以進(jìn)行1對(duì)多通信,局域網(wǎng)使用的就是廣播信道。

    局域網(wǎng)的數(shù)據(jù)鏈路層

    局域網(wǎng)

    局域網(wǎng)特點(diǎn):網(wǎng)絡(luò)為一個(gè)單位所擁有,且地理范圍和沾點(diǎn)數(shù)目均有限

    優(yōu)點(diǎn):1.有廣播功能,從一個(gè)站點(diǎn)可以很方便的訪問(wèn)全網(wǎng)。局域網(wǎng)上的主機(jī)可以共享連接在局域網(wǎng)上的各種硬件和軟件資源

    ? ? ? ? ? ?2.便于系統(tǒng)的擴(kuò)展和逐漸的演變,各設(shè)備的位置可靈活調(diào)整和改變

    ? ? ? ? ? ?3.提高了系統(tǒng)的可靠性、可用性、和生存性

    局域網(wǎng)按照網(wǎng)絡(luò)拓?fù)溥M(jìn)行分類:星形網(wǎng)(通過(guò)集線器)、環(huán)形網(wǎng)、總線網(wǎng)。

    為了讓眾多用戶能夠合理而方便地共享通信媒體資源,我們使用共享信道技術(shù)

    通過(guò)兩種方法來(lái)解決:

    • 靜態(tài)劃分信道

    如:頻分復(fù)用、時(shí)分復(fù)用、波分復(fù)用、碼分復(fù)用等。用戶只要分配到了信道就不會(huì)和其他用戶發(fā)生沖突。代價(jià)高,但不適用于局域網(wǎng)

    • 動(dòng)態(tài)媒體接入控制(也叫多點(diǎn)接入)

    信道不在用戶通信時(shí)固定分配給用戶,又分為兩類:隨機(jī)接入、受控接入

    隨機(jī)接入:所有用戶隨機(jī)發(fā)送信息,但是如果恰巧兩個(gè)用戶在同一時(shí)刻發(fā)送信息,則會(huì)發(fā)生碰撞,因此,必須有解決碰撞的網(wǎng)絡(luò)協(xié)議

    受控接入:所有用戶必須服從一定的控制。如:分散控制的令牌局域網(wǎng)和集中控制的多點(diǎn)線路探詢(也叫輪詢)

    以太網(wǎng)的標(biāo)準(zhǔn)

    以太網(wǎng):一種基帶總線局域網(wǎng)--演變成-->兩個(gè)標(biāo)準(zhǔn)的局域網(wǎng):DIX Ethernet V2的局域網(wǎng) IEEE的802.3標(biāo)準(zhǔn)的局域網(wǎng)

    因?yàn)樯虡I(yè)原因802委員會(huì)制定了幾個(gè)不同的局域網(wǎng)標(biāo)準(zhǔn),如802.4令牌總線網(wǎng)、802.5令牌環(huán)網(wǎng)等。

    802委員會(huì)把數(shù)據(jù)鏈路層拆分成兩個(gè)子層:

    邏輯鏈路控制LLC(Logical Link Control)子層

    媒體接入控制MAC(Medium Access Control)子層

    接入到傳輸媒體有關(guān)的內(nèi)容都放在MAC子層LLC子層則與傳輸媒體無(wú)關(guān)

    ?

    通過(guò)總線可以實(shí)現(xiàn)廣播通信方式:當(dāng)一臺(tái)計(jì)算機(jī)發(fā)送數(shù)據(jù)時(shí),總線上所有計(jì)算機(jī)都能檢測(cè)到這個(gè)數(shù)據(jù)。

    再通過(guò)每個(gè)計(jì)算機(jī)的MAC地址和數(shù)據(jù)幀中的目的地址匹配達(dá)到廣播中的一對(duì)一通信

    以太網(wǎng)特點(diǎn):

    以太網(wǎng)提供的服務(wù)是盡最大努力的交付,是不可靠的交付。只處理傳輸差錯(cuò),通過(guò)CRC檢測(cè)。差錯(cuò)幀則交給高層協(xié)議處理

    以太網(wǎng)是隨機(jī)接入,通過(guò)CSMA/CD(載波監(jiān)聽(tīng)多點(diǎn)接入/碰撞檢測(cè) Carrier Sense Multiple Access with Collision Detection)來(lái)解決碰撞

    以太網(wǎng)發(fā)送的數(shù)據(jù)都是用曼徹斯特編碼的信號(hào)

    以太網(wǎng)規(guī)定了一個(gè)最短幀長(zhǎng)為64字節(jié),即512bit。6+6+2+46+4

    因此,凡是長(zhǎng)度小于64字節(jié)的幀都是由于沖入而異常中止的無(wú)效幀

    ?

    適配器的作用

    本來(lái)是主機(jī)箱內(nèi)插入的一塊網(wǎng)絡(luò)接口板(或者是在筆記本電腦中插入一塊PCMCIA卡---個(gè)人計(jì)算機(jī)存儲(chǔ)器卡接口適配器)就是現(xiàn)在的網(wǎng)卡,現(xiàn)在基本都集成在主板上了,適配器上裝有處理器和存儲(chǔ)器(RAM和ROM)

    適配器與局域網(wǎng)之間的通信通過(guò)電纜或雙絞線等以串行方式進(jìn)行

    適配器與計(jì)算機(jī)之間的通信則通過(guò)I/O總線以并行傳輸方式進(jìn)行

    因此,適配器的一個(gè)重要作用就是進(jìn)行數(shù)據(jù)串行傳輸和并行傳輸?shù)霓D(zhuǎn)換,通過(guò)安裝緩存來(lái)提高效率

    適配器收到正確的幀,就使用中斷來(lái)通知該計(jì)算機(jī)并交付協(xié)議棧中的網(wǎng)絡(luò)層

    計(jì)算機(jī)要發(fā)送IP數(shù)據(jù)報(bào)時(shí),就由協(xié)議棧把IP數(shù)據(jù)報(bào)向下交給適配器,組裝成幀后發(fā)送到局域網(wǎng)

    注意:計(jì)算機(jī)的硬件地址就在適配器的ROM中。

    ? ? ? ? ? ?計(jì)算機(jī)的軟件地址——IP地址則在計(jì)算機(jī)的存儲(chǔ)器中

    CSMA/CD協(xié)議

    CSMA/CD(載波監(jiān)聽(tīng)多點(diǎn)接入/碰撞檢測(cè) Carrier Sense Multiple Access with Collision Detection)

    多點(diǎn)接入:表明是總線型網(wǎng)絡(luò)

    載波監(jiān)聽(tīng):就是檢測(cè)信道。不管在發(fā)送前,還是發(fā)送中,每個(gè)站都必須不停地檢測(cè)信道

    發(fā)送前檢測(cè)信道,是為了獲取發(fā)送權(quán),如果檢測(cè)出已經(jīng)有其他站在發(fā)送,則自己就暫時(shí)不許發(fā)送數(shù)據(jù),必須要等到信道變?yōu)榭臻e時(shí)才能發(fā)送。

    發(fā)送中檢測(cè)信道,是為了及時(shí)發(fā)現(xiàn)有沒(méi)有其他站的發(fā)送和本站發(fā)送的碰撞,這就是碰撞檢測(cè)。

    碰撞檢測(cè):也就是邊發(fā)送邊監(jiān)聽(tīng)。即適配器邊發(fā)送邊檢測(cè)信道上的信號(hào)電壓的變化情況,以便判斷自己在發(fā)送數(shù)據(jù)時(shí)其他站是否也在發(fā)送數(shù)據(jù)。

    由此可見(jiàn),在使用CSMA/CD協(xié)議時(shí),一個(gè)站不可能同時(shí)進(jìn)行發(fā)送和接收(但必須邊發(fā)送邊監(jiān)聽(tīng)信道)。

    因此使用CSMA/CD協(xié)議的以太網(wǎng)不可能進(jìn)行全雙工通信,只能進(jìn)行雙向交替通信(半雙工通信)

    以太網(wǎng)的MAC層

    硬件地址、又叫物理地址或MAC地址(因?yàn)檫@種地址用在MAC幀中)

    名字指出我們所要尋找的那個(gè)資源,地址指出那個(gè)資源在何處,路由告訴我們?nèi)绾蔚竭_(dá)該處

    MAC地址:6字節(jié)(48位)的全球地址,局域網(wǎng)上的每一臺(tái)計(jì)算機(jī)中固化在適配器的ROM中的地址

    前三個(gè)字節(jié)由IEEE的注冊(cè)管理機(jī)構(gòu)RA(Registration Authority)分配,廠家必須購(gòu)買

    后三個(gè)字節(jié)則由廠家自行分配。

    最后得到的48位的地址稱為EUI-48(擴(kuò)展的唯一標(biāo)識(shí)符 Extended Unique Identifier)

    第一字節(jié)最低位為I/G位(Individual/Group):為0表示一個(gè)單個(gè)站地址為1表示組地址

    第一字節(jié)的最低第二位為G/L位(Global/Local):為0表示全球管理,是向IEEE的RA購(gòu)買的。為1表示本地管理,用戶可以任意分配網(wǎng)絡(luò)上的地址,以太網(wǎng)幾乎不理會(huì)這個(gè)G/L位

    字節(jié)順序有兩種:

    第一種:就是把每個(gè)字節(jié)的最低位寫(xiě)在最左邊(最左邊的最低位是第一位),IEEE802.3標(biāo)準(zhǔn)就是采用這種記法

    第二種:是把每一個(gè)字節(jié)的最高位寫(xiě)在最左邊(最左邊的最高位時(shí)第一位)

    兩種記法都是按照順序傳輸?shù)?/strong>

    適配器從網(wǎng)絡(luò)上每收到一個(gè)MAC幀就先用硬件檢查MAC幀中的目的地址。

    如果是發(fā)往本站的幀就收下,進(jìn)行其他處理;否則就丟棄,不做其他處理。

    發(fā)往本站的幀有三種:

    1.單播(unicast)幀(一對(duì)一):收到的幀的MAC地址與本站的硬件地址相同

    2.廣播(broadcast)幀(一對(duì)全體):發(fā)送給本局域網(wǎng)上的所有站點(diǎn)的幀(全1地址)

    3.多播(multicast)幀(一對(duì)多):發(fā)送給本局域網(wǎng)上一部分站點(diǎn)的幀

    所有適配器必須能夠識(shí)別單播和廣播地址。有的適配器可用編程方法識(shí)別多播地址

    只有目的地址才能使用廣播地址和多播地址

    以太網(wǎng)適配器還能設(shè)置一種特殊工作方式,混雜方式

    即:只要聽(tīng)到有幀在以太網(wǎng)上傳輸就都悄悄的接收下來(lái),不管這些幀發(fā)往哪個(gè)站。

    這樣做就是竊聽(tīng)其他站點(diǎn)的通信而不終端其他站點(diǎn)的通信

    嗅探器就是用了設(shè)置為混雜方式的網(wǎng)絡(luò)適配器

    ?

    MAC的幀格式

    以太網(wǎng)的MAC幀格式有兩種標(biāo)準(zhǔn):

    DIX Ethernet V2標(biāo)準(zhǔn)(即以太網(wǎng)V2標(biāo)準(zhǔn))

    IEEE的802.3標(biāo)準(zhǔn)

    其中,使用最多的是以太網(wǎng)V2標(biāo)準(zhǔn)的MAC幀格式。而且現(xiàn)在市場(chǎng)上流行的基本都是以太網(wǎng)V2的MAC幀格式。

    以太網(wǎng)MAC幀格式組成

    由五個(gè)字段組成:

    目的地址字段(6字節(jié))+源地址字段(6字節(jié))+類型字段(2字節(jié))+數(shù)據(jù)字段(MTU46-1500字節(jié)之間)+FCS(4字節(jié))

    如果MAC幀格式中數(shù)據(jù)字段小于46字節(jié),則MAC子層會(huì)在數(shù)據(jù)字段的后面加入一個(gè)整數(shù)字節(jié)的填充字段,來(lái)保證MAC幀長(zhǎng)不小于64字節(jié)

    上一層協(xié)議如何知道填充字段的長(zhǎng)度呢?

    在IP協(xié)議中,其首部就有一個(gè)總長(zhǎng)度字段。因此總長(zhǎng)度加上填充字段應(yīng)等于MAC幀數(shù)據(jù)字段的長(zhǎng)度。

    在實(shí)際傳送中還會(huì)在MAC幀前面插入8個(gè)字節(jié),分為兩個(gè)字段

    第一個(gè)字段:前同步碼(1和0的交替碼)

    作用:來(lái)讓接收端的適配器在接收MAC幀時(shí)能夠迅速地調(diào)整其時(shí)鐘頻率,使它和發(fā)送端的時(shí)鐘同步

    第二個(gè)字段是幀開(kāi)始定界符,定義為10101011

    它的前6位和前同步碼一樣,最后兩個(gè)連續(xù)的1就是告訴接收端的適配器MAC幀的信息要來(lái)了,請(qǐng)注意接收

    注意:以太網(wǎng)上的傳輸單位是? 幀

    ? ? ? ? ? ?各幀之間還必須有一定的間隙。

    ? ? ? ? ? ?因此,接收端只需要找到幀開(kāi)始定界符就可以了。不需要使用幀結(jié)束符定界符,也不需要插入字節(jié)來(lái)保證透明傳輸

    無(wú)效MAC幀的情況:

    1.幀的長(zhǎng)度不是整數(shù)個(gè)字節(jié)

    2.用收到的幀檢驗(yàn)序列FCS查出偶差錯(cuò)

    3.收到的幀的MAC客戶數(shù)據(jù)字段打長(zhǎng)度不在46-1500字節(jié)之間。MAC幀長(zhǎng)度不在64-1518字節(jié)之間

    無(wú)效的MAC幀則進(jìn)行丟棄,不進(jìn)行重傳

    在數(shù)據(jù)鏈路層擴(kuò)展以太網(wǎng)

    需要使用網(wǎng)橋

    網(wǎng)橋

    網(wǎng)橋工作在數(shù)據(jù)鏈路層,它根據(jù)MAC幀的目的地址對(duì)收到的幀進(jìn)行轉(zhuǎn)發(fā)過(guò)濾

    當(dāng)網(wǎng)橋接收到一個(gè)幀時(shí)先檢查此幀的目的地址(目的MAC地址),然后再確定將該幀轉(zhuǎn)發(fā)到哪一個(gè)接口,或者是把它丟棄(過(guò)濾)

    網(wǎng)橋的內(nèi)部結(jié)構(gòu)

    最簡(jiǎn)單的網(wǎng)橋有兩個(gè)接口。復(fù)雜的網(wǎng)橋可以有更多的接口。

    兩個(gè)以太網(wǎng)通過(guò)網(wǎng)橋連接起來(lái)后,就成為一個(gè)覆蓋更大的以太網(wǎng),原來(lái)的每個(gè)以太網(wǎng)就可以稱為一個(gè)網(wǎng)段(segment)

    上圖中接口1和接口2各連接到一個(gè)網(wǎng)段

    網(wǎng)橋依靠轉(zhuǎn)發(fā)表來(lái)轉(zhuǎn)發(fā)幀,轉(zhuǎn)發(fā)表也叫轉(zhuǎn)發(fā)數(shù)據(jù)庫(kù)或路由目錄。

    如:網(wǎng)橋從接口1收到A發(fā)給E的幀,則在查找轉(zhuǎn)發(fā)表后,把這個(gè)幀送到接口2轉(zhuǎn)發(fā)到另一個(gè)網(wǎng)段,使E能夠收到這個(gè)幀

    若網(wǎng)橋從接口1收到A發(fā)給B的幀,就丟棄這個(gè)幀,因?yàn)檗D(zhuǎn)發(fā)表中,轉(zhuǎn)發(fā)給B的幀應(yīng)當(dāng)從接口1轉(zhuǎn)發(fā)出去,而現(xiàn)在是從接口1中接收到的幀,說(shuō)明A和B在同一個(gè)網(wǎng)段中,B能夠直接收到這個(gè)幀而不需要借助于網(wǎng)橋轉(zhuǎn)發(fā)

    注意:網(wǎng)橋在轉(zhuǎn)發(fā)幀時(shí),不改變幀的源地址

    網(wǎng)橋內(nèi)部的接口管理軟件和網(wǎng)橋協(xié)議實(shí)體來(lái)完成上述操作

    網(wǎng)橋的好處:

    1.過(guò)濾通信量,增大吞吐量

    2.擴(kuò)大物理范圍

    3.提高了可靠性

    出現(xiàn)網(wǎng)絡(luò)故障,一般只影響個(gè)別網(wǎng)段

    4.可互聯(lián)不同物理層,不同MAC子層和不同速率的以太網(wǎng)

    網(wǎng)橋的缺點(diǎn):

    1.增加時(shí)延

    因?yàn)樾枰獙?duì)接收的幀進(jìn)行存儲(chǔ)和查找轉(zhuǎn)發(fā)表,轉(zhuǎn)發(fā)之前還需要進(jìn)行CSMA/CD算法

    2.導(dǎo)致廣播風(fēng)暴

    網(wǎng)橋只適用于用戶數(shù)不太多(不超過(guò)幾百個(gè))和通信量不太大的以太網(wǎng),否則會(huì)因?yàn)閭鞑ミ^(guò)多的廣播信息產(chǎn)生網(wǎng)絡(luò)阻塞

    透明網(wǎng)橋

    目前使用的最多的網(wǎng)橋,即,以太網(wǎng)上的站點(diǎn)并不知道所發(fā)送的幀將經(jīng)過(guò)哪幾個(gè)網(wǎng)橋

    網(wǎng)橋是按照存儲(chǔ)轉(zhuǎn)發(fā)方式工作的,一定是先把整個(gè)幀收下來(lái)再進(jìn)行處理,不管氣目的地址是什么。

    集線器或轉(zhuǎn)發(fā)器是逐比特轉(zhuǎn)發(fā)

    透明網(wǎng)橋是一種即插即用(plug-and-play device),只要把網(wǎng)橋加入到局域網(wǎng)中,不用人工配置轉(zhuǎn)發(fā)表網(wǎng)橋就能工作

    網(wǎng)橋通過(guò)自學(xué)習(xí)算法處理收到的幀(這樣逐步建立轉(zhuǎn)發(fā)表),使用生成樹(shù)(spanning tree)算法確保任何兩個(gè)站之間只有一條路徑

    自學(xué)習(xí)算法原理:

    網(wǎng)橋只要每收到一個(gè)幀,就記下其源地址和進(jìn)入網(wǎng)橋的接口,作為轉(zhuǎn)發(fā)表中的一個(gè)項(xiàng)目

    注意:轉(zhuǎn)發(fā)表中并沒(méi)有“源地址”一欄,只有“地址”一欄。

    在建立轉(zhuǎn)發(fā)表時(shí),是把幀首部中的源地址寫(xiě)在“地址”一欄下面

    轉(zhuǎn)發(fā)幀時(shí),根據(jù)收到的幀的首部中的目的地址來(lái)轉(zhuǎn)發(fā)的。

    網(wǎng)橋自學(xué)習(xí)和轉(zhuǎn)發(fā)幀的一般步驟:

    1.網(wǎng)橋收到幀后先進(jìn)行自學(xué)習(xí)。查找轉(zhuǎn)發(fā)表中與收到幀的源地址有無(wú)想匹配的項(xiàng)目。如沒(méi)有,就在轉(zhuǎn)發(fā)表中增加一個(gè)項(xiàng)目(源地址、進(jìn)入的接口和時(shí)間)如有,則把原有的項(xiàng)目進(jìn)行更新

    2.轉(zhuǎn)發(fā)幀。查找轉(zhuǎn)發(fā)表中與收到幀的目的地址有無(wú)相匹配的項(xiàng)目。如沒(méi)有,則通過(guò)所有其他接口(除了進(jìn)入網(wǎng)橋的接口)進(jìn)行轉(zhuǎn)發(fā)。如有,則按轉(zhuǎn)發(fā)表中給出的接口進(jìn)行轉(zhuǎn)發(fā),若轉(zhuǎn)發(fā)表中給出的接口就是該幀進(jìn)入網(wǎng)橋的接口,則丟棄這個(gè)幀

    ?

    總結(jié)

    以上是生活随笔為你收集整理的网络-数据链路层回顾的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

    如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。