電腦知識 | TCP通俗易懂詳解 <一>

目錄

一、👋🏻前言

二、🚍什么是TCP/TCP協議

三、🧍?♂為什么TCP可靠

1.🥰關于可靠

2.🤠哪里可靠

3.🎓?圖片的三次握手,四次揮手?

4.📚?知識點總結

四、📰TCP每次傳的信息

1.🐘信息大小限制

2.報文和字節流


一、👋🏻前言

大家好,我是菌菌巧樂茲~這篇文章是從簡單到深入的詳細講解TCP

二、🚍什么是TCP/TCP協議

建議先別看這段

傳輸控制協議(TCP,Transmission Control Protocol)是為了在不可靠的互聯網絡上提供可靠的端到端字節流而專門設計的一個傳輸協議。

TCP是電腦傳遞信息的一種可靠方式。

類比解釋:順豐快遞是我們發東西的一種方式,相對其他快遞比較安全(可靠),反正我個人如果發比較重要的東西,就會選擇順豐。


當你把東西地址填好,按照要求打包好,下了單,把東西交給快遞員,它會自己把快遞送到對方手上。你其實是不清楚中間是怎么運作的,你不知道走了幾個站點,不知道中間怎么分揀,但東西就是過去了。

所以,TCP就是電腦的順豐快遞,TCP協議就是這個順豐快遞具體的運作規章制度。

現在回過頭去看第一段:?

傳輸控制協議(TCP)【順豐快遞】是為了在不可靠的互聯網絡上【大馬路上】提供可靠的端到端字節流【把東西從一個人手里送到另一個人手里】而專門設計的一個傳輸協議【順豐這個企業具體的運送規章制度】

三、🧍?♂為什么TCP可靠

1.🥰關于可靠

可不可靠這件事是比較出來的,班里30個人,因為有人考100,有人考20,才會有所謂的優等生和后進生,要是全世界就一個人,就沒得比了

所以TCP的可靠,也是相比較其他的方式,比如UDP【不懂也沒關系,就是另一個快遞】

2.🤠哪里可靠

相比于UDP,它哪里可靠了?

有很多,我們講最重要的

UDP送信息就直接扔到目的地,你在不在,收不收到,和它沒關系


TCP送東西前,會先和你聯系:


“嗨~你在嗎?”

“在的”

“那我給您送過去了哦”

開始送東西【聊三句才送】


送完東西了也會繼續服務:


“我東西都送完了,您有東西寄就繼續發,我等你”

“好的”

你把要寄的繼續給他

“我也送完了”

“好的,拜拜~”

【聊四句才走】


結論:這就是所謂的TCP三次握手【過來】,四次揮手【離開】

3.🎓?圖片的三次握手,四次揮手?

這樣起碼能保證東西都傳完了,對方都接到了。?

4.📚?知識點總結

TCP傳輸的三個階段

  • 建立連接
  • 數據傳輸
  • 釋放連接

建立一次TCP連接可以傳輸多個報文【信息】

四、📰TCP每次傳的信息

1.🐘信息大小限制

雖然可以一直傳東西,但傳之前,他們會互相約定好,每次最大的信息是多大,不能超過這個數,如果超過了,就開拆。同樣和快遞一樣,假如你要寄10萬個磚來蓋房子,我們可以約好,一次寄2000塊。

