计算机网络—— 概述
概述
1.1 因特网概述
网络、互联网和因特网
- 网络由若干结点和连接这些结点的链路组成
- 多个网络还可以通过路由器互联起来,这样就构成了一个覆盖范围更大的网络,即互联网(或互连网)。
- 因特网(Internet)是世界上最大的互联网络
internet和Internet的区别
- internet(互联网或互连网)是一个通用名词,它泛指由多个计算机网络互连而成的网络。在这些网络之间的通信协议可以是任意的。
- Internet(因特网)则是一个专用名词,它指当前全球最大的、开放的、由众多网络相互连接而成的特定计算机网络,它采用TCP/IP协议族作为通信的规则,其前身是美国的ARPANET
因特网的组成部分
边缘部分:
由所有连接在因特网上的主机组成。这部分是用户直接使用的,用来进行通信(传送数据、音频或视频)和资源共享。
核心部分:
由大量网络和连接这些网络的路由器组成。这部分是为边缘部分提供服务的(提供连通信和交换)。
1.2 三种交换方式
电路交换(Circuit Switching)
- 电话交换机接通电话线的方式称为电路交换;
- 从通信资源的分配角度来看,交换(Switching)就是按照某种方式动态地分配传输线路的资源;
- 电路交换的三个步骤:
- 建立连接(分配通信资源)
- 通话(一直占用通信资源)
- 释放连接(归还通信资源)
分组交换(Packet Switching)
报文交换(Message Switching)
报文交换于分组交换类似,采取存储转发方式,但报文交换对报文的大小没有限制,要求交换节点由较大的存储空间。报文交换主要用于早期的电报通信网,现在较少使用,通常被分组交换方式所取代。
电路交换、报文交换、分组交换的对比
1.3 计算机网络的定义
计算机网络的精确定义并未统一
1.4 计算机网络的性能指标
速率
- 连接在计算机网络上的主机在数字信道上传送比特的速率,也称为比特率或数据率
- 基本单位:bit/s(b/s,bps),常用单位:Kb/s,Mb/s,Gb/s,Tb/s
带宽
- 用来表示网络的通信线路所能传送数据的能力,因此网络带宽表示在单位时间内从网络中的某一点到另一点所能通过的“最高数据率”;单位与速率单位相同。
吞吐量
- 吞吐量表示在单位时间内通过某个网络(或信道、接口)的数据量;
- 吞吐量被经常用于对现实世界中的网络的一种测量,以便知道实际上到底有多少数据量能够通过网络;吞吐量受网络的带宽或额定速率的限制。
时延
发送时延 = 分组长度 (b) 发送速率 (b/s) 传播时延 = 信道长度 (m) 电磁波传播速率 (m/s) \begin{align*} & \text{发送时延} = \frac{\text{分组长度 (b)}}{\text{发送速率 (b/s)}} \\ & \text{传播时延} = \frac{\text{信道长度 (m)}}{\text{电磁波传播速率 (m/s)}} \\ \end{align*} 发送时延=发送速率 (b/s)分组长度 (b)传播时延=电磁波传播速率 (m/s)信道长度 (m)
处理时延一般不便于计算
时延带宽积
- 传播时延和带宽的乘积
- 若发送端连续发送数据,则在所发送的第一个比特即将到达终点时,发送端就已经发送了时延带宽积个比特
- 链路的时延带宽积又称为以比特为单位的链路长度
往返时间RTT
- 在许多情况下,因特网上的信息不仅单方向传输,而是双向交互
- 我们有时很需要知道双向交互一次所需的时间
利用率
- 信道利用率:用来表示某信道有百分之几的时间是被利用的
- 网络利用率:全网络的信道利用率的加权平均
- 利用率并非越高越好,当某信道的利用率增大时,该信道引起的时延也会 迅速增加
- 也不能使信道利用率太低,这会使宝贵的通信资源被白白浪费。
丢包率
- 丢包率即分组丢失率,是指在一定的时间范围内,传输过程中丢失的分组数量与总分组数量的比率
- 分组丢失的两个主要原因:分组误码,结点交换机缓存队列满
1.5 计算机网络体系结构
(1) 常见的计算机体系结构
(2) 计算机网络体系结构分层的必要性
"分层"可将庞大而复杂的问题,转化为若干较小的局部问题,而这些较小的局部问题就比较易于研究和处理。
OSI参考模型各层主要任务:
原理体系结构各层主要任务:
(3) 专用术语
-
实体:任何可发送或接收信息的硬件或软件进程
-
对等实体:收发双方相同层次中的实体
-
协议:控制两个对等实体进行逻辑通信的规则的集合
-
协议的三要素
-
语法:定义所交换信息的格式
-
语义:定义收发双方所要完成的操作
-
同步:定义收发双方的时序关系
-
-
服务:在协议的控制下,两个对等实体间的逻辑通信使得本层能够向上一层提供服务。
-
要实现本层协议,还需要使用下面一层所提供的服务。
-
协议是“水平的”,服务是“垂直的”。
-
实体看得见相邻下层所提供的服务,但并不知道实现该服务的具体协议。也就是说,下面的协议对上面的实体是透明的。
-
-
服务访问点:在同一系统中相邻两层的实体交换信息的逻辑接口,用于区分不同的服务类型。
-
服务原语:上层使用下层所提供的服务必须通过与下层交换一些命令,这些命令称为服务原语。
-
协议数据单元PDU:对等层次之间传送的数据包称为该层的协议数据单元。
-
服务数据单元SDU:同一系统内,层与层之间交换的数据包称为服务数据单元。
相关文章:
计算机网络—— 概述
概述 1.1 因特网概述 网络、互联网和因特网 网络由若干结点和连接这些结点的链路组成多个网络还可以通过路由器互联起来,这样就构成了一个覆盖范围更大的网络,即互联网(或互连网)。因特网(Internet)是世…...
“超人练习法”系列06:如何更好地掌握技能?
01 掌握的阶段 关于人类学习新事物的最生动、最精妙的比喻,我是从笑来老师那里学到的。 他指出,学习新知识、新概念犹如在构建自己大脑皮层,每个习得的概念就像是大脑皮层上的一个个微小神经元。 一个看似聪明、博学的人,总能在各…...
【华为OD机试真题2023CD卷 JAVAJS】字符串拼接
华为OD2023(C&D卷)机试题库全覆盖,刷题指南点这里 字符串拼接 知识点数组递归 时间限制:1s 空间限制:256MB 限定语言:不限 题目描述: 给定M(0<M<=30)个字符(a-z),从中取出任意字符(每个字符只能用一次)拼接成长度为N(0<N<=5)的字符串,要求相同的字…...
【算法】链表-20240109
这里写目录标题 一、141. 环形链表二、876. 链表的中间结点三、面试题 02.01. 移除重复节点 一、141. 环形链表 简单 给你一个链表的头节点 head ,判断链表中是否有环。 如果链表中有某个节点,可以通过连续跟踪 next 指针再次到达,则链表中…...
机器学习系列--R语言随机森林进行生存分析(2)
随机森林(Breiman 2001a)(RF)是一种非参数统计方法,需要没有关于响应的协变关系的分布假设。RF是一种强大的、非线性的技术,通过拟合一组树来稳定预测精度模型估计。随机生存森林(RSF࿰…...
Flutter GetX 之 状态管理
上一篇文章为大家介绍了 GetX的 路由管理,让大家对GetX有了初步了解,今天为大家介绍一下GetX的 状态管理。 StatelessWidget 和 StatefulWidget 介绍 在介绍之前,先简单介绍一下 Flutter 页面的 StatelessWidget 和 StatefulWidget ,其实Flutter的本质是万物都是Widget,…...
e2studio开发磁力计LIS2MDL(1)----轮询获取磁力计数据
e2studio开发磁力计LIS2MDL.1--轮询获取磁力计数据 概述视频教学样品申请源码下载速率新建工程工程模板保存工程路径芯片配置工程模板选择时钟设置UART配置UART属性配置设置e2studio堆栈e2studio的重定向printf设置R_SCI_UART_Open()函数原型回调函数user_uart_callback ()prin…...
C++ 字符串大小写转换,替换,文件保存 方法封装
此示例程序方法已经封装好使用std::islower()函数可以检查一个字符是否是小写字母,使用std::isupper()函数可以检查一个字符是否是大写字母。 如果传入的字母是小写字母,则使用std::toupper()函数将其转换为大写字母,并输出转换后的结果。 如果输入的字母是大写字母,则使…...
计算机基础面试题 |19.精选计算机基础面试题
🤍 前端开发工程师(主业)、技术博主(副业)、已过CET6 🍨 阿珊和她的猫_CSDN个人主页 🕠 牛客高级专题作者、在牛客打造高质量专栏《前端面试必备》 🍚 蓝桥云课签约作者、已在蓝桥云…...
mysql 添加用户并分配select权限
1.root用户先登录或者在可执行界面 1.1 选择mysql 点击mysql 或者在命令行 use mysql 1.2创建用户 CREATE USER username% IDENTIFIED BY password; 备注1:%替换为可访问数据库的ip,例如“127.0.0.1”“192.168.1.1”,使用“%”表示不限制…...
重新认识canvas,掌握必要的联结密码
查看专栏目录 canvas示例教程100专栏,提供canvas的基础知识,高级动画,相关应用扩展等信息。canvas作为html的一部分,是图像图标地图可视化的一个重要的基础,学好了canvas,在其他的一些应用上将会起到非常重…...
Linux第21步_取消鼠标中键的复制粘贴功能
在ubuntu18.04操作系统中,选中文本后,若按下鼠标中键,就可以执行复制粘贴,相当于 CtrlshiftC 后又按了 CtrlshiftV。在Linux系统中,基本上都是这么配置的。在windows系统中,我们习惯用Ctrl-C复制࿰…...
数学建模-Matlab R2022a安装步骤
软件介绍 MATLAB是一款商业数学软件,用于算法开发、数据可视化、数据分析以及数值计算的高级技术计算语言和交互式环境,主要包括MATLAB和Simulink两大部分,可以进行矩阵运算、绘制函数和数据、实现算法、创建用户界面、连接其他编程语言的程…...
【AI】Pytorch 系列:学习率设置
a. 有序调整:等间隔调整(Step),按需调整学习率(MultiStep),指数衰减调整(Exponential)和 余弦退火CosineAnnealing。 b. 自适应调整:自适应调整学习率 ReduceLROnPlateau。 c. 自定义调整:自定义调整学习率 LambdaLR。 #得到当前学习率 lr = next(iter(optimizer.param_gr…...
LeetCode第107题 - 二叉树的层序遍历 II
题目 解答 class Solution {List<List<Integer>> nodeLevels new LinkedList<>();public List<List<Integer>> levelOrderBottom(TreeNode root) {levelOrder(root, 0);List<List<Integer>> nodeLevels2 new LinkedList<>…...
java 常⽤的线程池模式FixedThreadPool
java 常⽤的线程池模式FixedThreadPool 线程池中的线程数量是固定的。 当提交一个新任务时,如果线程池中的线程都在运行,新任务就会被放入任务队列中等待执行。 如果线程池中的所有线程都在运行,且任务队列已满,那么线程池会创建新…...
双机调度算法
假设当前有两个处理机A、B,以及n个待处理的任务。第i个任务在处理处理机A上处理需要的时间为ai,在处理机B上处理的时间为bi,两个处理机可以并行处理任务,但单个处理机不能同时执行任务。要求给定n个任务及各个任务对应的ai 、bi&a…...
精进单元测试技能——Pytest断言的艺术
本篇文章主要是阐述Pytest在断言方面的应用。让大家能够了解和掌握Pytest针对断言设计了多种功能以适应在不同测试场景上使用。 了解断言的基础 在Pytest中,断言是通过 assert 语句来实现的。简单的断言通常用于验证预期值和实际值是否相等,例如…...
探索人工智能:深度学习、人工智能安全和人工智能
深度学习是人工智能的一种重要技术,它模拟了人类大脑神经网络的工作原理,通过建立多层次的神经元网络来实现对数据的分析和处理。这种技术的引入使得人工智能的发展进入到了一个新的阶段。 现如今,深度学习在各个领域都有着广泛的应用。例如…...
CHS_02.1.4+操作系统体系结构 二
CHS_02.1.4操作系统体系结构 二 操作系统的结构 上篇文章我们只介绍过宏内核 也就是大内核以及微内核分层结构的操作系统模块化是一种很经典的程序设计思想宏内核和微内核外核 操作系统的结构 上篇文章我们只介绍过宏内核 也就是大内核以及微内核 今年大纲又增加了分层结构 模块…...
【python可视化大屏】使用python实现可拖拽数据可视化大屏
介绍: 我在前几期分享了关于爬取weibo评论的爬虫,同时也分享了如何去进行数据可视化的操作。但是之前的可视化都是单独的,没有办法在一个界面上展示的。这样一来呢,大家在看的时候其实是很不方便的,就是没有办法一目了…...
FineBI实战项目一(4):指标分析之每日订单总额/总笔数
1 明确数据分析目标 统计每天的订单总金额及订单总笔数 2 创建用于保存数据分析结果的表 use finebi_shop_bi;create table app_order_total(id int primary key auto_increment,dt date,total_money double,total_cnt int ); 3 编写SQL语句进行数据分析 selectsubstring(c…...
如何确定CUDA对应的pytorch版本?
参考:此链接...
分布式锁3: zk实现分布式锁5 使用中间件curator
一 curator的说明 1.1 curator的说明 curator是netflix公司开源的一个zk客户端。对Zookeeper提供的原生客户端进行封装,简化了Zookeeper客户端的开发量。Curator解决了很多zookeeper客户端非常底层的细节开发工作,包括连接重连、反复注册wathcer和Node…...
扩展边界opencv
扩展图像的边缘(如上边增加50像素)通常是通过添加额外的像素行来实现的 使用cv2.copyMakeBorder函数 valueborder_color指定了边框的颜色 import cv2 import numpy as np# 读取图像 image cv2.imread(th.jpg)# 设置边框宽度 top_border_width 50 # …...
开源C语言库Melon:Cron格式解析
本文介绍开源C语言库Melon的cron格式解析。 关于 Melon 库,这是一个开源的 C 语言库,它具有:开箱即用、无第三方依赖、安装部署简单、中英文文档齐全等优势。 Github repo 简介 cron也就是我们常说的Crontab中的时间格式,格式如…...
vue的学习方法
学习Vue.js的方法如下: 先了解基本概念和语法:学习Vue.js的第一步是了解它的基本概念,例如组件、指令、数据绑定等。你可以开始阅读Vue官方文档并参考教程和示例来掌握这些基本概念和语法。 实践项目:在理解了Vue.js的基本概念和…...
Hive之set参数大全-2
C 指定是否启用表达式缓存的评估 hive.cache.expr.evaluation 是 Hive 中的一个配置属性,用于指定是否启用表达式缓存的评估。表达式缓存是一项优化技术,它可以在执行查询时缓存表达式的评估结果,以减少计算开销。 在 Hive 配置中…...
C++面试宝典第17题:找规律填数
题目 仔细观察下面的数字序列,找到规律,并填写空白处的数字。 (1)1, 2, 4, 7, 11, 16, __ (2)-1, 2, 7, 28, __, 126 (3)6, 10, 18, 32, 57, __ (4)19, 6, 1, 2, 11, __ (5)2, 3, 5, 7, 11, __ (6)1, 8, 9, 4, __, 1/6 (7)1, 2, 3, 7, 16, __, 321 (8)1, 2, …...
ubuntu查看内存使用情况
在Ubuntu中,你可以使用一些命令来查看内存使用情况。这些命令可以帮助你了解系统的内存使用情况,包括已用内存、空闲内存、缓存和缓冲区的内存等。 1、使用free命令 free命令是一个非常有用的命令,可以快速查看系统的内存使用情况。在终端中…...
如何在网站源码做授权/网络广告营销方案策划内容
简介 其实大家都知道,数据表之间都是可以关联的,Eloquent ORM是数据模型操作代替表操作,那么表的关联查询,在Eloquent这里也就是模型间的关联查询,这就是本章的主要内容; Eloquent一个支持以下6种表间关系&…...
b站是什么网站/微信crm管理系统
Atitit.rsa密钥生成器的attilax总结 1.1. 密钥生成器 1 1.2. 生成固定的密钥 2 1.2.1. 设置或重置 SecureRandom 对象的随机数种子 2 1.3. 密钥结构 2 1.1. 密钥生成器 public static Map<String, Object> initKey2(String md5_deta) throws Exception{ /** RSA算法要…...
做网站电脑需要配置很好吗/怎么创建一个网页
去掉 MyBatis XML 文件中 SQL 语句的背景色 效果图 修改方法 没改前效果...
wordpress做微信小程序/网络品牌推广
中介模式 中介模式是对委托的复杂运用,比如说两个类中,类A中含类B的对象指针作为数据成员,类B中含类A的对象指针作为数据成员。在下面的例子中,中介含有租房者和房东的对象指针,租房者和房东也含有中介的对象指针。完成…...
做家电家具回收用哪个网站好/十大少儿编程教育品牌
题意:给定两个串s,t。其中t可能含有?,可以代表任一字符。 求t在s中一共出现了多少次。 解: 我有个想法是在后缀自动机上DFS,然后发现不记忆化会超时,记忆化又不对。 正解是FFT。我们发现如果把问…...
建设门户网站/百度官网入口
看完jobily 发的日志后,我想在这发表下我的看法。 先扯点话题,我注册博客园的账号3年了。园龄:3年。但是很少在这上面发表文章。我一直很喜欢在博客园逛,喜欢看人家些的日志,有时候收获甚大。 我之所以很少在上面发表文…...