计算机网络(一):概述

参考引用

  • 计算机网络微课堂-湖科大教书匠
  • 计算机网络(第7版)-谢希仁

1. 计算机网络在信息时代的作用

  • 计算机网络已由一种通信基础设施发展成为一种重要的信息服务基础设施
  • 计算机网络已经像水、电、煤气这些基础设施一样,成为我们生活中不可或缺的一部分

2. 因特网概述

2.1 网络、互连网 (互联网)和因特网
  • 网络 (Network) 由若干结点 (Node) 和连接这些结点的链路 (Link) 组成

在这里插入图片描述

  • 多个网络还可以通过路由器互连起来,这样就构成了一个覆盖范围更大的网络,即互联网(或互连网)。因此,互联网是 “网络的网络 (Network of Networks)”
  • 因特网 (Internet) 是世界上最大的互连网络 (用户数以亿计,互连的网络数以百万计)

在这里插入图片描述

internet 与 Internet 的区别

  • internet (互联网或互连网)是一个通用名词,它泛指由多个计算机网络互连而成的网络。在这些网络之间的通信协议可以是任意的
  • Internet (因特网)则是一个专用名词,它指当前全球最大的、开放的、由众多网络相互连接而成的特定计算机网络,它采用 TCP/IP 协议族作为通信的规则,其前身是美国的 ARPANET
2.2 因特网发展的三个阶段
  • 1969年:从单个网络 ARPANET 向互联网发展
    • 1969 年,第一个分组交换网 ARPANET
    • 70 年代中期,研究多种网络之间的互连
    • 1983 年,TCP/IP 协议成为 ARPANET 的标准协议 (因特网诞生时间)
  • 1985 年:逐步建成三级结构的因特网
    • 1985 年,NSF 围绕六个大型计算机中心建设 NSFNET (主干网、地区网和校园网)
    • 1990 年,ARPANET 任务完成,正式关闭
    • 1991 年,美国政府将因特网主干网交给私人公司经营,并开始对接入因特网的单位收费
  • 1993 年:逐步形成了多层次 ISP 结构的因特网
    • 1993 年,NSFNET 逐渐被若干个商用因特网主干网替代;政府机构不再负责因特网运营,让各种因特网服务提供者 ISP 来运营
    • 1994 年,万维网 WWW 技术促使因特网迅猛发展
    • 1995 年,NSFNET 停止运作,因特网彻底商业化
因特网服务提供者 ISP (Internet Service Provider)

在这里插入图片描述

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

在这里插入图片描述

