成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

淺談TCP協議,總算明白它是干什么的了

網絡 網絡管理
TCP即傳輸控制協議(Transmission Control Protocol)是一種面向連接的、可靠的、基于字節流的傳輸層通訊協議。

[[276056]]

 一、什么是TCP,他是干什么的?

TCP即傳輸控制協議(Transmission Control Protocol)是一種面向連接的、可靠的、基于字節流的傳輸層通訊協議。

TCP是為了在不可靠的互聯網上提供可靠的端到端字節流而專門設計的一個傳輸協議。

互聯網與單個網絡有很大的不同,因為互聯網的不同部分可能有截然不同的拓補結構、帶寬、延遲、數據包大小和其他參數。TCP的設計目標是能夠動態地適應互聯網的這些特性,而且具備面向各種故障的健壯性。

不同主機的應用層之間經常需要可靠的、像管道一樣的連接,但是IP層不提供這樣的流機制,而是提供不可靠的包交換。

應用層向TCP層發送用于網間傳輸的、用8位字節表示的數據流,然后TCP把數據流分區成適當長度的報文段(通常受計算連接的網絡的數據鏈路層的最大傳輸單元(MTU)的限制)。之后TCP把結果包傳輸給IP層,有它來通過網絡將包傳送給接收端實體的TCP層。

TCP為了保證不發生丟包,就給每個包一個序號,同時序號也保證了傳送到接收端實體的包的按序接收。然后

接收端實體對已成功接收到的包回一個相應的確認(ACK);如果發送端實體在合理的往返時延(RTT)內未接收到確認,那么對應的數據包就被假設為已丟失將會被進行重傳。TCP用一個校驗和函數來校驗數據是否有誤;在發送和接收時都要計算校驗。

每臺支持TCP的機器都有一個TCP傳輸實體。TCP 實體可以時一個庫過程、一個用戶進程、或者內核的一部分。在所有這些情形下,它管理TCP流,以及與IP層之間的接口。TCP傳輸實體接收本地進程的用戶數據流,將他們分割成不超過64KB(實際上去掉IP和TCP頭,通常不超過1460數據字節)的分段,每個分段以單獨的IP數據報形式發送。當包含TCP數據的數據報到達一臺機器時,它們被遞交給TCP傳輸實體,TCP傳輸實體重構出原始的字節流。為簡化起見,我們有時候僅僅用TCP來代表TCP傳輸實體(一段軟件)或者TCP協議(一組規則)。根據上下文語義你應該能很清楚的推斷出其實際含義。例如,在‘用戶將數據提交給TCP’這句話中,很顯然這里指的時TCP實體。

IP層并不保證數據報一定被正確的提交到接收方,也不只是數據報的發送速度有多塊。正是TCP負責紀要足夠快的發送數據報,以便使用網絡容量,但又不能引起網絡阻塞:而且,TCP超時后,要重傳沒有遞交的數據報。即使被正確遞交的數據報,也可能存在錯誤的問題,這也是TCP的責任,它必須把接收到的數據報重新裝配成正確的順序,簡言之,TCP必須提供可靠性的良好性能,這正是大多數用戶所期望的而IP又沒有提供的功能。

二、主要特點

當應用層向TCP層發送用于網間傳輸的、用8位字節表示的數據流,TCP則把數據流分割成適當長度的報文。之后TCP把數據包傳遞給IP層,由它來通過網絡將包傳送給接收端實體的TCP層。

TCP是一種面向廣域網的通信協議,目的是在跨越多個網絡通信時,為兩個通信端點之間提供一條具有一下特點的通信方式:

(1)基于流的方式;

(2)面向連接;

(3)可靠通信方式;

(4)在網絡情況不佳的時候盡量降低系統由于重傳帶來的帶寬開銷;

(5)通信連接維護是面向的兩個端點的,而不考慮中間網段和節點。

為滿足TCP協議的這些特點,TCP協議做了以下規定:

①數據分片:在發送端對用戶數據進行分片,在接收端進行重組,由TCP確定分片的大小并控制分片和重組;

②到達確認:接收端接收到分片數據時,根據分片數據序號向發送端發送一個確認;

③超時重發:發送方在發送分片時啟動超時定時器,如果在定時器超時之后沒有接收到對應的確認,重發分片;

④滑動窗口:TCP連接每一方的接收緩沖空間大小都固定,接收端只允許另一端發送接收端緩沖區所能接納的數據,TCP在滑動窗口的基礎上提供流量控制,防止較快主機致使較慢主機的緩沖區溢出;

⑤失序處理:作為IP數據報來傳輸的TCP分片到達時可能會失序,TCP將對接收的數據進行重新排序,將接收到的數據以正確的順序交給應用層;

⑥重復處理:作為IP數據報來傳輸的TCP分片會發生重復,TCP的接收端必須丟棄重復的數據;

