TCP首部解析
2024-10-15 11:30:26
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.
最新文章
- [Web API] Web API 2 深入系列(6) Model绑定(上)
- 谈谈我的入门级实体框架Loogn.OrmLite
- mysql 在linux 修改账号密码
- Hark的数据结构与算法练习之冒泡排序
- URAL 1200 Horns and Hoofs 枚举
- open/write/read
- 总结swift语言常见的20个问题和回答
- 学习日记-----ORM
- hdu 1500 Chopsticks
- 欢迎关注我的微信公众账号:Linux技巧(微信号:irefactoring),一起学习Linux知识~~~
- c++の奇技淫巧
- Java笔记(day12)
- SpringBoot使用JSP(官网Demo)
- 团队的Kick off
- itchat 报错 OSError: [WinError -2147221003] 找不到应用程序: 'QR.png'
- Java比较两个时间的前后
- MVC4.0,并完美结合Razor引擎
- Event Tracing For Windows
- OSG3.4编译FFMPEG插件
- (转)netty、mina性能对比分析
热门文章
- CSS3实现图形曲线阴形和翘边阴影
- 学习Linux下s3c2440的USB鼠标驱动笔记
- Cesium原理篇:3最长的一帧之地形(3:STK)
- WebGIS中兴趣点简单查询、基于Lucene分词查询的设计和实现
- Nancy之基于Nancy.Hosting.Aspnet的小Demo
- XML 动态 插入 父类标示 子类标示
- ListView灵活的用法
- Asp.net 面向接口可扩展框架之应用程序上下文作用域组件
- sql 中的Bulk和C# 中的SqlBulkCopy批量插入数据 ( 回顾 and 粗谈 )
- [读码][js,css3]能感知鼠标方向的图片遮罩效果