tcp三次握手都做了什么?!

一,tcp三次握手图

tcp三次握手都做了什么?!_第1张图片

二,为什么要进行三次我手?

  首先,我们来举一个生活中的栗子。在我们初中时我们便学过这样的英语对白。场景是小明和小红初次见面

  小明(客户端):How are you?(SYN)
  小红(服务器):i am fine,thank you(Ack,对问题的确认。)
                and you?(SYN)
  小明(客户端):me too.(Ack)
  一番礼貌之后,联系已经建立。可以进行家长里短的交谈了,也就是可以发送数据了。

 SYN=1的数据包是请求数据包。Ack是确认数据包。当客户端给服务器发送SYN=1的数据报时,目的是告诉服务器我的发送缓存已经建立,你快建立你的接收缓存吧。当服务器给客户端发SYN=1,Ack=x+1的数据包时,Ack表示好的我知道了,我的接收缓存已经建立好了。SYN=1是告诉客户端我的发送缓存已经建立,你快建立接收缓存吧。客户端最后给服务器发了一个Ack,表示好的我的 接收缓存建好了。

如图,其实服务器和客户端有各自的接收缓存和发送缓存,下图显示了一部分。
tcp三次握手都做了什么?!_第2张图片
tcp三次握手不仅是发送接收缓存的建立。还协商了一些重要的参数:如发送缓存等。

你可能感兴趣的:(tcp,计算机网络,计算机网络)