1……tcp out-of-order(tcp有问题)

2……tcp segment of a reassembled PDU

3……Tcp previous segment lost(tcp先前的分片丢失)

4……Tcp acked lost segment(tcp应答丢失)

5……Tcp window update(tcp窗口更新)

6……Tcp dup ack(tcp重复应答)

7……Tcp keep alive(tcp保持活动)

8……Tcp retransmission(tcp 重传)

在TCP层,有个FLAGS字段,这个字段有以下几个标识:SYN, FIN, ACK, PSH, RST, URG.
其中,对于我们日常的分析有用的就是前面的五个字段。

它们的含义是:

URG:Urget pointer is valid (紧急指针字段值有效)

SYN: 表示建立连接

FIN: 表示关闭连接

ACK: 表示响应

PSH: 表示有 DATA数据传输

RST: 表示连接重置。

其中,ACK是可能与SYN,FIN等同时使用的,比如SYN和ACK可能同时为1,它表示的就是建立连接之后的响应,如果只是单个的一个SYN,它表示的只是建立连接。TCP的几次握手就是通过这样的ACK表现出来的。但SYN与FIN是不会同时为1的,因为前者表示的是建立连接,而后者表示的是断开连接。RST一般是在FIN之后才会出现为1的情况,表示的是连接重置。一般地,当出现FIN包或RST包时,我们便认为客户端与服务器端断开了连接;而当出现SYN和SYN+ACK包时,我们认为客户端与服务器建立了一个连接。PSH为1的情况,一般只出现在 DATA内容不为0的包中,也就是说PSH为1表示的是有真正的TCP数据包内容被传递。

TCP传输通信时的几个状态

TCP  Window Update

TCP  Previous segment lost

TCP  Dup  ACK XXXX#X;

TCP  Retransmission

TCP  Previous segment lost,它告诉发送方数据段丢失;TCP  Dup  ACK XXXX#X 则代表了数据段丢失TCP状态,XXXX代表数据丢失的位置,#后代表第几次丢失;而TCP Retransmission则代表重发丢失数据。

在TCP第三次握手完成后,发现会出现一个TCP Window Update,如图3-11所示:

图3-11

TCP Window Update 是TCP通信中的一个状态,它可以发生的原因有很多,但最终归结于发送者传输数据的速度比接收者读取的数据还快,这使得接受端的在缓冲区必须释放一部分空间来装发送过来的数据,然后向发送者发送Windows Update,告诉给发送者应该以多大的速度发送数据,从而使得数据传输与接受恢复正常。

我们可以从下面几个比较明显的例子可以看出来。

从图3-14可以看到ACK=7743,len=0;而4832的seq=9887,故中间有数据包丢失,所以211.144.69.242(设定为A)向10.10.80.54(设定为B)发送TCP Previous segment lost,说明数据丢失。4843行显示B向A发送数据包,告诉A包丢失之前(即4841)的ACK信息。图3-15又出现了数据包丢失。(图3-16)4852行则显示TCP通信的状态TCP Fast Retransmission,表示快速重传。

