当前位置: 首页 > news >正文

计算机网络的相关知识点总结(一)

1.谈一谈对OSI七层模型和TCP/IP四层模型的理解?

        不管是OSI七层模型亦或是TCP/IP四层模型,它们的提出都有一个共同的目的:通过分层来将复杂问题细化,通过各个层级之间的相互配合来更好的解决计算机中出现的问题。

        说到分层,就有对应的具体不同的分层模型。TCP/IP四层模型其实是对OSI七层模型的简化版。OSI网络七层模型包括以下几个部分:

OSI网络七层模型

层级

(高-->低)

层级名称对应功能
7应用层为计算机用户提供服务
6表示层数据处理(编码解码、加密解密、压缩解压缩)
5会话层管理会话(建立,维护、重连)
4传输层为两个计算机进程之间的通信提供通用的数据传输服务
3网络层路由和寻址(决定数据在网络中的路径)
2数据链路层计算机相邻节点的直接通信
1物理层为数据链路层提供传输介质的,为计算机相邻节点的通信提供以比特流的透明传输

 

        层与层之间交互是基于“接口”的服务调用,当前层级负责接收下一层提供的服务,同时为自己的上一层提供服务。本层级之间只需关注自己内在的功能,层级内之间的交互是基于“协议”的。

        而TCP/IP四层模型则包括应用层(应用层、表示层、会话层)、传输层、网络层、网络接口层(数据链路层、物理层),如下:

        

层级层级名称常见协议
4应用层DNS:域名解析协议
FTP:文件传输协议
SMTP:简单邮件传输协议
3传输层

TCP:传输控制协议

UDP:用户数据报协议
2网络层IPV6:互联网协议
ICMPv6:互联网控制协议
1网络接口层

ARP:地址解析协议(数据链路层)

2.谈谈TCP协议的3次握手过程?

        利用TCP协议建立连接时,会产生三次握手,三次握手是发生在客户端(接受方)与服务器(发送方)之间的。

        第一次握手:由客户端主动打开,并主动发送建立连接请求的数据包(同步SYN=1,确认ACK=0)给服务器端,客户端由主动打开转换为发送状态;

        第二次握手:服务器被动打开接收客户端发送的建立连接请求的数据包,若服务器同意建立连接,则向客户端发送一个ACK确认=1,SYN同步=1的数据包,此时服务器转换为接收状态;

        第三次握手:客户端接收到服务器端发送的同意连接的数据包后,状态变为建立连接成功状态,随后向服务器端发送一个ACK=1的确认数据包,此时服务器端状态也是建立连接成功状态。

        由三次握手,客户端与服务器端成功建立连接。

3.TCP协议为什么要3次握手?2次,4次不行吗?

        握3次手,是恰到好处的。为什么这么说呢?是因为若是2次握手,会造成重复连接的情况,而4次握手或更多次则会带来资源上的浪费。客户端与服务器端建立连接,是由客户端主动发起请求(第一次),服务器端告知客户端同意建立连接(第二次),客户端告知服务器端我知道你同意即确认(第三次),确保了双方之间通信的畅通然后开始数据传输。

        如果没有这第三次的确认,如果客户端由于网络延迟或其他原因导致的未及时发送请求连接的数据包,有可能就会再次重新发送请求连接的数据包,服务器端收到并同意连接,而此时第一个未及时发送的数据包又正常发送了,势必会导致服务器的再一次同意连接,这就导致了重复的连接,造成了不必要的资源浪费。

        如果是4次及更多,我们要思考一个问题,建立连接的目的是?没错,是数据传输。三次握手就已经可以保证收发双方的正常通信了,此时应该要进行数据传输了,更多次的握手只会导致资源的浪费或者多次的请求连接的带来的不可控性。

