當(dāng)前位置:首頁 > 嵌入式培訓(xùn) > 嵌入式學(xué)習(xí) > 講師博文 > 通信協(xié)議定義及介紹
通信協(xié)議(communications protocol)官方給出的定義是指雙方實(shí)體完成通信或服務(wù)所必須遵循的規(guī)則和約定。協(xié)議定義了數(shù)據(jù)單元使用的格式,信息單元應(yīng)該包含的信息與含義,連接方式,信息發(fā)送和接收的時(shí)序,從而確保網(wǎng)絡(luò)中數(shù)據(jù)順利地傳送到確定的地方。
簡單的說,通信協(xié)議通信兩方事先約定好的一個(gè)信息的傳遞規(guī)則。通信協(xié)議主要分2類:異步協(xié)議和同步協(xié)議,而同步協(xié)議中又分為面向字符和面向比特以及面向字節(jié)計(jì)數(shù)三種。
在計(jì)算機(jī)之間通信過程要遵循網(wǎng)絡(luò)通信協(xié)議,它是面向字節(jié)計(jì)數(shù)的同步協(xié)議,保證傳遞的信息電腦都能夠識(shí)別。除此之外還有硬件設(shè)備和PC機(jī)之間的串口通信協(xié)議。下面我們從這兩方面介紹一下常用的通信協(xié)議有哪些。
一 網(wǎng)絡(luò)通信OSI協(xié)議和TCP/IP協(xié)議
(1)OSI協(xié)議
OSI模型分七層,如圖1.1,給出了一個(gè)理想化的穩(wěn)定模式。實(shí)際只有一些層次存在通信協(xié)議:
圖1.1 OSI模型
物理層 :EIA-RS-232-C
數(shù)據(jù)鏈路層 :IBM的SDLC (同步數(shù)據(jù)鏈路控制協(xié)議) 、BSC(二進(jìn)制同步通訊協(xié)議)、ANSI的ADCCP(先進(jìn)數(shù)據(jù)通訊協(xié)議)
應(yīng)用層:電子郵件協(xié)議 SMTP(只發(fā)送郵件)、POP3(只接收郵件)
(1)TCP/IP協(xié)議
TCP/IP模型分4層,如圖1.2。每個(gè)層次都存在通信協(xié)議:
圖1.2 TCP/IP模型
應(yīng)用層:Telnet(遠(yuǎn)程登錄服務(wù)標(biāo)準(zhǔn)協(xié)議) FTP(文件傳輸協(xié)議) HTTP(超文本傳輸協(xié)議) DNS(域名解析協(xié)議) STMP(簡單郵件傳輸協(xié)議) SNMP(簡單網(wǎng)絡(luò)管理協(xié)議)等
傳輸層:TCP(傳輸控制協(xié)議) UDP(用戶數(shù)據(jù)報(bào)協(xié)議)
網(wǎng)絡(luò)層:IP(網(wǎng)間協(xié)議) ICMP(互聯(lián)網(wǎng)控制信息協(xié)議) IGMP(組管理協(xié)議) ARP(地址解析協(xié)議) RARP(逆地址解析協(xié)議)
網(wǎng)絡(luò)接口和物理層:FDDI(光纖分布數(shù)據(jù)接口) PPP(點(diǎn)對(duì)點(diǎn)協(xié)議) 數(shù)據(jù)鏈路協(xié)議等
二 串口通信協(xié)議
串口通信協(xié)議分同步協(xié)議和異步協(xié)議兩種,下面介紹一下。
(1)異步通信協(xié)議——起止式異步通信協(xié)議
特點(diǎn):傳輸按字符,一個(gè)一個(gè)傳送。從起始位開始,到停止位結(jié)束。
傳輸格式:起始位+數(shù)據(jù)位+奇偶校驗(yàn)+停止位
應(yīng)用:傳輸速率較慢是使用
(2)面向字符同步協(xié)議
特點(diǎn):典型代表是IBM公司的二進(jìn)制同步通信協(xié)議BSC:一次傳輸多個(gè)字符組成的數(shù)據(jù)塊,并規(guī)定了10個(gè)字符作為這個(gè)數(shù)據(jù)塊的開頭與結(jié)束標(biāo)志以及整個(gè)傳輸過程的控制信息,它們也叫做通信控制字。由于被傳送的數(shù)據(jù)塊是由字符組成,故被稱作面向字符的協(xié)議。
傳輸格式:特定字符(控制字符)的定義:例如TCP通信之前3次握手時(shí),發(fā)送的SYN(同步字符)和 ACK(確認(rèn)字符)。還有SOH是序始字符:表示標(biāo)題開始(含地址信息和路由器);STX是文始字符:標(biāo)志正文傳送數(shù)據(jù)塊的開始;ETB 組終字符和ETX文終字符等等。
應(yīng)用:保證傳輸速率高時(shí)使用。
(3)面向比特的同步協(xié)議
特點(diǎn): 同步數(shù)據(jù)鏈路控制協(xié)議SDLC,高級(jí)數(shù)據(jù)鏈路控制規(guī)程HDLC,先進(jìn)數(shù)據(jù)通信規(guī)程ADCCP:以幀單位傳輸,一幀數(shù)據(jù)可以是任意位數(shù),組合模式實(shí)現(xiàn)傳輸,不需要特定的開始和結(jié)束字符控制。
傳輸格式:開始標(biāo)志位01111110 + 地址場(chǎng)+控制場(chǎng)+信息場(chǎng)+校驗(yàn)場(chǎng)+結(jié)束標(biāo)志位01111110
幀信息的分段:
(a)開始/結(jié)束標(biāo)志位F:使用 01111110表示開始或結(jié)束,接收端直接搜索這個(gè)值就能找到數(shù)據(jù),一個(gè)開始到一個(gè)結(jié)束之間稱為一幀F(xiàn)rame。
(b)地址場(chǎng)A:在上一位后,地址場(chǎng)Address用來規(guī)定與之通信的次站的地址:第一位為0表示有下一個(gè)地址,為1表示當(dāng)前是后一個(gè)地址
(c)控制長C:在上一位后,控制場(chǎng)Control可規(guī)定若干個(gè)命令:第一位為0表示有下一個(gè)控制場(chǎng),為1是只有一個(gè)
(d)信息場(chǎng)I:跟在控制場(chǎng)之后的是信息場(chǎng)Information。I場(chǎng)包含有要傳送的數(shù)據(jù),并不是每一幀都必須有信息場(chǎng)。即數(shù)據(jù)場(chǎng)可以為0,當(dāng)它為0時(shí),則這一幀主要是控制命令。
(e)幀校驗(yàn)信息FC:緊跟在信息場(chǎng)之后的是兩字節(jié)的幀校驗(yàn)(Frame Check),SDLC/HDLC均采用16位循環(huán)冗余校驗(yàn)碼CRC。
應(yīng)用:數(shù)據(jù)鏈路層
以上就是關(guān)于通信協(xié)議的一個(gè)總結(jié),參考了網(wǎng)絡(luò)上一些大神的講解,加上一些本人的理解。希望可以為大家提供一些幫助。