TCP状态转换图、TCP连接3次握手4次挥手
两将军问题:红蓝两军作战,蓝军战斗力强大,红1军或红2军与其单独作战都打不过蓝军,所以需要红一军与红二军联合对蓝军发起进攻,红军1首先通知红军2明早10点发起总攻,如图1-1,红军2接到消息需要回复“好的红军1,我已经收到你得消息,确认明早10点发动总攻”。因为消息传递路线必须经过蓝军营地,所以双方传递消息的信使很有可能被蓝军俘获。为了确保消息的可靠性,红1、红2双方在发出一个消息之后都想得到对方的消息回执。但是这会导致消息无线循环下去,如图1-2。那么如何解决这个可靠性的问题呢,其实没有办法解决,只要保证双方各自都有一次成功的发送、回执就可以了。两将军问题也存在网络世界里,客户端、服务器建立连接不可能无限的确认下去,只要保证客户端和服务器分别对自己的收、发能力做一次确认即可,如下图。 客户端和服务器分别对自己的收、发能力做一次确认至少需要3次握手。3次握手的具体过程、状态如下:(1)首先客户端和服务器都处于CLOSED状态。(2)服务器处于LISTEN状态,具体为服务器调用Socket、bind、listen函数,进入阻塞状态。(3)客户端发送SYN(同步序列编号),发送完毕客户端进入SYN_SENT状态。(4)服务端收到SYN,发送SYN+ASK,发送完毕进入SYN_RCVD状态。(5)客户端收到服务端发来的SYN+ASK,发送服务端等待的ASK,发送完毕客户端进入ESTABLISHED状态,准备数据传输,到此客户端已经满足了对自己收发能力的一次验证。(6)服务端收到客户端发来的ASK,与客户端一样,到此服务端也已经满足了对自己收发能力的一次验证,所以也进入ESTABLISHED状态,准备数据传输。(7)准备开始传输数据TCP断开连接有两种情况或者说是场景,1 客户端先断开连接,当然也可能是服务器先断开连接,总之是一前一后。 2 双方同时发起断开连接操作。下面分别介绍两种场景:(1)客户端先发起断开连接操作,客户端向服务端发送FIN,发送完毕客户端进入FIN_WAIT_1状态。(2)服务端收到客户端发来的FIN,服务端发送ACK,发送完毕进入CLOSED_WAIT状态。(3)客户端收到服务端的ACK回复,客户端进入FIN_WAIT_2状态,如果后面服务端没有回应客户端,在TCP协议层面来讲,客户端将永远停留在这个状态了,不过还好,操作系统着这块做了处理,有一个超时时间。(4)此时TCP连接进入半关闭状态,即客户端主,服务端从的这条线路已经关闭,不过服务端主,客户端从的这条线路还处于打开状态。(5)服务端向客户端发送FIN,发送完毕,服务端进入LAST_ASK状态。(6)客户端收到服务端的FIN后回复服务端ACK,回复完毕进入TIME_WAIT状态,为什么要进入这个状态?因为第6步是客户端的最后一条回复,服务端很有可能收不到,收不到服务端就会重发,所以客户端还要等待一会。(7)服务端收到客户端的ACK回复之后,不再做响应,回到初始的CLOSED状态,在连接池中等待下一次的复用。(8)客户端保持TIME_WAIT状态,超时之后同样进入CLOSED状态。场景二(1)客户端、服务器双方同时发送FIN,双方同时进入FIN_WAIT_1状态(2)双方都接到了对方的ACK,此时双方都会进入CLOSING状态。(3)双方同时进入TIME_WAIT状态,为什么要进入这个状态而不是直接进入CLOSED状态呢?假设客户端和服务端本次是第X次建立连接、关闭连接。如果立即关闭,随后建立第X+1次连接,建立连接成功之后,第X次的丢包的数据有可能绕了一大圈又回来了,那就会出现数据错误,为了避免这种情况所以要进入TIME_WAIT状态,以保证旧连接的数据不会再回来。(4)TIME_WAIT超时之后,双双进入CLOSED状态。有了上面对TCP连接3次握手4次挥手的介绍,再来理解TCP的状态图就不困难了,无非就是对TCP连接3次握手4次挥手过程的打包概述而已。

用Wireshark抓的包发现TCP三次握手连续发了两边,如下图 为什么呢?
TCP有超时重传机制,如果在定时器范围内未收到确认,会重发数据包。