4.谈谈TCP协议的四次挥手过程?

        TCP协议的四次挥手是为了释放收发双方的连接的。

        第一次挥手:客户端向服务器发出FIN=1的数据包,用来告知服务器断开连接的。

        第二次挥手:服务器接收到终止连接的请求后,同意终止向客户端发出ACK=1的同意断开连接数据包,此时真的断开了吗?答案是否定的,因为是无法保证客户端向服务器发出断开请求时,服务器刚好不发送数据给客户端。

        第三次挥手:服务器已经处理完发生要发送的数据后,正式向客户端发送FIN=1的断开连接的数据包。此时收发双方之间真的不能再发送数据了。

        第四次挥手:客户端向服务器端发送ACK=1的确认数据包。
        至此,收发双方彻底断开连接。

        其实你稍微观察,客户端就像那个“渣男”,服务器端更像是一位“善解人意的女朋友”,哈哈哈,好了,开个玩笑。

 

相关文章:

计算机网络的相关知识点总结(一)

1.谈一谈对OSI七层模型和TCP/IP四层模型的理解? 不管是OSI七层模型亦或是TCP/IP四层模型,它们的提出都有一个共同的目的:通过分层来将复杂问题细化,通过各个层级之间的相互配合来更好的解决计算机中出现的问题。 说到分层&#xf…...

下载github.com上的依赖资源

下载github.com上的依赖资源(需要反复试才能成功,所以单独安装) export GIT_TRACE1 export GIT_CURL_VERBOSE1 pip install githttps://github.com/PanQiWei/AutoGPTQ.git -i https://pypi.mirrors.ustc.edu.cn/simple --trusted-hostpypi.mi…...

编写 GPT 提示词的公式 + 资源分享

GPT 能够给我们带来很大的帮助,因此我们要好好利用它。我们希望 GPT 输出令我们满意的内容,影响 GPT 输出内容的因素有模型和输入(Prompt,提示词)。 模型:我们可以选择不同的 GPT 产品,它们的模…...

用HTML、CSS和JavaScript制作的通用进制转换器

随着编程和计算机科学越来越受欢迎,我们经常需要进行进制转换。本文将介绍一个简洁、美观、适用于移动设备的进制转换工具,并详细讨论其实现。 目录 🌍 用HTML、CSS和JavaScript制作的通用进制转换器 1.项目图片展示 2. 技术栈 3. 主要功…...

ArcGIS 10.3软件安装包下载及安装教程!

【软件名称】:ArcGIS 10.3 【安装环境】:Windows 【下载链接 】: 链接:https://pan.baidu.com/s/1K5ab7IHMYa23HpmuPkFa1A 提取码:oxbb 复制这段内容后打开百度网盘手机App,操作更方便哦 软件解压码点击原文…...

【数据增强】

【数据增强】 1 数据增强的情形2 数据增强的方法 1 数据增强的情形 当数据比较小,难以获取新的训练数据时,可以考虑数据增强,如随机裁剪部分,随机左右上下翻转、随机旋转一个角度、随机亮度变化等微小变化,数据的多样…...

Ae 效果:CC Force Motion Blur

时间/CC Force Motion Blur Time/CC Force Motion Blur CC Force Motion Blur (CC 强制运动模糊)主要用于为动态图像添加强制的运动模糊效果,增加动态画面的流畅感和真实感。 相对于时间轴面板上的“运动模糊”开关,CC Force Moti…...

2023华为杯研究生数学建模竞赛CDEF题思路+模型代码

全程更新华为杯研赛CDEF题思路模型及代码,大家查看文末名片获取 华为杯C题思路分析 问题一 在每个评审阶段,作品通常都是随机分发的,每份作品需要多位评委独立评审。为了增加不同评审专家所给成绩之间的可比性,不同专家评审的作…...

FP独立站之黑科技:AB站收款、斗篷CLOAK

最近一段时间经常有不少小伙伴来咨询我独立站的相关的业务,因为很多独立站卖家觉得独立站不好做,再加上跨境平台禁止特货类产品的销售(如FP产品、成人用品、电子烟、灰黑类产品等等),但这类产品市场需求大,…...

