計網復習知識(16)傳輸層及其協議功能

目錄

考研大綱

1.傳輸層概述

端口號

有連接/無連接傳輸

可靠/不可靠傳輸

2.UDP協議

2.1 udp數據報

2.2 udp檢驗

3.TCP協議

3.1 TCP協議的框架梳理

3.2 TCP報文段****

3.3 三次握手與四次揮手

三次握手

四次揮手

3.4 可靠傳輸與流量控制

流量控制:滑動窗口機制

可靠傳輸:確認機制,超時重傳與快重傳機制

3.5 擁塞控制

擁塞控制介紹

慢開始和擁塞避免算法

快重傳與快恢復算法


考研大綱

1.傳輸層概述

端口號

有連接/無連接傳輸

可靠/不可靠傳輸


2.UDP協議

UDP是無連接,不可靠的,不支持擁塞控制,適用于即時性的場景,如直播等

UDP接收的是應用層完整的報文,因此說udp是面向報文的

2.1 udp數據報

UDP數據報理論最大長度為65535B,但受限于IP數據報的長度,所以實際上最大不能超過65515B

UDP數據報示例

總結


2.2 udp檢驗

首先介紹一個校驗方法。發送方取每16bit數據的二進制進行相加(注意“高位回卷”),加完的結果取反,得到同樣二進制數的16bit檢驗和。把原數據和檢驗和一起發送。那么接收方判斷數據是否正確就是同樣進行原數據每16bit相加,最后和校驗和相加,如果全為1代表正確。

介紹完上面的校驗方式,那么就來看看udp校驗,其實也是這樣的方式。

發送方:

接收方:

真題:


3.TCP協議

3.1 TCP協議的框架梳理

三次握手四次揮手的整體流程

TCP有最大段長限制,同時TCP可以分段,而不像UDP要求傳輸完整報文,因此TCP也稱面向字節流

3.2 TCP報文段****

都是重點

ACK只有在握手階段的第一次握手為0,之后的全為1.

起始序號不一定從0開始,如下圖,可以從500開始

確認號ack-seq:按照教材定義,表示期望接收的下一個序列號是多少

確認后示例,如下圖,當接收方已經成功接受了1號和2號這2個報文段,那么他可以返回的ack-seq = 2500,表示2500之前的字節都成功接收了,期望接收的下一個序列號從2500開始

數據偏移:其實就是TCP首部的長度;跟IP數據報的首部是一樣的,回憶一下,418:首總偏,ip數據報的首部也是X 4B。

SYN只有在握手1和握手2時 == 1,表示請求連接和連接接受

FIN只有在揮手1和揮手3時 == 1,表示數據發送完畢,要求釋放連接

示例

窗口字段

示例,例如主機B的TCP協議給進程2分配的接收緩沖區為2500B,現在他已經接收了1和2這兩個報文段了,剩500B,那么返回的rcvwnd=500

校驗和字段

選項字段和MSS


3.3 三次握手與四次揮手

三次握手

三次握手中的字段變化

注意下邊左右連接的區別,主要是在握手3,握手3是可以不攜帶數據的

真題,題目求的是握手2服務端要發送的TCP段的值,SYN =1在握手1和2中,所以這里是SYN =1;ACK只在握手1里為0,所以這里ACK = 1;seq是服務器自己設置要發送的起始字節,隨便都可以的,這里不能用來判斷;ack = 11220+1=11221,這里能確定。所以選c

三次握手中TCP狀態變化

三次握手中連接耗時


四次揮手

字段的變化

tcp狀態變化

連接耗時計算

真題,就是上圖算連接耗時,客戶端進入close的時間= 1倍RTT + 2MSL = 50 + 1600 =1650,服務器進入close的時間 = 1.5倍RTT = 75。


3.4 可靠傳輸與流量控制

