第二周:计算机网络概述(下)

一、计算机网络性能指标(速率、带宽、延迟)

1、速率

2、带宽

3、延迟/时延

前面讲分组交换的时候介绍了,有一种延迟叫“传输延迟”,即发送一个报文,从第一个分组的发送,到最后一个分组的发送完成的这段时间,就是这个分组的传输延迟。

事实上,在传输分组的过程中,除了传输延迟外,还有其他延迟。

问:分组交换为什么会发生延迟甚至数据丢包?

答:在分组交换网络里,当数据分组到达一个路由器,路由器按照存储转发的工作方式,会先把这个分组先暂存,然后确定这个分组在哪个链路进行转发,如果该链路正在转发其他分组,那这个分组就只能等待,这个排队的时间就是延迟。任何路由器供分组排队的缓存都是有限的,如果缓存满了却还有源源不断的分组到达,那就只能把分组扔了,这时候就出现了“丢包”的情况。通常作为分组,如果其到达的速度超出了输出链路的容量的时候,丢包的现象就难以避免了。

(1)四种分组延迟

在分组交换过程中,分组从到达一个节点(路由器)开始,到这个分组被成功转发到下一个节点,所消耗的时间主要有以下4种:

节点处理延迟:分组到了这个路由器,路由器要对这个分组进行处理,比如:检查以下这个分组有没有错、根据这个分组携带的地址信息决定在哪个接口把它转发出去等等。现在路由器的处理能力都比较强,这个时间是比较小的,不会超过毫秒级。在很多讨论的时候会把这个时间直接忽略掉。

排队延迟:当分组确定从哪个链路转发,而恰巧那个链路又刚好在传输其他分组的时候,分组就要在这个路由器节点上排队,这个时间消耗就是“排队延迟”。显然,这个排队时间是很不确定的

传输延迟:当我们的链路开始传输一个分组的时候,从传输这个分组的第一个比特开始,到最后一个比特发完,需要的这段时间就是传输延迟。传输延迟取决于分组长度L(bits)、链路带宽R(bps),传输延迟=分组长度/链路带宽

传播延迟:当一个分组发出来以后,它是通过信号(电信号、光信号、无线电波信号)传播到下一个节点上去的。这个信号在介质上传播显然也需要时间,这个时间就是“传播延迟”。传播延迟的时间和物理链路长度、信号传播速度有关。传播延迟=物理链路长度/信号传播速度

在分组交换的过程中,一个分组从到达某个节点开始,到它成功到达下一个节点,称为“一跳”。在这一跳的过程中,所消耗的时间=节点处理延迟+排队延迟+传输延迟+传播延迟

注意:

传输延迟和传播延迟不是一回事儿。传输延迟是发送一个分组需要多长时间,传播延迟是信号从这点经过链路传播到下一点需要的时间。下图是一个很好的类比:一个车队就好比一个分组,车队过收费站排队所花的时间是传输延迟,而在高速公路上行驶所花掉的时间就是信号传播延迟。

(2)用流量强度描述排队延迟

上面讲的4种延迟中,排队延迟比较特殊。因为它具有很强的不确定性。为此,我们引入了“流量强度”的概念。

理解:

传输长度为L的分组的时间t=L/R,那么t时间内平均有多少个分组到达呢?就是a*t,即La/R。如果La/R接近0,说明t时间内几乎没有分组到达,那么平均排队延迟就很小;如果La/R接近1,说明t时间内我转发一个分组,平均又有接近1个分组到达,那么平均排队延迟就很大;如果La/R大于1,说明我处理完一个分组却又有1个以上的分组到达,那么就会超出服务能力,平均排队延迟无限大。

二、计算机网络性能指标(时延带宽积、丢包率、吞吐量)

1、时延带宽积

时延带宽积:当我发送的第一个bit,到这个bit到达这段链路最终目的地的这段时间内,我一共发送了多少个bit的数据量。

在网络中,我们也可以说某段链路的比特长度是多少bit,其实指的就是时延带宽积。

2、分组丢失(丢包)

因为我们的路由器等网络设备的队列缓存容量总是有限的,当缓存满了,后续到达的分组没有缓存了,这时候就会出现“丢包”。

不同的网络对于丢包的处理是不一样的,比如Internet,丢了就丢了;有的网络会采取重发(比如前一个节点或源主机重发一下这个分组),这些先不多说了,以后会讲。

在网络中,丢包是我们重点要考虑的现象,我们一般会用“丢包率”来对网络的丢包程度进行衡量。“丢包率”就是在一定统计时间内,丢包数量在你发的数据总数中所占的比例。

3、吞吐量/率

吞吐量/率:实际上说的也是一种速率,只不过这个速率强调的是从发送端发送数据,到接收端收到数据这样的两端之间的数据的传送的速率