【Linux网络编程】gdb调试技巧

这篇博客主要要记录一下自己在Linux操作系统Ubuntu下使用gbd调试程序的一些指令,以及使用过程中的一些心得。 使用方法 可以使用如下代码 gcc -g test.c -o test 或者 gcc test.c -o test ​ -g的选项最好添加,如果不添加,l指令无法被识别 …...

ElementUI之登录与注册

目录 一.前言 二.ElementUI的简介 三.登录注册前端界面的开发 三.vue axios前后端交互--- Get请求 四.vue axios前后端交互--- Post请求 五.跨域问题 一.前言 这一篇的知识点在前面两篇的博客中就已经详细详解啦,包括如何环境搭建和如何建一个spa项目等等知识…...

报错处理:Error: Redis server is running but Redis CLI cannot connect

嗨,读者朋友们!今天我来跟大家分享一个我在运维过程中遇到的一个关于Linux上运行Redis服务时的报错及解决方法。 报错信息如下: Error: Redis server is running but Redis CLI cannot connect 这个报错信息表明Redis服务器已经运行&#xff…...

RocketMQ 源码分析——Producer

文章目录 消息发送代码实现消息发送者启动流程检查配置获得MQ客户端实例启动实例定时任务 Producer 消息发送流程选择队列默认选择队列策略故障延迟机制策略*两种策略的选择 技术亮点:ThreadLocal 消息发送代码实现 下面是一个生产者发送消息的demo(同步发送&#…...

ISTQB术语表

此术语表为国际软件测试认证委员会(ISTQB)发布的标准术语表。此表历经数次修改、完善,集纳了计算机行业界、商业界及政府相关机构的见解及意见,在国际化的层面上达到了罕有的统一性及一致性。参与编制此表的国际团体包括澳大利亚、…...

小米笔试题——01背包问题变种

这段代码的主要思路是使用动态规划来构建一个二维数组 dp,其中 dp[i][j] 表示前 i 个产品是否可以组合出金额 j。通过遍历产品列表和可能的目标金额,不断更新 dp 数组中的值,最终返回 dp[N][M] 来判断是否可以组合出目标金额 M。如果 dp[N][M…...

SkyWalking内置MQE语法

此文档出自SkyWalking官方git https://github.com/apache/skywalking docs/en/api/metrics-query-expression.md Metrics Query Expression(MQE) Syntax MQE is a string that consists of one or more expressions. Each expression could be a combination of one or more …...

Springboot2 Pandas Pyecharts 量子科技专利课程设计大作业

数据集介绍 1.背景 根据《中国科学:信息科学》期刊上的一篇文章,量子通信包括多种协议与应用类型: 基于量子隐形传态与量子存储中继等技术,可实现量子态信息传输,进而构建量子信息网络,已成为当前科研热点&…...

RabbitMQ里的几个重要概念

RabbitMQ中的一些角色: publisher:生产者consumer:消费者exchange个:交换机,负责消息路由,接受生产者发送的消息,把消息发送到一个或多个队列里queue:队列,存储消息virt…...

23. 图论 - 图的由来和构成

文章目录 图的由来图的构成Hi, 你好。我是茶桁。 从第一节课上到现在,我基本上把和人工智能相关的一些数学知识都教给大家了,终于来到我们人工智能数学的最后一个部分了,让我们从今天开始进入「图论」。 图论其实是一个比较有趣的领域,因为微积分其实更多的是对应连续型的…...

拼多多API接口解析,实现根据ID取商品详情

拼多多是一个流行的电商平台,它提供了API接口供开发者使用。要根据ID获取商品详情,您需要使用拼多多API接口并进行相应的请求。 以下是使用拼多多API接口根据ID获取商品详情的示例代码(使用Python编写): import requ…...

在软件开发中正确使用MySQL日期时间类型的深度解析

在日常软件开发场景中,时间信息的存储是底层且核心的需求。从金融交易的精确记账时间、用户操作的行为日志,到供应链系统的物流节点时间戳,时间数据的准确性直接决定业务逻辑的可靠性。MySQL作为主流关系型数据库,其日期时间类型的…...

MMaDA: Multimodal Large Diffusion Language Models

CODE : https://github.com/Gen-Verse/MMaDA Abstract 我们介绍了一种新型的多模态扩散基础模型MMaDA,它被设计用于在文本推理、多模态理解和文本到图像生成等不同领域实现卓越的性能。该方法的特点是三个关键创新:(i) MMaDA采用统一的扩散架构&#xf…...

如何在网页里填写 PDF 表格?

有时候,你可能希望用户能在你的网站上填写 PDF 表单。然而,这件事并不简单,因为 PDF 并不是一种原生的网页格式。虽然浏览器可以显示 PDF 文件,但原生并不支持编辑或填写它们。更糟的是,如果你想收集表单数据&#xff…...

算法岗面试经验分享-大模型篇

文章目录 A 基础语言模型A.1 TransformerA.2 Bert B 大语言模型结构B.1 GPTB.2 LLamaB.3 ChatGLMB.4 Qwen C 大语言模型微调C.1 Fine-tuningC.2 Adapter-tuningC.3 Prefix-tuningC.4 P-tuningC.5 LoRA A 基础语言模型 A.1 Transformer (1)资源 论文&a…...

人机融合智能 | “人智交互”跨学科新领域

本文系统地提出基于“以人为中心AI(HCAI)”理念的人-人工智能交互(人智交互)这一跨学科新领域及框架,定义人智交互领域的理念、基本理论和关键问题、方法、开发流程和参与团队等,阐述提出人智交互新领域的意义。然后,提出人智交互研究的三种新范式取向以及它们的意义。最后,总结…...

Razor编程中@Html的方法使用大全

文章目录 1. 基础HTML辅助方法1.1 Html.ActionLink()1.2 Html.RouteLink()1.3 Html.Display() / Html.DisplayFor()1.4 Html.Editor() / Html.EditorFor()1.5 Html.Label() / Html.LabelFor()1.6 Html.TextBox() / Html.TextBoxFor() 2. 表单相关辅助方法2.1 Html.BeginForm() …...

水泥厂自动化升级利器:Devicenet转Modbus rtu协议转换网关

在水泥厂的生产流程中,工业自动化网关起着至关重要的作用,尤其是JH-DVN-RTU疆鸿智能Devicenet转Modbus rtu协议转换网关,为水泥厂实现高效生产与精准控制提供了有力支持。 水泥厂设备众多,其中不少设备采用Devicenet协议。Devicen…...

CSS3相关知识点

CSS3相关知识点 CSS3私有前缀私有前缀私有前缀存在的意义常见浏览器的私有前缀 CSS3基本语法CSS3 新增长度单位CSS3 新增颜色设置方式CSS3 新增选择器CSS3 新增盒模型相关属性box-sizing 怪异盒模型resize调整盒子大小box-shadow 盒子阴影opacity 不透明度 CSS3 新增背景属性ba…...

相关类相关的可视化图像总结

目录 一、散点图 二、气泡图 三、相关图 四、热力图 五、二维密度图 六、多模态二维密度图 七、雷达图 八、桑基图 九、总结 一、散点图 特点 通过点的位置展示两个连续变量之间的关系,可直观判断线性相关、非线性相关或无相关关系,点的分布密…...

MySQL体系架构解析(三):MySQL目录与启动配置全解析

MySQL中的目录和文件 bin目录 在 MySQL 的安装目录下有一个特别重要的 bin 目录,这个目录下存放着许多可执行文件。与其他系统的可执行文件类似,这些可执行文件都是与服务器和客户端程序相关的。 启动MySQL服务器程序 在 UNIX 系统中,用…...