可靠傳輸在數據鏈路層也有,二者有很多相似之處。數據鏈路層是以幀為單位進行重傳確認,而TCP是以TCP段進行重傳確認。流量控制同樣在數據鏈路層也有,也是滑動窗口機制。

流量控制:滑動窗口機制

確認號與接收窗口的大小會在TCP首部中。

發送窗口不能超過自己的發送緩沖區;也不能大于對方的接受窗口。

擴展:一個端口可以建立多個TCP連接


可靠傳輸:確認機制,超時重傳與快重傳機制

可靠傳輸依靠確認機制和重傳機制實現,確認機制就是接收方返回ACK段。重傳機制有超時重傳與快重傳,這二者的差別在于接收方是返回確認ACK段的時機,因為確認機制返回ACK的時機是“推遲確認”,快重傳會讓確認機制變為“立即確認”。

累計確認

捎帶確認

超時重傳場景:

情況1:客戶端發出的報文段丟失

情況2:服務器返回的ACK段丟失

快重傳機制

下面是推遲確認下的重傳的場景,當發送方連續發送的4個報文段中有報文段丟了,那么由于推遲確認,最后發送方要重發一堆的報文段,這會導致浪費,畢竟只是丟失了其中某個報文段,沒必要重傳一堆報文段。

推遲后發送一個ACK如下

發送方接收到ACK后調整自己的窗口,可以看到23,24,25已經在之前發送了而且他們的計時器還沒超時,所以這時候是得等待超時才能重發的。

而快重傳就是來解決這種問題,每收到一個報文段就立即返回確認。如果發送方收到三個冗余確認號相同的ACK,就立即重傳對應的報文段。按照圖示,應當是收到1+3個確認后相同的ACK。

真題


3.5 擁塞控制

擁塞控制介紹

考題中假設接收方采用的確認機制都是“立即確認”。

引發超時重傳--因為默認考題中的接收方采用的是“立即確認”,那么發出的報文未能按時收到ACK就表明網絡擁塞嚴重了。

引發快重傳--接收方“立即確認”能夠按時發送冗余ACK給發送方,說明發送方有報文丟失,但網絡情況沒那么嚴重,因為發送方還能按時收到多個冗余ACK觸發快重傳。

上圖中發送窗口的上限制 看做等于 擁塞窗口,也就是默認接收窗口一直大于擁塞窗口的情況。

慢開始和擁塞避免算法

按照上圖和下圖理解,很透徹。

慢開始階段擁塞窗口(即發送窗口)是指數型增長,當到達閾值后每次只能+1。當發生超時重傳(網絡擁塞嚴重)就恢復慢開始(擁塞窗口重置為1,同時將閾值設為 此前的窗口值/2)。如此反復。

真題

注意:發送窗口 = min(擁塞窗口,接收窗口),題目中的乙的16KB接收緩存就是接收窗口,不被取走意味著接收窗口只會越來越小。


快重傳與快恢復算法

我們說快重傳是網絡不那么擁塞的情況。快重傳觸發時閾值與擁塞窗口相等,等于發生時的擁塞窗口的一半,因此同樣觸發了擁塞避免(一次只能加1個擁塞窗口)。注意:擁塞窗口最小要大于等于2。

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/diannao/87051.shtml
繁體地址,請注明出處:http://hk.pswp.cn/diannao/87051.shtml
英文地址,請注明出處:http://en.pswp.cn/diannao/87051.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

每天一個前端小知識 Day 1

語義化 HTML&#xff08;Semantic HTML&#xff09; 1. 什么是語義化 HTML&#xff1f; 語義化 HTML 指的是使用符合內容含義的標簽&#xff0c;而不僅僅為了布局或樣式。例如&#xff1a; <article>…</article> <nav>…</nav> <header>…&l…

在docker中部署mysql

部署 MySQL&#xff08;端口 9006&#xff09; 1. 創建數據目錄 mkdir -p ~/qihuang/mysql/data2. 啟動 MySQL 容器 docker run -d \--name mysql-qihuang \-p 9006:3306 \-v ~/qihuang/mysql/data:/var/lib/mysql \-e MYSQL_ROOT_PASSWORDroot \-e MYSQL_DATABASEqihuangdb…

