标签:抓包 png 情况 交互 发送 发送数据 就会 例子 自己
最近网络监控中某个会话出现严重丢包,就把该会话的所有数据包给保存下来,想试着人工分析下tcp数据包交互的情况,顺便巩固下tcp的丢包重传知识。当重新关注到seq和ack这两个tcp重要字段,然后有新的心得体会tcp是基于字节流。 seq和ack来保证传输可靠性。此前本人再网上看到讨论tcp传输数据的文章,大多画图举例都是单方向。比如C和S通信,假如C传了个包,seq 1200 ,len 100,然后S就会回个ack 1300的数据包。
那问题来,S的ack包需要确认嘛?确认S的ack包需要确认嘛?确认确认S的ack包需要确认嘛?
一直套娃中。。。。
我看到一位高手对此回答是不需要,因为没意义巴拉巴拉之类。
如果你仔细抓包研究过,这个就不是啥问题。因为除三次握手第一个包是没有ack以外,其他都是有seq和ack这两个字段。tcp是双方都可以同时接收发送数据。照着上面c/s通信的例子,S回的ack1300的数据包,也是有seq还有len的。用物流快递来举例吧,如果两地都有都有快递要传送,C传了1000字节快递过来,S签收确认,顺带也会把要传给C的东西捎带上。
这里上了,我抓到两端通信tcp数据包的seq和ack。大家可以好好感受下
1,3是一端,2,4另一端
知行合一。如果条件允许的话,最好多实践来验证自己想法,这也是加深对知识的理解
标签:抓包 png 情况 交互 发送 发送数据 就会 例子 自己
原文地址:https://blog.51cto.com/3488900/2526044