-
當前位置:首頁 > 創(chuàng)意學(xué)院 > 技術(shù) > 專題列表 > 正文
tcp支持的應(yīng)用協(xié)議(tcp支持的應(yīng)用協(xié)議有哪些)
大家好!今天讓創(chuàng)意嶺的小編來大家介紹下關(guān)于tcp支持的應(yīng)用協(xié)議的問題,以下是小編對此問題的歸納整理,讓我們一起來看看吧。
開始之前先推薦一個非常厲害的Ai人工智能工具,一鍵生成原創(chuàng)文章、方案、文案、工作計劃、工作報告、論文、代碼、作文、做題和對話答疑等等
只需要輸入關(guān)鍵詞,就能返回你想要的內(nèi)容,越精準,寫出的就越詳細,有微信小程序端、在線網(wǎng)頁版、PC客戶端
官網(wǎng):https://ai.de1919.com
本文目錄:
一、TCP/IP協(xié)議包括什么
TCP/IP協(xié)議包括因特網(wǎng)協(xié)議IP、傳輸控制協(xié)議TCP、用戶數(shù)據(jù)報協(xié)議UDP、虛擬終端協(xié)議TELNET、文件傳輸協(xié)議FTP、電子郵件傳輸協(xié)議SMTP、網(wǎng)上新聞傳輸協(xié)議NNTP、超文本傳送協(xié)議HTTP八大協(xié)議。
TCP/IP參考模型是首先由ARPANET所使用的網(wǎng)絡(luò)體系結(jié)構(gòu)。這個體系結(jié)構(gòu)在它的兩個主要協(xié)議出現(xiàn)以后被稱為TCP/IP參考模型。這一網(wǎng)絡(luò)協(xié)議共分為四層:網(wǎng)絡(luò)訪問層、互聯(lián)網(wǎng)層、傳輸層和應(yīng)用層,各層有相應(yīng)的協(xié)議。
1、網(wǎng)絡(luò)訪問層
在TCP/IP參考模型中并沒有詳細描述,只是指出主機必須使用某種協(xié)議與網(wǎng)絡(luò)相連。
2、互聯(lián)網(wǎng)層
是整個體系結(jié)構(gòu)的關(guān)鍵部分,其功能是使主機可以把分組發(fā)往任何網(wǎng)絡(luò),并使分組獨立地傳向目標。這些分組可能經(jīng)由不同的網(wǎng)絡(luò),到達的順序和發(fā)送的順序也可能不同。高層如果需要順序收發(fā),那么就必須自行處理對分組的排序?;ヂ?lián)網(wǎng)層使用因特網(wǎng)協(xié)議(IP)。
3、傳輸層
使源端和目的端機器上的對等實體可以進行會話。在這一層定義了兩個端到端的協(xié)議:傳輸控制協(xié)議(TCP)和用戶數(shù)據(jù)報協(xié)議(UDP)。TCP是面向連接的協(xié)議,它提供可靠的報文傳輸和對上層應(yīng)用的連接服務(wù)。
為此,除了基本的數(shù)據(jù)傳輸外,它還有可靠性保證、流量控制、多路復(fù)用、優(yōu)先權(quán)和安全性控制等功能。UDP是面向無連接的不可靠傳輸?shù)膮f(xié)議,主要用于不需要TCP的排序和流量控制等功能的應(yīng)用程序。
4、應(yīng)用層
包含所有的高層協(xié)議,包括:虛擬終端協(xié)議(TELNET)、文件傳輸協(xié)議(FTP)、電子郵件傳輸協(xié)議(SMTP)、域名服務(wù)(DNS)、網(wǎng)上新聞傳輸協(xié)議(NNTP)和超文本傳送協(xié)議(HTTP)等。
TELNET允許一臺機器上的用戶登錄到遠程機器上,并進行工作;FTP提供有效地將文件從一臺機器上移到另一臺機器上的方法;SMTP用于電子郵件的收發(fā);DNS用于把主機名映射到網(wǎng)絡(luò)地址;NNTP用于新聞的發(fā)布、檢索和獲??;HTTP用于在WWW上獲取主頁。
擴展資料:
TCP/IP協(xié)議的主要特點:
1、TCP/IP協(xié)議不依賴于任何特定的計算機硬件或操作系統(tǒng),提供開放的協(xié)議標準,即使不考慮Internet,TCP/IP協(xié)議也獲得了廣泛的支持。所以TCP/IP協(xié)議成為一種聯(lián)合各種硬件和軟件的實用系統(tǒng)。
2、TCP/IP協(xié)議并不依賴于特定的網(wǎng)絡(luò)傳輸硬件,所以TCP/IP協(xié)議能夠集成各種各樣的網(wǎng)絡(luò)。用戶能夠使用以太網(wǎng)、令牌環(huán)網(wǎng)、撥號線路、X.25網(wǎng)以及所有的網(wǎng)絡(luò)傳輸硬件。
3、統(tǒng)一的網(wǎng)絡(luò)地址分配方案,使得整個TCP/IP設(shè)備在網(wǎng)中都具有惟一的地址。
4、標準化的高層協(xié)議,可以提供多種可靠的用戶服務(wù)。
參考資料來源:百度百科-TCP/IP協(xié)議
二、TCP協(xié)議解析
主要特點:面向連接、面向字節(jié)流、全雙工通信、通信可靠。
優(yōu)缺點:
應(yīng)用場景:要求通信數(shù)據(jù)可靠時,即 數(shù)據(jù)要準確無誤地傳遞給對方。如:傳輸文件:HTTP、HTTPS、FTP等協(xié)議;傳輸郵件:POP、SMTP等協(xié)議
ps:首部的前 20 個字節(jié)固定,后面有 4n 字節(jié)根據(jù)需要增加。故 TCP首部最小長度 = 20字節(jié)(最大60個字節(jié))。
TCP報頭中的源端口號和目的端口號同IP數(shù)據(jù)報中的源IP與目的IP唯一確定一條TCP連接。
重要字段:
客戶端與服務(wù)器來回共發(fā)送三個TCP報文段來建立運輸連接,三個TCP報文段分別為:
(1)客戶端A向服務(wù)器B發(fā)送的TCP請求報段“SYN=1,seq=x”;
(2)服務(wù)器B向客戶端A發(fā)送的TCP確認報文段“SYN=1,ACK=1,seq=y,ack=x+1”;
(3)客戶端A向服務(wù)器B發(fā)送的TCP確認報文段“ACK=1,seq=x+1,ack=y+1”。
ps:在建立TCP連接之前,客戶端和服務(wù)器都處于關(guān)閉狀態(tài)(CLOSED),直到客戶端主動打開連接,服務(wù)器才被動打開連接(處于監(jiān)聽狀態(tài) = LISTEN),等待客戶端的請求。
TCP 協(xié)議是一個面向連接的、安全可靠的傳輸層協(xié)議,三次握手的機制是為了保證能建立一個安全可靠的連接。
通過上述三次握手, 雙方確認自己與對方的發(fā)送與接收是正常的,就建立起一條TCP連接,即可傳送應(yīng)用層數(shù)據(jù) 。ps:因 TCP提供的是全雙工通信,故通信雙方的應(yīng)用進程在任何時候都能發(fā)送數(shù)據(jù);三次握手期間,任何1次未收到對面的回復(fù),則都會重發(fā)。
為什么兩次握手不行呢 ?
結(jié)論:防止服務(wù)器接收了 早已經(jīng)失效的連接請求報文 ,服務(wù)器同意連接,從而一直等待客戶端請求, 最終導(dǎo)致形成死鎖、浪費資源 。
ps:SYN洪泛攻擊:(具體見下文)
為什么不需要四次握手呢 ?
SYN 同步序列編號(Synchronize Sequence Numbers) 是 TCP/IP 建立連接時使用的握手信號。在客戶機和服務(wù)器之間建立正常的 TCP 網(wǎng)絡(luò)連接時,客戶機首先發(fā)出一個 SYN 消息,服務(wù)器使用 SYN-ACK 應(yīng)答表示接收到了這個消息,最后客戶機再以 ACK確認序號標志消息響應(yīng)。這樣在客戶機和服務(wù)器之間才能建立起可靠的 TCP 連接,數(shù)據(jù)才可以在客戶機和服務(wù)器之間傳遞。
如何來解決半連接攻擊?
如何來解決全連接攻擊?
請注意 ,現(xiàn)在 TCP 連接還沒有釋放掉。必須經(jīng)過 時間等待計時器 設(shè)置的時間 2MSL(MSL:最長報文段壽命)后,客戶端才能進入到 CLOSED 狀態(tài),然后撤銷傳輸控制塊,結(jié)束這次 TCP 連接。當然如果服務(wù)器一收到 客戶端的確認就進入 CLOSED 狀態(tài),然后撤銷傳輸控制塊。所以在釋放連接時,服務(wù)器結(jié)束 TCP 連接的時間要早于客戶端。
TCP是全雙工的連接,必須兩端同時關(guān)閉連接,連接才算真正關(guān)閉。 簡言之,客戶端發(fā)送了 FIN 連接釋放報文之后,服務(wù)器收到了這個報文,就進入了 CLOSE-WAIT 狀態(tài)。這個狀態(tài)是為了讓服務(wù)器端發(fā)送還未傳送完畢的數(shù)據(jù),傳送完畢之后,服務(wù)器才會發(fā)送 FIN 連接釋放報文,對方確認后就完全關(guān)閉了TCP連接。
舉個例子:A 和 B 打電話,通話即將結(jié)束后,A 說“我沒啥要說的了”,B回答“我知道了”,但是 B 可能還會有要說的話,A 不能要求 B 跟著自己的節(jié)奏結(jié)束通話,于是 B 可能又巴拉巴拉說了一通,最后 B 說“我說完了”,A 回答“知道了”,這樣通話才算結(jié)束。
ps:設(shè)想這樣一個情景: 客戶端已主動與服務(wù)器建立了 TCP 連接。但后來客戶端的主機突然發(fā)生故障。 顯然,服務(wù)器以后就不能再收到客戶端發(fā)來的數(shù)據(jù)。因此,應(yīng)當有措施使服務(wù)器不要再白白等待下去。這就需要使用 TCP的?;钣嫊r器 ?;驹恚?/p>
tcp11種狀態(tài)及變遷其實基本包含在正常的三次握手和四次揮手中,除開CLOSING。
正常的三次握手包括4中狀態(tài)變遷:
服務(wù)器打開監(jiān)聽(LISTEN)->客戶端先發(fā)起SYN主動連接標識->服務(wù)器回復(fù)SYN及ACK確認->客戶端再確認即三次握手TCP連接成功。這里邊涉及四種狀態(tài)及變遷:
正常的四次握手包含6種tcp狀態(tài)變遷,如主動發(fā)起關(guān)閉方為客戶端:
客戶端發(fā)送FIN進入FIN_WAIT1 -> 服務(wù)器發(fā)送ACK確認并進入CLOSE_WAIT(被動關(guān)閉)狀態(tài)->客戶端收到ACK確認后進入FIN_WAIT2狀態(tài) -> 服務(wù)器再發(fā)送FIN進入LAST_ACK狀態(tài) -> 客戶端收到服務(wù)器的FIN后發(fā)送ACK確認進入TIME_WAIT狀態(tài) -> 服務(wù)器收到ACK確認后進入CLOSED狀態(tài)斷開連接 -> 客戶端在等待2MSL的時間如果期間沒有收到服務(wù)器的相關(guān)包,則進入CLOSED狀態(tài)斷開連接。
CLOSING狀態(tài) :連接斷開期間,一般是客戶端發(fā)送一個FIN,然后服務(wù)器回復(fù)一個ACK,然后服務(wù)器發(fā)送完數(shù)據(jù)后再回復(fù)一個FIN,當客戶端和服務(wù)器同時接受到FIN時,客戶端和服務(wù)器處于CLOSING狀態(tài),也就是此時雙方都正在關(guān)閉同一個連接。
在進入CLOSING狀態(tài)后,只要收到了對方對自己發(fā)送的FIN的ACK,收到FIN的ACK確認就進入TIME_WAIT狀態(tài),因此,如果RTT(Round Trip Time TCP包的往返延時)處在一個可接受的范圍內(nèi),發(fā)出的FIN會很快被ACK從而進入到TIME_WAIT狀態(tài),CLOSING狀態(tài)持續(xù)的時間就特別短,因此很難看到這種狀態(tài)。
我們知道網(wǎng)絡(luò)層,可以實現(xiàn)兩個主機之間的通信。但是這并不具體,因為,真正進行通信的實體是在主機中的進程,是一個主機中的一個進程與另外一個主機中的一個進程在交換數(shù)據(jù)。IP協(xié)議雖然能把數(shù)據(jù)報文送到目的主機, 但是并沒有交付給主機的具體應(yīng)用進程 。而 端到端的通信才應(yīng)該是應(yīng)用進程之間的通信 。
應(yīng)用場景 :UDP協(xié)議比TCP協(xié)議的效率更高,TCP協(xié)議比UDP協(xié)議更加安全可靠。
下面主要對 數(shù)據(jù)傳輸出現(xiàn)錯誤/無應(yīng)答/堵塞/超時/重復(fù) 等問題。
注意:TCP丟包:TCP是基于不可靠的網(wǎng)路實現(xiàn)可靠傳輸,肯定會存在丟包問題。如果在通信過程中,發(fā)現(xiàn)缺少數(shù)據(jù)或者丟包,那邊么 最大的可能性是程序發(fā)送過程或者接受過程中出現(xiàn)問題。
總結(jié):為了滿足TCP協(xié)議不丟包,即保證可靠傳輸,規(guī)定如下:
注意:TCP丟包有三方面的原因,一是網(wǎng)絡(luò)的傳輸質(zhì)量不好,二是安全策略,三是服務(wù)器性能瓶頸
先理解2個基礎(chǔ)概念:發(fā)送窗口、接收窗口
工作原理:
注意點:
關(guān)于滑動窗口的知識點:
滑動窗口中的數(shù)據(jù)類型:
ARQ解決的問題:出現(xiàn)差錯時,讓發(fā)送方重傳差錯數(shù)據(jù):即 出錯重傳
類型:
流量控制和擁塞控制解決的問題:當接收方來不及接收收到的數(shù)據(jù)時,可通知發(fā)送方降低發(fā)送數(shù)據(jù)的效率:即 速度匹配
流量控制 :
注意:
擁塞控制 :
慢開始與擁塞避免 :
快重傳和快恢復(fù) :
補充:流量控制和擁塞控制的區(qū)別
什么情況造成TCP粘包和拆包?
解決TCP粘包和拆包的方法:
傳輸層無法保證數(shù)據(jù)的可靠傳輸 ,只能通過應(yīng)用層來實現(xiàn)了。實現(xiàn)的方式可以參照tcp可靠性傳輸?shù)姆绞剑皇菍崿F(xiàn)不在傳輸層,實現(xiàn)轉(zhuǎn)移到了應(yīng)用層。
最簡單的方式是在應(yīng)用層模仿傳輸層TCP的可靠性傳輸。 下面不考慮擁塞處理,可靠UDP的簡單設(shè)計。
https://www.jianshu.com/p/65605622234b
http://www.open-open.com/lib/view/open1517213611158.html
https://blog.csdn.net/dangzhangjing97/article/details/81008836
https://blog.csdn.net/qq_30108237/article/details/107057946
https://www.jianshu.com/p/6c73a4585eba
三、tcp ip協(xié)議包含哪些應(yīng)用協(xié)議
通常我們說得tcp/ip協(xié)議其實是一個協(xié)議族。
它包括得其他協(xié)議有:
1
遠程登陸協(xié)議(telent)
2
文件傳輸協(xié)議(ftp
,file
transfer
protocol)
3
簡單郵件傳輸協(xié)議(smtp,simple
transfer
protocol)
4
域名系統(tǒng)(domain
name
system
,
dns)
5
簡單網(wǎng)絡(luò)管理協(xié)議(
simple
network
management
protocol)
6
超文本傳送協(xié)議(http,hyper
text
transfer
protocol)
7
用戶數(shù)據(jù)報協(xié)議(udp)
平時用得qq就是用這個udp協(xié)議傳送消息得!
四、TCP/IP協(xié)議是什么?
TCP/IP是供已連接因特網(wǎng)的計算機進行通信的通信協(xié)議。
TCP/IP協(xié)議TransmissionControlProtocol/InternetProtocol的簡寫,中譯名為傳輸控制協(xié)議/因特網(wǎng)互聯(lián)協(xié)議,又名網(wǎng)絡(luò)通訊協(xié)議,是Internet最基本的協(xié)議、Internet國際互聯(lián)網(wǎng)絡(luò)的基礎(chǔ),由網(wǎng)絡(luò)層的IP協(xié)議和傳輸層的TCP協(xié)議組成。
TCP/IP傳輸協(xié)議,即傳輸控制/網(wǎng)絡(luò)協(xié)議,也叫作網(wǎng)絡(luò)通訊協(xié)議。它是在網(wǎng)絡(luò)的使用中的最基本的通信協(xié)議。TCP/IP傳輸協(xié)議對互聯(lián)網(wǎng)中各部分進行通信的標準和方法進行了規(guī)定。并且,TCP/IP傳輸協(xié)議是保證網(wǎng)絡(luò)數(shù)據(jù)信息及時、完整傳輸?shù)膬蓚€重要的協(xié)議。
TCP/IP傳輸協(xié)議是嚴格來說是一個四層的體系結(jié)構(gòu),應(yīng)用層、傳輸層、網(wǎng)絡(luò)層和數(shù)據(jù)鏈路層都包含其中。
以上就是關(guān)于tcp支持的應(yīng)用協(xié)議相關(guān)問題的回答。希望能幫到你,如有更多相關(guān)問題,您也可以聯(lián)系我們的客服進行咨詢,客服也會為您講解更多精彩的知識和內(nèi)容。
推薦閱讀:
ChatGPTAPP綠色版(chatcraft pro 綠色版)