JavaScript基礎-事件對象

一、前言 在前端開發中&#xff0c;用戶與頁面的交互行為&#xff08;如點擊按鈕、輸入文本、滾動頁面等&#xff09;都會觸發相應的事件。而這些事件發生時&#xff0c;瀏覽器會自動創建一個 事件對象&#xff08;Event Object&#xff09;&#xff0c;它包含了當前事件的所有…

藍橋杯_染色_bfs_Java

臨時抱抱佛腳&#xff0c;太浮躁了&#xff0c;藍橋杯已經快1個半月沒做題了。 本人比較菜&#xff0c;感覺這個時間節點也只能把暴力題給盡量多做做&#xff0c;找找做題手感&#xff0c;其他就純憑運氣了吧。T-T。 題目 問題描述 小藍有一個 n 行 m 列的白色棋盤, 棋盤的每一…

MySQL 究極奧義·動態乾坤大挪移·無敵行列轉換術

導入大SQL文件 [mysqld] # 大批量導入優化 bulk_insert_buffer_size1G max_allowed_packet1G innodb_autoextend_increment512M innodb_buffer_pool_size4G innodb_log_buffer_size4G innodb_log_file_size4G動態行列轉換 DROP TABLE IF EXISTS tb_score;CREATE TABLE tb_sco…

Excel大廠自動化報表實戰(互聯網金融-數據分析周報制作中)

這是Excel大廠自動化報表實戰第三期--互聯網金融-數據分析周報制作中 數據資源已經與這篇博客捆綁&#xff0c;有需要者可以下載通過網盤分享的文件&#xff1a;2.4自動化報表-8月成交數據.xlsx&#xff0c;2.4自動化報表-8月獲客數據.csv等2個文件 鏈接: https://pan.baidu.c…

langchain從入門到精通(七)——利用回調功能調試鏈應用 - 讓過程更透明

1. Callback 功能介紹 Callback 是 LangChain 提供的回調機制&#xff0c;允許我們在 LLM 應用程序的各個階段使用 hook &#xff08;鉤子&#xff09;。鉤子的含義也非常簡單&#xff0c;我們把應用程序看成一個一個的處理邏輯&#xff0c;從開始到結束&#xff0c;鉤子就是在…

如何使用Postman做接口自動化測試

&#x1f345; 點擊文末小卡片&#xff0c;免費獲取軟件測試全套資料&#xff0c;資料在手&#xff0c;漲薪更快 本文適合已經掌握 Postman 基本用法的讀者&#xff0c;即對接口相關概念有一定了解、已經會使用 Postman 進行模擬請求等基本操作。 工作環境與版本&#xff1a; …

ELK日志文件分析系統——E(Elasticsearch)

目錄 基本概念 一、架構設計 二、核心原理 三、關鍵特性 四、應用意義 部署步驟 ?一、環境準備? ?二、安裝 Elasticsearch? ?三、關鍵配置&#xff08;elasticsearch.yml&#xff09;? ?四、啟動與驗證? ?五、集群擴展&#xff08;新增節點&#xff09;? …

融智學教育觀及其數學公式體系凝練匯總

摘要&#xff1a;本文系統闡述了鄒曉輝教授的融智學教育觀&#xff0c;通過原創數學公式體系構建了人機協同教育模型。核心內容包括&#xff1a;認知本體論&#xff08;文明智慧當量方程&#xff09;、方法論&#xff08;七遍通訓練算子&#xff09;、生態位控制論&#xff08;…

互聯網大廠Java求職面試:AI大模型應用實踐中的架構挑戰與實戰

