[计网初识1] TCP/UDP

news2024/9/29 15:26:20

学习内容

1.TCP建立链接的3次握手,断开连接的4次挥手
2.TCP报文段组成

内容

1.TCP 建立连接的3次握手?

假设主动方是客户端,被动方是服务端。
第一次 客户端给服务端发送 “hello,我是客户端” (TCP段中 SYN=1)
第二次 服务端给客户端发送"我接收到了。hello,我是客户端" (TCP段中 SYN=1,ACK=1)
第三次 客户端给服务端发送"我接收到了。"(TCP段中ACK=1)

然后连接就建立成功了。

2. TCP断开连接的4次挥手?

假设主动方是客户端,被动方是服务端。
第一次 客户端给服务端发送 “我已经发完,我的发送任务结束了” (TCP段FIN=1,)
第二次 服务端给客户端发送”收到“(TCP段 ACK=1)
第三次 服务端发完要发的,给客户端发送 “我已经发完,我的发送任务结束了” (TCP段 FIN=1)
第四次 客服端给服务端发送"收到"(TCP段 ACK=1),然后客户端等待2MSL的时间后关闭连接。
(如果第二次服务端发给客户端ACK时,也已经发完了,那可以第二次和第三次合并)

3.TCP段结构?

TCP段其实叫TCP报文段,一个TCP报文段包含首部和数据两部分。而首部最短是20个字节,最长是40个字节。
下图中1个字节8位,总共加起来是20个字节。
在这里插入图片描述

UDP 头部格式?

UDP的头部是8个字节,是下面图中黄色的部分。但是它有个12个字节的伪首部,而这个伪首部只是临时存在的,既不向下传也不向上递交,只是为了计算校验和。
在这里插入图片描述

TCP和IP的关系?

IP包是一种适合运送的车辆,IP协议规定了如何将货物拆分装到车上。车辆从出发地A到目的地B的过程要经过很多站点,IP协议还规定了路线,要经过哪些站点,过站的时候货物不用卸载、检验和重新装车。而TCP像是A、B两地的管理者,它们通过装箱单等手段监测发的货物少了没有,如果少了,就要求A地重新发。

参考书籍:

《网络是怎样连接的 (图灵程序设计丛书)》
《一本书读懂TCP/IP》
https://blog.csdn.net/weixin_43142797/article/details/105648071

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1913695.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【C++项目】从零实现一个在线编译器

前言 身为一名程序员,想必大家都有接触过像leetcode这样的刷题网站,不知你们在刷题的过程中是否思考过一个问题:它们是如何实现在线编译运行的功能。如果你对此感到好奇,那么本文将一步步带你来实现一个简易在线编译器。 项目概…

【ai_agent】从零写一个agent框架(四)用rust制作一个python的虚拟运行环境。

前言 为了增加框架的扩展性和适用性,我们要能够在流程节点中运行python脚本。 这个时候需要考虑几个问题: 1 为什么是python? 思考:老实说我并不喜欢python,我更倾向于lua这种短小轻快的脚本。在我之前写的规则引擎…

简单仿写SpringIOC

