日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

[TCP灵魂之问]介绍一下 TCP 报文头部的字段

發布時間:2024/1/8 编程问答 42 豆豆
生活随笔 收集整理的這篇文章主要介紹了 [TCP灵魂之问]介绍一下 TCP 报文头部的字段 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

TCP 報文頭部的字段

  • 源端口、目標端口
如何標識唯一標識一個連接?答案是 TCP 連接的四元組——源 IP、源端口、目標 IP 和目標端口。那 TCP 報文怎么沒有源 IP 和目標 IP 呢?這是因為在 IP 層就已經處理了 IP 。TCP 只需要記錄兩者的端口即可。
  • 序列號
    即Sequence number, 指的是本報文段第一個字節的序列號。
序列號在 TCP 通信的過程中有兩個作用:在 SYN 報文中交換彼此的初始序列號。 保證數據包按正確的順序組裝。
  • ISN
即Initial Sequence Number(初始序列號),在三次握手的過程當中,雙方會用過SYN報文來交換彼此的 ISN。 ISN 并不是一個固定的值,而是每 4 ms 加一,溢出則回到 0,這個算法使得猜測 ISN 變得很困難。那為什么要這么做? 如果 ISN 被攻擊者預測到,要知道源 IP 和源端口號都是很容易偽造的,當攻擊者猜測 ISN 之后,直接偽造一個 RST 后,就可以強制連接關閉的,這是非常危險的。 而動態增長的 ISN 大大提高了猜測 ISN 的難度。
  • 確認號
    即ACK(Acknowledgment number)。用來告知對方下一個期望接收的序列號,小于ACK的所有字節已經全部收到。

  • 標記位
    常見的標記位有SYN,ACK,FIN,RST,PSH。

  • SYN 和 ACK 已經在上文說過,后三個解釋如下:
    FIN: 即 Finish,表示發送方準備斷開連接。
    RST:即 Reset,用來強制斷開連接。
    PSH: 即 Push, 告知對方這些數據包收到后應該馬上交給上層的應用,不能緩存。

  • 窗口大小
    占用兩個字節,實際上是不夠用的。因此 TCP 引入了窗口縮放的選項,作為窗口縮放的比例因子,這個比例因子的范圍在 0 ~ 14,比例因子可以將窗口的值擴大為原來的 2 ^ n 次方。

  • 校驗和
    占用兩個字節,防止傳輸過程中數據包有損壞,如果遇到校驗和有差錯的報文,TCP 直接丟棄之,等待重傳。

  • 可選項
    常用的可選項有以下幾個:
    TimeStamp: TCP 時間戳,后面詳細介紹。
    MSS: 指的是 TCP 允許的從對方接收的最大報文段。
    SACK: 選擇確認選項。
    Window Scale: 窗口縮放選項。

不要死記,只要有個印象就行

總結

以上是生活随笔為你收集整理的[TCP灵魂之问]介绍一下 TCP 报文头部的字段的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。