色哟哟视频在线观看-色哟哟视频在线-色哟哟欧美15最新在线-色哟哟免费在线观看-国产l精品国产亚洲区在线观看-国产l精品国产亚洲区久久

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

傳輸控制協議TCP是怎樣進行工作的

冬至配餃子 ? 來源:多蘭多 ? 作者:Toranto ? 2022-08-19 09:17 ? 次閱讀

TCP介紹

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

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

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

TCP為了保證報文傳輸的可靠,就

給每個包一個序號

,同時序號也保證了傳送到接收端實體的包的

按序接收

。然后接收端實體對已成功收到的字節發回一個相應的

確認(ACK)

;如果發送端實體在合理的往返時延(RTT)內未收到確認,那么對應的數據(假設丟失了)將會被重傳(超時重傳)。

TCP工作過程

poYBAGL-4p6ATcBxAAC3qa_tyN0088.png

首先,我們可以很明顯從圖中看出,tcp工作需要分兩個主體,一個客戶端,一個服務器。我用超級大白話來幫助理解:①tcp服務器

買部手機

插上電話卡

設置手機為正常的接聽狀態

等待他人來電

②在程序中的

創建socket套接字

綁定本機地址信息

設置套接字為被動連接

等待客戶端的連接

收發數據

pYYBAGL-4tmAQ8JzAAEZ6AbARv0604.pngpYYBAGL-4t-AKGQqAACYOyTjKB0120.png

我們先運行這個程序,然后打開網絡調試助手進行連接:

pYYBAGL-4weAP_RsAAE_nvvRYrc561.pngpYYBAGL-4w2AO5XmAABs8HlCsFU573.png

然后我們在服務器端口發送消息至客戶端:

poYBAGL-4zKAWfuxAABvTLIZHQM823.pngpoYBAGL-4zeAe-6JAAGzibGlRos066.png

當然,我們也可以脫離網絡調試助手,我們自己協議簡易客戶端程序:

pYYBAGL-40qAErJlAACk1VyGk0g617.png

同樣地,手機要先開機才能接電話,所以先運行服務器,再運行客戶端:

poYBAGL-416AaU3BAAB4OjCTWyY120.png

切換到服務器:

poYBAGL-43yAdeQeAACeGV1gQBk463.png

回到客戶端:

pYYBAGL-45OAOQN5AACwjcJb8yg514.png

同樣也是非常簡單,客戶端的寫法只需要發送建立連接即可,也就是通過connect方法撥通電話。

當然,你也可以選擇加入循環語句進行循環收發,但想要達到聊天軟件那種收發無規律的效果,還是需要并發編程(后面我也會出的)。

TCP工作方式(原理)

poYBAGL-47-ASoraAAC7gAUfL1M514.png

一、三次握手

TCP是因特網中的傳輸層協議,使用

三次握手協議

建立連接。當主動方發出SYN連接請求后,等待對方回答SYN+ACK,并最終對對方的 SYN 執行 ACK 確認。這種建立連接的方法可以防止產生錯誤的連接。

術語:

SYN:同步位,SYN=1,表示進行一個連接請求;

ACK:確認位,ACK=1,確認有效,ACK=0,確認無效;

seq:序號;

FIN:斷開連接并且會停止發送數據。

poYBAGL-49aABD0VAACXJCTY9vM439.png

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三次握手的原因:

防止已失效的連接請求又傳送到服務器端,因而產生錯誤。三次握手的過程即是通信雙方相互告知序列號起始值, 并確認對方已經收到了序列號起始值的必經步驟。如果只是兩次握手, 至多只有連接發起方的起始序列號能被確認, 另一方選擇的序列號則得不到確認。

二、四次揮手

poYBAGL-4-yASUQUAACo5ywKfb4151.png

形象點就是:

客戶端說:服務器,我要斷開你了!

服務器說:好的!讓我傳完數據!

數據傳輸結束后

服務器說:客戶端,我要斷開你了!

客戶端說:好的!

這就表現出了四次揮手,和三次握手不同的是,結束的時候,可能仍然有數據在進行傳輸,tcp為了保證數據傳輸的完整性,斷開連接會在數據傳輸結束之后再進行,因此這里也體現出一次揮手。

TCP簡易聊天器(局域網)

poYBAGL-5A6ABRLhAADSh34PCso757.pngpYYBAGL-5BOAYwQ7AACneQErvLE782.png

仍然是先服務端再客戶端。



審核編輯:劉清

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 服務器
    +關注

    關注

    12

    文章

    9127

    瀏覽量

    85338
  • TCP
    TCP
    +關注

    關注

    8

    文章

    1353

    瀏覽量

    79056
  • 傳輸協議
    +關注

    關注

    0

    文章

    78

    瀏覽量

    11447
  • RTT
    RTT
    +關注

    關注

    0

    文章

    65

    瀏覽量

    17115
