架构爱好者
学习交流中心

TCP三次握手四次挥手

1、TCP的特性

  • TCP提供一种面向连接的、可靠的字节流服务
  • 在一个TCP连接中,仅有两方进行彼此通信。广播和多播不能用于TCP
  • TCP使用校验和,确认和重传机制来保证可靠传输
  • TCP给数据分节进行排序,并使用累积确认保证数据的顺序不变和非重复
  • TCP使用滑动窗口机制来实现流量控制,通过动态改变窗口的大小进行拥塞控制

注意:TCP并不能保证数据一定会被对方接收到,因为这是不可能的。 TCP能够做到的是,如果有可能,就把数据递送到接收方, 否则就(通过放弃重传并且中断连接这一手段)通知用户。 因此准确说TCP也不是100%可靠的协议, 它所能提供的是数据的可靠递送或故障的可靠通知。

2、三次握手与四次挥手

所谓三次握手(Three-way Handshake),是指建立一个TCP连接时,需要客户端和服务器总共发送3个包。

三次握手的目的是连接服务器指定端口,建立TCP连接,并同步连接双方的序列号和确认号,交换TCP窗口大小信息。 在socket编程中,客户端执行connect()时。将触发三次握手。

TCP 的连接的拆除需要发送四个包,因此称为四次挥手(Four-way handshake),也叫做改进的三次握手。 客户端或服务器均可主动发起挥手动作,在socket编程中,任何一方执行close()操作即可产生挥手操作。

参考资料

未经允许不得转载:技术杂烩 » TCP三次握手四次挥手