计算机网络五层协议简介
生活随笔
收集整理的這篇文章主要介紹了
计算机网络五层协议简介
小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
五層模型主要是結(jié)合了osi的七層和tcp/ip的四層得出,主要是物理層、數(shù)據(jù)鏈路層、網(wǎng)絡(luò)層、傳輸層、應(yīng)用層五層, 下層向上層提供服務(wù),上層向下層提供接口。 作為一個(gè)iOS開(kāi)發(fā)者接觸比較多的就是上面兩層,所以本文也主要介紹上面兩層。
先講一講各層的傳輸單位,應(yīng)用層是報(bào)文(message),報(bào)文在發(fā)送之前一般會(huì)劃分成為等長(zhǎng)的數(shù)據(jù)段,在每段前面加上一些必要的控制信息組成的首部后,就構(gòu)成了一個(gè)分組(packet),也叫做包,受阻也可叫包頭。無(wú)論在哪一層傳送的數(shù)據(jù)單元,習(xí)慣上都可以籠統(tǒng)地用分組來(lái)表示。
傳輸層主要使用TCP和UDP,如果使用TCP的話,單位是報(bào)文段(segment),UDP的單位是用戶數(shù)據(jù)報(bào)。在發(fā)送數(shù)據(jù)時(shí),網(wǎng)絡(luò)層把運(yùn)輸層產(chǎn)生的報(bào)文段或者用戶數(shù)據(jù)報(bào)封裝成分組或包進(jìn)行傳送,由于網(wǎng)絡(luò)層使用IP協(xié)議,分組也叫做IP數(shù)據(jù)報(bào),簡(jiǎn)稱(chēng)數(shù)據(jù)報(bào)。
數(shù)據(jù)鏈路層將網(wǎng)絡(luò)層交下來(lái)的IP數(shù)據(jù)報(bào)組裝成幀(framing),物理層單位是比特,就是0和1。
從一般的概念講,講網(wǎng)絡(luò)互聯(lián)起來(lái)要使用一些中間設(shè)備,物理層使用的中間設(shè)備叫做轉(zhuǎn)發(fā)器(repeater),數(shù)據(jù)鏈路層使用的中間設(shè)備叫做網(wǎng)橋或橋接器(bridge),網(wǎng)絡(luò)層使用的中間設(shè)備叫做路由器(router),網(wǎng)絡(luò)層以上使用的中間設(shè)備叫做網(wǎng)關(guān)(gateway)。
接下來(lái)簡(jiǎn)單介紹一下物理層,首先需要明白的是物理層不是指具體的物理設(shè)備或者信號(hào)傳輸?shù)奈锢砻襟w,而是指在物理媒體之上為上一層(鏈路層)提供一個(gè)傳輸原始比特流的物理連接。這一層實(shí)現(xiàn)的硬件是集線器(hub),它對(duì)接收到的信號(hào)進(jìn)行再生整形放大,以擴(kuò)大網(wǎng)絡(luò)的傳輸距離,同時(shí)把所有節(jié)點(diǎn)集中在以它為中心的節(jié)點(diǎn)上。
數(shù)據(jù)鏈路層協(xié)議有許多種,但是有三個(gè)基本問(wèn)題則是共同的,這三個(gè)問(wèn)題就是:封裝成幀、透明傳輸、差錯(cuò)檢測(cè)。關(guān)于差錯(cuò)控制,比特在傳輸過(guò)程中可能0變1,1變0,這叫做比特差錯(cuò),數(shù)據(jù)鏈路層廣泛使用了循環(huán) 冗余 檢驗(yàn) CRC(Cyclic Redundancy Check)。數(shù)據(jù)鏈路層使用兩種信道:點(diǎn)對(duì)點(diǎn)信道和廣播信道,點(diǎn)對(duì)點(diǎn)協(xié)議PPP(point-to-point protocol)則是點(diǎn)對(duì)點(diǎn)信道常用的協(xié)議,也是該層最廣泛的協(xié)議,工作在該層的硬件是網(wǎng)橋。
第三層是網(wǎng)絡(luò)層,網(wǎng)絡(luò)層向上層提供的是無(wú)連接的數(shù)據(jù)報(bào)服務(wù),數(shù)據(jù)報(bào)服務(wù)的可靠通信應(yīng)該由用戶主機(jī)來(lái)保證、連接的建立可以不需要、每個(gè)分組都有終點(diǎn)的完整地址、分組獨(dú)立選擇路由進(jìn)行轉(zhuǎn)發(fā),當(dāng)結(jié)點(diǎn)出故障時(shí),故障結(jié)點(diǎn)可能會(huì)丟失分組,一些路由可能會(huì)發(fā)生改變,到達(dá)終點(diǎn)不一定按發(fā)送順序,端到端的差錯(cuò)控制和流量控制由用戶主機(jī)負(fù)責(zé)。網(wǎng)絡(luò)層不提供服務(wù)質(zhì)量的承諾,IP數(shù)據(jù)報(bào)首部中的檢驗(yàn)和字段,只檢驗(yàn)首部是否出現(xiàn)差錯(cuò)而不檢查數(shù)據(jù)部分。如果主機(jī)中的進(jìn)程之間的通信需要是可靠的,那么就由網(wǎng)絡(luò)的主機(jī)中的運(yùn)輸層負(fù)責(zé)(包括差錯(cuò)處理、流量控制等),IP協(xié)議是該層的核心協(xié)議,IP協(xié)議的主要功能就是無(wú)連接的數(shù)據(jù)報(bào)傳輸、數(shù)據(jù)報(bào)路由選擇和差錯(cuò)控制。
第四層是傳輸層,它屬于面向通信的最高層,同時(shí)也是用戶功能中的最底層。當(dāng)網(wǎng)絡(luò)的邊緣部分中的兩個(gè)主機(jī)使用網(wǎng)絡(luò)的核心部分的功能進(jìn)行端到端的通信時(shí),只有主機(jī)的協(xié)議棧才有運(yùn)輸層,而網(wǎng)絡(luò)核心部分中的路由器在轉(zhuǎn)發(fā)分組時(shí)都只用到下三層的功能。網(wǎng)絡(luò)層是為主機(jī)之間提供邏輯通信,而運(yùn)輸層為應(yīng)用進(jìn)程之間提供端到端的邏輯通信。端口是應(yīng)用層各協(xié)議進(jìn)程與運(yùn)輸實(shí)體進(jìn)行層間交互的一種地址,運(yùn)輸層的端口號(hào)分為兩大類(lèi),一是服務(wù)器使用的端口號(hào),這里又分兩類(lèi),熟知端口號(hào),也叫系統(tǒng)端口號(hào),數(shù)值為0~1023,例如FTP(21)、HTTP(80)、SMTP(25)等,另一種是登記端口號(hào),數(shù)值在1024~49151;另一類(lèi)是客戶端使用的端口號(hào),數(shù)值在49152~65535之間。
運(yùn)輸層有一個(gè)重要的功能是復(fù)用和分用,復(fù)用是指發(fā)送方不同的應(yīng)用進(jìn)程可以使用同一個(gè)運(yùn)輸層協(xié)議傳送數(shù)據(jù),而分用是指接收方的運(yùn)輸層在剝?nèi)?bào)文的首部后能夠把這些數(shù)據(jù)正確交付到目的進(jìn)程。
運(yùn)輸層有兩個(gè)協(xié)議,面向連接的TCP和無(wú)連接的UDP。UDP是無(wú)連接的,使用盡最大努力交付,即不可靠交付,UDP是面向報(bào)文的,UDP沒(méi)有擁塞控制,因此網(wǎng)絡(luò)出現(xiàn)的擁塞不會(huì)使源主機(jī)發(fā)送速率降低,UDP支持一對(duì)一、一對(duì)多、多對(duì)一、多對(duì)多的交互通信,UDP的首部開(kāi)銷(xiāo)小。TCP是面向連接的運(yùn)輸層協(xié)議,TCP連接只能是一對(duì)一的,它提供可靠的交付服務(wù),也就是說(shuō),通過(guò)TCP連接傳送的數(shù)據(jù),無(wú)差錯(cuò)、不丟失、不重復(fù)、并且按序到達(dá),TCP提供全雙工通信,TCP是面向字節(jié)流的,TCP把應(yīng)用程序交下來(lái)的數(shù)據(jù)塊看成無(wú)結(jié)構(gòu)的字節(jié)流,TCP不保證接收方應(yīng)用程序收到的數(shù)據(jù)塊和發(fā)送方應(yīng)用程序所發(fā)出的數(shù)據(jù)塊具有對(duì)應(yīng)的大小關(guān)系(例如,發(fā)送方應(yīng)用程序交給發(fā)送方TCP共10個(gè)數(shù)據(jù)塊,但接收方的TCP可能只用4個(gè)數(shù)據(jù)塊就把收到的字節(jié)流交付給了上層的應(yīng)用程序,但接收方應(yīng)用程序收到的字節(jié)流必須和發(fā)送方應(yīng)用程序發(fā)出的字節(jié)流完全一樣)。
TCP連接的端點(diǎn)叫做套接字(socket)或插口,即(IP地址:端口號(hào)),每一條TCP連接唯一地被通信兩端的兩個(gè)端點(diǎn)(即兩個(gè)套接字)所確定。
TCP的運(yùn)輸連接有三個(gè)階段,即連接建立、數(shù)據(jù)傳送、連接釋放。TCP連接建立的過(guò)程要使每一方能夠確定對(duì)方的存在,主動(dòng)發(fā)起連接建立的應(yīng)用進(jìn)行叫做客戶(client),被動(dòng)等待連接建立的應(yīng)用進(jìn)程叫做服務(wù)器(server),連接建立的過(guò)程叫做三次握手,假設(shè)A為客戶,B為服務(wù)器,A發(fā)送一個(gè)報(bào)文給B,B發(fā)回確認(rèn),然后A再加以確認(rèn),來(lái)回共三次。
第五層是應(yīng)用層,FTP(對(duì)應(yīng)應(yīng)用,文件傳送)、HTTP(對(duì)應(yīng)應(yīng)用萬(wàn)維網(wǎng))、TELNET(遠(yuǎn)程終端接入)、SMTP(電子郵件)使用的運(yùn)輸層協(xié)議都是TCP,DNS(名字轉(zhuǎn)換)、TFTP(文件傳送)、專(zhuān)用協(xié)議(IP電話、流式媒體通信)等使用的運(yùn)輸層協(xié)議都是UDP。
以上就是計(jì)算機(jī)網(wǎng)絡(luò)的五層協(xié)議。
先講一講各層的傳輸單位,應(yīng)用層是報(bào)文(message),報(bào)文在發(fā)送之前一般會(huì)劃分成為等長(zhǎng)的數(shù)據(jù)段,在每段前面加上一些必要的控制信息組成的首部后,就構(gòu)成了一個(gè)分組(packet),也叫做包,受阻也可叫包頭。無(wú)論在哪一層傳送的數(shù)據(jù)單元,習(xí)慣上都可以籠統(tǒng)地用分組來(lái)表示。
傳輸層主要使用TCP和UDP,如果使用TCP的話,單位是報(bào)文段(segment),UDP的單位是用戶數(shù)據(jù)報(bào)。在發(fā)送數(shù)據(jù)時(shí),網(wǎng)絡(luò)層把運(yùn)輸層產(chǎn)生的報(bào)文段或者用戶數(shù)據(jù)報(bào)封裝成分組或包進(jìn)行傳送,由于網(wǎng)絡(luò)層使用IP協(xié)議,分組也叫做IP數(shù)據(jù)報(bào),簡(jiǎn)稱(chēng)數(shù)據(jù)報(bào)。
數(shù)據(jù)鏈路層將網(wǎng)絡(luò)層交下來(lái)的IP數(shù)據(jù)報(bào)組裝成幀(framing),物理層單位是比特,就是0和1。
從一般的概念講,講網(wǎng)絡(luò)互聯(lián)起來(lái)要使用一些中間設(shè)備,物理層使用的中間設(shè)備叫做轉(zhuǎn)發(fā)器(repeater),數(shù)據(jù)鏈路層使用的中間設(shè)備叫做網(wǎng)橋或橋接器(bridge),網(wǎng)絡(luò)層使用的中間設(shè)備叫做路由器(router),網(wǎng)絡(luò)層以上使用的中間設(shè)備叫做網(wǎng)關(guān)(gateway)。
接下來(lái)簡(jiǎn)單介紹一下物理層,首先需要明白的是物理層不是指具體的物理設(shè)備或者信號(hào)傳輸?shù)奈锢砻襟w,而是指在物理媒體之上為上一層(鏈路層)提供一個(gè)傳輸原始比特流的物理連接。這一層實(shí)現(xiàn)的硬件是集線器(hub),它對(duì)接收到的信號(hào)進(jìn)行再生整形放大,以擴(kuò)大網(wǎng)絡(luò)的傳輸距離,同時(shí)把所有節(jié)點(diǎn)集中在以它為中心的節(jié)點(diǎn)上。
數(shù)據(jù)鏈路層協(xié)議有許多種,但是有三個(gè)基本問(wèn)題則是共同的,這三個(gè)問(wèn)題就是:封裝成幀、透明傳輸、差錯(cuò)檢測(cè)。關(guān)于差錯(cuò)控制,比特在傳輸過(guò)程中可能0變1,1變0,這叫做比特差錯(cuò),數(shù)據(jù)鏈路層廣泛使用了循環(huán) 冗余 檢驗(yàn) CRC(Cyclic Redundancy Check)。數(shù)據(jù)鏈路層使用兩種信道:點(diǎn)對(duì)點(diǎn)信道和廣播信道,點(diǎn)對(duì)點(diǎn)協(xié)議PPP(point-to-point protocol)則是點(diǎn)對(duì)點(diǎn)信道常用的協(xié)議,也是該層最廣泛的協(xié)議,工作在該層的硬件是網(wǎng)橋。
第三層是網(wǎng)絡(luò)層,網(wǎng)絡(luò)層向上層提供的是無(wú)連接的數(shù)據(jù)報(bào)服務(wù),數(shù)據(jù)報(bào)服務(wù)的可靠通信應(yīng)該由用戶主機(jī)來(lái)保證、連接的建立可以不需要、每個(gè)分組都有終點(diǎn)的完整地址、分組獨(dú)立選擇路由進(jìn)行轉(zhuǎn)發(fā),當(dāng)結(jié)點(diǎn)出故障時(shí),故障結(jié)點(diǎn)可能會(huì)丟失分組,一些路由可能會(huì)發(fā)生改變,到達(dá)終點(diǎn)不一定按發(fā)送順序,端到端的差錯(cuò)控制和流量控制由用戶主機(jī)負(fù)責(zé)。網(wǎng)絡(luò)層不提供服務(wù)質(zhì)量的承諾,IP數(shù)據(jù)報(bào)首部中的檢驗(yàn)和字段,只檢驗(yàn)首部是否出現(xiàn)差錯(cuò)而不檢查數(shù)據(jù)部分。如果主機(jī)中的進(jìn)程之間的通信需要是可靠的,那么就由網(wǎng)絡(luò)的主機(jī)中的運(yùn)輸層負(fù)責(zé)(包括差錯(cuò)處理、流量控制等),IP協(xié)議是該層的核心協(xié)議,IP協(xié)議的主要功能就是無(wú)連接的數(shù)據(jù)報(bào)傳輸、數(shù)據(jù)報(bào)路由選擇和差錯(cuò)控制。
第四層是傳輸層,它屬于面向通信的最高層,同時(shí)也是用戶功能中的最底層。當(dāng)網(wǎng)絡(luò)的邊緣部分中的兩個(gè)主機(jī)使用網(wǎng)絡(luò)的核心部分的功能進(jìn)行端到端的通信時(shí),只有主機(jī)的協(xié)議棧才有運(yùn)輸層,而網(wǎng)絡(luò)核心部分中的路由器在轉(zhuǎn)發(fā)分組時(shí)都只用到下三層的功能。網(wǎng)絡(luò)層是為主機(jī)之間提供邏輯通信,而運(yùn)輸層為應(yīng)用進(jìn)程之間提供端到端的邏輯通信。端口是應(yīng)用層各協(xié)議進(jìn)程與運(yùn)輸實(shí)體進(jìn)行層間交互的一種地址,運(yùn)輸層的端口號(hào)分為兩大類(lèi),一是服務(wù)器使用的端口號(hào),這里又分兩類(lèi),熟知端口號(hào),也叫系統(tǒng)端口號(hào),數(shù)值為0~1023,例如FTP(21)、HTTP(80)、SMTP(25)等,另一種是登記端口號(hào),數(shù)值在1024~49151;另一類(lèi)是客戶端使用的端口號(hào),數(shù)值在49152~65535之間。
運(yùn)輸層有一個(gè)重要的功能是復(fù)用和分用,復(fù)用是指發(fā)送方不同的應(yīng)用進(jìn)程可以使用同一個(gè)運(yùn)輸層協(xié)議傳送數(shù)據(jù),而分用是指接收方的運(yùn)輸層在剝?nèi)?bào)文的首部后能夠把這些數(shù)據(jù)正確交付到目的進(jìn)程。
運(yùn)輸層有兩個(gè)協(xié)議,面向連接的TCP和無(wú)連接的UDP。UDP是無(wú)連接的,使用盡最大努力交付,即不可靠交付,UDP是面向報(bào)文的,UDP沒(méi)有擁塞控制,因此網(wǎng)絡(luò)出現(xiàn)的擁塞不會(huì)使源主機(jī)發(fā)送速率降低,UDP支持一對(duì)一、一對(duì)多、多對(duì)一、多對(duì)多的交互通信,UDP的首部開(kāi)銷(xiāo)小。TCP是面向連接的運(yùn)輸層協(xié)議,TCP連接只能是一對(duì)一的,它提供可靠的交付服務(wù),也就是說(shuō),通過(guò)TCP連接傳送的數(shù)據(jù),無(wú)差錯(cuò)、不丟失、不重復(fù)、并且按序到達(dá),TCP提供全雙工通信,TCP是面向字節(jié)流的,TCP把應(yīng)用程序交下來(lái)的數(shù)據(jù)塊看成無(wú)結(jié)構(gòu)的字節(jié)流,TCP不保證接收方應(yīng)用程序收到的數(shù)據(jù)塊和發(fā)送方應(yīng)用程序所發(fā)出的數(shù)據(jù)塊具有對(duì)應(yīng)的大小關(guān)系(例如,發(fā)送方應(yīng)用程序交給發(fā)送方TCP共10個(gè)數(shù)據(jù)塊,但接收方的TCP可能只用4個(gè)數(shù)據(jù)塊就把收到的字節(jié)流交付給了上層的應(yīng)用程序,但接收方應(yīng)用程序收到的字節(jié)流必須和發(fā)送方應(yīng)用程序發(fā)出的字節(jié)流完全一樣)。
TCP連接的端點(diǎn)叫做套接字(socket)或插口,即(IP地址:端口號(hào)),每一條TCP連接唯一地被通信兩端的兩個(gè)端點(diǎn)(即兩個(gè)套接字)所確定。
TCP的運(yùn)輸連接有三個(gè)階段,即連接建立、數(shù)據(jù)傳送、連接釋放。TCP連接建立的過(guò)程要使每一方能夠確定對(duì)方的存在,主動(dòng)發(fā)起連接建立的應(yīng)用進(jìn)行叫做客戶(client),被動(dòng)等待連接建立的應(yīng)用進(jìn)程叫做服務(wù)器(server),連接建立的過(guò)程叫做三次握手,假設(shè)A為客戶,B為服務(wù)器,A發(fā)送一個(gè)報(bào)文給B,B發(fā)回確認(rèn),然后A再加以確認(rèn),來(lái)回共三次。
第五層是應(yīng)用層,FTP(對(duì)應(yīng)應(yīng)用,文件傳送)、HTTP(對(duì)應(yīng)應(yīng)用萬(wàn)維網(wǎng))、TELNET(遠(yuǎn)程終端接入)、SMTP(電子郵件)使用的運(yùn)輸層協(xié)議都是TCP,DNS(名字轉(zhuǎn)換)、TFTP(文件傳送)、專(zhuān)用協(xié)議(IP電話、流式媒體通信)等使用的運(yùn)輸層協(xié)議都是UDP。
以上就是計(jì)算機(jī)網(wǎng)絡(luò)的五層協(xié)議。
總結(jié)
以上是生活随笔為你收集整理的计算机网络五层协议简介的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: strlen() sizeof()
- 下一篇: sql 取表的前10条记录,任意中间几行