收藏 人收藏

    評論

    相關推薦

    TCP傳輸控制協議知識科普拓展

    傳輸控制協議TCP,Transmission Control Protocol)是一種面向連接的、可靠的、基于字節流的傳輸層通信
    的頭像 發表于 11-27 17:46 ?946次閱讀
    <b class='flag-5'>TCP</b><b class='flag-5'>傳輸</b><b class='flag-5'>控制</b><b class='flag-5'>協議</b>知識科普拓展

    請問在stm32板上寫tcp協議通過wifi傳輸怎樣設計

    在stm32板上寫tcp協議通過wifi傳輸,該怎樣設計,有沒有一種無內置tcp協議的wifi模
    發表于 03-04 06:35

    TCP/IP協議棧的工作流程是怎樣

    協議棧是什么?BLE協議棧有哪些應用?TCP/IP協議棧的工作流程是怎樣的?
    發表于 11-03 07:33

    TCP和UDP協議簡析

    。二、TCP編程模型傳輸控制協議TCP (Transmission Control Protocol)是一種面向連接、可靠的
    發表于 12-15 08:13

    TCP/IP傳輸協議概攬

    TCP/IP 傳輸協議概攬 傳輸控制協議 TCP
    發表于 06-09 21:51 ?801次閱讀
    <b class='flag-5'>TCP</b>/IP<b class='flag-5'>傳輸</b>層<b class='flag-5'>協議</b>概攬

    TCP/IP傳輸協議概覽

    TCP/IP傳輸協議概攬 傳輸控制協議 TCP
    發表于 06-09 21:52 ?925次閱讀
    <b class='flag-5'>TCP</b>/IP<b class='flag-5'>傳輸</b>層<b class='flag-5'>協議</b>概覽

    TCP/IP協議簡介

    TCP/IP協議簡介 TCP/IP傳輸協議概攬 傳輸
    發表于 06-09 23:07 ?1411次閱讀
    <b class='flag-5'>TCP</b>/IP<b class='flag-5'>協議</b>簡介

    傳輸控制協議(TCP)/網絡層協議是什么意思

    傳輸控制協議(TCP)/網絡層協議是什么意思 傳輸控制
    發表于 04-06 16:44 ?2746次閱讀

    TCP傳輸控制協議

    TCP-IP詳解卷2 TCP傳輸控制協議,學習TCP很好的資料。歡迎下載。
    發表于 05-09 14:33 ?0次下載

    一文詳解TCP傳輸控制協議

    TCP(Transmission Control Protocol 傳輸控制協議)是一種面向連接(連接導向)的、可靠的、 基于IP的傳輸
    發表于 05-25 15:38 ?1597次閱讀
    一文詳解<b class='flag-5'>TCP</b><b class='flag-5'>傳輸</b><b class='flag-5'>控制</b><b class='flag-5'>協議</b>

    TCP/IP協議

    TCP/IP傳輸協議,即傳輸控制/網絡協議,也叫作網絡通訊
    的頭像 發表于 11-09 13:31 ?2422次閱讀

    什么是TCP協議

    TCP(Transmission Control Protocol,傳輸控制協議),它是最常用傳輸協議
    的頭像 發表于 02-14 10:26 ?3108次閱讀

    TCP/IP協議的組成

    TCP/IP傳輸協議,即傳輸控制/網絡協議,也叫作網絡通訊
    發表于 05-06 15:05 ?2767次閱讀

    傳統TCP設計的可靠傳輸協議詳解

    傳統TCP設計的可靠傳輸協議是一種基于TCP協議實現的可靠傳輸方法。下面是傳統
    的頭像 發表于 07-21 16:51 ?655次閱讀

    TCP協議是什么

    在網絡通信的廣闊領域中,TCP(Transmission Control Protocol,傳輸控制協議)扮演著舉足輕重的角色。作為TCP/
    的頭像 發表于 10-09 13:54 ?590次閱讀
    主站蜘蛛池模板: 2020年国产理论| 久久免费高清| 特黄AAAAAAA片免费视频| 97人人超碰国产精品最新蜜芽| 久久黄视频| 一区二区三区国产| 国语大学生自产拍在线观看| 天堂so导航| 国产成人免费不卡在线观看| 日本一卡2卡3卡四卡精品网站| BL文高H强交| 男人J放进女人屁股免费观看| 中文字幕人成人乱码亚洲影视S| 精品无码久久久久久久久| 亚洲国产精品第一影院在线观看 | 看电影就来5566先锋av| 亚洲视频在线观看| 成人在线视频免费看| 私人玩物在线观看| 欧美性狂猛bbbbbbxxxx| 最近韩国HD免费观看国语| 久久久精品成人免费看| 怡春院院日本一区二区久久| 爱暖暖1000部免费| 日日碰狠狠躁久久躁综合网| a在线观看免费视频| 久啪久久全部视频在线| 在线观看国产人视频免费中国| 果冻传媒独家原创在线观看| 亚洲精品久久久久一区二区三 | 久久精品国产免费中文| 一个人看的WWW高清电影| 久久精品视频在线看| 中文成人在线视频| 免费果冻传媒2021视频| 99亚洲精品色情无码久久| 日本人奶水中文影片| 国产扒开美女双腿屁股流白浆| 午夜精品久久久久久久爽牛战| 国产永久免费观看视频软件| 伊人网站在线|