Geronimo

  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

  1. 源端口和目的端口:各占2个字节。
  2. 序号:4字节。0~2^31-1,指的是本报文段所发送的数据的第一个字节的序号。比如本次发送的报文从301开始,报文长度是100字节,那么下次发送的报文段序号应该就是401。
  3. 确认号:4字节。确认到该字节为止之前的报文都正确接收了。确认号=N,那么表明到N-1为止的所有数据都已正确接收。
  4. 数据偏移:4位,因为有长度不定的选项字节段,因此用数据偏移来表示TCP报文段的数据从哪里开始。前面从源端口到紧急指针是固定的20个字节,数据偏移共有4位,能表达最大的数是15,数据偏移的单位是32位,也就是4字节,因此,tcp首部长度不能超过15*4=60字节,也是意味着选项的长度不能超过40字节。
  5. 保留:占6位,为今后使用,目前置为0.
  6. 紧急URG:URG=1时,说明这个报文段是紧急数据,你应该立即上传给应用层,比如中断命令等。
  7. 确认ACK:ACK=1时,是TCP建立阶段用,以及在连接简历后所有报文段都置1.
  8. 推送PSH:PSH=1时,需要快速响应的报文,接收方不等缓存填满,直接把目前的缓存都推送上去
  9. 复位RST:RST=1时,表明TCP连接出现严重差错,必须释放连接,然后重新建立连接。
  10. 同步SYN:建立连接时用,SYN=1,ACK=0时,代表建立连接报文段,对方的响应是SYN=1,ACK=1。因此SYN=1时就代表这是一个请求连接或连接接受报文。
  11. 终止FIN:用来释放连接,FIN置1时,就代表要求释放运输连接
  12. 窗口:2字节,指的是发送该报文段的接收窗口还能接受多少,告诉对方,你还能发送多少。这个是根据缓存大小和缓存内已存储的数据大小决定的
  13. 校验和:2字节。
  14. 紧急指针:2字节,配合URG使用,URG置1时,它指出本报文段中的紧急数据的字节数(紧急数据结束以后就是普通数据),窗口为0时也是可以发送紧急数据的
  15. 选项:长度可变,最大40字节。最大报文段长度(MSS)、窗口扩大、时间戳、选择确认。
posted on 2019-10-21 21:52  Geronimo  阅读(953)  评论(0编辑  收藏  举报