⑦數據校驗:TCP將保持它首部和數據的校驗和,這是一個端到端的校驗和,目的是檢測數據在傳輸過程中的任何變化。如果收到分片的校驗和由差錯,TCP將丟棄這個分片,并確認接收到此報文段導致對端超時并重發。

三、工作方式

建立連接

TCP是因特網中的傳輸層協議,使用三次握手協議建立連接。當主動方發出SYN連接請求后,等待對方回答SYN+ACK,并最終對對方的SYN執行ACK確認。這種建立連接的方法可以防止產生錯誤的連接,TCP使用的流量控制協議是可便大小的華東窗口協議。

TCP三次握手的過程如下:

(1)客戶端發送SYN(SEQ=x)報文給服務端,進入SYN_SEND狀態。

(2)服務端接收SYN報文,回應一個SYN(SEQ=y)ACK(ACK=x+1)報文,進入SYN_RECV狀態。

(3)客戶端收到服務器端的SYN報文,回應一個ACK(ACK=y+1)報文,進入Established狀態。

三次握手完成,TCP客戶端和服務器端成功的建立連接,可以開始傳輸數據了。如圖:

 

淺談TCP協議,總算明白它是干什么的了

 

連接終止

建立一個連接需要三次握手,而重一一個連接要經過四次握手,這是由TCP的半關閉(half-close)造成的。具體過程如下圖所示。

淺談TCP協議,總算明白它是干什么的了

(1)某個應用進程首先調用close,稱該端執行”主動關閉“(active close)。該端的TCP于是發送一個FIN分節,表示數據分發完畢。

(2)接收到這個FIN的對端執行”被動關閉“(passive close),這個FIN由TCP確認。

注意:FIN的接收也作為一個文件結束符(end-of-file)傳遞給接收端應用進程,放在已排隊等候應用進程接收的任何其他數據報之后,因為,FIN的接收意味著金額手段應用進程相應連接再無額外數據可接收。

(3)一段時間后,接收到這個文件結束符的應用進程將調用close關閉它的套接字,這導致它的TCP也發送一個FIN。

(4)接收這個最終FIN的原發送端TCP(即執行主動關閉的那端)確認這個FIN。既然每個方向都需要一個FIN和一個ACK,因此通常需要4個分節。

淺談TCP協議,總算明白它是干什么的了

 

 

責任編輯:武曉燕 來源: 今日頭條
相關推薦

2023-09-21 15:54:55

數據中心

2010-07-08 09:37:25

2024-01-16 23:30:46

?fractionsPython分數

2022-12-02 14:57:15

物聯網物聯網平臺

2023-10-07 14:51:46

物聯網物聯網平臺

2022-02-15 08:30:04

TCP三次握手四次揮手

2021-10-11 10:41:14

TCP傳輸層協議網絡

2023-02-27 08:10:16

2018-02-26 10:26:34

軟件定義存儲

2021-03-04 10:20:41

運維工程師互聯網

2012-06-11 10:02:35

2021-09-08 08:26:06

SpringbootBeanPostPro

2020-11-04 16:00:22

文件系統

2020-10-29 11:08:06

CPUMySQL數據庫

2018-08-30 17:14:56

2022-07-11 18:34:49

指標體系KPI維度

2009-09-14 08:57:30

2025-05-28 03:11:00

token鑒權session

2019-08-09 16:01:18

Hadoop數據庫

2013-02-18 08:15:35

powershell
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 成人欧美一区二区三区黑人孕妇 | 在线观看免费福利 | 91精品一区二区三区久久久久久 | 日韩和的一区二区 | 亚洲精品一区二区三区在线 | 欧美一区二区三区视频 | 中文字幕一区二区三区四区 | 人人人干 | 免费观看一区二区三区毛片 | 精品9999| 在线视频a | 成人一区二区电影 | 四季久久免费一区二区三区四区 | 欧美一a一片一级一片 | 日韩av成人| 亚洲免费人成在线视频观看 | 99re| 亚洲美女一区 | 国产精品久久久久久久免费观看 | 日韩一区二区在线视频 | 精品二区| 午夜在线精品偷拍 | 欧美成人在线网站 | 久久精品国产一区二区电影 | 国产欧美一区二区久久性色99 | 激情久久久久 | 成人免费看黄网站在线观看 | 国产欧美在线 | 国产精品久久久久aaaa九色 | 99久久婷婷国产综合精品 | 九一国产精品 | a a毛片 | 日韩视频在线一区二区 | 一区二区三区在线播放 | 欧美一区视频在线 | 国产精品18久久久久久久 | 国产一区二区三区视频 | 黄色片在线免费看 | 久久精品亚洲精品国产欧美 | 国产区精品视频 | 精品自拍视频 |