第十六節(jié) 網(wǎng)絡(luò)協(xié)議

一、相關(guān)概念
1.網(wǎng)絡(luò)體系結(jié)構(gòu)
協(xié)議:控制網(wǎng)絡(luò)中信息的發(fā)送與接收,定義了通信實(shí)體之間交換報(bào)文的格式和次序,以及在報(bào)文傳輸或接收或其他事件所采取的動(dòng)作。
網(wǎng)絡(luò)體系結(jié)構(gòu):網(wǎng)絡(luò)的層次結(jié)構(gòu)和每層所使用協(xié)議的集合
2.OSI參考模型


OSI.jpg

3.協(xié)議分布


協(xié)議分布.jpg

4.各層功能
(1)鏈路層:是把接收到的網(wǎng)絡(luò)層數(shù)據(jù)報(bào)(也 稱IP數(shù)據(jù)報(bào))通過該層的物理接口發(fā)送到傳輸介質(zhì)上,或從物理網(wǎng)絡(luò)上接收數(shù)據(jù)幀,抽出IP數(shù)據(jù)報(bào)并交給IP層。
(2)網(wǎng)絡(luò)層:是可以把源主機(jī)上的分組發(fā)送到互聯(lián)網(wǎng)中的任何一臺(tái)目標(biāo)主機(jī)上。
(3)傳輸層:為運(yùn)行在不同主機(jī)上的應(yīng)用進(jìn)程使用邏輯通信功能彼此發(fā)送報(bào)文,提供邏輯通信功能(TCP/UDP協(xié)議在此層)
(4)應(yīng)用層:向使用網(wǎng)絡(luò)的用戶提供特定的、常用的應(yīng)用程序。
(5)表示層:通信用戶之間數(shù)據(jù)格式的轉(zhuǎn)換、數(shù)據(jù)壓縮及加解密等。

(6)會(huì)話層:對(duì)數(shù)據(jù)傳輸進(jìn)行管理,包括數(shù)據(jù)交換的定界、同步,建立檢查點(diǎn)等。

傳輸層和應(yīng)用層的進(jìn)程通過套接字來傳遞數(shù)據(jù),套接字可以有多個(gè),每一個(gè)均有唯一的標(biāo)識(shí)符。
2.TCP UDP
(1)UDP
功能:提供用戶之間的不可靠、無連接的報(bào)文傳輸。面向數(shù)據(jù)塊,傳輸單位是數(shù)據(jù)塊,一個(gè)數(shù)據(jù)塊只能封裝在一個(gè)UDP數(shù)據(jù)包中
優(yōu)點(diǎn):無連接創(chuàng)建(減少時(shí)延);簡單:無連接(在UDP發(fā)送方和接收方之間無握手);段首部??;無擁塞控制: UDP能夠盡可能快地傳輸
(2)TCP
功能:提供用戶之間的可靠、面向連接的報(bào)文傳輸,面向字節(jié)流的服務(wù)
優(yōu)點(diǎn):一個(gè)TCP連接的兩個(gè)端點(diǎn)之間可以同時(shí)發(fā)送和接受數(shù)據(jù)

二、TCP流式套接字的編程步驟:
服務(wù)器端程序:
1、加載套接字庫
2、創(chuàng)建套接字(socket)。
3、將套接字綁定到一個(gè)本地地址和端口上(bind)。
4、將套接字設(shè)為監(jiān)聽模式,準(zhǔn)備接收客戶請(qǐng)求(listen)。
5、等待客戶請(qǐng)求到來;當(dāng)請(qǐng)求到來后,接受連接請(qǐng)求,返回一個(gè)新的對(duì)應(yīng)于此次連接的套接字(accept)。
6、用返回的套接字和客戶端進(jìn)行通信(send/recv)。
7、返回,等待另一客戶請(qǐng)求。
8、關(guān)閉套接字。

客戶端程序:
1、加載套接字庫
2、創(chuàng)建套接字(socket)。
3、向服務(wù)器發(fā)出連接請(qǐng)求(connect)。
4、和服務(wù)器端進(jìn)行通信(send/recv)。
5、關(guān)閉套接字。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容