• 大白话讲解TCP三次握手与四次挥手


    🍏前置了解知识

    对于TCP和UDP这两种协议, 做程序员的我们都应该有所耳闻, 我们平常的做的浏览网页, 看直播, 发微信这些操作, 都是通过这两种协议进行数据传输的

    当然数据的格式会有很多种, 例如视频(MP4), 图片(jpg) 等等, (TCP/UDP)协议的最大区别是 一个基于连接, 另一个基于非连接, 下面我们举一个简单的例子来讲解, 我们以写信和打电话为例

    📨 写信 (UDP)

    1.我们写好信后, 发给邮递员, 写得信是否能送到家里人手中?

    2.内容是否完整, 信的内容是否被篡改?

    3.我们如果发送多封信, 是否依照发送的顺序让家人接收到

    ☎️ 打电话 (TCP)

    1.拨打电话, 直到对方接通

    2.电话互通, 与对方不断地交流

    3.交流完毕后, 挂掉电话


    🍎术语科普

    1.SYN : 同步位  当SYN = 1表示进行一个连接请求

    2.ACK : 确认位 当ACK = 1代表确认有效 = 0代表确认无效

    3.ack(小写) : 确认号 相当于对方发送过来的序号 + 1

    4.seq : 序号 用来标识从TCP发端向TCP收端发送的数据字节流

    5.FIN : FIN = 1代表断开连接, 并且会停止向服务端发送数据


     

    🍒TCP三次握手与四次挥手

    通过刚才打电话为例, TCP之所以能提高准确性, 是因为有三个关键的步骤分别为: 三次握手(连接), 传输确认, 四次挥手(断开连接)

    现在我们再次模拟打电话的场景分别为 客户端A 和 服务器B

    三次握手

     四次挥手

  • 相关阅读:
    SQL->基础->进阶
    HSN:微调预训练ViT用于目标检测和语义分割,华南理工和阿里巴巴联合提出
    Redis字符串指令
    PCL 点云超体素分割-SupervoxelClustering
    34. 在排序数组中查找元素的第一个和最后一个位置
    学习Python的8天
    Day 78
    根据实体类生成表生成语句
    java抽象类
    Ruby线程安全秘籍:深入探索并发编程的隐秘角落
  • 原文地址:https://blog.csdn.net/qq_45481709/article/details/127952201