计算机网络第一章(概述)【湖科大教书匠】

news2024/11/26 8:36:58

1. 各种网络

  • 网络(Network)由若干**结点(Node)和连接这些结点的链路(Link)**组成
  • 多个网络还可以通过路由器互连起来,这样就构成了一个覆盖范围更大的网络,即互联网(互连网)。因此,互联网是"网络的网络(Network of Networks)"
  • **因特网(Internet)**是世界上最大的互连网络【小写iinternet是通用名词,互连的网络都叫internet

2. ISP

因特网服务提供者(Internet Service Provider)

普通用户如何接入因特网?

通过ISP接入因特网。ISP可以从因特网管理机构申请到成块的IP地址,同时拥有通信线路以及路由器等连网设备,任何机构和个人只要向ISP交纳规定的费用,就可以从ISP得到所需要的IP地址。互联网上的主机都必须有IP地址才能通信

uBXlYmagVoEebrt

基于ISP的三层结构的因特网

层数越小覆盖越多

2

3. 因特网的组成

  • 边缘部分:由所有连接在因特网上的主机组成,这部分是用户直接使用的,用来进行通信(传送数据、音频或视频)和资源共享
  • 核心部分:由大量网络和连接这些网络的路由器组成。这部分是为边缘部分提供服务的(提供连通性和交换)

3

4. 三种交换方式

①电路交换(Circuit Switching)

1. 电路交换怎么出现的?

电话问世后,人们发现所有电话之间都两两相连是不现实的。因此可以用一个中间设备将讲话接入,根据需要进行转发

4

2. 什么是电路交换?

电话交换机接通电话线的方式称为电路交换
从通信资源分配角度来看,交换(Switch)就是按照某种方式动态地分配传输线路的资源

3. 电路交换三个步骤

  1. 建立连接(分配通信资源):例如在使用电路交换打电话前,必须先拨号请求建立连接,当被叫用户听到电话交换机送来的拨号音并拿起电话后,从主叫端到被叫端就建立了一条连接,也就是一条专用的物理通路。这条连接保证了双方通话时所需的通信资源,而这些资源在双方通信中不会被其他用户占用
  2. 通话(一直占用通信资源):分配的资源始终被占用
  3. 释放连接(归还通信资源)

5

优点

  1. 通信时延小:通信线路为通信双方专用的,数据直达
  2. 有序传输:通信双方只有一条专用通信线路,数据只在这一线路上传输,不存在失序问题
  3. 没有冲突:不同的通信双方拥有不同的信道,不会出现争用物理通道的问题
  4. 适用范围广:适用于传输模拟信号,也适用于传输数字信号
  5. 实时性强:时延小所以实时性强
  6. 控制简单

缺点

  1. 建立连接时间长
  2. 线路独占,适用效率低
  3. 灵活性差:只要连接所建立的物理通路中的任何一点出现了故障,就必须重新拨号建立新的连接
  4. 难以规格化:不同类型、不同规格、不同速率的终端很难互相进行通信,也难以差错控制

②★分组交换(Packet Switching)

  • 发送方:①构建分组 ②发送分组
  • 路由器:①缓存分组 ②转发分组
  • 接收方:①接收分组 ②还原报文

6

优点

  1. 无需建立连接
  2. 线路利用率高
  3. 简化存储管理:因为分组大小固定,管理起来就容易一些
  4. 加速传输:因为分组是逐个传输,这样前一个交换机的转发操作与后一个交换机的存储操作可同时进行
  5. 减少出错率和重复数据量:分组比报文小,因此出错概率也会比较小,即使出错也只需要重传出错的这一小部分即可

缺点

  1. 引起了转发时延
  2. 需要传输额外信息量(分组头部信息)
  3. 分组交换采用数据报服务时,可能会出现失序、丢失、重复分组。分组到达目的结点时,需要重新还原成原始报文,比较麻烦。若分组交换采用虚电路服务,虽然没有分组失序问题,但有呼叫建立,数据传输和虚电路释放三个过程

③报文交换(Message Switching)

报文交换与分组交换类似,不过对报文没有限制大小,现如今多使用分组交换。

