91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

傳輸層協議

發布時間:2020-06-22 19:57:23 來源:網絡 閱讀:2729 作者:kaikaiwang 欄目:網絡安全

一:引言

傳輸層定義了主機應用程序之間端到端的連通性。傳輸層中最為常見的兩個協議是傳輸控制協議(TCP)和和用戶數據報協議(UDP)

二:TCP

TCP概述

TCP是一種面向連接的傳輸層協議,提供可靠的傳輸服務。
TCP位于TCP?IP模型的傳輸層。它是一種面向連接的端到端協議。TCP作為傳輸控制協議可以為主機提供可靠的數據傳輸。TCP需要依賴網絡協議為主機提供可用的傳輸協議。兩臺主機在通信前,需要TCP在它們之間建立可靠的傳輸通道。

TCP端口號

TCP允許一個主機同時運行多個應用進程。每臺主機可以擁有多個應用端口,每對端口號、源和目標IP地址的組合唯一地標識了一個會話。

傳輸層協議
有些網絡服務會使用固定的端口,這類端口稱為知名端口,端口號范圍是0-1023。其余的為動態端口。

TCP頭部

傳輸層協議
源端口、目標端口:計算機上的進程要和其他進程通信是要通過計算機端口的,而一個計算機端口某個時刻只能被一個進程占用,所以通過指定源端口和目標端口,就可以知道是哪兩個進程需要通信。源端口、目標端口是用16位表示的,可推算計算機的端口個數為2^16個
序列號:表示本報文段所發送數據的第一個字節的編號。在TCP連接中所傳送的字節流的每一個字節都會按順序編號。由于序列號由32位表示,所以每2^32個字節,就會出現序列號回繞,再次從 0 開始
確認號:表示接收方期望收到發送方下一個報文段的第一個字節數據的編號。也就是告訴發送發:我希望你(指發送方)下次發送的數據的第一個字節數據的編號是這個確認號
數據偏移:表示TCP報文段的首部長度,共4位,由于TCP首部包含一個長度可變的選項部分,需要指定這個TCP報文段到底有多長。它指出 TCP 報文段的數據起始處距離 TCP 報文段的起始處有多遠。該字段的單位是32位(即4個字節為計算單位), 4位二進制最大表示15,所以數據偏移也就是TCP首部最大60字節76
TCP包頭
URG:表示本報文段中發送的數據是否包含緊急數據。后面的緊急指針字段(urgent pointer)只有當URG=1時才有效
ACK:表示是否前面的確認號字段是否有效。 ACK=1,表示有效。只有當ACK=1時,前面的確認號字段才有效。 TCP規定,連接建立后, ACK必須為1,帶ACK標志的TCP報文段稱為確認報文段
PSH:提示接收端應用程序應該立即從TCP接收緩沖區中讀走數據,為接收后續數據騰出空間。如果為1,則表示對方應當立即把數據提交給上層應用,而不是緩存起來,如果應用程序不將接收到的數據讀走,就會一直停留在TCP接收緩沖區中
RST:如果收到一個RST=1的報文,說明與主機的連接出現了嚴重錯誤(如主機崩潰),必須釋放連接,然后再重新建立連接。或者說明上次發送給主機的數據有問題,主機拒絕響應,帶RST標志的TCP報文段稱為復位報文段
SYN:在建立連接時使用,用來同步序號。當SYN=1, ACK=0時,表示這是一個請求建立連接的報文段;當SYN=1, ACK=1時,表示對方同意建立連接。 SYN=1,說明這是一個請求建立連接或同意建立連接的報文。只有在前兩次握手中SYN才置為1,帶SYN標志的TCP報文段稱為同步報文段
FIN:表示通知對方本端要關閉連接了,標記數據是否發送完畢。如果FIN=1,即告訴對方:“我的數據已經發送完畢,你可以釋放連接了”,帶FIN標志的TCP報文段稱為結束報文段
窗口大小:表示現在充許對方發送的數據量,也就是告訴對方,從本報文段的確認號開始允許對方發送的數據量
校驗和:提供額外的可靠性
緊急指針:標記緊急數據在數據字段中的位置
選項部分:其最大長度可根據TCP首部長度進行推算。 TCP首
部長度用4位表示,選項部分最長為: (2^4-1)*4-20=40字節

TCP建立連接(重點)

傳輸層協議
TCP是一種可靠的,面向連接的全雙工傳輸層協議。
TCP連接的建立是一個三次握手的過程。如圖所示
1客戶端發送一個標識了SYN的數據段,表示期望與服務器A建立連接,次數據段的序列號為a。
2服務器回復標識了SYN+ACK的數據段,此數據段的序列號為b,確認序列號為a+1,以此作為對主機A的SYN豹紋的確認。
3主機A發送一個標識了SYN的數據段,此數據段的序列號為a+1,確認序列號為b+1,以此作為對服務器A的SYN報文段的確認。