這個協商的大小官方名稱:MSS(Maximum【最大】 Segment【段】 Size【大小】

例:商量好,每次傳1000B,那么MSS=1000B

2.報文和字節流

報文:根據上面的例子,我想寄的10萬個磚,就是報文【一次想寄的所有東西】

字節流:根據上面的例子,拆分出來的每一組磚,就是字節流【一次寄不完,拆出來的每個包裹】

備注:TCP是面向字節流的【我不管你磚頭拼起來是什么,我負責把每組磚頭送到】?

五、🏁結語

我是菌菌巧樂茲~希望用通俗易懂的語言來講解程序知識~

如果覺得寫的還行,請點個贊💛再走吧~

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

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

相關文章

MyBatis 中 Mapper 傳遞參數的多種方法

# MyBatis Mapper 傳遞參數的多種方法及其優勢 在使用 MyBatis 進行數據庫操作時,Mapper 接口的參數傳遞是一個非常基礎但又十分重要的部分。不同的參數傳遞方式適用于不同的場景,合理選擇可以大大提高代碼的可讀性和維護性。本文將詳細介紹幾種常見的 …

Dify 插件開發筆記

Dify 插件開發 開發流程 #mermaid-svg-U9rSMmcbWvcGcFMu {font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}#mermaid-svg-U9rSMmcbWvcGcFMu .error-icon{fill:#552222;}#mermaid-svg-U9rSMmcbWvcGcFMu .error-text{fill:#552222;st…

行星際激波在日球層中的傳播:Propagation of Interplanetary Shocks in the Heliosphere (第二部分)

行星際激波在日球層中的傳播:Propagation of Interplanetary Shocks in the Heliosphere (第一部分)- Chapter 1: Introduction & Chapter 2: Basics of Magnetohydrodynamics 行星際激波在日球層中的傳播:Propagation of In…

巴法云平臺-TCP設備云-微信小程序實時接收顯示數據-原理

微信小程序通過WebSocket或HTTP長輪詢連接平臺(而非直接使用TCP)!!! 物聯網平臺對協議層的一種封裝設計——將底層通信協議(如TCP)與應用層業務邏輯(如主題路由)解耦&am…

QT Sqlite數據庫-教程002 查詢數據-上

【1】DQL語句: DQL語句(數據查詢語言),用來查詢數據記錄。DQL 基本結構由 SELECT FROM、WHERE、JOIN 等子句構成。DQL 語句并不會改變數據庫,而是讓數據庫將查詢結果發送結果集給客戶端,返回的結果是一張虛…

基礎數學:線性代數與優化理論

本篇文章簡單帶您復習線性代數與優化理論(主要是我發表的文章中涉及過的或相關聯的) 微積分和概率與統計由此進:基礎數學:微積分和概率與統計-CSDN博客 圖論與信息論由此進:基礎數學:圖論與信息論-CSDN博…

java android持久化數據

1. SQLite 數據庫(Android 內置) 1.1 創建數據庫幫助類 public class DatabaseHelper extends SQLiteOpenHelper {private static final String DATABASE_NAME "MyDatabase.db";private static final int DATABASE_VERSION 1;// 表名和列名…

鴻蒙動畫與交互設計:ArkUI 3D變換與手勢事件詳解

大家好,我是 V 哥。 在鴻蒙 NEXT 開發中,ArkUI 提供了豐富的 3D 變換和手勢事件功能,可用于創建生動且交互性強的用戶界面。下面詳細介紹 ArkUI 的 3D 變換和手勢事件,并給出相應的 ArkTS 案例代碼。 1. ArkUI 3D 變換 ArkUI 支…

HTTP 和 HTTPS 協議的區別及使用場景

在互聯網的世界里,HTTP 和 HTTPS 是我們經常接觸到的兩種網絡協議,它們在數據傳輸、安全性等方面存在諸多差異,適用的場景也各有不同。? 一、HTTP 和 HTTPS 的基本概念? HTTP,即超文本傳輸協議(Hyper - Text Transfer Protocol),是一種用于分布式、協作式和超媒體信息…

【微服務管理】注冊中心:分布式系統的基石

在分布式系統日益普及的當下,如何高效地管理眾多服務實例成為關鍵問題。注冊中心應運而生,它猶如分布式系統的 “指揮中樞”,承擔著服務注冊、發現等核心任務,為整個系統的穩定運行和高效協作提供堅實保障。本文將深入探討注冊中心…

高并發短信系統設計:基于SharingJDBC的分庫分表、大數據同步與實時計算方案

高并發短信系統設計:基于SharingJDBC的分庫分表、大數據同步與實時計算方案 一、概述 在當今互聯網應用中,短信服務是極為重要的一環。面對每天發送2000萬條短信的需求,我們需要一個能夠處理海量數據(一年下來達到數千萬億級別&…

2025最新系統 Git 教程(七)(完結)

第4章 分布式Git 4.1 分布式 Git - 分布式工作流程 你現在擁有了一個遠程 Git 版本庫,能為所有開發者共享代碼提供服務,在一個本地工作流程下,你也已經熟悉了基本 Git 命令。你現在可以學習如何利用 Git 提供的一些分布式工作流程了。 這一…

OpenCV 圖像旋轉

一、OpenCV 圖像旋轉介紹 在計算機視覺和圖像處理領域,圖像旋轉是指將圖像圍繞某個中心點按照一定的角度進行轉動。旋轉操作會改變圖像中像素的位置,從而得到新的圖像布局。這一操作在很多場景中都有重要應用,比如文檔矯正、目標檢測時對圖像…

<C#>在 .NET 開發中,依賴注入, 注冊一個接口的多個實現

在 .NET 開發里,有時一個接口會有多個實現類,此時就需要向依賴注入容器注冊多個實現。下面會詳細介紹不同場景下如何注冊多個實現,以及怎樣從容器中解析這些實現。 1. 注冊多個實現 在 .NET 中,依賴注入容器可以通過不同方式注冊…

idea 保存格式化 但是不格式化 Xml

xml- 其他 - 保持空格勾選上 https://blog.csdn.net/m0_65724734/article/details/128378290?spm1001.2101.3001.6650.8&utm_mediumdistribute.pc_relevant.none-task-blog-2%7Edefault%7EBlogCommendFromBaidu%7ERate-9-128378290-blog-135147277.235%5Ev43%5Epc_blog_bo…

如何在C++中優雅地繪制圖表

如何在C項目中優雅地繪制圖表 matplotlibpreparematplotlibcpp.hpython3vs configuretest Gnuplotpreparegnuplotgnuplot-iostream.hboostvs configuretest MathGL 在C項目中,在進行一些數據分析時往往不夠直觀,若能借助圖表進行分析可以達到事半功倍的效…

vue3使用keep-alive緩存組件與踩坑日記

目錄 一.了解一下KeepAlive 二.使用keep-alive標簽緩存組件 1.聲明Home頁面名稱 三.在路由出口使用keep-alive標簽 四.踩坑點1:可能需要配置路由(第三點完成后有效可忽略) 五.踩坑點2:沒有找到正確的路由出口 一.了解一下Kee…

ros通信機制學習——latched持久化機制

點云的地圖的發送邏輯中,我發現每次使用rostopic echo 時只會打印一次,然后就不會再打印了。并且rviz中也是始終都會顯示的,這里面其實就是用到了latched持久話機制,可以接受這最后一次發布的消息。 我們通過一個具體的項目來學習…

力扣每日打卡 1922. 統計好數字的數目 (中等)

力扣 1922. 統計好數字的數目 中等 前言一、題目內容二、解題方法1. 暴力解法(會超時,此法不通)2. 快速冪運算3. 組合計數的思維邏輯分析組合計數的推導例子分析思維小結論 4.官方題解4.1 方法一:快速冪 三、快速冪運算快速冪運算…

如何使用通義靈碼玩轉Docker - AI助手提升開發效率

一、引言 Docker 作為一種流行的虛擬化技術,能夠幫助開發者快速搭建所需的運行環境。然而,對于初學者來說,掌握 Docker 的基本概念和使用方法可能會遇到一些挑戰。本文將介紹如何利用通義靈碼這一智能編碼助手,幫助你更高效地學習…