优点

  1. 无需建立连接
  2. 动态分配线路
  3. 提高线路可靠性:如果某条线路出现故障,会重新选择另一条线路
  4. 提高线路利用率:通信双方在不同的时间分段占用物理线路
  5. 提供多目标服务:一个报文可以同时发送给多个目的地址

缺点

  1. 引起转发时延:报文在节点交换机上要经历存储转发的过程
  2. 需要较大的存储转发空间:因为报文大小没有限制
  3. 需要传输额外信息量:有头部等信息

三种交换对比

纵坐标为时间,分组交换相对报文交换分的更小,可以减少时延,防止过长时间占用线路以及方便排错

7

5. 计算机网络

定义

一些互相连接的、自治的计算机的集合

  • 互连:指计算机之间可以通过有线或无线的方式进行数据通信
  • 自治:指独立的计算机,它有自己的硬件和软件,可以单独运行使用
  • 集合:指至少需要两台计算机

分类

按交换技术:①电路交换网络 ②报文交换网络 ③分组交换网络

按使用者:①公用网 ②专用网

按传输介质:①有线网络 ②无线网络

按覆盖范围:①广域网WAN ②城域网MAN ③局域网LAN ④个域网PAN

按拓扑结构:①总线型网络 ②星型网络 ③环型网络 ④网状型网络

性能指标

性能指标可以从不同的方面来度量计算机网络的性能

1. 速率

连接在计算机网络上的主机在数字信道上传送比特的速率,也称为比特率或数据率

常用数据率单位

8

比特

计算机中的数据量单位,也是信息论中信息量的单位。一个比特就是二进制数字中的一个10.

常用数据量

9

2. 带宽

带宽在模拟信号系统中的意义

信号所包含的各种不同频率成分所占据的频率范围

单位:Hz(kHz,MHz,GHz)

带宽在计算机网络中的意义

用来表示网络的通信线路所能传送数据的能力,因此网络带宽表示在单位时间内从网络中的某一点到另一点所能通过的"最高数据率"

单位:b/s(kb/s,Mb/s,Gb/s,Tb/s)

一条通信线路的"频带宽度"越宽,其所传输数据的"最高数据率"也越高

3. 吞吐量

吞吐量表示在单位时间内通过某个网络(或信道、接口)的数据量。
吞吐量被经常用于对现实世界中的网络的一种测量,以便知道实际上到底有多少数据量能够通过网络。
吞吐量
受网络的带宽或额定速率的限制

4. ★时延

在处理过程中所需要的时间

10

11

5. 时延带宽积

12

6. 往返时间

在许多情况下,因特网上的信息不仅仅单方向传输,而是双向交互
我们有时很需要知道双向交互一次所需要的时间
因此,往返时间RTT(Round-Trip Time)也是一个重要的性能指标

7. ★利用率

信道利用率:用来表示某信道有百分之几的时间是被利用的(有数据通过)
网络利用率:全网络的信道利用率的加权平均

  • 根据排队论,当某信道的利用率增大时,该信道引起的时延也会迅速增加。因此信道利用率不是越高越好

  • 如果令** D 0 D_0 D0表示网络空闲时的时延**,D表示网络当前的时延,那么在适当的假定条件下,可以用下面的简单公式来表示D D 0 D_0 D0利用率U之间的关系

    D = D 0 1 − U D=\dfrac{D_0}{1-U} D=1UD0

    13

    当网络利用率U50%时,时延急剧增大。

    当网络利用率接近100%时,时延趋于无穷大

    但是也不能使信道利用率过低,这回使宝贵的通信资源被浪费

因此一些拥有较大主干网的ISP通常会控制它们的信道利用率不超过50%。如果超过了,就要准备扩容,增大线路带宽

8. 丢包率

丢包率即分组丢失率,是指在一定的时间范围内,传输过程中丢失的分组数量与总分组数量的比率
具体可分为:接口丢包率、结点丢包率、链路丢包率、路径丢包率、网络丢包率等

丢包率是网络运维人员非常关心的一个网络性能指标,但对于普通用户来说往往并不关心这个指标,因为他们意识不到丢包

