计算机网络相关知识点

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

这两种模型都是网络通信中重要的参考模型,他们的设计和功能有一些区别。

       首先OSI,OSI七层模型,也被称为开放系统互联参考模型,是一种在国际标准化组织(ISO)中使用的网络互联模型。这个模型将网络通信的过程分为了七个独立但相互关联的层次,包括物理层、数据链路层、网络层、传输层、会话层、表示层和应用层。其中,应用层直接面向用户提供服务,例如文件传输、电子邮件、远程登录等。

        相比之下,TCP/IP四层模型是一种更为实际的网络通信模型,通常被用于互联网协议族(IPv4)中。这个模型包括应用层、传输层、网络层和网络接口层。其中,应用层同样直接为用户提供服务,例如电子邮件传输、网络浏览等。

        这两种模型的共同点在于他们都采用了层次结构的概念,能够提供面向连接和无连接两种通信服务机制。然而,他们也存在一些显著的区别。

       1.两者的层次结构不同。OSI模型分为七层,而TCP/IP模型分为四层。这意味着OSI模型对网络通信过程的划分更为细致,但同时也增加了理解和实现的复杂性。TCP/IP模型的四层结构相对更为简洁,更容易理解和实现。

       2.两者对可靠性的要求不同。OSI模型对可靠性的要求相对更高,它在设计时考虑了各种错误和异常情况,并通过冗余和恢复机制来确保数据的完整性和可靠性。而TCP/IP模型则更注重效率和速度,因此在一些场景下可能会牺牲一定的可靠性。

       3.两者的应用范围也有所不同。OSI模型是一个理论模型,并没有成熟的产品与之对应。而TCP/IP模型则是互联网的实际标准,被广泛应用于各种网络设备和操作系统中。

总的来说,OSI七层模型和TCP/IP四层模型都是网络通信中的重要参考模型,它们的设计和功能各有特点。在实际应用中,我们可以根据实际需求来选择适合的模型。

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

