zoukankan      html  css  js  c++  java
  • TCP包格式 暨 TCP首部各字段含义

    如果不计任选字段,TCP首部通常是20字节,封装在IP数据报中。

    image

    image

    32位序号

    序号用来标识从TCP发端向TCP收端发送的数据字节流,它表示在这个报文段中的的第一个数据字节。如果将字节流看作在两个应用程序间的单向流动,则TCP用序号对每个字节进行计数。序号是32bit的无符号数,序号到达2^32-1后又从0开始。

    32位确认序号

    确认序号包含发送确认的一端所期望收到的下一个序号。因此,确认序号应当是上次已成功收到数据字节序号加1。只有ACK标志(下面介绍)为1时确认序号字段才有效。

    4位首部长度

    首部长度给出首部中32bit字的数目。需要这个值是因为任选字段的长度是可变的。

    例如首部长度4位比特是0011,则表示该TCP首部长度为3*8=24字节。

    6个标志比特

    URG紧急指针(urgentpointer)有效

    ACK确认序号有效。

    PSH接收方应该尽快将这个报文段交给应用层。

    RST重建连接。

    SYN同步序号用来发起一个连接。这个标志和下一个标志将在第18章介绍。

    FIN发端完成发送任务。

    16位窗口大小

    TCP的流量控制由连接的每一端通过声明的窗口大小来提供。窗口大小为字节数,起始于确认序号字段指明的值,这个值是接收端正期望接收的字节。窗口大小是一个16bit字段,因而窗口大小最大为65535字节。在24.4节我们将看到新的窗口刻度选项,它允许这个值按比例变化以提供更大的窗口。

    16位检验和

    接收端根据此检验和再计算判断该TCP包是否正确(传输过程中是否出错)。

    16位紧急指针

    image

     
    0000   00 00 03 04 00 06 00 00 00 00 00 00 00 00 08 00
    0010   45 00 00 3a 3f 0b 40 00 40 06 6e 5b c0 a8 4d ae
    0020   7f 00 00 01 27 0f 22 b8 89 21 72 b2 88 60 63 e4
    0030   80 18 02 01 8d 84 00 00 01 01 08 0a 00 55 56 22
    0040   00 55 4d b8 68 65 6c 6c 6f 0a  
    
    00 00 03 04 00 06 00 00 00 00 00 00 00 00 08 00			【MAC帧头】
    45 00 00 3a 3f 0b 40 00 40 06 6e 5b c0 a8 4d ae 7f 00 00 01 	【IP首部,20字节】
    27 0f 							        【源端口,9999】
    22 b8 								【目的端口,8888】
    89 21 72 b2 							【序号】
    88 60 63 e4 							【确认号】
    80 								【TCP首部长度,8*4=32字节】 
    18 								【01 1000,ACK和PUSH位置1】
    02 01								【窗口长度】
    8d 84								【检验和】
    00 00								【紧急指针】
    01 								【NOP】
    01								【NOP】
    08 0a 00 55 56 22 00 55 4d b8 				        【Timestamps】
    68 65 6c 6c 6f 0a						【DATA,68即h,hello\n】
    
    
  • 相关阅读:
    【LeetCode每日一题】2020.6.9 面试题46. 把数字翻译成字符串
    【NOIP2017提高A组模拟9.17】信仰是为了虚无之人
    【NOIP2017提高A组模拟9.17】猫
    【NOIP2017提高A组模拟9.17】组合数问题
    JZOJ 11.21 提高B组反思
    【NOIP2017提高A组模拟9.12】Arrays and Palindrome
    JZOJ【NOIP2013模拟联考14】隐藏指令
    JZOJ 11.14 提高B组反思
    CSP2020复赛游记
    JZOJ 【NOIP2017提高A组模拟9.14】捕老鼠
  • 原文地址:https://www.cnblogs.com/helloweworld/p/2760996.html
Copyright © 2011-2022 走看看