阿里云
阿里云多端小程序中小企业获客首选
发表主题 回复主题
  • 2477阅读
  • 0回复

[教程]wireshark从入门到精通(协议排错安全篇)7

级别: 论坛版主
发帖
3606
云币
2556
上一节说了TCP可能就有童鞋问如果我发的数据分片完怎么组合,都发乱了那我数据不恢复不了吗? |{+D65R  
这里我就要说一下我们的seq序列号的作用了,通过他进行排序,也就是TCP的有序传输。 s;X"E =  
我们还有一点就是要知道seq是如何增长的,我们的seq值假如=100  len长度=7  那么我们下一个的seq就是107  通过107确定我们前面的数据接收到了不然可以通过前面的SEQ+len减去后面的seq来确定哪一部分的数据丢弃如何进行重传即可。 Rtw^ lo  
5j1}?0v_  
\v{tK;  
我们的TCP是双向也就意味着每方都维护着一个seq,当然ack也然维护者,另一方面我们的数据还得考虑每次传输的大小,专业的说是窗口大小,假设大小固定,每次发送数据过去然后不断的清空缓存然后继续发送,比如固定窗口大小5000,第一次发送2000还有3000,第二次发送2000还有1000,然后发送数据确确认ack我们清空缓存继续重新发送5000继续减小,但是一旦多个客户端同时进行这个就会变得缓存就需要一个滑动窗口大小来进行解决。 EcrM`E#kaZ  
rA&|!1q"B  
{M U>5\  
滑动窗口根据我们的实际情况进行调整,比如一个5000的窗口大小,发送2000之后第二次发送2000的时候我这里就还有1000不够下一次,如果不调整数据就会丢弃,所以我进行调整告诉他我现在固定大小1000,就会发送的调整为1000,这样就解决了数据大小发送接收时候的尴尬局面。 /8@JWK^I{  
   当然我们的数据或者服务问题的时候,就必须启动秘密武器零窗口,告诉我现在零窗口不能发送给我,但是我们保持着连接的关系,直到可以发送的时候我发送一个固定大小值然后继续进行。 X|t?{.p  
T[B@7$Dp*  
[ 此帖被我的中国在2016-11-29 20:45重新编辑 ]
我的中国 教程整理:https://bbs.aliyun.com/read/317306.html
发表主题 回复主题
« 返回列表上一主题下一主题

限100 字节
如果您在写长篇帖子又不马上发表,建议存为草稿
 
验证问题: 6 - 5 = ?
上一个 下一个
      ×
      全新阿里云开发者社区, 去探索开发者的新世界吧!
      一站式的体验,更多的精彩!
      通过下面领域大门,一起探索新的技术世界吧~ (点击图标进入)