• 08-传输层(7)


    TCP 的传输连接管理

    概述

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

    TCP 连接建立

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

    流程

    为什么要有第 3 次?

    举例

    TCP 连接释放

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

    流程


    关闭为什么是 4 次?

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

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

    等待 2MSL 的时间

  • 相关阅读:
    电商杂谈我对于各类平台的看法及八卦杂谈
    echo的实现
    Autofac依赖注入
    asp.net中获取系统信息
    openlayers 地图事件
    C# Finalize和Dispose的区别
    NET中MSMQ的使用附例子
    图像处理之相似图片识别
    openlayers图片样式替换
    WPF触发器
  • 原文地址:https://www.cnblogs.com/liujiaqi1101/p/13628420.html
Copyright © 2020-2023  润新知