码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • 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

  • 相关阅读:
    unity脚本出现了这个问题
    Linux开发工具之调试器gdb
    golang的垃圾回收算法之十写屏障的技术
    java毕业设计巢院小区疫情管控系统Mybatis+系统+数据库+调试部署
    从模型到部署,教你如何用Python构建机器学习API服务
    设计模式之状态模式
    如何入门 AI:从初学者到人工智能专家的完整指南
    Boost ASIO:Platform-specific I/O Objects
    【Java八股文之进阶篇(五)】多线程编程核心之并发容器
    8、ByteBuffer(方法演示2(allocate堆内存和allocateDirect直接内存))
  • 原文地址:https://blog.csdn.net/misakisaigao/article/details/125472424
  • 最新文章
  • 【JVM】编译执行与解释执行的区别是什么?JVM 使用哪种方式?
    用 Hashids 优雅解决 C 端自增 ID 暴露问题
    V8引擎 精品漫游指南--Ignition篇(上) 指令 栈帧 槽位 调用约定 内存布局 基础内容
    LLVM Pass快速入门(四):代码插桩
    milkup:桌面端 markdown AI续写和即时渲染
    基于项目工程构建SBOM(软件物料清单)的研究
    鸿蒙应用开发UI基础第二节:鸿蒙应用程序框架核心解析与实操
    .NET 中如何快速实现 List 集合去重?
    扣子Coze实战:从0到1打造抖音+小红书热点监控智能体
    浅谈数据访问层
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
小工具 小游戏
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1

京公网安备 11010502049817号