【计网】【TCP】浅析TCP三次握手

news/2024/10/18 8:26:19/

前言

  • 之前学习计网时不认真,TCP三次握手稀里糊涂就过去了,最近在重新查漏补缺计网这方面的知识,饭要一口一口吃,我就没有把其中涉及到的大量知识点写在此博客中,此文仅管中窥豹,之后再详细写吧。

  • 笔记中有些个人理解后整理的笔记,可能有所偏差,也恳请读者帮忙指出,谢谢。

免责声明

  • 为了方便,本文中使用的部分图片来自于网络,如有侵权,请联系博主进行删除,感谢其他博主提供的图床。
  • 此笔记用于记录本人对于该知识的汇总。以方便日后的工作与学习。
  • 如有侵权请告知,马上删除。

【是什么?】

  • TCP三次握手:指的是客户端与服务端建立TCP链接时的过程

【为什么?】

  • 确认自己和对方的发送和接收都是正常的,从而保证了双方能够进行可靠通信。

  • 客户端和服务端建立TCP链接时,通信双方必须从对方了解信息。才能确定双方是要互相建立链接的对象

    • 双方所需要了解的信息包括
      1. 对方报文发送的开始序号
      2. 对方发送数据的缓冲区大小
      3. 能被接收的最大报文段长度MSS
      4. 被支持的TCP选项

【怎么做?】

第一次

  • 客户端向服务器发送一个 SYN (seq=j)包,并进入SYN_SENT状态,等待服务器确认

    • SYN:同步序列编号(Synchronize Sequence Numbers)
      • seq:表示这个tcp包的序列号
    • SYN_SENT:表示请求连接
  • 【证明】客户端具备发送能力

第二次

  • 服务器收到syn包,必须确认客户端的SYN(ack=j+1),同时自己也发送一个SYN包(seq=k),即SYN+ACK包,此时服务器进SYN_RECV状态。

    • ACK:表示这个包的确认号, 证明发来的数据已确认接收无误
    • SYN_RECV : 表示服务器暂时无法提供正常的TCP服务。以此拒绝其他请求。
  • 【证明】服务端具备发送能力,客户端具备接收能力

第三次

  • 客户端收到服务器的SYN+ACK包,向服务器发送确认包ACK(ack=k+1),此包发送完毕,客户端和服务器进入ESTABLISHED状态,完成三次握手。

    • ESTABLISHED:表示TCP连接成功
  • 【证明】服务端也具备接收能力


http://www.ppmy.cn/news/71923.html

相关文章

PCB 基础~典型的PCB设计流程,典型的PCB制造流程

典型的PCB设计流程 典型的PCB制造流程 • 从客户手中拿到Gerber, Drill以及其它PCB相关文件 • 准备PCB基片和薄片 – 铜箔的底片会被粘合在基材上 • 内层图像蚀刻 – 抗腐蚀的化学药水会涂在需要保留的铜箔上(例如走线和过孔) – 其他药水…

unity,如何让人物随着鼠标滑动而转向?

介绍 unity,如何让人物随着鼠标滑动而转向? 方法 using System.Collections; using System.Collections.Generic; using UnityEngine; using UnityEngine.EventSystems;public class PlayerMovement : MonoBehaviour {public float speed 6f; …

0基础转行居然拿到9.5K!尘埃深处是繁花,强者从未停下!

人总是越长大越胆小,很多事情不敢做,以后就更不敢做了。 为梦想颠簸的人有很多,可能不差你这个,不如意的时候我们都会想要放弃,但是生活不是一个点,它是一条长长的线,唯有行动,才能摆…

Day 2 学习软件测试的必备知识——(开发模型、测试模型、软件测试分类、阶段划分)

Day 2 学习软件测试的必备知识——(开发模型、测试模型、软件测试分类、阶段划分) 文章目录 Day 2 学习软件测试的必备知识——(开发模型、测试模型、软件测试分类、阶段划分)软件开发模型1. 瀑布模型瀑布模型核心思想瀑布模型的地位**优缺点****使用范围**2. 快速原型模型…

初识redis【redis的安装使用与卸载】

一.redis的概念 Redis(Remote Dictionary Server ),即远程字典服务,是一个开源的使用ANSI C语言编写、支持网络、可基于内存亦可持久化的日志型、Key-Value数据库,并提供多种语言的API。在redis官网中对redis的描述是这样的&#…

区块链技术在医疗数据共享中的应用

随着医疗信息化技术的日益发展,医疗数据的存储和管理变得更加重要。传统的数据存储方法面临着信息泄露、数据篡改等安全隐患。为了解决这些问题,人们开始探索将区块链技术应用于医疗数据共享,以提高数据安全性和可靠性。本文将探讨区块链技术…

10.文件操作

CSAPP笔记 1.shell程序设计 2.内存管理 3.链接库 4.文件操作 5.多进程 6.多线程 7.网络编程 8.makefile 9.调试技巧与调试工具 文章目录 CSAPP笔记前言一、基础知识1.采用系统调用实现文件复制 总结问题 前言 学习文件的创建、打开、读写、关闭操作。 学习目录的创建、扫面、…

上传成功但是在app管理中心找不到版本提交的解决方法

转载:Appuploader 常见错误及解决方法 Appuploader常见错误及解决方法 问题解决秘籍 遇到问题,首先请登录苹果开发者官网检查账号是否有权限,是否被停用,是否过期,是否有协议需要同意,并且在右上角切换账…