加入收藏 | 设为首页 | 会员中心 | 我要投稿 湖南网 (https://www.hunanwang.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 教程 > 正文

收集通讯协议之TCP

发布时间:2019-04-29 21:56:01 所属栏目:教程 来源:360技术
导读:部门很是轻易可以或许建设一个当地TCP处事器,正好可以用来说明一下TCP的哀求和相应进程。 在本篇文章,笔者将给各人先容下TCP成立毗连(三次握手),传输数据,断开毗连(四次挥手)的进程。 TCP简介 TCP:TCP(Transmission Control Protocol 传输节制协议)是一种

TCP Window Update 是TCP通讯中的一个状态,它可以产生的缘故起因有许多,但最终归结于发送者传输数据的速率比吸取者读取的数据还快,这使得接管端的在缓冲区必需开释一部门空间来装发送过来的数据,然后向发送者发送Windows Update,汇报给发送者应该以多大的速率发送数据,从而使得数据传输与接管规复正常。参考:tcp三次握手

从上图TCP Window Update,按照Source Port:20000及Destination Port:59006可知,当前发送者是客户端,表明下上一段笔墨的意思是,客户端发送的数据太快,处事端念书数据慢,处事端向客户端发送了一个TCP Window Update的报文。

上述内容就是TCP成立毗连的进程,下边笔者给各人先容下传输数据部门的内容:

TCP的数据传输进程

查察数据传输进程和之前成立毗连部门,用的是下图代码举办的说明:

代码内容和之前成立毗连的代码一样,只是添加了发送数据和断开毗连的几行代码。可见这次客户端分派的端标语为53262。

在说明数据传输进程之前,笔者先对下边会用到的名词及器材做个简朴声名:

  • 字节即byte,比特即bit,1个字节(byte)=8个比特(bit)。
  • ASCII码:是基于拉丁字母的一套电脑编码体系,首要用于表现当代英语和其他欧美说话。它是现今最通用的单字节编码体系

ASCII码比较表:

举个例子'A'的ASCII码为0x41

根基的16进制、2进制、10进制之间的转换:16进制0x41对应2进制为 0100 0001对应10进制为4 * 16 + 1 = 65

在线进制转换:

下边笔者带各人看一下数据传输部门的说明:

下图暗示客户端s.send(b'A')以二进制情势传输'A'(其对应的ASCII码为65)传输进程:

客户端随处事端

下边展示一个客户端s.send(b'AB')而且处事端给以响应的回应(处事端也给客户端发送收到的'')的进程:

  • 吸取数据的部门Flags中的Acknowledgement 配置为1,暗示确认应答的字段有用
  • 吸取数据的部门Flags中的Push 配置为1暗示暗示吸取方应该尽快把数据传给上层应用协议

从源端口53262,目标端口20000可以看出,下图暗示客户端向处事端发送动静,发送的数据为'AB','AB'的ASCII码为0x4142。

客户端向处事端发送动静

从源端口20000,目标端口53262可以看出下图暗示处事端向客户端反馈收到了动静。

(编辑:湖南网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

热点阅读