分组丢失的两种情况

  • 分组在传输过程中出现误码,被结点丢弃
  • 分组到达一台队列已满的分组交换机时被丢弃,在通信量较大时就可能造成网络拥塞

丢包率反映了网络的拥塞情况

  • 无拥塞时路径丢包率为0
  • 轻度拥塞时路径丢包率为1%~4%
  • 严重拥塞时路径丢包率为5%~15%

★体系结构

1

1. 分层的必要性

在平常编程时,我们总是喜欢利用不同的类实现不同的功能,最后进行整合实现真正的功能。这样的好处是让结构更加清晰,维护也更加简单。计算机网络分层同理,在计算机网络上实现不同进程的通信需要解决众多问题,分层便于维护与管理。

0

2. 分层举例

当我们利用浏览器发送网页请求到服务器并发生响应的过程中,数据会怎么变化呢?

1

浏览器发送

  • 应用层按照HTTP协议的规定构建一个HTTP请求报文(请求要干什么)。应用层将HTTP请求的报文交给运输层处理
  • 运输层给HTTP请求报文添加一个TCP首部(区分应用进程),使之成为TCP报文段。运输层将TCP报文段交给网络层处理
  • 网络层给TCP报文段添加一个IP首部(使之可以在互联网上传输),使之成为IP数据报。网络层将IP数据报交付给数据链路层处理
  • 数据链路层给IP数据报添加一个首部(让其能在一段链路上传输,能被相应主机接收)和一个尾部(让目的主机检查所接收到的帧是否有误码),使之成为。数据链路层将帧交给物理层
  • 物理层将帧看作比特流,如果网络是以太网,它还会在帧上加前导码(让目的主机做好接收帧的准备)。接着将比特流变成相应信号发送到传输媒体

路由器转发

  • 物理层收到信号将其变为比特流,去掉前导码后,将其交付给数据链路层**(交付的实际是帧)**
  • 数据链路层将帧去掉首部和尾部后,将其交付给网络层**(交付的实际是IP数据报)**
  • 网络层解析IP数据报首部,从中提取目的网络地址,然后查找自身路由表,确定转发端口。接着数据链路层封装,物理层再封装,将比特流变成信号发送出去。

服务器接收

  • 物理层收到信号将其变为比特流,去掉前导码后,将其交付给数据链路层**(交付的实际是帧)**
  • 数据链路层收到帧后,去除首部和尾部,将其交付给网络层**(交付的实际是IP数据报)**
  • 网络层收到IP数据报后,去除IP首部,将其交付给运输层**(交付的实际是TCP报文)**
  • 运输层收到TCP报文后,从中得知是与哪个端口上的进程通信,去除TCP头部后,交付给应用层**(交付的实际是HTTP请求报文)**
  • 应用层收到HTTP请求报文后,将其解析给对应进程,并执行相关操作,返回HTTP响应报文

专用术语

①实体

任何可发送或接收信息的硬件或者软件进程

对等实体:收发双方相同层次中的实体

2

②协议

控制两个对等实体进行**逻辑通信(这种通信实际上不存在,只是便于我们考虑问题)**的规则的集合

3

三要素

  • 语法:定义所交换信息的格式(即报文格式)
  • 语义:定义收发双方所要完成的操作(即收,发任务需要各自定义)
  • 同步:定义收发双方的时序关系(如先建立侦听才可以通信是有先后顺序的)

③服务

  • 在协议控制下,两个对等实体间的逻辑通信使得本层能够向上一层提供服务(也就是说通过协议完成本层的内容后就可以向上提供服务)
  • 要实现本层协议,还需要使用下面一层所提供的服务
  • 协议是**“水平的”,服务是"垂直的"**
  • 实体看得见相邻下层所提供的的服务,但是并不知道实现该服务的具体协议。也就是说,下面的协议对上面的实体是**“透明”**的(就像手机为我们提供服务,但是我们并不知道具体是如何实现的)

服务访问点:在同一系统中相邻两层的实体交换信息的逻辑接口(就像Web里的request域,后端前端都能取到),用于区分不同的服务类型

  • 数据链路层的服务访问点为帧的"类型"字段
  • 网络层的服务访问点位IP数据报首部中的"协议字段"
  • 运输层的服务访问点为"端口号"