PTP是什么 意思?
PTP是英语“图片传输协议(picture transfer protocol)”的缩写。PTP是最早由柯达公司与微软协商制定的一种标准,符合这种标准的图像设备在接入Windows XP系统之后可以更好地被系统和应用程序所共享,尤其在网络传输方面,系统可以直接访问这些设备用于建立网络相册时图片的上传、网上聊天时图片的传送等。基本要素:(1)寻址。当一个应用程序希望与另一个应用程序传输数据时,必须指明是与哪个应用程序相连。寻址的方法一般采用定义传输地址。因特网传输地址由IP地址和主机端口号组成。(2)建立连接。在实际的网络应用中,采用三次握手的算法,并增加某些条件以保证建立起可靠的连接。增加的条件是:所发送的报文都要有递增的序列号;对每个报文设立一个计时器,设定一个最大时延,对那些超过最大时延仍没有收到确认信息的报文就认为已经丢失,需要重传。(3)释放连接。也采用三次握手的算法。以上内容参考:百度百科-传输协议
PTP是主从同步系统,一般采用硬件时间戳,并配合一些对NTP更高精度的延时测量算法。PTP最常用的是直接在 MAC 层进行 PTP 协议包分析 , 这样可以不经过UDP 协议栈 , 减少PTP 在协议栈中驻留时间 , 提高同步的精确度。PTP也可以承载在 UDP 上时 , 软件可以采用 SOCKET 进行收发 UDP包 , 事件消息的 UDP 端口号 319 , 普通消息的组播端口号为 320 ,但其精度就大大降低。PTP的特点:在物理硬件要求主从端都是PTP设备,且网络不能太大,其中间经过的交换机设备也必须支持PTP协议,并且主从时间网络链路唯一,不存在交替的PTP通道。PTPv2 采用相对时间同步机制。一个参与者被选作主时间钟,其将发送同步信息到从站。主站将发送同步报文到网络。所有的从站计算时间延迟。
1、PTP一般称为P2P。P2P金融又叫P2P信贷,是互联网金融(ITFIN)的一种。意思是:点对点。2、P2P是英文person to person的缩写,意即个人对个人。意思即个人对个人。P2P网络借款,又称点对点网络借款,是一种将小额资金聚集起来借贷给有资金需求人群的一种民间小额借贷模式。扩展资料P2P金融指不同的网络节点之间的小额借贷交易,需要借助电子商务专业网络平台帮助借贷双方确立借贷关系并完成相关交易手续。借款者可自行发布借款信息,包括金额、利息、还款方式和时间,自行决定借出金额实现自助式借款。参考资料百度百科-P2P金融
1、PTP是英语“图片传输协议(picture transfer protocol)”的缩写。 2、PTP是英语“proton-transfer polymerization ”的缩写。3、PTP:纸带打印机(Paper Tape Printer)4、PTP: Paid To Promote意思是你帮某个站做宣传做广告来提升其知名度,这个站就根据其提供给你的广告页面被有效点击或曝光的次数(即流量)给你付钱,做PTP有多种形式,一般是把PTP链接 (即广告页面网址)加在你的冲浪站做流量交换。不懂的可以看参考资料。5、精确时间同步协议(Precision Time Synchronization Protocol) 6、PTP 强直后增强(post tetanic potentiation) 指反复高频电刺激突出前神经纤维后,引起突出传递易化,使突触后纤维反应增强的现象。

怎样生动描述 TCP 的「三次握手」?
不要抖机灵,三次握手即是在最快最省力的情况下做出的选择比如在红军时代,A连和B连分在左右翼,约定在几时几分一同发起打击。这个几时几分的信息就需要人工通过通讯员来走路传递。所以A连指挥官派出通讯员。这是第一次。假设通讯员到达了B连,并且告知了B连指挥官几时几分,B连指挥官一定会让通讯员再回去通知A连指挥官,可怜的通讯员只能冒着危险返回A连,因为A连指挥官看不到通讯员返回的话,不知道几时几分这个信息到底传达到了B连没有。这是第二次。现在B连指挥官开始担心通讯员是否回到了A连,如果没回到,B连指挥官会设身处地的想一想A连指挥官见不到返回的通讯员,肯定是不敢打的,所以B连指挥官最盼望的是再次看到通讯员出现在B连,所以A连指挥官会让通讯员再回B连一次。这是第三次。这就是三次握手
简化三次握手流程 从图片可以得到三次握手可以简化为:C发起请求连接S确认,也发起连接C确认我们再看看每次握手的作用:第一次握手:S只可以确认自己可以接受C发送的报文段第二次握手:C可以确认 S收到了自己发送的报文段,并且可以确认自己可以接受S发送的报文段第三次握手:S可以确认 C收到了自己发送的报文段总结:三次握手,对于每一方来说,可以确认两个信息:1.确认 自己可以接受对方发来的报文段2.确认 对方收到了自己的报文一旦这两个得到确认,连接就建立起来了,后面才开始传送数据关于为什么要三次握手,大家从握手过程也可以看得出。不过书上是这样的解释:谢希仁的《计算机网络》说:防止已失效的连接请求报文段突然又传给server “已失效的连接请求报文段”的产生在这样一种情况下:client发出的第一个连接请求报文段并没有丢失,而是在某个网络结点长时间的滞留了,以致延误到连接释放以后的某个时间才到达server。本来这是一个早已失效的报文段。但server收到此失效的连接请求报文段后,就误认为是client再次发出的一个新的连接请求。于是就向client发出确认报文段,同意建立连接。假设不采用“三次握手”,那么只要server发出确认,新的连接就建立了。由于现在client并没有发出建立连接的请求,因此不会理睬server的确认,也不会向server发送ack包。(此时因为client没有发起建立连接请求,所以client处于CLOSED状态,接受到任何包都会丢弃,谢希仁举的例子就是这种场景)但server却以为新的运输连接已经建立,并一直等待client发来数据。这样,server的很多资源就白白浪费掉了。采用“三次握手”的办法可以防止上述现象发生。例如刚才那种情况,client不会向server的确认发出确认。server由于收不到确认,就知道client并没有要求建立连接。

在Tcp的三次握手中 如下图所示ACK=X+1 但是ACK不是只有一位吗 X是序到列号 数值
没有写错。 ack 中的X是 上一条信息的seq的值。这个值是随机的。

本文由 在线网速测试 整理编辑,转载请注明出处。