点对点数据链路层
數(shù)據(jù)鏈路層的主要功能將數(shù)據(jù)轉(zhuǎn)換為相應(yīng)的比特流使用的信道主要有點(diǎn)對(duì)點(diǎn)的信道方式(一對(duì)一的方式), 以及廣播的信道方式
一. 點(diǎn)對(duì)點(diǎn)信道的數(shù)據(jù)鏈路層
1. 數(shù)據(jù)鏈路和數(shù)據(jù)幀
鏈路就是從一個(gè)結(jié)點(diǎn)連接到相鄰結(jié)點(diǎn)的一段物理線路(有線或者無(wú)線), 期間不準(zhǔn)有任何的交換結(jié)點(diǎn), 因此兩臺(tái)計(jì)算機(jī)之間進(jìn)行通信的時(shí)候, 往往需要經(jīng)過(guò)多條鏈路才能夠相互通信.
數(shù)據(jù)鏈路 就是兩臺(tái)計(jì)算機(jī)要想實(shí)現(xiàn)通信, 單靠鏈路是不能夠達(dá)到準(zhǔn)確的通信的, 當(dāng)前我們?cè)阪溌返幕A(chǔ)上加上一定的實(shí)現(xiàn)通信協(xié)議的軟件和硬件設(shè)備時(shí), 此時(shí)兩臺(tái)計(jì)算機(jī)之間就可以實(shí)現(xiàn)相互通信了,
2. 數(shù)據(jù)幀
在一個(gè)數(shù)據(jù)的前后分別加上頭部和尾部, 此時(shí)的數(shù)據(jù)就會(huì)變成幀.這樣接收端在收到數(shù)據(jù)時(shí)根據(jù)幀的頭部和尾部就可以判斷出數(shù)據(jù)的開(kāi)始和數(shù)據(jù)的結(jié)束.
其中 SOH 的二進(jìn)制序列是00000001 EOF二進(jìn)制序列是 00000100
3.透明傳輸
由于在傳輸?shù)臅r(shí)候?yàn)榱吮鎰e數(shù)據(jù)的開(kāi)始和結(jié)束, 我們對(duì)其加上了一定的頭部和尾部, 將數(shù)據(jù)組裝成數(shù)據(jù)幀, 為了在傳輸?shù)倪^(guò)程中保證數(shù)據(jù)的正確傳輸, 因此在 SOH 和 EOF 之間就不能出現(xiàn)和 SOH 以及 EOF 相同的序列, 為了我們從鍵盤(pán)中輸入的數(shù)據(jù)都能夠有效傳輸, 這樣的傳輸就叫做透明傳輸我們采用了字節(jié)填充法來(lái)解決透明傳輸問(wèn)題
即發(fā)送端在發(fā)送的時(shí)候如果發(fā)現(xiàn)在有效數(shù)據(jù)段出出現(xiàn)了界定符, 則給想用的界定符前面加上 ESC, 而接收端再接收數(shù)據(jù)的時(shí)候一旦發(fā)現(xiàn)有 ESC時(shí), 就將其剝離, 這樣就實(shí)現(xiàn)了發(fā)送端和接收端之間相互通信
二. 點(diǎn)對(duì)點(diǎn)協(xié)議 PPP
1. PPP協(xié)議幀格式
2. 字節(jié)填充
若數(shù)據(jù)中出現(xiàn) 0x7E, 則用0x7D, 0x5E代替, 如果出現(xiàn)控制字符, 則在控制字符前加上 0x7D, 接收端在接受的時(shí)候去掉對(duì)應(yīng)的 0x7E
3. 零比特填充
發(fā)送端在發(fā)送前掃描這個(gè)信息段, 若發(fā)現(xiàn) 5 個(gè)連續(xù)的 1, 則立即填入一個(gè) 0, 接收端在接收數(shù)據(jù)的時(shí)候先找到對(duì)應(yīng)的標(biāo)示字段 F, 然后向后掃描, 若發(fā)現(xiàn)5個(gè)連續(xù)的1后面有一個(gè) 0, 則接收端就將這個(gè) 0 刪掉, 這樣就可以完成數(shù)據(jù)的準(zhǔn)確收發(fā).
總結(jié)