码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • [计算机网络实验] TCP协议


    [计算机网络实验] TCP协议

    Written by Landasika

    跟踪TCP流

    三次握手四次挥手的过程

    在这里插入图片描述TCP的三次握手标志传输的开始

    在这里插入图片描述服务器向主机发送OK的包并且FIN的值是1,也就是四次挥手的开始,标志着传输的结束。

    跟踪TCP流找到发送的包

    在这里插入图片描述
    选定一个TCP流进行跟踪

    在这里插入图片描述
    可以发现这个是一个GET请求的一个HTTP报文。

    继续分析。
    在这里插入图片描述第一个GET请求是请求这个图片,然后通过tcp传输。
    在这里插入图片描述

    最后GET请求回复OK,表名传输完成。

    在这里插入图片描述找到OK传输完成的HTTP包,选中JPEG的包。
    Ctrl+Shift+O
    在这里插入图片描述
    这里可以查看到传输的图片。

    分析TCP快重传的过程

    主机报文重传是TCP最基本的错误恢复功能,它的目的是防止报文丢失。

    在这里插入图片描述

    在这里插入图片描述

    一般快速重传算法在收到三次冗余的Ack,即三次[TCP dup ack XXX#X]后,发送端进行快速重传。
    为什么是三次呢?因为两次 duplicated ACK 肯定是乱序造成的,丢包肯定会造成三次 duplicated ACK。

    在这里插入图片描述

    在这里插入图片描述

    分析TCP重传过程

    在这里插入图片描述
    这个地方网络异常导致重传,观察第一个包发现校验和是并没有校验的。
    那么就是包丢失,进行超时重传。
    超时重传,如果一个包的丢了,又没有后续包可以在接收方触发[Dup Ack],或者**[Dup Ack]也丢失**的情况下,TCP会触发超时重传机制。
    在这里插入图片描述

    分析TCP累计确认过程

    访问一个网站,随便跟踪一个TCP流
    在这里插入图片描述TCP的三次握手标志传输的开始

    在这里插入图片描述

    本机向服务器发送序号为1,长度为410字节的TCP段。同时期望收到序号为1的数据。

    在这里插入图片描述

    服务器确认收到序号为1的字段,并发送长度为0字节的TCP字段,告诉服务器,表示我已经收到确认了。

    在这里插入图片描述
    服务器向本机传输数据,希望得到序号为411的确认包

    在这里插入图片描述
    主机向服务器发送序号为411,希望得到序号为13601的确认包。告诉服务器,你之前发送的数据我都接受到了。

    在这里插入图片描述服务器继续向主机发送数据,期望得到序号为411的确认包。

    在这里插入图片描述服务器向主机发送OK的包并且FIN的值是1,也就是四次挥手的开始,标志着传输的结束。

  • 相关阅读:
    【华为机试真题详解】判断字符串子序列【2022 Q1 Q2 | 200分】
    如何理解ORB_SLAM2算法中一个特征点在y方向的位置是以金字塔尺度为半径的多行中?
    设计模式——9. 桥接模式
    让你的相册变成私有云!Synology Photos 的公网访问功能指南
    代码随想录算法训练营第五十九天 | LeetCode 739. 每日温度、496. 下一个更大元素 I
    day-48 代码随想录算法训练营(19) 动态规划 part 09
    构造照亮世界——快速沃尔什变换 (FWT)
    SpringBoot图片验证码
    Allegro DFM Ravel Rule Testpoint pad to outline检查
    Excel 转为 PDF,PNG,HTML等文件
  • 原文地址:https://blog.csdn.net/Jeff_12138/article/details/125434070
  • 最新文章
  • 攻防演习之三天拿下官网站群
    数据安全治理学习——前期安全规划和安全管理体系建设
    企业安全 | 企业内一次钓鱼演练准备过程
    内网渗透测试 | Kerberos协议及其部分攻击手法
    0day的产生 | 不懂代码的"代码审计"
    安装scrcpy-client模块av模块异常,环境问题解决方案
    leetcode hot100【LeetCode 279. 完全平方数】java实现
    OpenWrt下安装Mosquitto
    AnatoMask论文汇总
    【AI日记】24.11.01 LangChain、openai api和github copilot
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1
正则表达式工具 cron表达式工具 密码生成工具

京公网安备 11010502049817号