互聯網大廠Java求職面試&#xff1a;AI大模型應用實踐中的架構挑戰與實戰 引言 在當今技術飛速發展的時代&#xff0c;AI大模型已成為企業數字化轉型的重要引擎。無論是內容生成、智能客服、個性化推薦&#xff0c;還是知識圖譜構建和語義理解&#xff0c;大模型的應用場景正在…

龜兔賽跑算法(Floyd‘s Cycle-Finding Algorithm)尋找重復數

龜兔賽跑算法&#xff08;Floyd’s Cycle-Finding Algorithm&#xff09;尋找重復數 問題描述 給定一個長度為 N1 的數組 nums&#xff0c;其中每個元素的值都在 [1, N] 范圍內。根據鴿巢原理&#xff0c;至少有一個數字是重復的。請找出這個重復的數字。 要求&#xff1a; …

紫光展銳T8300以創新音頻技術重塑感知世界

數字化時代&#xff0c;從語音通話到智能交互&#xff0c;從聆聽音樂到創作Vlog&#xff0c;聲音已成為隱形的基礎措施。日益發展的音頻技術正在重構用戶感知世界的方式&#xff0c;重塑用戶的聽覺體驗。 T8300是紫光展銳專為全球主流用戶打造的5G SoC&#xff0c;采用了紫光展…

寫作詞匯積累(A):頗有微詞、微妙(“微”字的學習理解)

一、頗有微詞 1、基本介紹 【頗有微詞】指對某人或某事有輕微的批評、不滿或不同意見&#xff0c;但表達得含蓄委婉 【頗】表示程度較深&#xff0c;【微詞】表示隱晦的批評 【微】表示隱晦的、不直白的&#xff0c;強調批評的委婉性 2、使用實例 1、盡管公司的新考勤制度…

flowable工作流的學習demo

1.spring 部署流程 刪除部署 查看歷史信息 加載一個默認的配置文件 里面包含用戶名和數據庫信息 加載自定義的配置文件 flowable.cfg.xml <beans xmlns"http://www.springframework.org/schema/beans"xmlns:xsi"http://www.w3.org/2001/XMLSchema-instance…

XCTF-misc-can_has_stdio?

下載得到一個文件 ┌──(kali?kali)-[~] └─$ file misc50 misc50: ASCII text, with very long lines (536)┌──(kali?kali)-[~] └─$ cat misc50 …

【編譯工具】(自動化)AI 賦能的自動化測試工具:如何讓測試效率提升 500% 并實現智能質檢?

#『編程工具』提升效率征文挑戰賽# 目錄 引言&#xff1a;AI 如何重塑自動化測試格局 一、新一代 AI 測試工具核心能力解析 二、實戰演示&#xff1a;Testim 智能測試平臺 &#xff08;1&#xff09;智能錄制測試流程 ① 步驟演示 ② AI 元素定位原理 &#xff08…

毛紀逆向分析

文章目錄 毛紀逆向分析前言知識系統整體架構概述模塊分析模塊0模塊1模塊2模塊3模塊4模塊5總結毛紀逆向分析 對爬蟲、逆向感興趣的同學可以查看文章,一對一小班教學(系統理論和實戰教程)、提供接單兼職渠道:https://blog.csdn.net/weixin_35770067/article/details/142514698…

【力扣 簡單 C】141. 環形鏈表

目錄 題目 解法一&#xff1a;哈希 解法二&#xff1a;快慢指針 題目 解法一&#xff1a;哈希 struct node {struct ListNode* val;struct node* next; };struct hashSet {struct node** bucket;int size; };struct hashSet* hashSetInit(int size) {struct hashSet* hashS…

Eureka 服務注冊與發現原理和使用

1.Eureka 基礎概念 Eureka 是 Netflix 開發的服務注冊與發現組件&#xff0c;是 Spring Cloud 微服務架構中的核心模塊&#xff0c;用于解決微服務間的自動發現與通信問題。其核心功能包括&#xff1a; 服務注冊&#xff1a;服務實例將自身信息&#xff08;IP、端口、健康狀態等…