TCP 几个字段含义相关推荐

  1. 浅谈TCP的窗口字段

    该掸掸这里的灰尘了,写一篇关于TCP的文章吧.今天的主题是TCP的滑动窗口.在开始这个话题之前,我想先提几个关于TCP协议的常见误区. 误区1:TCP协议三次握手过程中后两个包都是[ACK]包. 解释 ...

  2. linux操作系统字段含义,Linux系统 /etc/fstab各个字段含义解释

    Linux系统 /etc/fstab各个字段含义解释 # fstab文件的作用 文件/etc/fstab存放的是系统中的文件系统信息.当正确的设置了该文件,则可以通过"mount /dire ...

  3. 微信聊天消息,好友转账消息的xml数据样本(分3种情况),以及各个字段含义

    转账消息只能对好友,其数据内容也是一段xml数据. 转账跟红包不一样,有3种情况的消息: 别人给自己转账: 自己给别人转账: 转账收款后,系统回执的消息: 每种消息大同小异,只有个别字段不一样. 1. ...

  4. SQL语句中explain各字段含义

    SQL语句中explain各字段含义 1 id: 2 select_type 3 type 4 table 5 possible_keys 6 Key key列显示MySQL实际决定使用的键(索引) ...

  5. ABAP动态修改屏幕及屏幕字段结构SCREEN的字段含义

    一.屏幕字段结构SCREEN的字段含义 在SAP屏幕中,一个字段就像.NET中的一个控件,这个字段对应一个SCREEN结构,就像控件的多个属性. SE11可以查看SCREEN结构中的字段,只是没有备注 ...

  6. Android 判断手机是32位CPU还是64位CPU android.os.Build类字段含义

    手机cpu分32位与64位,下面介绍如何在所有android版本上判断手机cpu位数是32位还是64位. 1 Android 判断手机是32位CPU还是64位CPU Android从API level ...

  7. SAP常用系统字段含义

    SAP常用系统字段含义 全部的在SYAT表里,有兴趣的可以查看,以下是常见的系统字段 SY-ABCDE 常量A-Z字母表 SY-DATUM 服务器日期 SY-UZEIT 服务器时间 SY-LANGU ...

  8. IP 数据报结构和各字段含义

    IP 数据报位于 OSI 七层模型中的网络层,对应与 TCP/IP 四层模型中的网络层(也称网际层).网络层用来处理网络上流动的数据包(网络传输中最小的数据单元),规定了怎样的路径把数据包传输到目标计 ...

  9. tcp协议timestamp字段导致问题分析

    1.现象 不同主机C1,C2上的相同模块(开启timestamp),通过NAT网关(1个出口ip)访问同一服务S,主机C1 connect成功,而主机C2 connect失败 2.分析 根据现象上述问 ...

最新文章

  1. 为什么很多SpringBoot开发者放弃了Tomcat,选择了Undertow
  2. 超卖 100 瓶茅台的事故分析
  3. 无需predetermine一条路
  4. OC 知识:彻底理解 iOS 内存管理(MRC、ARC)
  5. C语言输出长方柱的体积,需要求3个长方柱的体积,请编写一个基于对象的程序。数据成员包括length(长)、width(宽)、 height(高)。要求用成员函数实现以下功能...
  6. 前端解读控制反转(IOC)
  7. Angr Unsat_corn 使用之坑
  8. Flutter游戏:垃圾里会生蚊子
  9. 直连AIX服务器,对接AIX链路问题
  10. 华云数据:以信创云构筑自主创新长城之基
  11. Objective-C基础之闭包
  12. vc707 MicroBlaze LCD 试验
  13. Raid磁盘阵列数据恢复原理
  14. mysql 处理转义'_mysql转义处理
  15. OA自动化制造自动化
  16. 华为手机图标怎么变小_华为手机字太小看不清?那是你不会设置!四种方法让手机显示变大...
  17. javascript高级程序设计阅读收获(1.1)——javascript简短的历史回顾
  18. 企业如何搭建并运营好积分商城?
  19. Excel学习笔记:P13-页首、页尾设计、表格加水印
  20. 27岁,今年研究生上岸,有什么忠告可以给我的?

热门文章

  1. JSP和Servlet的区别(servlet生命周期)
  2. 背计算机二级excel公式,理解不了就硬背!计算机二级Excel常考函数公式!
  3. PTA 6-8 求单链表表长 (10 分)本题要求实现一个函数,Length_LinkList(LinkList L)函数是求出带头结点单链表的长度。
  4. SQL Server 视图创建点滴 (转http://www.cnblogs.com/fineboy/archive/2008/05/10/236731.html#1191527)...
  5. 技术人员应该研发符合穷人利益的项目
  6. antd pro使用ajax,antd在线换肤定制功能
  7. 短字符域名火爆至此,.tw域名逃得了吗?
  8. 由美国火星照片细节,分析造假的疑点
  9. 直播电商与微商的区别有哪些
  10. NVIDIA DOCA 将如何在中国绘制技术发展全景图