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

動畫講解TCP,再不懂請來打我

網絡 網絡管理
TCP 三次握手過程對于面試是必考的一個,所以不但要掌握 TCP 整個握手的過程,其中有些小細節也更受到面試官的青睞。

前言

TCP 三次握手過程對于面試是必考的一個,所以不但要掌握 TCP 整個握手的過程,其中有些小細節也更受到面試官的青睞。

對于這部分掌握以及 TCP 的四次揮手,小鹿將會以動畫的形式呈現給每個人,這樣將復雜的知識簡單化,理解起來也容易了很多,尤其對于一個初學者來說。

思維導圖

動畫講解TCP,再不懂請來打我

TCP是什么

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

我們知道了上述了解到了 TCP 的定義,通俗一點的講,TCP 就是一個雙方通信的一個規范標準(協議)。

我們在學習 TCP 握手過程之前,首先必須了解 TCP 報文頭部的一些標志信息,因為在 TCP 握手的過程中,會使用到這些報文信息,如果沒有掌握這些信息,在學習握手過程中,整個人處于懵逼狀態,也是為了能夠深入 TCP 三次握手的原理。

TCP頭部報文

動畫講解TCP,再不懂請來打我

1. source port 和 distination port

兩者分別為「源端口號」和「目的端口號」。

源端口號就是指本地端口,目的端口就是遠程端口。

一個數據包(pocket)被解封裝成數據段(segment)后就會涉及到連接上層協議的端口問題。

可以這么理解,我們可以想象發送方很多的窗戶,接收方也有很多的窗戶,這些窗口都標有不同的端口號,源端口號和目的端口號就分別代表從哪個規定的串口發送到對方接收的窗口。不同的應用程度都有著不同的端口,之前網絡分層的文章中有提到過。

擴展:

應用程序的端口號和應用程序所在主機的 IP 地址統稱為 socket(套接字),IP:端口號, 在互聯網上 socket 唯一標識每一個應用程序,源端口+源IP+目的端口+目的IP稱為”套接字對“,一對套接字就是一個連接,一個客戶端與服務器之間的連接。

2. Sequence Numbe

稱為「序列號」。用于 TCP 通信過程中某一傳輸方向上字節流的每個字節的編號,為了確保數據通信的有序性,避免網絡中亂序的問題。接收端根據這個編號進行確認,保證分割的數據段在原始數據包的位置。

動畫講解TCP,再不懂請來打我

再通俗一點的講,每個字段在傳送中用序列號來標記自己位置的,而這個字段就是用來完成雙方傳輸中確保字段原始位置是按照傳輸順序的。(發送方是數據是怎樣一個順序,到了接受方也要確保是這個順序)

  • PS:初始序列號由自己定,而后緒的序列號由對端的
  • ACK 決定:SN_x = ACK_y (x 的序列號 = y 發給 x 的 ACK),這里后邊會講到。

3. Acknowledgment Numbe

稱為「確認序列號」。確認序列號是接收確認端所期望收到的下一序列號。確認序號應當是上次已成功收到數據字節序號加1,只有當標志位中的 ACK 標志為 1 時該確認序列號的字段才有效。主要用來解決不丟包的問題。

若確認號=N,則表明:到序號N-1為止的所有數據都已正確收到。

在這里,現在我們只需知道它的作用是什么,就是在數據傳輸的時候是一段一段的,都是由序列號進行標識的,所以說,接收端每接收一段,之后就想要的下一段的序列號就稱為「確認序列號」。

4. TCP Flag

TCP 首部中有 6 個標志比特,它們中的多個可同時被設置為 1,主要是用于操控 TCP 的狀態機的,依次為URG,ACK,PSH,RST,SYN,FIN。

不要求初學者全部掌握,在這里只講三個重點的標志:

(1) ACK

這個標識可以理解為發送端發送數據到接收端,發送的時候 ACK 為 0,標識接收端還未應答,一旦接收端接收數據之后,就將 ACK 置為 1,發送端接收到之后,就知道了接收端已經接收了數據。

動畫講解TCP,再不懂請來打我

此標志表示「應答域有效」,就是說前面所說的TCP應答號將會包含在 TCP 數據包中;

有兩個取值:0 和 1,為 1 的時候表示應答域有效,反之為 0;

(2) SYN

表示「同步序列號」,是 TCP 握手的發送的第一個數據包。

用來建立 TCP 的連接。SYN 標志位和 ACK 標志位搭配使用,當連接請求的時候,SYN=1,ACK=0連接被響應的時候,SYN=1,ACK=1;這個標志的數據包經常被用來進行端口掃描。掃描者發送一個只有 SYN 的數據包,如果對方主機響應了一個數據包回來 ,就表明這臺主機存在這個端口。看下面動畫:

動畫講解TCP,再不懂請來打我

(3) FIN

表示發送端已經達到數據末尾,也就是說雙方的數據傳送完成,沒有數據可以傳送了,發送FIN標志位的 TCP 數據包后,連接將被斷開。這個標志的數據包也經常被用于進行端口掃描。