TCP傳輸過程

TCP在傳輸過程中采用了確認技術,以確保目的設備收到了從原設備發來的數據,并且是準確無誤的。
工作原理:
目的設備收到原設備發送的數據段時,會向源端發送確認報文,源設備收到確認報文后,繼續發送報文,如此重復。

TCP流量控制

TCP滑動窗口技術通過動態改變窗口大小來實現端到端設備之間的數據傳輸進行流量控制。
當客戶端向服務器發送數據時,發送了四個長度為1024字節的數據段,所以客戶端的窗口大小為4096字節。結果服務器收到第三
個數據段之后緩存區滿,第四個數據段被丟棄。服務器則將自己的窗口大小調整為3072字節(即3個數據段)表明服務器的緩存區只能處理3072個字節的數據段。于是客戶端改變其窗口大小,發送窗口大小為3072的數據段。

TCP關閉連接

TCP支持全雙工模式的傳輸數據,這意味著同一時刻兩個方向都可以進行數據的傳輸。再傳輸數據之前,TCP通過三次握手建立的實際上是兩個方向的鏈接,因此在傳輸完畢后,兩個方向的連接都必須關閉。
傳輸層協議
上圖中的狀態:
CLOSED 沒有任何連接狀態
LISTEN 偵聽狀態,等待來自遠方TCP端口的連接請求
SYN-SENT 在發送連接請求后,等待對方確認
SYN-RECEIVED 在收到和發送一個連接請求后,等待對方確認
ESTABLISHED 代表傳輸連接建立,雙方進入數據傳送狀態
FIN-WAIT-1 主動關閉,主機已發送關閉連接請求,等待對方確認
FIN-WAIT-2 主動關閉,主機已收到對方關閉傳輸連接確認,等待對方發送關閉傳輸連接請求
TIME-WAIT 完成雙向傳輸連接關閉,等待所有分組消失
CLOSE-WAIT 被動關閉,收到對方發來的關閉連接請求,并已確認 LAST-ACK 被動關閉,等待最后一個關閉傳輸連接確認,并等待所有分組消失
CLOSING 雙方同時嘗試關閉傳輸連接,等待對方確認
關閉連接過程:
1當客戶端執行主動關閉時,它將向服務器發送一個結束報文段,同時連接進入FIN_WAIT_1狀態。若此時客戶端收到服務器專門用于確認目的的確認報文段,則連接轉移至FIN_WAIT_2狀態。當客戶端處于FIN_WAIT_2狀態時,服務器處于CLOSE_WAIT狀態,這一對狀態是可能發生半關閉的狀態。此時如果服務器也關閉連接(發送結束報文段),則客戶端將給予確認并進入TIME_WAIT狀態

2客戶端從FIN_WAIT_1狀態可能直接進入TIME_WAIT狀態(不經過FIN_WAIT_2狀態),前提是處于FIN_WAIT_1狀態的服務器直接收到帶確認信息的結束報文段(而不是先收到確認報文段,再收到結束報文段)
3處于FIN_WAIT_2狀態的客戶端需要等待服務器發送結束報文段,才能轉移至TIME_WAIT狀態,否則它將一直停留在這個狀態。如果不是為了在半關閉狀態下繼續接收數據,連接長時間地停留在FIN_WAIT_2狀態并無益處。連接停留在FIN_WAIT_2狀態的情況可能發生在:客戶端執行半關閉后,未等服務器關閉連接就強行退出了。此時客戶端連接由內核來接管,可稱之為孤兒連接(和孤兒進程類似)。

UDP

UDP概述

UDP是一種面向無連接的傳輸層協議,傳輸可靠性沒有保障。當應用程序對傳輸的可靠性要求不高,但是對傳輸速度和延遲要求較高時,可以用UDP協議來代替TCP協議

UDP頭部

傳輸層協議

UDP傳輸過程

工作在傳輸層
提供不可靠的網絡訪問
非面向連接協議
有限的錯誤檢查
傳輸性能高
無數據恢復特性
使用UDP傳數據時,由應用程序根據需要提供保溫到達確認,排序,流量控制等功能。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

司法| 通州市| 铜梁县| 泊头市| 比如县| 加查县| 玉山县| 苍溪县| 上虞市| 望江县| 五指山市| 肃北| 泽库县| 建湖县| 上林县| 乳源| 手游| 五峰| 上高县| 华亭县| 锡林浩特市| 庆安县| 石柱| 吉安县| 汉沽区| 隆子县| 沛县| 加查县| 临泉县| 拉萨市| 诸城市| 常州市| 麻城市| 固安县| 启东市| 饶平县| 青川县| 崇文区| 唐河县| 正宁县| 大理市|