TCP数据包
来源:互联网 发布:唱简谱软件 编辑:程序博客网 时间:2024/06/01 08:31
先上图:
TCP段格式:
中间的标志位就是用于协议的一些机制的实现的比特位,有6种比特,它们依次如下:
URG、ACK、PSH、RST、SYN、FIN。
URG表示紧急指针字段有效;
ACK置位表示确认号字段有效;
PSH表示当前报文需要请求推(push)操作;
RST置位表示复位TCP连接;
SYN用于建立TCP连接时同步序号;
FIN用于释放TCP连接时标识发送方比特流结束。
源端口和目的端口:各为16比特,用于表示应用层的连接。
源端口表示产生数据包的应用层进程,而目的端口则表示数据包所要到达的目的进程。
序列号:为32比特,序列号为首字节在整个数据流中的位置。初始序列号随机产生,并在连接建立阶段予以同步。
确认号:表示 序号为确认号减去1的数据包及其以前的所有数据包已经正确接收,也就是说他相当于下一个准备接收的字节的序号。
头部信息:4比特,用于指示数据起始位置。由于TCP包头中可选项的长度可变,因此整个包头的长度不固定。如果没有附加字段,则TCP数据包基本长度为20字节。
窗口:16位,表示源端主机在请求接收端等待确认之前需要接收的字节数。它用于流量控制,窗口大小根据网络拥塞情况和资源可用性进行增减。
校验位:16位。用于检查TCP数据包头和数据的一致性。
紧急指针:16位。当URG码有效时只向紧急数据字节。
可选项:存在时表示TCP包头后还有另外的4字节数据。TCP常用的选项为最大数据包(并非整个TCP报文)MSS。每一个TCP段都包含一个固定的20字节的段头。TCP段头由20字节固定头和一些可选项组成。实际数据部分最多可以有65495(65535-20-20=65495)字节。
0 0
- TCP数据包
- tcp数据包重组
- TCP数据包格式
- C# TCP/IP数据包
- TCP 重组数据包分析
- tcp udp 数据包大小
- TCP、UDP数据包传输
- UDP/TCP数据包分析
- TCP数据包格式
- TCP、UDP数据包传输
- TCP前3数据包
- TCP/IP 网络 数据包
- TCP/IP 网络数据包
- 发送TCP数据包
- TCP数据包格式
- TCP/IP数据包详解
- tcp 数据包格式
- tcp 数据包格式
- Django 中form的用法
- JSP自定义标签开发入门
- Java与Android适配器模式
- 视图控制器的生命周期
- SQL中的左连接与右连接有什么区别
- TCP数据包
- hibernate之session的方法小插曲
- pyqt 为长内容添加滑轮 scrollArea
- CALyer的contents和contentsGravity属性
- Webbench源码分析
- 带水波纹的下拉刷新MaterialPullToRefresh
- POJ2739-Sum of Consecutive Prime Numbers
- 浅谈solr在jetty,tomcat上的运行和安装
- java.nio.channels.SocketChannel[connected local=/192.168.10.51:45306 remote=slave1/192.168.10.51:500