應(yīng)用層協(xié)議的具體應(yīng)用:
NTP:做網(wǎng)絡(luò)時(shí)鐘(時(shí)間來(lái)源于互聯(lián)網(wǎng),本地不用RTC)
DNS:
RTP、RTSP:視頻監(jiān)控常用的協(xié)議
SNMP:簡(jiǎn)單網(wǎng)絡(luò)管理協(xié)議(集中式管理)
FTP:
HTTP:
.......
先理解一下網(wǎng)絡(luò)的模型(linux、國(guó)嵌的PPT):

目的地址與源地址都是MAC(物理地址);
數(shù)據(jù)字段長(zhǎng)度: 數(shù)據(jù)的類型(比如0x0800:表示幀里面的“數(shù)據(jù)”字段是一個(gè)IP包)
數(shù)據(jù):這里面存放具體的數(shù)據(jù)包。
IP協(xié)議層:IP協(xié)議主要目的是為數(shù)據(jù)的輸入、輸出網(wǎng)絡(luò)提供基本算法,為高層協(xié)議提供無(wú)連接的傳送服務(wù)。
IP協(xié)議層的功能:數(shù)據(jù)傳送、尋址、路由選擇、數(shù)據(jù)報(bào)文的分段。
IP協(xié)議包格式:

TCP協(xié)議:TCP協(xié)議是重要的傳輸層協(xié)議,它的目的是為網(wǎng)絡(luò)上的各節(jié)點(diǎn)提供可靠的數(shù)據(jù)交換。它提供數(shù)據(jù)端口編號(hào)的譯碼,以識(shí)別主機(jī)的應(yīng)用程序,完成數(shù)據(jù)的可靠傳送。
TCP包格式:
UDP協(xié)議:傳送層協(xié)議,它是無(wú)連接不可靠的傳送。當(dāng)接收數(shù)據(jù)時(shí)它并不向發(fā)送方提供確認(rèn)信息,它不提供輸入包的順序,如果出現(xiàn)丟失包或重份包的情況,也不會(huì)向發(fā)送方發(fā)出差錯(cuò)報(bào)文,它的執(zhí)行速度比TCP快,執(zhí)行時(shí)具有較低的開銷。
UDP協(xié)議包格式:
基于TCP的網(wǎng)絡(luò)編程,基于UDP的網(wǎng)絡(luò)編程;【服務(wù)器、客戶端】
創(chuàng)建TCP服務(wù)器/客服端:
創(chuàng)建UDP服務(wù)器/客服端:

在實(shí)際的網(wǎng)絡(luò)設(shè)計(jì)中,服務(wù)器必須要實(shí)現(xiàn)1對(duì)多的功能模型;這里就可分為兩種服務(wù)器:循環(huán)服務(wù)器與并發(fā)服務(wù)器。
循環(huán)服務(wù)器:
上面介紹的TCP、UDP通信模型都是循環(huán)服務(wù)器,TCP的循環(huán)服務(wù)器與UDP的循環(huán)服務(wù)器又不同;TCP循環(huán)服務(wù)器一次只能處理一個(gè)客戶端的請(qǐng)求。所以一個(gè)客戶端占住服務(wù)器不放,其他的客戶端就沒(méi)法訪問(wèn)服務(wù)器,所以在服務(wù)器端TCP服務(wù)器很少使用循環(huán)模式。但是UDP的循環(huán)服務(wù)器與TCP循環(huán)服務(wù)器不一樣,因?yàn)閁DP不需要建立連接(TCP建立連接后完全占用服務(wù)器),所以UDP的循環(huán)服務(wù)器直接可以服務(wù)多個(gè)客戶端。
并發(fā)服務(wù)器:TCP需要使用并發(fā)服務(wù)器模型才能服務(wù)多個(gè)客戶端。
并發(fā)服務(wù)器的設(shè)計(jì)思路是每個(gè)客戶端的請(qǐng)求并不由服務(wù)器直接處理,而是由服務(wù)器創(chuàng)建一個(gè)子進(jìn)程來(lái)處理。