首页 > 其他 > 详细

08-传输层(7)

时间:2020-09-07 21:05:48      阅读:66      评论:0      收藏:0      [点我收藏+]

TCP 的传输连接管理

概述

  • TCP 是面向连接的协议,运输连接有 3 个阶段:
    • 连接建立
    • 数据传送
    • 连接释放
  • 运输连接的管理就是使运输连接的建立和释放都能正常地进行
  • TCP 连接建立过程中要解决的 3 个问题
    • 要使每一方能够确知对方的存在
    • 要允许双方协商一些参数(如最大窗口值、是否使用窗口扩大选项和时间戳选项以及服务质量等)
    • 能够对运输实体资源(如缓存大小、连接表中的项目等)进行分配
  • 客户-服务器方式
    • TCP连接的建立采用 [客户-服务器方式]
    • 主动发起连接建立的应用进程叫做客户(client)
    • 被动等待连接建立的应用进程叫做服务器(server)

TCP 连接建立

TCP 建立连接的过程叫做"握手",握手需要在客户和服务器之间交换 3 个 TCP 报文段,故称之为"三报文握手"。

流程

技术分享图片

技术分享图片

技术分享图片

技术分享图片

为什么要有第 3 次?

技术分享图片

举例

技术分享图片

TCP 连接释放

数据传输结束后,通信的双方都可释放连接。TCP 连接释放过程是四报文握手。

流程

技术分享图片

技术分享图片

技术分享图片
技术分享图片

关闭为什么是 4 次?

为什么建立连接是三次握手,而关闭连接却是四次挥手呢?

关闭连接时,当收到对方的 FIN 报文时,仅仅表示对方不再发送数据了但是还能接收数据,我们也未必全部数据都发送给对方了,所以我们不可以立即 close,也可以发送一些数据给对方后,再发送 FIN 报文给对方来表示同意现在关闭连接,因此,我们的 ACK 和 FIN 一般都会分开发送。

等待 2MSL 的时间

技术分享图片

08-传输层(7)

原文:https://www.cnblogs.com/liujiaqi1101/p/13628420.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!