0802 TCP/IP 協議棧

TCP/IP 協議棧

586a33d501195695834dc277126a476f.png

以太網幀

MAC Header 【以太網幀的數據】 MAC Ender

TCP 協議頭

7626afd426ef37291a49e6de4bede7ed.png

First

Source Port :源端口
Destination Port:目的端口

Second

  • Sequence Number:保證有序處理。
    因爲IP層不保證有序
  • TCP中數據不是按包排序,是按字節排序,每個包的Seq Number代表的是發送字節的起始序號。
  • 發送第一個包序號是隨機的,三次握手中交換。

Third

  • Acknowledgment Number:應答num,保證可靠
    一個主機向另一個主機發送數據,目的主機接收後,迴應收到,否則,一直髮送。

Fourth

  • Data Offset:數據偏移量
    因爲Options長度是不確定的,所以,從哪開始獲取數據呢,就從這個來判斷
  • Reserved:保留字
  • URG:緊急標識。(較少用)
    ACK:確認收到消息
    PSH:向對方發送真正的負載數據,這個設置爲1
    RST:復位。比如,向主機未開通80端口而依舊發送數據的話,會收到此標識位爲1.
    SYN:三次握手時用。每次握手都要用
    FIN:第四次揮手時用。互相告知,結束。
  • Window:一個窗口多大,比如:一個窗口4048,每個包1024,那麼一次可以接收4個,當滿時,必須停止。

Fifth

  • Checksum:校驗和,與IP中的校驗各類似。
  • Urgent Pointer:緊急指針。

Sixth

  • Options:選項。比如,可以設置傳輸的最大報文大小。
    TLV格式:type length value。
  • Padding:保證32位對齊。

Seventh

data:真正TCP數據段。

Ack Number

在TCP 中表示:希望對方發送數據的起始位置
如:A向B發送一個大小爲100B的數據,其Seq Number=100,則B收到後,返回Ack Number爲2001.

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章