gitee地址(需要自取)ioc_Imitation: 简单仿写IOC (gitee.com) 项目目录结构 Autowired Target(ElementType.FIELD) Retention(RetentionPolicy.RUNTIME) public interface Autowired { }Component Target(ElementType.TYPE) Retention(RetentionPoli…

云服务器centos7报错:Cannot find a valid baseurl for repo: base/7/x86_64

报错显示 我是使用FinalShell连接centos7; 如下图所示,尝试更新显示Cannot find a valid baseurl for repo: base/7/x86_64 网上找了很多教程最后没在点子上,最后我用gpt解决的,这里仅仅做一下记录(因为我会忘记^_^&…

pnpm workspace使用教程【Monorepo项目】

目录 前言一、pnpm简介特点:对比 二、 创建项目添加文件 pnpm-workspace.yaml目录结构pnpm workspace: 协议修改配置文件执行 安装 三、命令解析执行包命令所有包操作命令 四、实例代码 前言 前面两篇,我们讲了 yarn workspace 和 lerna , …

枚举类 (enum)

目录 一、为什么要有枚举类? 二、枚举的简介 三、自定义枚举类 四、使用enum关键字 五、注意事项 一、为什么要有枚举类? 假如我们有这样的一个需求:设计季节类,并创建对象。 我们就需要以下操作,创建Season类&…

基于FPGA的数字信号处理(16)--定点数的舍入模式(7)6种舍入模式的总结

前言 在前面的6篇文章中,分别对6中舍入模式做了详细的介绍,本文在前文的基础上,再对这6种舍入模式做一个对比和总结。 6种舍入模式 在数据处理过程中,为了防止数据溢出而增加位宽是一种很常见的处理方式,但是随着算法链…

保姆级教程:Linux (Ubuntu) 部署流光卡片开源 API

流光卡片 API 开源地址 Github:https://github.com/ygh3279799773/streamer-card 流光卡片 API 开源地址 Gitee:https://gitee.com/y-gh/streamer-card 流光卡片在线使用地址:https://fireflycard.shushiai.com/ 等等,你说你不…

CVE-2024-6387Open SSH漏洞彻底解决举措(含踩坑内容)

一、漏洞名称 OpenSSH 远程代码执行漏洞(CVE-2024-6387) 二、漏洞概述 Open SSH是基于SSH协议的安全网络通信工具,广泛应用于远程服务器管理、加密文件传输、端口转发、远程控制等多个领域。近日被爆出存在一个远程代码执行漏洞,由于Open SSH服务器端…

记录|C#安装+HslCommunication安装

记录线索 前言一、C#安装1.社区版下载2.VS2022界面设置 二、HslCommunication安装1.前提2.安装3.相关文件【重点】 更新记录 前言 初心是为了下次到新的电脑上安装VS2022做C#上机位项目时能快速安装成功。 一、C#安装 1.社区版下载 Step1. 直接点击VS2022,跳转下…

项目实战--Spring Boot + GraphQL实现实时数据推送

背景 用户体验不断提升而3对实时数据的需求日益增长,传统的数据获取方式无法满足实时数据的即时性和个性化需求。 GraphQL作为新兴的API查询语言,提供更加灵活、高效的数据获取方案。结合Spring Boot作为后端框架,利用GraphQL实现实时数据推…

【基于深度学习方法的激光雷达点云配准系列之GeoTransformer】——粗配准

【GeoTransformer系列】——粗配准 1.coarse_matching1.1 概要1.2 功能1.3 超参1.4 input1.5 output2 coarse_target2.1 概要2.2 功能2.3 input2.4 output在模型部分有了初步了解之后, 接下来我们对后续的粗配准、精配准等部分依次进行解读. 本篇主要来看粗配准部分, 代码是在G…

叉车防撞系统:揭秘其多样化工作模式

叉车,作为物流仓储领域的重要工具,其安全性一直备受关注。随着科技的进步,叉车防撞系统应运而生,成为了叉车驾驶员的得力助手。那么,叉车防撞系统究竟是如何实现其安全防护的呢?让我们一同揭开,…

必看 | 最简单获取IP地址专用SSL证书的申请方法

申请IP地址专用的SSL证书并不像传统SSL证书那样普及,不是所有服务商都提供IP地址的SSL证书,因此需要仔细选择合适的服务商和流程进行操作申请,以此来实现IP地址访问的https。以下是最简单的IP地址专用SSL证书申请方法: 一、准备 …

YOLOv10改进 | 损失函数篇 | InnerIoU、InnerSIoU、InnerWIoU、FocusIoU等损失函数

一、本文介绍 本文给大家带来的是YOLOv10最新改进,为大家带来最近新提出的InnerIoU的内容同时用Inner的思想结合SIoU、WIoU、GIoU、DIoU、EIOU、CIoU等损失函数,形成 InnerIoU、InnerSIoU、InnerWIoU、等新版本损失函数,同时还结合了Focus和…

nprogress进度条插件

打开一个页面时,往往会伴随一些请求,并且会在页面上方出现进度条。它的原理时,在我们发起请求的时候开启进度条,在请求成功后关闭进度条,所以只需要在request.js中进行配置。 如下图所示,我们页面加载时发起…

一套完善的孕产妇保健信息化管理平台源码:管理了孕妇从怀孕开始到生产结束42天以内的一系列医院保健服务信息

数字化产科管理平台源码,智慧产科系统源码,采用java语言开发,前端框架为Vue,ElementUIMySQL数据库,前后端分离架构的数字化产科管理系统源码,自主版权,多个大型综合医院、妇幼保健院应用案例&am…

小米恢复联系人,跟着这2个步骤,让你的社交重回巅峰

当你突然发现小米手机里的联系人列表变得空空如也,是不是感觉就像失去了与外界沟通的“秘密武器”?别担心,这并不意味着你真的失去了他们。他们可能只是藏在了手机里的某个神秘角落,等待着你的召唤。接下来,小编将会介…

Redis实战—秒杀优化(Redis消息队列)

回顾 我们回顾一下前文下单的流程,当用户发起请求,此时会请求nginx,nginx会访问到tomcat,而tomcat中的程序,会进行串行操作,分成如下几个步骤。 1、查询优惠卷 2、判断秒杀库存是否足够 …

基于STM32的智能加湿器

1.简介 基于STM32的加湿器发展前景非常乐观,这主要得益于其在技术、市场需求、应用场景以及政策支持等多方面的优势。STM32微控制器具备强大的处理能力和丰富的外设接口,能够实现精确的湿度监测和智能化控制。基于STM32的加湿器可以根据环境湿度自动调节…