1.服務(wù)訪問點(diǎn)
服務(wù)接入點(diǎn)SAP(Service Access Point)是網(wǎng)絡(luò)架構(gòu)中上下層通信的接口,即N層的SAP是N+1層訪問N層的通道。
具體來說,SAP是相鄰層實(shí)體(軟件或硬件)之間的邏輯接口,如圖4-17所示。根據(jù)互聯(lián)網(wǎng)四層網(wǎng)絡(luò)架構(gòu)分析,網(wǎng)絡(luò)接入層向上層(網(wǎng)絡(luò)層)提供SAP。應(yīng)該是多種媒體訪問控制方式(詳見5.2節(jié));網(wǎng)絡(luò)層向上層(傳輸層)提供的SAP是兩種不同的數(shù)據(jù)傳輸服務(wù)接口:TCP和IP;層(應(yīng)用層)提供的SAP是TCP和UDP兩種數(shù)據(jù)傳輸方式,允許多個(gè)進(jìn)程通過不同的端口進(jìn)行復(fù)用。2.通信流程
互聯(lián)網(wǎng)網(wǎng)絡(luò)通信技術(shù)看似深?yuàn)W復(fù)雜,但并不像想象的那么難懂。根據(jù)各層的“服務(wù)接入點(diǎn)”對TCP/IP協(xié)議進(jìn)行分層,可以簡單易行地描述Internet各層的數(shù)據(jù)通信過程。首先,用戶數(shù)據(jù)從不同應(yīng)用進(jìn)程的端口分別流向DCP或UDP;在傳輸層,TCP或UDP在收到來自不同進(jìn)程的上層報(bào)文數(shù)據(jù)后,開始封裝傳輸層的數(shù)據(jù)單元,封裝的主要信息是上層進(jìn)程的源端口號和目的端口號,然后通過指定的服務(wù)接入點(diǎn)流向網(wǎng)絡(luò)層;在網(wǎng)絡(luò)層,無論上層的數(shù)據(jù)單元是TCP數(shù)據(jù)報(bào)還是UDP數(shù)據(jù)報(bào),IP協(xié)議都將其作為本層的傳輸數(shù)據(jù)進(jìn)行再次封裝,封裝的主要信息是源IP地址和目的地址IP地址;然后通過下層的服務(wù)接入點(diǎn)流向網(wǎng)絡(luò)接入層。
當(dāng)網(wǎng)絡(luò)故障導(dǎo)致網(wǎng)絡(luò)故障、目的主機(jī)不可達(dá)或路由不可用時(shí),ICMP協(xié)議將協(xié)助發(fā)送相應(yīng)的控制消息,以通知網(wǎng)絡(luò)管理、轉(zhuǎn)發(fā)路由器和源主機(jī)用戶。 ARP協(xié)議用于在數(shù)據(jù)鏈路層傳輸數(shù)據(jù)時(shí),協(xié)助獲取下一個(gè)鏈路點(diǎn)或目的節(jié)點(diǎn)的MAC地址。通過上述分析可知:
(1) 網(wǎng)絡(luò)層和傳輸層之間的職責(zé)非常明確。網(wǎng)絡(luò)層IP協(xié)議頭表示數(shù)據(jù)傳輸過程兩端主機(jī)的邏輯地址(IP);而傳輸層的TCP或UDP協(xié)議頭表示數(shù)據(jù)傳輸過程兩端進(jìn)程的結(jié)束地址(源端口和目的端口)。網(wǎng)絡(luò)層只負(fù)責(zé)網(wǎng)絡(luò)間主機(jī)到主機(jī)的數(shù)據(jù)傳輸,而傳輸層只負(fù)責(zé)進(jìn)程間端到端的數(shù)據(jù)傳輸。
(2) 一個(gè)完整的數(shù)據(jù)傳輸過程至少要有三個(gè)基本參數(shù)。一是進(jìn)程間端到端的數(shù)據(jù)傳輸需要的端口號,二是傳輸層數(shù)據(jù)傳輸?shù)目刂品绞?,即TCP或UDP,三是從端到端傳輸數(shù)據(jù)需要的IP地址主機(jī)到主機(jī)之間的網(wǎng)絡(luò)。綁定這三個(gè)基本參數(shù)就構(gòu)成了一個(gè)套接字Socket,以虛擬文件的形式進(jìn)行管理??梢岳斫鉃槿我鈨蓚€(gè)應(yīng)用層之間的數(shù)據(jù)傳輸都是通過特定的socket接口實(shí)現(xiàn)的。
我們專注高端建站,小程序開發(fā)、軟件系統(tǒng)定制開發(fā)、BUG修復(fù)、物聯(lián)網(wǎng)開發(fā)、各類API接口對接開發(fā)等。十余年開發(fā)經(jīng)驗(yàn),每一個(gè)項(xiàng)目承諾做到滿意為止,多一次對比,一定讓您多一份收獲!