• TCP连接


    TCP连接建立:三次握手
    TCP连接释放:四次握手

    一、概述
    TCP是面向连接的协议。
    TCP连接有三个阶段:

    • 连接建立
    • 数据传送
    • 连接释放

    二、连接建立
    TCP连接的建立采用C/S方式
    主动发起连接建立的应用进程叫做客户
    被动等待连接建立的应用进程叫做服务器

    TCP建立连接的过程叫做握手
    握手需要在客户和服务器之间交换三个TCP报文段,称为三次握手
    采用三次握手主要是为了防止已失效的连接请求报文段突然又传送到了,因而产生错误。

    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    TCP连接释放
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    A 必须等待 2MSL 的时间
    第一,为了保证 A 发送的最后一个 ACK 报文段能够到达 B。
    最后一个ACK可能会丢失,此时B会重发FIN,在这段等待时间内能收到重发的FIN并再次回复ACK。
    第二,防止 “已失效的连接请求报文段”出现在本连接中。
    可以使本连接持续的时间内所产生的所有报文段都从网络中消失。这样就可以使下一个新的连接中不会出现旧连接的报文段

    保活计时器
    用来防止在TCP连接出现长时期的空闲。
    通常设置为2小时 。
    若服务器过了2小时还没有收到客户的信息,它就发送探测报文段。
    若发送了10个探测报文段(每一个相隔75秒)还没有响应,就假定客户出了故障,因而就终止该连接。

    例题

    例一:主机甲向主机乙发送一个( SYN=1 ,seq=11220 )的TCP 段,期望与主机乙建立TCP 连接,若主机乙接收该连接请求,则主机乙向主机甲发送的正确的TCP 段可能是
    A.(SYN=0 ,ACK=0 ,seq=11221 ,ack=11221 )
    B.(SYN=1 ,ACK=1 ,seq=11220 ,ack=11220 )
    C.(SYN=1 ,ACK=1 ,seq=11221 ,ack=11221 )
    D.(SYN=0 ,ACK=0 ,seq=11220 ,ack=11220 )
    答案:C

    例二:若主机甲主动发起一个与主机乙的TCP 连接, 甲、乙选择的初始序列号分别为2018 和2046,则第三次握手TCP 段的确认序列号是
    A. 2018 B. 2019 C. 2046 D. 2047
    答案:D
    第一次握手:2018。
    第二次握手:2046,2019。
    第三次握手:2019,2047

  • 相关阅读:
    pinctrl
    广告学概论--名词解释
    移动互联网测试岗——招聘现状
    程序员保密协议(双向)
    轻量容器引擎Docker基础使用
    自驱力是其他要素的基石
    聊聊接口设计
    技术干货|昇思MindSpore Lite1.5 特性发布,带来全新端侧AI体验
    OpenMesh 最优选点策略
    一篇文章教会你写一个贪吃蛇小游戏(纯C语言)
  • 原文地址:https://blog.csdn.net/misakisaigao/article/details/125472424