串口通訊-網(wǎng)絡(luò)通信的數(shù)據(jù)包(幀)
串口通訊-網(wǎng)絡(luò)通信的數(shù)據(jù)包(幀)
在網(wǎng)絡(luò)通信中, " 包 " ( Packet )和 " 幀 " ( Frame )的概念相同,均指通信中的一個(gè)數(shù)據(jù)塊.對(duì)于具體某種通信網(wǎng)絡(luò),一般使用術(shù)語(yǔ) " 幀 " .一種網(wǎng)絡(luò)的幀格式可能與另一種網(wǎng)絡(luò)不同,通常使用術(shù)語(yǔ) " 包 " 來(lái)指一般意義的幀.串行通信的數(shù)據(jù)格式有面向字符型的數(shù)據(jù)格式,如單同步、雙同步、外同步;也有面向比特型的數(shù)據(jù)格式,這以幀為單位傳輸,每幀由六個(gè)部分組成,分別是標(biāo)志區(qū)、地址區(qū)、控制區(qū)、信息區(qū)、幀校驗(yàn)區(qū)和標(biāo)志區(qū).
串行通信協(xié)議屬于 ISO 國(guó)際參考標(biāo)準(zhǔn)的第三層,數(shù)據(jù)鏈路層.數(shù)據(jù)鏈路層必須使用物理層提供給它的服務(wù).物理層所做的工作是接收個(gè)一個(gè)原始的比特流,并準(zhǔn)備把它交給目的地.不能保證這個(gè)比特流無(wú)差錯(cuò).所接收的比特的數(shù)量也許少于,也許等于或多于所傳遞的比特的數(shù)量,它們具有不同的值.一直要上到數(shù)據(jù)鏈路層才能進(jìn)行檢測(cè),如果需要的話,糾正錯(cuò)誤.對(duì)于數(shù)據(jù)層,通常的方法是把比特流分成離散的幀,并對(duì)每一幀計(jì)算出校驗(yàn)和…….當(dāng)一幀到達(dá)目的地后重新計(jì)算校驗(yàn)和時(shí),如果新算出的校驗(yàn)和不同于幀中所包括的值,數(shù)據(jù)鏈路層就知道出現(xiàn)差錯(cuò)了,從而會(huì)采取措施處理差錯(cuò)(即,丟棄壞幀,并發(fā)回一個(gè)差錯(cuò)報(bào)告).
數(shù)據(jù)鏈路層的任務(wù)是在兩個(gè)相鄰接點(diǎn)間的線路上無(wú)差錯(cuò)地傳送以幀為單位的數(shù)據(jù).每一幀包括數(shù)據(jù)和必要的控制信息.人們發(fā)現(xiàn),對(duì)于經(jīng)常產(chǎn)生誤碼的實(shí)際鏈路,只要加上合適的控制規(guī)程,就可以使通信變?yōu)楸容^可靠的.如 IBM 公司推出了著名的體系結(jié)構(gòu) SNA, 在 SNA 的數(shù)據(jù)鏈路規(guī)程采用了面向比特的規(guī)程 SDLC ,后來(lái) ISO 把它修改后稱為 HDLC ,譯為高級(jí)數(shù)據(jù)鏈路控制.在 INTERNET 中,用戶與 ISP ( INTERNET 服務(wù)提供者)之間的鏈路上使用得最多的協(xié)議就是 SLIP 和 PPP .
下面就簡(jiǎn)單介紹 HDLC 幀結(jié)構(gòu)以及 PPP 幀結(jié)構(gòu):
1.HDLC 的幀結(jié)構(gòu):
從網(wǎng)絡(luò)層交下來(lái)的分組,變成為數(shù)據(jù)鏈路層的數(shù)據(jù).這就是圖 1 中的信息字段.信息字段的長(zhǎng)度沒(méi)有具體規(guī)定.數(shù)據(jù)鏈路層在信息字段的頭尾各加上 24bit 的控制信息,這樣就構(gòu)成了一個(gè)完整的幀. HDLC 規(guī)定了一個(gè)幀的開頭(即首部中的第一個(gè)字節(jié))和結(jié)尾(即尾部中的最后一個(gè)字節(jié))各放入一個(gè)特殊的標(biāo)記,作為一個(gè)幀的邊界. 這個(gè)標(biāo)記就叫做標(biāo)志字段 F .標(biāo)志字段 F 為6個(gè)連續(xù)1加上兩邊各一個(gè)0共8位.地址字段 A 也是8?jìng)€(gè)比特,它一般被寫入次站的地址.幀校驗(yàn)序列 FSC 字共占16位,采用 CRC-CCITT 生成多項(xiàng)式.控制字段功8位,是最復(fù)雜的字段 ,HDLC 的許多重要功能都要靠控制字段來(lái)實(shí)現(xiàn).根據(jù)其前面兩個(gè)比特的取值,可將 HDLC 的許多幀劃分為三大類,即信息幀、監(jiān)督幀和無(wú)編號(hào)幀.
2. 點(diǎn)對(duì)點(diǎn)協(xié)議 PPP 的幀結(jié)構(gòu):
PPP 幀格式和 HDLC 的相似, PPP 幀的前 3 個(gè)字段和最后兩個(gè)字段和 HDLC 的格式是一樣的. PPP 不是面向比特的,因而所有的 PPP 幀的長(zhǎng)度都是整數(shù)個(gè)字節(jié).與 HDLC 不同的是多了一個(gè) 2 個(gè)字節(jié)的協(xié)議字段.當(dāng)協(xié)議字段為 0X0021 時(shí),信息字段就是 IIP 數(shù)據(jù)報(bào).若為 0XC021, 則信息字段是鏈路控制數(shù)據(jù),而 0X8021 表示這是網(wǎng)絡(luò)控制數(shù)據(jù).
3. 例子:異步通信的數(shù)據(jù)格式
可以看出,按標(biāo)準(zhǔn)的餓異步通信數(shù)據(jù)格式, 1 個(gè)字符在傳輸事,除了傳輸實(shí)際編碼信息外,還要傳輸幾個(gè)外加數(shù)位.具體說(shuō),在一個(gè)字符開始傳輸前,輸出線必須在邏輯上處于 "1" 狀態(tài),這稱為標(biāo)識(shí)態(tài).傳輸一開始,輸出線由標(biāo)識(shí)態(tài)變?yōu)?"0" 狀態(tài),從而作為起始位.起始位后面為 5 ~ 8 個(gè)信息位,信息位有低往高排列,即第一位為字符的最低位,在同意個(gè)傳輸系統(tǒng)中,信息位的數(shù)目是固定的.信息位后面為校驗(yàn)位,校驗(yàn)位可以按奇校驗(yàn)設(shè)置,也可以按偶校驗(yàn)設(shè)置,也可以不設(shè)置.最后的位數(shù)為 "1" ,它作為停止位,停止位可為 1 位、 1.5 位或者 2 位.如果傳輸 1 個(gè)字符以后,立即傳輸下一個(gè)字符,那么,后一個(gè)字符的起始位變緊挨著前一個(gè)字符的停止位了,否則,輸出線又會(huì)進(jìn)入標(biāo)識(shí)態(tài).
在網(wǎng)絡(luò)通信中, " 包 " ( Packet )和 " 幀 " ( Frame )的概念相同,均指通信中的一個(gè)數(shù)據(jù)塊.對(duì)于具體某種通信網(wǎng)絡(luò),一般使用術(shù)語(yǔ) " 幀 " .一種網(wǎng)絡(luò)的幀格式可能與另一種網(wǎng)絡(luò)不同,通常使用術(shù)語(yǔ) " 包 " 來(lái)指一般意義的幀.串行通信的數(shù)據(jù)格式有面向字符型的數(shù)據(jù)格式,如單同步、雙同步、外同步;也有面向比特型的數(shù)據(jù)格式,這以幀為單位傳輸,每幀由六個(gè)部分組成,分別是標(biāo)志區(qū)、地址區(qū)、控制區(qū)、信息區(qū)、幀校驗(yàn)區(qū)和標(biāo)志區(qū).
串行通信協(xié)議屬于 ISO 國(guó)際參考標(biāo)準(zhǔn)的第三層,數(shù)據(jù)鏈路層.數(shù)據(jù)鏈路層必須使用物理層提供給它的服務(wù).物理層所做的工作是接收個(gè)一個(gè)原始的比特流,并準(zhǔn)備把它交給目的地.不能保證這個(gè)比特流無(wú)差錯(cuò).所接收的比特的數(shù)量也許少于,也許等于或多于所傳遞的比特的數(shù)量,它們具有不同的值.一直要上到數(shù)據(jù)鏈路層才能進(jìn)行檢測(cè),如果需要的話,糾正錯(cuò)誤.對(duì)于數(shù)據(jù)層,通常的方法是把比特流分成離散的幀,并對(duì)每一幀計(jì)算出校驗(yàn)和…….當(dāng)一幀到達(dá)目的地后重新計(jì)算校驗(yàn)和時(shí),如果新算出的校驗(yàn)和不同于幀中所包括的值,數(shù)據(jù)鏈路層就知道出現(xiàn)差錯(cuò)了,從而會(huì)采取措施處理差錯(cuò)(即,丟棄壞幀,并發(fā)回一個(gè)差錯(cuò)報(bào)告).
數(shù)據(jù)鏈路層的任務(wù)是在兩個(gè)相鄰接點(diǎn)間的線路上無(wú)差錯(cuò)地傳送以幀為單位的數(shù)據(jù).每一幀包括數(shù)據(jù)和必要的控制信息.人們發(fā)現(xiàn),對(duì)于經(jīng)常產(chǎn)生誤碼的實(shí)際鏈路,只要加上合適的控制規(guī)程,就可以使通信變?yōu)楸容^可靠的.如 IBM 公司推出了著名的體系結(jié)構(gòu) SNA, 在 SNA 的數(shù)據(jù)鏈路規(guī)程采用了面向比特的規(guī)程 SDLC ,后來(lái) ISO 把它修改后稱為 HDLC ,譯為高級(jí)數(shù)據(jù)鏈路控制.在 INTERNET 中,用戶與 ISP ( INTERNET 服務(wù)提供者)之間的鏈路上使用得最多的協(xié)議就是 SLIP 和 PPP .
下面就簡(jiǎn)單介紹 HDLC 幀結(jié)構(gòu)以及 PPP 幀結(jié)構(gòu):
1.HDLC 的幀結(jié)構(gòu):
從網(wǎng)絡(luò)層交下來(lái)的分組,變成為數(shù)據(jù)鏈路層的數(shù)據(jù).這就是圖 1 中的信息字段.信息字段的長(zhǎng)度沒(méi)有具體規(guī)定.數(shù)據(jù)鏈路層在信息字段的頭尾各加上 24bit 的控制信息,這樣就構(gòu)成了一個(gè)完整的幀. HDLC 規(guī)定了一個(gè)幀的開頭(即首部中的第一個(gè)字節(jié))和結(jié)尾(即尾部中的最后一個(gè)字節(jié))各放入一個(gè)特殊的標(biāo)記,作為一個(gè)幀的邊界. 這個(gè)標(biāo)記就叫做標(biāo)志字段 F .標(biāo)志字段 F 為6個(gè)連續(xù)1加上兩邊各一個(gè)0共8位.地址字段 A 也是8?jìng)€(gè)比特,它一般被寫入次站的地址.幀校驗(yàn)序列 FSC 字共占16位,采用 CRC-CCITT 生成多項(xiàng)式.控制字段功8位,是最復(fù)雜的字段 ,HDLC 的許多重要功能都要靠控制字段來(lái)實(shí)現(xiàn).根據(jù)其前面兩個(gè)比特的取值,可將 HDLC 的許多幀劃分為三大類,即信息幀、監(jiān)督幀和無(wú)編號(hào)幀.
2. 點(diǎn)對(duì)點(diǎn)協(xié)議 PPP 的幀結(jié)構(gòu):
PPP 幀格式和 HDLC 的相似, PPP 幀的前 3 個(gè)字段和最后兩個(gè)字段和 HDLC 的格式是一樣的. PPP 不是面向比特的,因而所有的 PPP 幀的長(zhǎng)度都是整數(shù)個(gè)字節(jié).與 HDLC 不同的是多了一個(gè) 2 個(gè)字節(jié)的協(xié)議字段.當(dāng)協(xié)議字段為 0X0021 時(shí),信息字段就是 IIP 數(shù)據(jù)報(bào).若為 0XC021, 則信息字段是鏈路控制數(shù)據(jù),而 0X8021 表示這是網(wǎng)絡(luò)控制數(shù)據(jù).
3. 例子:異步通信的數(shù)據(jù)格式
可以看出,按標(biāo)準(zhǔn)的餓異步通信數(shù)據(jù)格式, 1 個(gè)字符在傳輸事,除了傳輸實(shí)際編碼信息外,還要傳輸幾個(gè)外加數(shù)位.具體說(shuō),在一個(gè)字符開始傳輸前,輸出線必須在邏輯上處于 "1" 狀態(tài),這稱為標(biāo)識(shí)態(tài).傳輸一開始,輸出線由標(biāo)識(shí)態(tài)變?yōu)?"0" 狀態(tài),從而作為起始位.起始位后面為 5 ~ 8 個(gè)信息位,信息位有低往高排列,即第一位為字符的最低位,在同意個(gè)傳輸系統(tǒng)中,信息位的數(shù)目是固定的.信息位后面為校驗(yàn)位,校驗(yàn)位可以按奇校驗(yàn)設(shè)置,也可以按偶校驗(yàn)設(shè)置,也可以不設(shè)置.最后的位數(shù)為 "1" ,它作為停止位,停止位可為 1 位、 1.5 位或者 2 位.如果傳輸 1 個(gè)字符以后,立即傳輸下一個(gè)字符,那么,后一個(gè)字符的起始位變緊挨著前一個(gè)字符的停止位了,否則,輸出線又會(huì)進(jìn)入標(biāo)識(shí)態(tài).
文章版權(quán)歸西部工控xbgk所有,未經(jīng)許可不得轉(zhuǎn)載。