服务原语:上层使用下层所提供的服务必须通过与下层交换一些命令,这些命令称为服务原语

4

协议数据单元PDU(横向):对等层次之间传送的数据包称为该层的协议数据单元

  • 物理层是比特流;数据链路层是帧;网络层是IP数据报或分组……

服务数据单元SDU(竖向):同一系统内,层与层之间交换的数据报称为服务数据单元

  • 物理层往上送是比特流;数据链路层往下送是帧……

多个SDU可用合成为一个PDU;一个SDU页可以划分为几个PDU

借鉴:https://blog.csdn.net/weixin_45488428/article/details/115102326

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

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

相关文章

扩散模型的Prompt指南:如何编写一个明确提示

Prompt(提示)是扩散模型生成图像的内容来源,构建好的提示是每一个Stable Diffusion用户需要解决的第一步。本文总结所有关于提示的内容,这样可以让你生成更准确,更好的图像 一个好的提示 首先我们看看什么是好的提示…

MCM箱模型建模方法及大气O3来源解析

详情点击链接:MCM箱模型建模方法及大气O3来源解析一、大气中O3形成、MCM和Atchem 2原理及Linux系统安装1.大气中O3形成的原理 2、MCM原理及基本流程3、Atchem 2 下载安装4、Linux系统安装5、Atchem 2 运行需要的其他工具A、Fortran;B、Python&#xff1…

小程序分包(普通分包、独立分包)

普通分包和独立分包的区别 当小程序从普通的分包页面启动的时候,首先需要下载主包独立分包是不依赖看于主包就可以运行,提升分包的执行速度,一个小程序可以有多个独立分包。 独立分包属于分包的一种。普通分包的所有限制都对独立分包有效。独…

基于LDA+SVM实现人脸识别模型

基于LDASVM实现人脸识别模型 描述 人脸识别(图像识别)是机器学习领域十经典的应用,在本质上,人脸识别属于监督学习中的分类问题。前面章节中我们已经学习了支持向量机(SVM),该算法在图像分类领…

专为智能设备安全打造 | 基于ACM32 MCU的智能断路器方案

随着我国电网建设的快速发展,数字化变电站成为建设和研究的热点,数字化变电站的核心在于一次设备的智能化与二次设备的网络化,对于断路器这种极其重要的电力一次设备而言,其智能化的实现有十分重要的意义,断路器智能化…

耗时半月,终于把牛客网上的软件测试面试八股文整理成了PDF合集(测试基础+linux+MySQL+接口测试+自动化测试+测试框架+jmeter测试+测试开发)

大家好,最近有不少小伙伴在后台留言,近期的面试越来越难了,要背的八股文越来越多了,考察得越来越细,越来越底层,明摆着就是想让我们徒手造航母嘛!实在是太为难我们这些程序员了。 这不&#xf…

【Git】速食Git,一文学会Git使用

1.什么是版本控制 版本控制是一种在开发的过程中用于管理我们对文件、目录或工程等内容的修改历史,方便查看更改历史记录,备份以便恢复以前的版本的软件工程技术。【通俗来说就跟我们所玩的游戏一样,不断地更新迭代游戏内容,比如…

微服务高级篇学习【4】之多级缓存

文章目录前言一 多级缓存二 JVM进程缓存2.1 案例导入2.1.1 使用docker安装mysql2.1.2 修改配置2.1.3 导入项目工程2.1.4 导入商品查询页面2.1.5 反向代理2.2 初识Caffeine2.3 实现JVM进程缓存三 Lua脚本入门3.1 安装Lua3.2 Lua语法学习四 实现多级缓存4.1 OpenResty简介4.2 Ope…

STK实例场景创建及TLE文件导入

学习过程主要参考杨颖、王琦老师的《STK在计算机仿真中的应用》。(值得注意的是,书中的STK版本为5.X,我使用的版本为11.6) 创建实例场景 在默认的工具条单击第一个按钮(或File→New),并设置场…

【NAS群晖drive异地访问】远程连接drive挂载电脑硬盘「内网穿透」