三次握手过程描述:

        1.第一次握手:客户端向服务器发送一个同步数据包(同步SYN=1,确认ACK=0,序号seq=x

        2.第二次握手:服务器同意,并回复客户端一个数据包(同步SYN=1,确认ACK=1,序号seq=y,确认号ack=x+1

        3.第三次握手:客户端收到服务器的确认之后,再给服务器发送一个数据包。数据包的TCP首部内容:同步SYN=0,确认ACK=1,序号seq=x+1,确认号ack=y+1

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

TCP协议选择三次握手而不是两次或四次,主要是出于对可靠性效率的综合考虑。

首先来看为什么不能选择两次握手。TCP协议是全双工的,即发送和接收双方都需要进行数据的确认和交互。在两次握手的情况下,发送方发送请求后,接收方只能确认收到请求,但无法确认请求是否被接收方正确处理。这种情况下,如果请求在传输过程中丢失或损坏,接收方因为没有进行确认,就无法发现请求存在问题,这将导致连接不可靠。因此,两次握手无法满足TCP协议对可靠性的要求。

那为什么不能选择四次握手呢?三次握手已经能够保证数据的可靠传输,而四次握手虽然在某些情况下可能增加可靠性,但同时也增加了握手过程的复杂性和延迟。四次握手的多余步骤并没有带来明显的效益提升,反而可能因为复杂的处理过程而降低TCP协议的效率。因此,从效率和实用性的角度考虑,三次握手是最优选择。

综上所述,TCP协议选择三次握手而不是两次或四次,是为了在保证数据可靠传输的同时,尽可能提高传输效率。三次握手既可以确认发送方和接收方之间的连接建立,也可以确保数据在传输过程中的正确性,是一种高效且可靠的网络通信协议。

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

        第一次挥手:首先客户端服务器发送连接释放的请求报文(数据包),并停止发送数据。(终止FIN=1,确认ACK = 0

        第二次挥手:服务器收到连接释放的报文之后,给客户端发送确认报文。从客户端服务器这个方向上的连接就释放了,TCP连接处于半关闭状态。(终止FIN=0确认ACK=1,序号位seq=v,确认号ack=u+1

        第三次挥手:若服务器已经没有向客户端发送的数据了,其应用进程就通知TCP释放连接,并向客户端发送确认报文。(确认ACK=1,终止FIN=1)

        第四次挥手:客户端收到服务器的连接释放报文段后,向服务器发出确认报文。(确认ACK=1,终止FIN = 0


什么是流量控制?

简单来讲:流量控制是为了控制发送方发送速率,保证接收方来得及接收。

  TCP连接的每一方都有固定大小的缓冲空间,TCP 的接收端只允许发送端发送接收端缓冲区能接纳的数据。当接收方来不及处理发送方的数据,能提示发送方降低发送的速率,防止包丢失,从而实现流量控制。

        TCP使用的流量控制是 利用滑动窗口实现。


什么是滑动窗口?

滑动窗口是一种流量控制技术,它在计算机网络中用于控制数据包的发送和接收

具体来说,滑动窗口协议在数据流的发送和接收过程中,通过动态地调整窗口大小来控制数据包的发送和接收速率。窗口大小即指在任意一段时间内可以发送或接收多少数据包。当窗口大小达到上限时,发送方或接收方必须停止发送或接收数据包,直到窗口大小再次调整。

滑动窗口协议有两种类型:固定窗口大小动态窗口大小。在固定窗口大小协议中,窗口大小是固定的,而在动态窗口大小协议中,窗口大小可以动态调整。

滑动窗口协议的应用非常广泛,例如在网络传输、文件传输、数据库事务处理等领域都可以看到它的身影。它不仅可以防止网络拥塞,提高数据传输的效率和可靠性,还可以用来控制数据的流量,确保接收方能够来得及处理接收到的数据。


什么是拥塞控制?

        拥塞控制就是为了防止过多的数据注入到网络中,控制的目的就是避免「发送方」的数据填满整个网络,控制「发送方」的数据发送量。

  TCP 主要通过四个算法来进行拥塞控制:慢启动拥塞避免拥塞发生快速恢复

如下图:(阻塞发生时的超时重传)

如下图:(阻塞发生时的快速重传)


TCP和UDP有什么区别?

TCP(传输控制协议)和UDP(用户数据报协议)之间存在以下区别:

  1. 连接性:TCP是面向连接的,在发送方和接收方在发送数据之前,必须通过三次握手建立连接。相反,UDP是无连接的,发送方和接收方之间的数据传输不需要事先建立连接。
  2. 可靠性:TCP是可靠的传输协议,通过添加序号机制、确认机制、超时重传机制和数据校验等功能,确保数据的可靠传输。然而,UDP是不可靠的协议,其仅在IP协议的基础上添加了端口和差错检查功能,由于IP协议尽最大努力传输,所以导致了UDP的不可靠性。
  3. 数据传输方式:TCP协议是面向字节流的,它将应用层传递下来的数据仅仅当做无结构的数据流,并不知道所传数据流的含义。它可能将应用程序的两个数据块拼接到一起组成一个段发送。相比之下,UDP是面向报文传输的,发送方的UDP对应用程序交下来的报文,在添加首部后就向下交付IP层,不会进行任何拼接操作。
  4. 类型

    特点

    性能

    应用场景

    首部

    是否面向连接

    传输可靠性

    传输效率

    所需资源

    TCP

    面向连接

    可靠

    要求通信数据可靠

    (如文件传输、邮件传输)

    20个字节-60个字节

    UDP

    无连接

    不可靠

    要求通信速度快

    (如音频、视频)

    8个字节

总的来说,TCP和UDP都有各自的优点和使用场景。TCP的主要优点是其可靠性和顺序性,而UDP的主要优点则是其简单性和实时性。选择使用哪一种协议主要取决于应用程序的具体需求和网络环境。

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

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

HEC-RAS 1D/2D水动力与水环境模拟教程

详情点击公众号技术科研吧链接:HEC-RAS 1D/2D水动力与水环境模拟教程 前言 水动力与水环境模型的数值模拟是实现水资源规划、环境影响分析、防洪规划以及未来气候变化下预测和分析的主要手段。然而,一方面水动力和水环境模型的使用非常复杂&#xff0c…

Elasticsearch8.X与java调用

1、ES增删改查操作 https://blog.csdn.net/UbuntuTouch/article/details/123839857 https://huaweicloud.csdn.net/637ef6b7df016f70ae4cac57.html 2、java与ES8相关maven依赖 https://blog.csdn.net/boling_cavalry/article/details/125351161 3、kibana下载数据 3、kibana相…

【C语言】数组和指针刷题练习

指针和数组我们已经学习的差不多了,今天就为大家分享一些指针和数组的常见练习题,还包含许多经典面试题哦! 一、求数组长度和大小 普通一维数组 int main() {//一维数组int a[] { 1,2,3,4 };printf("%d\n", sizeof(a));//整个数组…

有趣的设计模式——适配器模式让两脚插头也能使用三孔插板

版权声明 本文原创作者:谷哥的小弟作者博客地址:http://blog.csdn.net/lfdfhl 场景与问题 众所周知,我们国家的生活用电的电压是220V而笔记本电脑、手机等电子设备的工作压没有这么高。为了使笔记本、手机等设备可以使用220V的生活用电就需…

机器学习笔记:概念对比——损失函数,代价函数,目标函数

损失函数 Loss Function 通常是针对单个训练样本而言 给定一个模型输出 和一个真实值y ,损失函数是 代价函数 Cost Function 通常是针对整个训练集(或者在使用 mini-batch gradient descent 时一个 mini-batch)的总损失 目标函数 Objec…

HCIE-容器docker

1、安装配置操作系统,使用CentOS stream 8镜像 之前:RHEL 8.4 发布了,CentOS紧随其后,发布CentOS 8.4 之后:CentOS 走在前面,成为RHEL上游,再去发布RHEL 制作模板,模板配置要求&…

计算机视觉与深度学习-全连接神经网络-训练过程-批归一化- [北邮鲁鹏]

文章目录 思想批归一化操作批归一化与梯度消失经过BN处理 算法实现 思想 直接对神经元的输出进行批归一化 批归一化:对输出值进行归一化,将归一化结果平移缩放作为输出。 批归一化操作 小批量梯度下降算法回顾:每次迭代时会读入一批数据&am…

【打开新世界大门】看测试老鸟如何把API 测试玩弄在鼓掌之间

【软件测试面试突击班】如何逼自己一周刷完软件测试八股文教程,刷完面试就稳了,你也可以当高薪软件测试工程师(自动化测试) 一、API 测试的基本步骤 我介绍过当今互联网产品的测试策略往往会采用菱形结构,即重量级 AP…

领跑物联网芯片市场|乐鑫 IoT 芯片全球出货量突破 10 亿颗!

乐鑫科技 (688018.SH) 高兴地宣布,其物联网芯片全球累计出货量已突破 10 亿颗。这一里程碑标志着乐鑫作为全球领先的物联网软硬件和解决方案提供商,以其创新的前沿技术和卓越的产品性能,赢得了全球市场的认可,奠定了其在物联网无线…

华为云HECS安装docker

1、运行安装指令 yum install docker都选择y,直到安装成功 2、查看是否安装成功 运行版本查看指令,显示docker版本,证明安装成功 docker --version 或者 docker -v 3、启用并运行docker 3.1启用docker 指令 systemctl enable docker …

STM32单片机中国象棋TFT触摸屏小游戏

实践制作DIY- GC0167-中国象棋 一、功能说明: 基于STM32单片机设计-中国象棋 二、功能介绍: 硬件组成:STM32F103RCT6最小系统2.8寸TFT电阻触摸屏24C02存储器1个按键(悔棋) 游戏规则: 1.有悔棋键&…

Unity截图生成图片 图片生成器 一键生成图片

使用Unity编辑器扩展技术实现快速截图功能 效果: 里面没有什么太难的技术,直接上源码吧 注意!代码需要放在Editor文件下才能正常运行 using System; using UnityEditor; using UnityEngine;[ExecuteInEditMode] public class Screenshot …

软件需求文档、设计文档、开发文档、运维文档大全

在软件开发过程中,文档扮演着至关重要的角色。它不仅记录了项目的需求、设计和开发过程,还为项目的维护和管理提供了便利。本文将详细介绍软件开发文档的重要性和作用,以及需求分析、软件设计、开发过程、运维管理和项目管理等方面的文档要求…

LinkedList相较于Arravlist的特点/优化

Arravlist底层是内存空间连续的数组,可以根据下标进行随机访问,效率比较高,因为在根据下标访问某一个元素时,并不是一个一个去查,而是算出来这个下标的地址,直接根据这个地址的指向去获取的,因为…

MATLAB实现相关性分析

目录 一.基本理论 二.两类相关系数的对比 三.相关系数的假设检验 四.MATLAB的相关操作 五.其他有关的一些列技巧 六.案例展示 七.实战操作 一.基本理论 所谓相关系数,本质上是来衡量两组数据的关系大小——对应呈现函数关心的两种变量,那么我们可以…

[NLP] LLM---<训练中文LLama2(四)方式一>对LLama2进行SFT微调

指令精调 指令精调阶段的任务形式基本与Stanford Alpaca相同。训练方案也采用了LoRA进行高效精调,并进一步增加了可训练参数数量。在prompt设计上,精调以及预测时采用的都是原版Stanford Alpaca不带input的模版。对于包含input字段的数据,采…

计算机视觉与深度学习-卷积神经网络-卷积图像去噪边缘提取-图像去噪 [北邮鲁鹏]

目录标题 参考学习链接图像噪声噪声分类椒盐噪声脉冲噪声对椒盐噪声&脉冲噪声去噪使用高斯卷积核中值滤波器 高斯噪声减少高斯噪声 参考学习链接 计算机视觉与深度学习-04-图像去噪&卷积-北邮鲁鹏老师课程笔记 图像噪声 噪声点,其实在视觉上看上去让人感…

新建WinForm工程以及添加log

本篇博客将介绍如何使用Visual Studio新建一个WinForm工程,由于我还不知道有什么实时地看到程序输出的方法(调试当然是一个好方法),因此参照同事的代码, 加入了一个输出log的功能。 一、新建一个WinForm工程&#xff…

2023年中国研究生数学建模竞赛D题解题思路

为了更好的帮助大家第一天选题,这里首先为大家带来D题解题思路,分析对应赛题之后做题阶段可能会遇到的各种难点。 稍后会带来D题的详细解析思路,以及相关的其他版本解题思路 成品论文等资料。 赛题难度评估:A、B>C>E、F&g…

腾讯面试题:无网络环境,如何部署Docker镜像?

亲爱的小伙伴们,大家好!我是小米,很高兴再次和大家见面。今天,我要和大家聊聊一个特别有趣的话题——腾讯面试题:无网络环境,如何部署Docker镜像?这可是一个技术含量颇高的问题哦!废…