2.3 因特网的标准化工作
  • 因特网在制定其标准上的一个很大的特点是面向公众

    • 因特网所有的 RFC(Request For Comments) 技术文档都可从因特网上免费下载
      (http://www.ietf.org/rfc.html)
    • 任何人都可以随时用电子邮件发表对某个文档的意见或建议
  • 因特网协会 ISOC 是一个国际性组织,它负责对因特网进行全面管理,以及在世界范围内促进其发展和使用

    • 因特网体系结构委员会 IAB,负责管理因特网有关协议的开发
    • 因特网工程部 IETF,负责研究中短期工程问题,主要针对协议的开发和标准化
    • 因特网研究部 IRTF,从事理论方面的研究和开发一些需要长期考虑的问题
      在这里插入图片描述
  • 制订因特网的正式标准要经过以下 4 个阶段

    • 1、因特网草案 (在这个阶段还不是 RFC 文档)
    • 2、建议标准 (从这个阶段开始就成为 RFC 文档)
    • 3、草案标准
    • 4、因特网标准
2.4 因特网的组成
  • 边缘部分
    • 由所有连接在因特网上的主机组成。这部分是用户直接使用的,用来进行通信(传送数据、音频或视频)和资源共享
  • 核心部分
    • 由大量网络和连接这些网络的路由器组成。这部分是为边缘部分提供服务的(提供连通性和交换)

在这里插入图片描述

3. 三种交换方式

3.1 电路交换 (Circuit Switching)
  • 电话交换机接通电话线的方式称为电路交换
  • 从通信资源的分配角度来看,交换 (Switching)就是按照某种方式动态地分配传输线路的资源
  • 电路交换的三个步骤
    • 建立连接 (分配通信资源)
    • 通话 (一直占用通信资源)
    • 释放连接 (归还通信资源)
      在这里插入图片描述

当使用电路交换来传送计算机数据时,其线路的传输效率往往很低,因此通常不采用该方式传输计算机数据,而是采用分组交换的方式

3.2 分组交换 (Packet Switching)
  • 发送方
    • 构造分组发送分组
  • 路由器
    • 缓存分组转发分组
  • 接收方
    • 接收分组还原报文
      在这里插入图片描述
3.3 报文交换 (Message Switching)
  • 主要用于早期的电报通讯网,现在较少使用,故不再赘述
3.4 三种交换方式对比
  • 电路交换
    • 优点:通信时延小、有序传输、没有冲突、适用范围广、实时性强、控制简单
    • 缺点:建立连接时间长、线路独占使用效率低、灵活性差、难以规格化
  • 报文交换
    • 优点:无需建立连接、动态分配线路、提高线路可靠性、提高线路利用率、提供多目标服务
    • 缺点:引起了转发时延、需要较大存储缓存空间、需要传输额外的信息量
  • 分组交换
    • 优点:无需建立连接、线路利用率高、简化了存储管理、加速传输、减少出错概率和重发数据量
    • 缺点:引起了转发时延、需要传输额外的信息量、对于数据报服务,存在失序、丢失或重复分组的问题;对于虚电路服务,存在呼叫建立、数据传输和虚电路释放三个过程

在这里插入图片描述

4. 计算机网络的定义和分类

4.1 计算机网络的定义
  • 计算机网络的最简单的定义
    • 一些互相连接的、自治的计算机的集合
      • 互连:是指计算机之间可以通过有线或无线的方式进行数据通信
      • 自治:是指独立的计算机,它有自己的硬件和软件,可以单独运行使用
      • 集合:是指至少需要两台计算机
  • 计算机网络的较好的定义
    • 计算机网络主要是由一些通用的、可编程的硬件互连而成的,而这些硬件并非专门用来实现某一特定目的 (例如,传送数据或视频信号)。这些可编程的硬件能够用来传送多种不同类型的数据,并能支持广泛的和日益增长的应用
      • 计算机网络所连接的硬件,并不限于一般的计算机,而是包括了智能手机等智能硬件
      • 计算机网络并非专门用来传送数据,而是能够支持很多种的应用 (包括今后可能出现的各种应用)
4.2 计算机网络的分类
  • 按交换技术分类
    • 电路交换网络
    • 报文交换网络
    • 分组交换网络
  • 按使用者分类
    • 公用网
    • 专用网
  • 按传输介质分类
    • 有线网络
    • 无线网络
  • 按覆盖范围分类
    • 广域网WAN
    • 城域网MAN
    • 局域网LAN
    • 个域网PAN
  • 按拓扑结构分类
    • 总线型网络
    • 星型网络
    • 环型网络
    • 网状型网络
      在这里插入图片描述

5. 计算机网络的性能指标

  • 性能指标可以从不同的方面来度量计算机网络的性能
5.1 常用的计算机网络的性能指标
  • 1. 速率
    在这里插入图片描述

  • 2. 带宽

    • 带宽的这两种表述之间有着密切的联系。一条通信线路的 “频带宽度” 越宽,其所传输数据的 “最高数据率” 也越高
      在这里插入图片描述
  • 3. 吞吐量

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

在这里插入图片描述

  • 5. 时延带宽积

    • 时延带宽积 = 传播时延 × 带宽
    • 若发送端连续发送数据,则在所发送的第一个比特即将到达终点时,发送端就已经发送了时延带宽积个比特
    • 链路的时延带宽积又称为以比特为单位的链路长度
  • 6. 往返时间

    • 在许多情况下,因特网上的信息不仅仅单方向传输,而是双向交互
    • 有时很需要知道双向交互一次所需的时间
    • 因此,往返时间 RTT(Round-Trip Time) 也是一个重要的性能指标
      在这里插入图片描述
  • 7. 利用率

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

    1、根据排队论,当某信道的利用率增大时,该信道引起的时延也会迅速增加,因此,信道利用率并非越高越好。如果令 D 0 D_0 D0 表示网络空闲时的时延,D 表示网络当前的时延,那么在适当的假定条件下,可以用下面的简单公式来表示 D、 D 0 D_0 D0 和利用率 U 之间的关系 D = D o I − U D=\frac{D_o}{I-U} D=IUDo

    • 当网络的利用率达到 50% 时,时延就要加倍
    • 当网络的利用率超过 50% 时,时延急剧增大
    • 当网络的利用率接近 100% 时,时延就趋于无穷大
    • 因此,一些拥有较大主千网的 ISP 通常会控制它们的信道利用率不超过 50%。如果超过了,就要准备扩容,增大线路的带宽。

    2、也不能使信道利用率太低,这会使宝贵的通信资源被白白浪费。应该使用一些机制,可以根据情况动态调整输入到网络中的通信量,使网络利用率保持在一个合理的范围内。

  • 8. 丢包率

    • 丢包率即分组丢失率,是指在一定的时间范围内,传输过程中丢失的分组数量与总分组数量的比率
    • 丢包率具体可分为接口丢包率、结点丢包率、链路丢包率、路径丢包率、网络丢包率
    • 丢包率是网络运维人员非常关心的一个网络性能指标,但对于普通用户来说往往并不关心这个指标因为他们通常意识不到网络丢包
    • 分组丢失主要有两种情况
      • 分组在传输过程中出现误码,被结点丢弃
      • 分组到达一台队列已满的分组交换机时被丢弃;在通信量较大时就可能造成网络拥塞
    • 因此,丢包率反映了网络的拥塞情况
      • 无拥塞时路径丢包率为 0
      • 轻度拥塞时路径丢包率为 1% ~ 4%
      • 严重拥塞时路径丢包率为 5% ~ 15%

6. 计算机网络体系结构

6.1 常见的计算机网络体系结构
  • OSI 体系结构(法律上的国际标准)

    • 应用层、表示层、会话层、运输层、网络层、数据链路层、物理层
  • TCP/IP 体系结构(事实上的国际标准)

    • 应用层、运输层、网际层、网络接口层
      在这里插入图片描述
  • 原理体系结构(适于教学)

    • 应用层:解决通过应用进程的交互来实现特定网络应用的问题
    • 运输层:解决进程之间基于网络的通信问题
    • 网络层:解决分组在多个网络上传输 (路由)的问题
    • 数据链路层:解决分组在一个网络 (或一段链路) 上传输的问题
    • 物理层:解决使用何种信号来传输比特的问题
6.2 计算机网络体系结构分层的必要性
  • 计算机网络是个非常复杂的系统。早在最初的 ARPANET 设计时就提出了分层的设计理念
  • 分层可将庞大而复杂的问题,转化为若干较小的局部问题,而这些较小的局部问题就比较易于研究和处理
  • 下面按照由简单到复杂的顺序,来看看实现计算机网络要面临哪些主要的问题,以及如何将这些问题划分到相应的层次,层层处理。
    在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

6.3 计算机网络体系结构分层思想举例

计算机网络体系结构分层思想举例

6.4 计算机网络体系结构中的专用术语

实体、协议和服务

  • 实体:任何可发送或接收信息的硬件或软件进程

    • 对等实体:收发双方相同层次中的实体
      在这里插入图片描述
  • 协议:控制两个对等实体进行逻辑通信的规则的集合,三要素(语法、语义和同步)
    在这里插入图片描述

    • 语法:定义所交换信息的格式
      在这里插入图片描述

    • 语义:定义收发双方所要完成的操作

    • 同步:定义收发双方的时序关系
      在这里插入图片描述

  • 服务

    • 在协议的控制下,两个对等实体间的逻辑通信使得本层能够向上一层提供服务

    • 要实现本层协议,还需要使用下面一层所提供的服务

    • 协议是 “水平的”,服务是 “垂直的”

    • 实体看得见相邻下层所提供的服务,但并不知道实现该服务的具体协议。也就是说,下面的协议对上面的实体是 "透明” 的

    • 服务访问点:在同一系统中相邻两层的实体交换信息的逻辑接口,用于区分不同的服务类型

      • 数据链路层的服务访问点为帧的 “类型” 字段
      • 网络层的服务访问点为IP数据报首部中的 “协议字段”
      • 运输层的服务访问点为 “端口号”
    • 服务原语:上层使用下层所提供的服务必须通过与下层交换一些命令,这些命令称为服务原语
      在这里插入图片描述

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

    • 服务数据单元 SDU:同一系统内,层与层之间交换的数据包称为服务数据单元

    • 多个 SDU 可以合成为一个 PDU;一个 SDU 也可划分为几个 PDU
      在这里插入图片描述

必须通过与下层交换一些命令,这些命令称为服务原语
[外链图片转存中…(img-Ly3ihdV1-1696131772480)]
- 协议数据单元 PDU:对等层次之间传送的数据包称为该层的协议数据单元
- 服务数据单元 SDU:同一系统内,层与层之间交换的数据包称为服务数据单元
- 多个 SDU 可以合成为一个 PDU;一个 SDU 也可划分为几个 PDU
[外链图片转存中…(img-FpsLhd0u-1696131772480)]

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

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

相关文章

《CTFshow-Web入门》10. Web 91~110

Web 入门 索引web91题解总结 web92题解总结 web93题解 web94题解 web95题解 web96题解 web97题解 web98题解 web99题解总结 web100题解 web101题解 web102题解 web103题解 web104题解 web105题解总结 web106题解 web107题解 web108题解 web109题解 web110题解 ctf - web入门 索…

红外遥控器 数据格式,按下及松开判断

红外遥控是一种无线、非接触控制技术,具有抗干扰能力强,信息传输可靠,功耗低,成本低,易实现等显著优点,被诸多电子设备特别是家用电器广泛采用,并越来越多的应用到计算机系统中。 同类产品的红…

iOS 视频压缩 mov转mp4 码率

最近还是因为IM模块的功能,IOS录制MOV视频发送后,安卓端无法播放,迫不得已兼容将MOV视频转为MP4发送。 其中mov视频包括4K/24FPS、4K/30FPS、4K/60FPS、720p HD/30FPS、1080p HD/30FPS、1080p HD/60FPS! 使用AVAssetExportSessi…

使用sqlmap获取数据步骤

文章目录 1.使用sqlmap获取所有数据库2.使用sqlmap获取当前连接数据库3.使用sqlmap获取当前数据库下所有表名4.使用sqlmap获取当前数据库下某个表下所有列名5.使用sqlmap获取当前数据库下某个表下指定字段的数据6.测试当前用户是否是管理员7.使用burpsqlmap批量检测8.脱库命令9…

zkLogin构建者的最佳实践和业务思考

随着zkLogin在Sui主网上线,构建者可以开始为其应用程序提供丝滑的帐户创建服务。与任何新技术集成一样,构建者需要考虑许多重要的问题,以降低风险并成功优化。 本文概述了其中一些考虑因素,并突出了zkLogin文档中提供的明确指导。…

二、机器学习基础知识:Python数据处理基础

文章目录 1、基本数据类型1.1 数字类型(Number)1.2 字符串类型(String)1.3 列表类型(List)1.4 元组类型(Tuple)1.5 字典类型(Dictionary)1.6 集合类型&#x…

掌动智能:替代JMeter的压力测试工具有哪些

JMeter是一个广泛使用的开源压力测试工具,但在实际应用中,也有一些其他优秀的替代品可供选择。本文将介绍几个可替代JMeter的压力测试工具,它们在功能、性能和易用性方面都具有独特优势,可以满足不同压力测试需求的选择。 一、Gat…

lvgl不能显示图片,但可以显示按键?

AT32F403A, IAR, ST7735S, LVGL8.3。 一、现象: 本来想着用LVGL做一个摄像头的显示功能 切换动态。可是死活实现不了功能。 因为移植好LVGL后,首先测试了显示按键,功能正常,以为是一切正常。在模拟器上调试效果完成后&#xf…

Scala第十三章节

Scala第十三章节 1. 高阶函数介绍 2. 作为值的函数 3. 匿名函数 4. 柯里化 5. 闭包 6. 控制抽象 7. 案例: 计算器 scala总目录 文档资料下载

IDEA git操作技巧大全,持续更新中

作者简介 目录 1.创建新项目 2.推拉代码 3.状态标识 5.cherry pick 6.revert 7.squash 8.版本回退 9.合并冲突 1.创建新项目 首先我们在GitHub上创建一个新的项目,然后将这个空项目拉到本地,在本地搭建起一个maven项目的骨架再推上去&#xff0…

Python集成开发环境(IDE):WingPro for Mac

WingPro for Mac是一款Python集成开发环境(IDE)软件,它提供了一系列强大的工具和功能,帮助Python开发人员提高开发效率和质量。 WingPro for Mac拥有直观的用户界面和强大的调试器,可以帮助用户快速定位问题和修复错误…

12链表-双指针

目录 LeetCode之路——21. 合并两个有序链表 分析: LeetCode之路——19. 删除链表的倒数第 N 个结点 分析: LeetCode之路——21. 合并两个有序链表 将两个升序链表合并为一个新的 升序 链表并返回。新链表是通过拼接给定的两个链表的所有节点组成的…

宝塔反代openai官方API接口详细教程,502 Bad Gateway问题解决

一、前言 宝塔反代openai官方API接口详细教程,实现国内使用ChatGPT502 Bad Gateway问题解决, 此方法最简单快捷,没有复杂步骤,不容易出错,即最简单,零代码、零部署的方法。 二、实现前提 一台海外VPS服务…

网络安全——自学(黑客)方法

如果你想自学网络安全,首先你必须了解什么是网络安全!,什么是黑客!! 1.无论网络、Web、移动、桌面、云等哪个领域,都有攻与防两面性,例如 Web 安全技术,既有 Web 渗透2.也有 Web 防…

云原生之使用Docker部署RSS阅读器Huntly

云原生之使用Docker部署RSS阅读器Huntly 一、Huntly介绍1.1 Huntly简介1.2 Huntly功能 二、本次实践规划2.1 本地环境规划2.2 本次实践介绍 三、本地环境检查3.1 检查Docker服务状态3.2 检查Docker版本3.3 检查docker compose 版本 四、下载Huntly镜像五、部署Huntly5.1 创建挂…

Qt自定义菜单

Qt开发过程中,弹出菜单时我们一般使用QMenu,但是QMenu都是一条项固定的格式,如查想要自己的设计界面就没法使用默认的Action项了,因此我们得用自定义的QMenu。 本篇介绍使用自定义的QMenu设计出UI。我们使用QWidget QWidgetAction来实现。Q…

此芯科技加入百度飞桨硬件生态共创计划,加速端侧AI生态布局

近日,此芯科技(上海)有限公司(以下简称“此芯科技”)与百度签署硬件生态共创计划合作协议,正式加入由百度发起的硬件生态共创计划。双方将共同推动端侧AI和大模型在个人计算、车载计算以及元宇宙计算等领域…

拒绝水文!八大排序(二)【适合初学者】冒泡排序和选择排序

文章目录 冒泡排序选择排序 大家好,我是纪宁。 这篇文章介绍八大排序中思路最简单,但效率也是最低的两种排序算法! 冒泡排序 冒泡排序,可以说是每个人在接触编程时最先学会的一种排序。 冒泡排序基本思想 冒泡排序(…

Rust 围炉札记

文章目录 一、安装二、文档 一、安装 rust 安装 卸载(自定义路径) Rust配置镜像源 Rust in Visual Studio Code Rust 官网 Rust 中文网 windows系统下Rust环境搭建以及vscode调试环境配置 二、文档 Rust 菜鸟教程 Rust 官方文档中文教程 Rust 包管理…

Docker从认识到实践再到底层原理(七)|Docker存储卷

前言 那么这里博主先安利一些干货满满的专栏了! 首先是博主的高质量博客的汇总,这个专栏里面的博客,都是博主最最用心写的一部分,干货满满,希望对大家有帮助。 高质量博客汇总 然后就是博主最近最花时间的一个专栏…