从端到端角度来看,吞吐量取决于端到端的这条路径上的那条瓶颈链路(即带宽小的那条链路)

如果我们考虑较为复杂的互联网场景,如下图:假设有10条连接共享这个链路

三、计算机网络体系结构

1、分层结构

很多复杂系统都会采用分层结构,计算机网络的分层结构可以类比航空旅行:

2、为什么采用分层结构?

首先,分层系统的结构很清晰,层和层之间的关系很明确,所以分层结构很容易去识别复杂系统的组成部分,以及这些组成部分之间是什么关系。在计算机网络中,按照分层结构所提出的体系结构通常也被称为“参考模型”。

其次,分层结构也体现了模块化思想。模块化可以很好地封装内部,对外开放接口,至于内部如何实现,对外部来说是透明的,内部的实现怎么变化,外部都是感受不到的。因此这种分层就易于整个系统的更新维护。

第三,分层结构有利于标准化。如果大家都对某一个分层结构达成共识了,我们在实现相应功能的时候,都按照这样一个层次结构去实现,那就很容易实现标准化

问:分层结构是否有不利之处?

答:如果分层太多可能会导致系统效率很低。比如你去哪儿办事儿,他可能要一层层审批,层次越多,审批时间就越长,效率就越低。

3、分层网络体系结构基本概念

四、OSI参考模型

OSI参考模型是一个非常具有代表性的分层的网络体系结构。这个模型提出的目的是希望能够支持不同网络之间互联互通。当时的历史背景是有很多企业开发设计了不同的网络,这些网络之间很难互联互通。因此如何实现互联互通是当时一个急需解决的问题,所以提出了OSI这样一个标准,希望实现不同企业开发的网络都能实现互联互通。

因此,OSI参考模型实际上是我们网络系统互联的一个国际标准。但是这个国际标准仅仅是我们从理论上学习和理解网络通信的一个工具或理论模型。因为从市场上来说,这个东西失败了。

OSI参考模型将网络系统从功能上划分为7个层次,这7个层次从下到上依次是:物理层、数据链路层、网络层、传输层、会话层、表示层、应用层。每个层次完成不同的功能,所有层次共同协作完成整个网络通信

1、用OSI参考模型解释网络通信的过程

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

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

相关文章

PyQT: 开发一款ROI绘制小程序

在一些基于图像或者视频流的应用中,比如电子围栏/客流统计等,我们需要手动绘制一些感兴趣(Region of Interest,简称ROI)区域。 在这里,我们基于Python和PyQt5框架开发了一款桌面应用程序,允许用…

Renesas R7FA8D1BH (Cortex®-M85)串口应用总结

目录 概述 1 软硬件 1.1 软硬件环境信息 1.2 开发板信息 1.3 调试器信息 2 FSP和KEIL配置串口 2.1 配置参数 2.2 生成基于Keil的软件架构 3 FSP代码 3.1 FSP中UART接口函数 3.2 案例代码介绍 3.3 案例代码存在的问题 4 UART代码实现 4.1 功能函数介绍 4.2 完整…

如何在Qt使用uchardet库

如何在 Qt 中使用 uchardet 库 文章目录 如何在 Qt 中使用 uchardet 库一、简介二、uchardet库的下载三、在Qt中直接调用四、编译成库文件后调用4.1 编译工具下载4.2 uchardet源码编译4.3 测试编译文件4.4 Qt中使用 五、一些小问题5.1 测试文件存在的问题5.2 uchardet库相关 六…

嵌入式学习——硬件(UART)——day55

1. UART 1.1 定义 UART(Universal Asynchronous Receiver/Transmitter,通用异步收发器)是一种用于串行通信的硬件设备或模块。它的主要功能是将数据在串行和并行格式之间进行转换。UART通常用于计算机与外围设备或嵌入式系统之间的数据传输。…

【Linux系统编程】深入剖析:四大IO模型机制与应用(阻塞、非阻塞、多路复用、信号驱动IO 全解读)

目录 概述: 1. 阻塞IO (Blocking IO) 2. 非阻塞IO (Non-blocking IO) 3. IO多路复用 (I/O Multiplexing) 4. 信号驱动IO (Signal-driven IO) 阻塞式IO 非阻塞式IO 信号驱动IO(Signal-driven IO) 信号IO实例: IO多路复用…

nginx 搭理禅道

