
 
有的时候,B 主机的相应进程还没有准备好或是挂掉了,A 就开始发送数据包,导致了浪费。
 

 
  这个问题在于,A 在跟 B 通信之前,没有事先确认 B 是否已经准备好,就开始发了一连串的信息。就好比你和另一个人打电话,你还没有"喂"一下确认对方有没有在听,你就巴拉巴拉说了一堆。 
 
  这个问题该怎么解决呢? 
 
  地球人都知道, 
 三次握手嘛! 
 
A:我准备好了(SYN)
 
B:我知道了(ACK),我也准备好了(SYN)
 
A:我知道了(ACK)
 

 
  A 与 B 各自在内存中维护着自己的状态变量,三次握手之后,双方的状态都变成了 
 连接已建立(ESTABLISHED)。 
 
  虽然就只是发了三次数据包,并且在各自的内存中维护了状态变量,但这么说总觉得太 low,你看这个过程相当于双方建立连接的过程,于是你灵机一动,就叫它 
 面向连接吧。 
 
  注意:这个连接是虚拟的,是由 A 和 B 这两个终端共同维护的,在网络中的设备根本就不知道连接这回事儿! 
 
  但凡事有始就有终,有了建立连接的过程,就要考虑释放连接的过程,又是地球人都知道, 
 四次挥手嘛! 
 
A:再见,我要关闭了(FIN)
 
B:我知道了(ACK)
 
     给 B 一段时间把自己的事情处理完...
 
B:再见,我要关闭了(FIN)
 
A:我知道了(ACK)
 

 

 
以上讲述的,就是 TCP 协议的核心思想,上面过程中需要传输的信息,就体现在 TCP 协议的头部,这里放上最常见的 TCP 协议头解读的图。
 

 
  不知道你现在再看下面这句话,是否能理解: 
到此这篇tcp工具坐标(tcp坐标的含义)的文章就介绍到这了,更多相关内容请继续浏览下面的相关推荐文章,希望大家都能在编程的领域有一番成就!
                            
                            
                            
                            
                                
                                    版权声明:
                                    
                                        
                                        本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
                                        
                                        
                                         
                                        如若内容造成侵权、违法违规、事实不符,请将相关资料发送至xkadmin@xkablog.com进行投诉反馈,一经查实,立即处理!
                                        
                                    
                                    转载请注明出处,原文链接:https://www.xkablog.com/cjjbc/45118.html