這個很好理解,就是說,發送端只剩最后的一段數據了,同時要告訴接收端后邊沒有數據可以接受了,所以用FIN標識一下,接收端看到這個FIN之后,哦!這是接受的最后的數據,接受完就關閉了。動畫如下:

動畫講解TCP,再不懂請來打我

5.  Window size

稱為滑動窗口大小。所說的滑動窗口,用來進行流量控制。

為什么進行TCP三次握手?

第一,為了確認雙方的接收與發送能力是否正常。第二,指定自己的初始化序列號,為后面的可靠傳送做準備。第三,如果是 https 協議的話,三次握手這個過程,還會進行數字證書的驗證以及加密密鑰的生成到。

如果你了解 UDP 的話,TCP 的出現正式彌補了 UDP 不可靠傳輸的缺點。但是 TCP 的誕生,也必然增加了連接的復雜性。

TCP三次握手過程?

TCP 三次握手的過程掌握最重要的兩點就是客戶端和服務端狀態的變化,另一個是三次握手過程標志信息的變化,那么掌握 TCP 的三次握手就簡單多了。下面我們就以動畫形式進行拆解三次握手過程。

動畫講解TCP,再不懂請來打我

初始狀態:客戶端處于closed 狀態,服務器處于listen(監聽) 狀態。

動畫講解TCP,再不懂請來打我

第一次握手:客戶端發送請求報文將SYN = j(1)初始化序列號發送給客戶端,發送完之后客戶端處于SYN_Send狀態。

動畫講解TCP,再不懂請來打我

第二次握手:服務端受到 SYN 請求報文之后,如果同意連接,會以自己的SYN(服務端) = K(0)和ack(1) = SYN(客戶端) + 1(ACK = 1)報文作為應答,服務器為SYN_Receive狀態。

第三次握手:客戶端接收到服務端的SYN + ACK,然后發送ack = SYN(服務端) + 1(ACK = 1)確認包作為應答,客戶端轉為established狀態。

動畫講解TCP,再不懂請來打我

為什么不是一次、兩次握手?

防止了服務器端的一直等待而浪費資源。

為了防止已失效的連接請求報文段突然又傳送到了服務端,因而產生錯誤。如果此時客戶端發送的延遲的握手信息服務器收到,然后服務器進行響應,認為客戶端要和它建立連接,此時客戶端并沒有這個意思,但 server 卻以為新的運輸連接已經建立,并一直等待 client 發來數據。這樣,server 的很多資源就白白浪費掉了。

 

責任編輯:趙寧寧 來源: 小鹿動畫學編程
相關推薦

2019-10-25 09:15:50

TCP面試端口

2020-03-16 13:37:43

網絡安全網絡安全技術周刊

2019-11-12 10:38:59

DevOps程序員軟件開發工程師

2021-09-06 07:58:47

鏈表數據結構

2019-10-23 07:00:13

TCP三次握手四次揮手

2018-01-15 10:51:42

2018-02-25 22:37:34

2010-06-08 13:32:19

TCP IP協議基礎

2017-06-16 09:22:22

數據結構算法鏈表

2023-08-09 09:03:49

CPU密集型運算

2014-12-11 09:20:30

TCP

2024-10-14 12:56:28

2022-12-27 10:02:38

MVCC機制Innodb

2018-03-05 09:31:23

2010-06-12 15:49:54

TCP IP協議基礎知

2024-03-05 18:24:52

I/O聚合優化存儲

2023-07-27 08:59:19

線程同步Python

2010-09-08 15:18:54

單片機TCP IP協議棧

2011-06-29 18:36:59

Qt 動畫 狀態機

2009-04-13 09:31:09

點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 99久久婷婷国产综合精品电影 | 久久久一区二区三区 | 国产一区高清 | 天天爱天天操 | 日韩不卡一区二区 | 五月综合激情婷婷 | 亚洲欧美网站 | 免费的av网站| 欧美二区三区 | 亚洲成人黄色 | 激情欧美日韩一区二区 | 精品国产乱码久久久久久蜜臀 | 久久久精品影院 | 欧美三级视频在线观看 | 国产99视频精品免费视频7 | 国产精品自拍视频 | 国产在线视频在线观看 | 狠狠的干狠狠的操 | 国产成人亚洲精品自产在线 | 国产一区三区在线 | 成人精品视频在线观看 | 亚洲成人午夜在线 | 亚洲精品国产成人 | 国产精品成人一区二区三区夜夜夜 | 国产精品亚洲第一 | 成人影院网站ww555久久精品 | 北条麻妃99精品青青久久主播 | 伊人春色成人网 | 1000部精品久久久久久久久 | 91嫩草精品 | 亚洲国产激情 | 日本不卡一区二区三区在线观看 | 国产成人精品一区二区三区视频 | 九九在线精品视频 | 亚洲欧美一区二区在线观看 | 欧美一级欧美三级在线观看 | 一级片毛片 | 久草资源| 亚洲综合国产 | 国产欧美精品一区二区三区 | 亚洲国产精品久久久久 |