1.安装nginx。 2.安装禅道。 3.nginx 配置文件 location /zentao/ { proxy_pass http://192.168.100.66/zentao/;proxy_set_header Host $host;proxy_set_header X-Real-IP $remote_addr;proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;proxy_set_header X-F…

Labview_Workers5.0 学习笔记

1.Local Request 个人理解该类型的请求针对自身的,由EHL或者MHL到该vi的MHL中。 使用快速放置快捷键"Ctrl9"创建方法如下: 创建后的API接口命名均为rql开头,并且在所选main.vi中的MHL创建对应的条件分支。 此时使用该API函数就…

巴图自动化PN转Modbus RTU协议转换网关模块快速配置

工业领域中常用的通讯协议有:Profinet协议,Modbus协议,ModbusTCP协议,Profibus协议,Profibus DP协议,EtherCAT协议,EtherNET协议,CAN,CanOpen等,它们在自动化…

78110A雷达信号模拟软件

78110A雷达信号模拟软件 78110A雷达信号模拟软件(简称雷达信号模拟软件)主要用于模拟产生雷达发射信号和目标回波信号,软件将编译生成的雷达信号任意波数据下载到信号发生器中,主要是1466-V矢量信号发生器,可实现雷达信号模拟产生。软件可模…

Zabbix 配置SNMP监控

Zabbix SNMP监控介绍 Zabbix提供了强大的SNMP监控功能,可以用于监控网络设备、服务器和其他支持SNMP协议的设备。SNMP(Simple Network Management Protocol,简单网络管理协议)是一种广泛用于网络管理的协议。它用于监控网络设备&…

centos更换yum源、安装Docker和换源

所有操作都是在root权限下做的,切换root用户 命令:su root 使用ls /etc/yum*查看所有的关于yum的文件的路径 先安装wget 命令:yum install wget -y 命令:cd /etc/yum.repos.d进去,以便于操作 我们需要配置的是Cen…

C++(第四天----拷贝函数、类的组合、类的继承)

一、拷贝构造函数(复制构造函数) 1、概念 拷贝构造函数,它只有一个参数,参数类型是本类的引用。如果类的设计者不写拷贝构造函数,编译器就会自动生成拷贝构造函数。大多数情况下,其作用是实现从源对象到目…

2024攻防演练:亚信安全新一代WAF,关键时刻守护先锋

实网攻防 网络安全如同一面坚固的盾牌,保护着我们的信息资产免受无孔不入的威胁。而其中,WAF就像网络安全的守门员,关键时刻挺身而出,为您的企业筑起一道坚实的防线。 攻防不对等 防守方实时应答压力山大 在攻防对抗中&#xf…

Linux--V4L2摄像头驱动框架及UVC浅析

一、前言 对于一个usb摄像头,它的内核驱动源码位于/drivers/media/usb/uvc/ 核心层:V4L2_dev.c文件 硬件相关层: uvc_driver.c文件 本篇记录基于对6.8.8.8内核下vivid-core.c文件(虚拟视频驱动程序)的分析&#xff…

第3章.中央服务器的物联网模式--AI/ML集成

第3章.中央服务器的物联网模式 本章列出了由于存储和/或计算需求而部署在中央服务器上以及部署在边缘(本地)或云上的体系结构模式。 这些模式基于现场设备生成的数据提供见解,使用附加数据(来自附加系统,如企业系统&am…

B站大课堂-自动化精品视频(个人存档)

基础知识 工业通信协议 Modbus 施耐德研发,有基于以太网的 ModbusTCP 协议和使用 485/232 串口通信的 ModbusRTU/ASCII。 Modbus 协议面世较早、协议简洁高效、商用免费、功能灵活、实现简单,是目前应用最广泛的现场总线协议。 我的笔记里边有一些推荐…

成人高考本科何时报名-深职训学校帮您规划学习之路

你有想过继续深造自己的学历吗?也许你已经工作多年,但总觉得学历是一块心病,想要通过成人高考本科来提升自己。不用着急,今天我们来聊一聊成人高考本科的报名时间,以及深职训学校如何帮助你顺利完成报名。 深圳成人高…

Turborepo简易教程

参考官网:https://turbo.build/repo/docs 开始 安装全新的项目 pnpm dlx create-turbolatest测试应用包含: 两个可部署的应用三个共享库 运行: pnpm install pnpm dev会启动两个应用web(http://localhost:3000/)、docs(http://localhost…

Spring学习03-[Spring容器核心技术IOC学习进阶]

IOC学习进阶 Order使用Order改变注入顺序实现Ordered接口,重写getOrder方法来改变自动注入顺序 DependsOn使用 Lazy全局设置-设置所有bean启动时候懒加载 Scopebean是单例的,会不会有线程安全问题 Order 可以改变自动注入的顺序 比如有个animal的接口&a…

CTF常用sql注入(二)报错注入(普通以及双查询)

0x05 报错注入 适用于页面无正常回显,但是有报错,那么就可以使用报错注入 基础函数 floor() 向下取整函数 返回小于或等于传入参数的最大整数。换句话说,它将数字向下取整到最接近的整数值。 示例: floor(3.7) 返回 3 floor(-2…