计算机网络(四)TCP运输层协议

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/lwl2014100338/article/details/82792854

特点

  1. 面向连接(全双工):一个应用程序向另一个应用程序发送数据之前,这两个进程必须先进行握手
  2. 可靠数据传输:确保一个进程从其接收的缓存中读出的数据流是无损坏、无间隙、非冗余、按序的数据流
  3. 流量控制:TCP通过让发送发维护一个称为接收窗口的变量来提供流量控制,接收窗口用于给发送发一个指示——该接收方还有多少可用的缓存

连接管理

建立连接(三次握手)
  1. 客户端的TCP向服务器端TCP发送一个特殊的TCP报文段:该报文段不包含应用层数据,但是该报文段的首部中的一个标志位(SYN比特)被置为1
  2. 包含TCP SYN报文段的IP数据报到达服务器主机,为该TCP连接分配TCP缓存和变量,并向该客户TCP发送允许连接的报文段
  3. 收到SYNACK报文段后,客户给该连接分配缓存和变量。客户主机向服务器发送另外一个报文段,这最后一个报文段对服务器允许连接的报文段进行确认。因为连接已经建立,所以SYN比特被置为0。该三次握手的第三个阶段可以在报文段负载中携带客户到服务器的数据
断开连接(四次挥手)
  1. 客户应用程序发出关闭命令:引起客户TCP向服务器发送一个特殊的报文段,这个特殊的报文段让其首部中的一个标志即FIN比特被置为1
  2. 服务器收到发送方发送的报文段,向发送方回发一个确认报文段
  3. 服务器发送自己的终止报文段,其FIN比特被置为1
  4. 该客户对这个服务器的终止报文段进行确认

TCP拥塞控制

TCP拥塞控制算法主要包括三部分
(一)慢启动
(二)拥塞避免
(三)快速恢复
慢启动和拥塞避免是TCP的强制部分,快速恢复是推荐部分

猜你喜欢

转载自blog.csdn.net/lwl2014100338/article/details/82792854