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