分为基础包头(20字节) + 选项段(0~40字节)

基础包头

1-2: 源端口

3-4: 目标端口

5-8: 序号(使用的是当前包数据头相对整体数据头的偏移字节数,当前0,本包数据长500,下个包序号即500)

9-12: 确认序号(预期确认包返回的序号值)

13-14: 基础包头长(4 bits) + 保留(6 bits) + 标志(6 bits)
    包长: 基础包头长度的字节数 / 4, 16个bits的最左边,即第15~12位
    标志: 16个bits的最右边,即第5~0位
        5 URG 紧急指针的值有效
        4 ACK 确认序号的值有效
        3 PSH 接收方尽快提交至应用层
        2 RST 重新连接
        1 SYN 发起连接
        0 FIN 释放连接

15-16: 窗口大小(可以接收的数据长度)

17-18: 包头校验值

19-20: 紧急指针(紧急数据偏移量) 

选项段

变长, 可由多个选项组成, 每个选项包括 Kind(1字节) + Length(1字节) + Value(变化值)


Kind:
    0 选项结束, 无Length和Value
    1 无操作, 无Length和Value
    2 MSS, Length值为4, Value长2字节
    3 窗口扩大, Length值为3, Value长1字节
    8 时间戳, Length值为10, Value长8字节
    ----
    0      End of Option List                 [RFC793]
    1      No-Operation                       [RFC793]
    2      Maximum Segment Size        [RFC793]
    3      WSOPT - Window Scale        [RFC1323]
    4      SACK Permitted                    [RFC2018]
    5      SACK                                     [RFC2018]
    6      Echo (obsoleted by option 8)      [RFC1072]
    7      Echo Reply (obsoleted by option 8)[RFC1072]
    8      TSOPT - Time Stamp Option         [RFC1323]
    9      Partial Order Connection Permitted[RFC1693]
    10     Partial Order Service Profile     [RFC1693]
    11      CC                                      [RFC1644]
    12      CC.NEW                            [RFC1644]
    13      CC.ECHO                           [RFC1644]
    14      TCP Alternate Checksum Request    [RFC1146]
    15       TCP Alternate Checksum Data       [RFC1146]
    16       Skeeter                           [Knowles]
    17       Bubba                             [Knowles]
    18       Trailer Checksum Option    [Subbu & Monroe]
    19       MD5 Signature Option              [RFC2385]
    20       SCPS Capabilities                   [Scott]
    21       Selective Negative Acknowledgements [Scott]
    22       Record Boundaries                   [Scott]
    23       Corruption experienced              [Scott]
    24       SNAP                         [Sukonnik]
    25       Unassigned (released 12/18/00)
    26       TCP Compression Filter           [Bellovin]


Length: 
    表示整个选项的值,即要算上Kind和Length两个字段的2字节。 

图示