tcpip協(xié)議棧是什么?
TCP/IP協(xié)議棧是計(jì)算機(jī)網(wǎng)絡(luò)中使用的最常見(jiàn)的網(wǎng)絡(luò)協(xié)議棧。它是一個(gè)四層協(xié)議棧,每一層使用不同的協(xié)議來(lái)實(shí)現(xiàn)特定的任務(wù)。下面是TCP/IP協(xié)議棧的四個(gè)層級(jí)(自下而上): 1. 鏈路層:該層主要是協(xié)議,負(fù)責(zé)在物理網(wǎng)絡(luò)上傳輸數(shù)據(jù)幀,包括數(shù)據(jù)的傳輸和數(shù)據(jù)的錯(cuò)誤檢測(cè)與調(diào)整。該層使用的協(xié)議包括Ethernet和Wi-Fi等。 2. 網(wǎng)絡(luò)層:網(wǎng)絡(luò)層的主要任務(wù)是在計(jì)算機(jī)網(wǎng)絡(luò)中建立數(shù)據(jù)包的傳輸路徑。該層使用的協(xié)議包括IP(Internet Protocol)和ICMP(Internet Control Message Protocol)等。其中,IP協(xié)議負(fù)責(zé)將數(shù)據(jù)包從源節(jié)點(diǎn)路由到目標(biāo)節(jié)點(diǎn),而ICMP協(xié)議則用于網(wǎng)絡(luò)故障的診斷和恢復(fù)。 3. 傳輸層:該層主要負(fù)責(zé)數(shù)據(jù)的傳輸和網(wǎng)絡(luò)連接的管理。該層使用的協(xié)議包括TCP(Transmission Control Protocol)和UDP(User Datagram Protocol)等。其中,TCP協(xié)議用于建立可靠的點(diǎn)對(duì)點(diǎn)連接(如HTTP、FTP等應(yīng)用程序),而UDP協(xié)議則用于無(wú)連接和低延遲的數(shù)據(jù)傳輸(如視頻聊天等應(yīng)用程序)。 4. 應(yīng)用層:該層體系結(jié)構(gòu)與應(yīng)用程序相關(guān)。該層使用的協(xié)議類(lèi)型很多,如HTTP(HyperText Transfer Protocol)、FTP(File Transfer Protocol)、SMTP(Simple Mail Transfer Protocol)等。該層的主要任務(wù)是為不同的應(yīng)用程序提供標(biāo)準(zhǔn)化的接口,以便應(yīng)用程序之間可以相互通信和協(xié)作。
tcpip協(xié)議棧有哪些協(xié)議?
TCP/IP協(xié)議棧包含4個(gè)協(xié)議層:
網(wǎng)絡(luò)接口層:負(fù)責(zé)與物理網(wǎng)絡(luò)進(jìn)行交互,完成數(shù)據(jù)的發(fā)送和接收。
網(wǎng)絡(luò)層:負(fù)責(zé)數(shù)據(jù)的尋址、路由選擇和數(shù)據(jù)分組。主要協(xié)議是IP協(xié)議。
傳輸層:負(fù)責(zé)進(jìn)程間的數(shù)據(jù)傳輸。主要協(xié)議有TCP和UDP協(xié)議。
應(yīng)用層:提供網(wǎng)絡(luò)應(yīng)用服務(wù)。包含許多常用協(xié)議如HTTP、FTP、SMTP、DNS等。
TCP/IP協(xié)議棧4個(gè)協(xié)議層的主要作用:
1、網(wǎng)絡(luò)接口層:隱藏物理網(wǎng)絡(luò)的細(xì)節(jié),為高層提供統(tǒng)一的接口。
2、網(wǎng)絡(luò)層:定義IP地址和路由標(biāo)準(zhǔn),實(shí)現(xiàn)不同子網(wǎng)之間的數(shù)據(jù)傳輸。IP協(xié)議工作在此層。
3、傳輸層:定義端到端的通信標(biāo)準(zhǔn),提供進(jìn)程間的數(shù)據(jù)交換。TCP和UDP工作在此層。
4、應(yīng)用層:提供網(wǎng)絡(luò)應(yīng)用服務(wù)和接口。不同的應(yīng)用協(xié)議工作在此層,如HTTP、FTP、DNS等。
tcpip協(xié)議棧中報(bào)文封裝和解封裝過(guò)程
TCP/IP協(xié)議棧中的報(bào)文封裝和解封裝過(guò)程如下:
封裝過(guò)程: 1. 應(yīng)用層:應(yīng)用程序?qū)?shù)據(jù)封裝成應(yīng)用層協(xié)議的數(shù)據(jù)單元,如HTTP、FTP等。 2. 傳輸層:傳輸層將應(yīng)用層數(shù)據(jù)單元封裝成傳輸層協(xié)議的數(shù)據(jù)單元,如TCP、UDP等。TCP協(xié)議還會(huì)分段,每個(gè)段包含一個(gè)序號(hào),用于在傳輸過(guò)程中保證數(shù)據(jù)的可靠傳輸。UDP協(xié)議則直接將數(shù)據(jù)單元封裝成UDP報(bào)文。 3. 網(wǎng)絡(luò)層:網(wǎng)絡(luò)層將傳輸層數(shù)據(jù)單元封裝成網(wǎng)絡(luò)層協(xié)議的數(shù)據(jù)單元,如IP報(bào)文。IP報(bào)文包含源IP地址、目的IP地址等信息,用于在網(wǎng)絡(luò)中路由和轉(zhuǎn)發(fā)。 4. 數(shù)據(jù)鏈路層:數(shù)據(jù)鏈路層將網(wǎng)絡(luò)層數(shù)據(jù)單元封裝成數(shù)據(jù)鏈路層協(xié)議的數(shù)據(jù)單元,如以太網(wǎng)幀。以太網(wǎng)幀包含源MAC地址、目的MAC地址等信息,用于在局域網(wǎng)中傳輸和尋址。 5. 物理層:物理層將數(shù)據(jù)鏈路層數(shù)據(jù)單元轉(zhuǎn)換為比特流,用于在物理媒介上傳輸。
解封裝過(guò)程: 1. 物理層:物理層將比特流轉(zhuǎn)換成數(shù)據(jù)鏈路層數(shù)據(jù)單元。 2. 數(shù)據(jù)鏈路層:數(shù)據(jù)鏈路層將數(shù)據(jù)鏈路層數(shù)據(jù)單元解封裝為網(wǎng)絡(luò)層數(shù)據(jù)單元。 3. 網(wǎng)絡(luò)層:網(wǎng)絡(luò)層將網(wǎng)絡(luò)層數(shù)據(jù)單元解封裝為傳輸層數(shù)據(jù)單元。 4. 傳輸層:傳輸層將傳輸層數(shù)據(jù)單元解封裝為應(yīng)用層數(shù)據(jù)單元。 5. 應(yīng)用層:應(yīng)用層將應(yīng)用層數(shù)據(jù)單元解封裝為原始數(shù)據(jù)。
再分享一張圖片來(lái)說(shuō)明一下封裝過(guò)程;意思跟上圖一樣,解封就是反向:
tcp在建立連接和斷開(kāi)連接
tcp在建立連接和斷開(kāi)連接分別要經(jīng)過(guò)三次握手和四次揮手,那么都會(huì)有相應(yīng)的服務(wù)器端口狀態(tài),只描述三次握手和四次揮手雙端的狀態(tài),如圖:
數(shù)據(jù)傳輸過(guò)程
協(xié)議棧中數(shù)據(jù)傳輸?shù)倪^(guò)程:
① 應(yīng)用程序處理
首先應(yīng)用程序會(huì)進(jìn)行編碼處理,這些編碼相當(dāng)于 OSI 的表示層功能;編碼轉(zhuǎn)化后,郵件不一定馬上被發(fā)送出去,這種何時(shí)建立通信連接何時(shí)發(fā)送數(shù)據(jù)的管理功能,相當(dāng)于 OSI 的會(huì)話層功能。
② TCP 模塊的處理
TCP 根據(jù)應(yīng)用的指示,負(fù)責(zé)建立連接、發(fā)送數(shù)據(jù)以及斷開(kāi)連接。TCP 提供將應(yīng)用層發(fā)來(lái)的數(shù)據(jù)順利發(fā)送至對(duì)端的可靠傳輸。為了實(shí)現(xiàn)這一功能,需要在應(yīng)用層數(shù)據(jù)的前端附加一個(gè) TCP 首部。
③ IP 模塊的處理
IP 將 TCP 傳過(guò)來(lái)的 TCP 首部和 TCP 數(shù)據(jù)合起來(lái)當(dāng)做自己的數(shù)據(jù),并在 TCP 首部的前端加上自己的 IP 首部。IP 包生成后,參考路由控制表決定接受此 IP 包的路由或主機(jī)。
④ 網(wǎng)絡(luò)接口(以太網(wǎng)驅(qū)動(dòng))的處理
從 IP 傳過(guò)來(lái)的 IP 包對(duì)于以太網(wǎng)來(lái)說(shuō)就是數(shù)據(jù)。給這些數(shù)據(jù)附加上以太網(wǎng)首部并進(jìn)行發(fā)送處理,生成的以太網(wǎng)數(shù)據(jù)包將通過(guò)物理層傳輸給接收端。
⑤ 網(wǎng)絡(luò)接口(以太網(wǎng)驅(qū)動(dòng))的處理
主機(jī)收到以太網(wǎng)包后,首先從以太網(wǎng)包首部找到 MAC 地址判斷是否為發(fā)送給自己的包,若不是則丟棄數(shù)據(jù)。如果是發(fā)送給自己的包,則從以太網(wǎng)包首部中的類(lèi)型確定數(shù)據(jù)類(lèi)型,再傳給相應(yīng)的模塊,如 IP、ARP 等。這里的例子則是 IP 。
⑥ IP 模塊的處理
IP 模塊接收到數(shù)據(jù)后也做類(lèi)似的處理。從包首部中判斷此 IP 地址是否與自己的 IP 地址匹配,如果匹配則根據(jù)首部的協(xié)議類(lèi)型將數(shù)據(jù)發(fā)送給對(duì)應(yīng)的模塊,如 TCP、UDP。這里的例子則是 TCP。另外,對(duì)于有路由器的情況,接收端地址往往不是自己的地址,此時(shí),需要借助路由控制表,在調(diào)查應(yīng)該送往的主機(jī)或路由器之后再進(jìn)行轉(zhuǎn)發(fā)數(shù)據(jù)。
⑦ TCP 模塊的處理
在 TCP 模塊中,首先會(huì)計(jì)算一下校驗(yàn)和,判斷數(shù)據(jù)是否被破壞。然后檢查是否在按照序號(hào)接收數(shù)據(jù)。最后檢查端口號(hào),確定具體的應(yīng)用程序。數(shù)據(jù)被完整地接收以后,會(huì)傳給由端口號(hào)識(shí)別的應(yīng)用程序。
⑧ 應(yīng)用程序的處理
接收端應(yīng)用程序會(huì)直接接收發(fā)送端發(fā)送的數(shù)據(jù)。通過(guò)解析數(shù)據(jù),展示相應(yīng)的內(nèi)容。
-
HTTP
+關(guān)注
關(guān)注
0文章
525瀏覽量
33453 -
FTP
+關(guān)注
關(guān)注
0文章
115瀏覽量
41387 -
TCPIP
+關(guān)注
關(guān)注
1文章
56瀏覽量
23173 -
TCPIP協(xié)議棧
+關(guān)注
關(guān)注
0文章
6瀏覽量
6091
發(fā)布評(píng)論請(qǐng)先 登錄
基于μCOS-Ⅱ的嵌入式TCPIP_協(xié)議棧的研究與實(shí)現(xiàn)
ARM開(kāi)發(fā)教程之基于ARM微處理器TCPIP協(xié)議棧LwlP實(shí)現(xiàn)
協(xié)議是什么 協(xié)議棧又是什么
51實(shí)現(xiàn)TCPIP協(xié)議原理圖
嵌入式TCPIP協(xié)議棧LWIP的內(nèi)部結(jié)構(gòu)

嵌入式小型TCPIP協(xié)議棧
基于ARM的輕量級(jí)TCPIP協(xié)議棧的移植及應(yīng)用

TCPIP協(xié)議棧的實(shí)現(xiàn)lwip
AN1921 - Microchip TCPIP精簡(jiǎn)協(xié)議棧

教你動(dòng)手寫(xiě)UDP協(xié)議棧—DNS報(bào)文解析
CAN協(xié)議棧與LIN協(xié)議棧介紹

評(píng)論