TCP首部:
TCP数据被封装在一个IP数据报中,如下:
TCP首部数据格式:
  • 16位源都口号,16为目的端口号用于寻找发送端和接收端的应用进程,加上IP首部的源端IP及终端IP,唯一的确认一个TCP连接。
  • 32位序号:标识发送的数据字节流,标识在这个报文段中的第一个数据字节,2^3 - 1后重新从0开始。包含该主机选择的连接的ISN(Initial Sequence Number),要发送的第一个数据字节序号为ISN+1.
  • 32位确认序号:ACK为1时有效,上次成功收到的数据字节序号+1(如接收到的为1024--2048,则返回2049)。
  • 4位首部长度:首部中32bits字的数目,TCP最多有60字节的长度,除去任选字段,正常为20字节。
  • 6bits:URG紧急指针;ACK确认序号有效;PSH接收方应尽快将此报文段交给应用层;RST重建连接;SYN同步序号,用来发起一个新连接;FIN发端完成发送任务。
  • 16位窗口大小:TCP流量控制,字节数,起始于确认序列号指明的值,接收端期望收到的字节,最大为65535.
  • 16位检验和:包括计算TCP首部和数据综合的二进制反码和检验和。
  • 16位紧急指针:URG为1时有效,正向的偏移量,加上序号字段值表示最后一个字节的序号。
  • 可选字段:例:MSS.

最新文章

  1. [Web API] Web API 2 深入系列(6) Model绑定(上)
  2. 谈谈我的入门级实体框架Loogn.OrmLite
  3. mysql 在linux 修改账号密码
  4. Hark的数据结构与算法练习之冒泡排序
  5. URAL 1200 Horns and Hoofs 枚举
  6. open/write/read
  7. 总结swift语言常见的20个问题和回答
  8. 学习日记-----ORM
  9. hdu 1500 Chopsticks
  10. 欢迎关注我的微信公众账号:Linux技巧(微信号:irefactoring),一起学习Linux知识~~~
  11. c++の奇技淫巧
  12. Java笔记(day12)
  13. SpringBoot使用JSP(官网Demo)
  14. 团队的Kick off
  15. itchat 报错 OSError: [WinError -2147221003] 找不到应用程序: 'QR.png'
  16. Java比较两个时间的前后
  17. MVC4.0,并完美结合Razor引擎
  18. Event Tracing For Windows
  19. OSG3.4编译FFMPEG插件
  20. (转)netty、mina性能对比分析

热门文章

  1. CSS3实现图形曲线阴形和翘边阴影
  2. 学习Linux下s3c2440的USB鼠标驱动笔记
  3. Cesium原理篇:3最长的一帧之地形(3:STK)
  4. WebGIS中兴趣点简单查询、基于Lucene分词查询的设计和实现
  5. Nancy之基于Nancy.Hosting.Aspnet的小Demo
  6. XML 动态 插入 父类标示 子类标示
  7. ListView灵活的用法
  8. Asp.net 面向接口可扩展框架之应用程序上下文作用域组件
  9. sql 中的Bulk和C# 中的SqlBulkCopy批量插入数据 ( 回顾 and 粗谈 )
  10. [读码][js,css3]能感知鼠标方向的图片遮罩效果