Tcp创建三次握手和关闭四次握手

本文大部分来自: http://blog.csdn.net/whuslei/article/details/6667471

 

一、基本概念:

   说来惭愧,工作这么久一直对TCP的三次握手模模糊糊,最近排查jedis connection time out过多的问题,才发现理解TCP协议非常的重要。


     上一张图简单说明一下:

    (1)建立连接: TCP协议建立连接需要三次握手

    (2)发送数据:...

    (3)释放连接:TCP协议释放连接需要四次握手

     

     ps: 何为长连接?比如Socket可以实现TCP连接,如果开启了长连配置,会长时间持有连接,减少了不必要的连接开销

      
  tcp

     

二、 创建连接的三次握手:

 

1. 这个例子看着很容易理解:客户端发送序号1-1000,服务端回了个1001,说明服务端收到1-1000才知道下一个是1001

tcp

 

2. 如果抽象的说就是下面这张图。ack代表应答(因为第一次没有应答所以是0,seq是序号相当于上面的1-1000)

 

    说明:

ACK : TCP协议规定,只有ACK=1时有效,也规定连接建立后所有发送的报文的ACK必须为1
SYN(SYNchronization) : 在连接建立时用来同步序号。当SYN=1而ACK=0时,表明这是一个连接请求报文。对方若同意建立连接,则应在响应报文中使SYN=1和ACK=1. 因此, SYN置1就表示这是一个连接请求或连接接受报文。
FIN (finis)即完,终结的意思, 用来释放一个连接。当 FIN = 1 时,表明此报文段的发送方的数据已经发送完毕,并要求释放连接。
tcp
您的回应...

相关话题

查看全部

也许你感兴趣

换一批

热门标签

更多