文章目录前言1.群晖Synology Drive套件的安装1.1 安装Synology Drive套件1.2 设置Synology Drive套件1.3 局域网内电脑测试和使用2.使用cpolar远程访问内网Synology Drive2.1 Cpolar云端设置2.2 Cpolar本地设置2.3 测试和使用3. 结语转发自CSDN远程穿透的文章:【群晖…

魔兽世界私服架设教程—魔兽大服务器合并列表

都说魔兽世界是最经典的网游,可惜我沉迷于程序的世界, 用以下命令down源码 git clone git://github.com/mangos/mangos.git 编译的时候会出错,找不到以下两个文件 revision.h SystemConfig.h 其实以上文件只是简单的定义同个编译的宏而…

第一章 初识NANO板卡

有人说:一个人从1岁活到80岁很平凡,但如果从80岁倒着活,那么一半以上的人都可能不凡。 生活没有捷径,我们踩过的坑都成为了生活的经验,这些经验越早知道,你要走的弯路就会越少。 本文链接:第一章 初识NANO…

事实胜于雄辩,苹果MacOs能不能玩儿机器/深度(ml/dl)学习(Python3.10/Tensorflow2)

坊间有传MacOs系统不适合机器(ml)学习和深度(dl)学习,这是板上钉钉的刻板印象,就好像有人说女生不适合编程一样的离谱。现而今,无论是Pytorch框架的MPS模式,还是最新的Tensorflow2框架,都已经可以在M1/M2芯片的Mac系统…

Transformer中的注意力机制及代码

文章目录1、简介2、原理2.1 什么是注意力机制2.2 注意力机制在NLP中解决了什么问题2.3 注意力机制公式解读2.4 注意力机制计算过程3、单头注意力机制与多头注意力机制4、代码4.1 代码14.2 代码21、简介 最近在学习transformer,首先学习了多头注意力机制&#xff0c…

Spring MVC(2)-跨域、CORS、XSS、 CSFR

同源和跨域 同源 什么是同源?请求的“协议ip(域名)端口”被称之为“源”。 如果当前页面的url和在当前页面中要访问的url具有相同的源,那么我们称这两个请求“同源”,即它们来自或者去往同一个服务器。 跨域 什么是跨域?如果…

基于ArcGIS、ENVI、InVEST、FRAGSTATS等多技术融合提升环境、生态、水文、土地、土壤、农业、大气等领域应用

【自选】 时间地点:2023年7月22日-28日【乌鲁木齐】时间地点:2023年8月12日-18日【福建泉州】 【六天实践教学、提供全部资料】 专题一、空间数据获取与制图 1.1 软件安装与应用讲解 1.2 空间数据介绍 1.3海量空间数据下载 1.4 ArcGIS软件快速入门…

Android有官方的GPS定位API,为什么还要使用百度/高德定位SDK ?

1. 背景 小组在一个Demo项目中,图省事准备使用官方的GPS定位API。 但在我的印象中,官方的定位API是不好用的,一般都是用 高德地图/百度地图 的定位SDK的。 使用官方的定位API获取定位的话,在办公室调试的时候,可能室内…

技术人的管理学-业务管理

主要内容前言制定计划遇到的问题?过程监控遇到的问题?复盘改进遇到的问题?通过PDCA循环解决业务管理问题总结前言 没有人天生就会管理,优秀的管理者都是在知行合一的过程中成长起来的,他们既需要系统的管理知识&#…

数据结构_第十三关(2):快速排序

目录 1.快速排序 原理: 代码如下(递归实现): 性能比较 快速排序的特性总结 2.快速排序的优化 1)三数取中优化: 2)小区间优化: 3. 挖坑法(快排的另一种思路&#…

Android Jetpack 从使用到源码深耕【调度任务组件WorkManager 从实践到原理 】(三)

本文,是Jetpack 调度任务组件WorkManager 从实践到原理系列文章的最后一篇,本文我们将对WorkManager 任务的具体执行源码,进行深入的解读。 大家坐好,我们要开始飙车了。 1.任务的具体执行 书接上文,我们既然知道了WorkManager,既然把worker包装为了workrequset,然后…