第 19 章 计算机网络体系结构

19.1 基本概念

19.1.1 计算机网络概述

1.计算机网络的定义、组成与功能
        计算机网络是一个将分散的、具有独立功能的计算机系统,通过通信设备与线路连接起来,由功能完善的软件实现资源共享和信息传递的系统。
        计算机网络的定义如图 19 - 1 所示。计算机系统不仅仅指的是计算机,还可以表示 ipad、手机等可联网的设备。这些计算机系统并不是孤立的,它们需要通过通信设备以及线路连接起来,例如我们需要使用路由器和网线来充当通信设备以及线路。最后还需要安装上软件。一台刚刚出厂的计算机,是没有办法和别人进行通信的,需要安装上浏览器、微信等软件才可以通信。

2.计算机网络的分类
        计算机网络可以根据不同的划分标准,分为不同的类别。
        按照覆盖范围的不同,计算机网络可以分为广域网、城域网和局域网。按照拓扑结构的不同,计算机网络可分为总线、星形、环形、网状等多种类型。按照交换技术的不同,计算机网络也可以分为电路交换网络、报文交换网络和分组交换网络。

3.计算机网络主要性能指标
        了解了计算机网络的定义之后,接下来就会带来一个问题:如何去评价一个计算机网络的质量好不好?
        在日常生活中,我们可能会用测网速的方式衡量计算机网络质量的优劣,实际上网速也是一个衡量标准,但也不能仅只有这一个标准。我们可以使用性能指标去对计算机网络进行描述和评价。下面介绍一些常见的性能指标。
(1)速率:计算机网络上主机在数字信道上传送数据的速率,也称为数据率(data rate)。它表示的是单位时间(秒)传输信息(比特)量,单位是 b/s 或(bps),kb/s,Mb/s,Gb/s。例如,当速率为 10 kb/s 时,代表一秒钟可以传输 10 000 比特的数据。
(2)带宽:带宽有两种定义 —— 频带宽度和网络带宽。

① 频带宽度:“带宽” 原本指某个信号具有的频带宽度,即最高频率与最低频率之差,单位是赫兹(Hz)(在奈氏定理和香农定理中会用到)。

② 网络带宽:表示在单位时间内从网络中的某一点到另一点所能通过的 “最高数据率”,单位为 b/s。当带宽表示这个意思时,和速率是一样的。
(3)吞吐量:表示在单位时间内通过某个网络(或信道、接口)的数据量,单位为 b/s,kb/s 和 Mb/s。吞吐量受网络的带宽或网络的额定速率的限制。这里注意区分吞吐量和带宽的区别。带宽指的是最高数据率,是一个理想情况下的速率;而吞吐量更经常地用于对现实世界中的网络的一种测量,以便知道实际上到底有多少数据量通过网络。
(4)时延:是指数据(一个报文或分组,甚至比特)从网络(或链路)的一端传送到另一端所需的时间,单位是 s。总时延 = 发送时延 + 传播时延 + 处理时延 + 排队时延。发送时延、传播时延、处理时延和排队时延如图 19 - 2 所示。

① 发送时延:主机或路由器发送数据帧所需要的时间,即从发送数据帧的第一个比特算起,到该帧的最后一个比特发送完毕所需的时间。

② 传播时延:电磁波在信道中传播一定的距离需要花费的时间。

③ 处理时延:主机或路由器在收到分组时要花费一定的时间进行处理。

④ 排队时延:分组在进入路由器后要先在输入队列中排队等待处理。排队时延的长短往往取决于网络当时的通信量。
(5)时延带宽积:把传播时延和带宽相乘,即时延带宽积 = 传播时延 × 带宽。单位为 b,kb,Mb。
(6)利用率:计算机网络中的利用率主要有信道利用率和网络利用率两种。

                信道利用率 = 有数据通过的时间 /(有数据通过的时间 + 没有数据通过的时间)

网络利用率:网络利用率是全网络的信道利用率的加权平均值。

19.1.2 计算机网络体系结构

1.计算机网络分层结构
        接下来我们思考,作为一名程序员,应如何去实现一个计算机网络?
        计算机网络包括的内容很多,当它是一个整体的时候我们无从下手,这时就需要将其化整为零,将一个庞大的计算机网络系统划分为多个小的模块,让不同的模块去实现不同的事情,再让各个模块相互交互。这就是计算机网络的分层思想。
分层有以下好处。

①.各层之间是独立的。

②.灵活性好。

③.结构上可分割开,各层都可以采用最合适的技术来实现。

④.易于实现和维护。

⑤.能促进标准化工作。

2.计算机网络协议、接口、服务等概念
为了描述一个分层,可以对协议、接口和服务这 3 个名词进行定义。协议、接口和服务如图 19 - 3 所示。

(1)协议:在计算机网络中要做到有条不紊地交换数据,就必须遵守一些事先约定好的规则。这些规则就是协议。协议主要由以下 3 个要素组成。

1.语法:数据与控制信息的结构或格式。

2.语义:需要发出何种控制信息、完成何种动作以及做出何种响应。

3.同步:事件实现顺序的详细说明。
(2)接口:在网络分层结构中,相邻两层之间存在一个接口,它是较低层次向较高层次提供服务的入口。
(3)服务:为保证上层对等体之间能相互通信,下层向上层提供的功能。
        记住一点:协议是 “水平的”,即协议是控制对等实体之间通信的规则。但服务是 “垂直的”,即服务是由下层向上层通过层间接口提供的。两个第 n 层的实体使用第 n 层的协议进行通信,并通过接口对第 n + 1 层的实体提供服务。

3.ISO/OSI 参考模型和 TCP/IP 参考模型
ISO/OSI 参考模型(见图 19 - 4)是一个法定标准,由国际标准化组织提出,可以支持异构网络系统的互联互通。

该模型分为 7 层。

1.应用层:ISO/OSI 参考模型中最靠近用户的一层,它直接提供文件传输、电子邮件、网页浏览等服务给用户。

2.表示层:处理两个应用实体之间进行数据交换的语法问题,解决数据交换中存在的数据格式不一致以及数据表示方法不同等问题。如加密解密、转换翻译、压缩以及解压缩等。

3.会话层:不同机器上的用户之间建立和管理会话。

4.传输层:向用户提供可靠的端到端的差错和流量控制,保证报文的正确传输。

5.网络层:为处在不同网络系统中的两个结点设备通信提供一条逻辑通路。其基本任务包括路由选择、拥塞控制与网络互联等功能。

6.数据链路层:负责在两个相邻结点之间,无差错地传送以 “帧” 为单位的数据。每一帧包括一定数量的数据和若干控制信息。

7.物理层:传输二进制位流,即透明的传输比特。

        如图 19 - 5 所示,TCP/IP 参考模型是一个事实模型,该模型分为 4 层,包含应用层、传输层、网际层和网络接口层(用网际层这个名字是强调这一层是为了解决不同网络的互连问题)。不过从实质上讲,TCP/IP 参考模型只有最上面的 3 层,因为最下面的网络接口层并没有什么具体内容。

1.应用层:等同于 ISO/OSI 参考模型的会话层 + 表示层 + 应用层。它是最靠近用户的一层,为用户提供各种服务。

2.传输层:负责应用进程之间的端 - 端通信,和 ISO/OSI 参考模型的传输层类似,只是 ISO/OSI 参考模型的传输层只支持面向连接的通信;而 TCP/IP 参考模型的传输层支持无连接和面向连接的通信。

3.网际层:等同于 ISO/OSI 参考模型的网络层的无连接网络服务(ISO/OSI 参考模型的网络层可以提供无连接的服务,也可以提供有连接的服务)。

4.网际接口层:等同于 ISO/OSI 参考模型的数据链路层 + 物理层。它负责通过网络发送和接收 IP 数据报。

        在学习计算机网络原理时,往往采取折中的办法,即综合 OSI 和 TCP/IP 参考模型的优点,采用一种只有 5 层协议的体系结构(上 3 层来自 TCP/IP 参考模型,下两层来自 ISO/OSI 参考模型),如图 19 - 6 所示。这样既简洁又能将概念阐述清楚。所以在后面的章节中,将按照物理层、数据链路层、物理层、运输层(传输层)和应用层的顺序进行讲解。

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

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

相关文章

KUKA机器人自动备份设置

在机器人的使用过程中,对机器人做备份不仅能方便查看机器人的项目配置与程序,还能防止机器人项目和程序丢失时进行及时的还原,因此对机器人做备份是很有必要的。 对于KUKA机器人来说,做备份可以通过U盘来操作。也可以在示教器上设…

【wpf】 WPF中实现动态加载图片浏览器(边滚动边加载)

WPF中实现动态加载图片浏览器(边滚动边加载) 在做图片浏览器程序时,遇到图片数量巨大的情况(如几百张、上千张),一次性加载所有图片会导致界面卡顿甚至程序崩溃。 本文介绍一种 WPF Prism 实现动态分页加…

Kubernetes》》k8s》》Taint 污点、Toleration容忍度

污点 》》 节点上 容忍度 》》 Pod上 在K8S中,如果Pod能容忍某个节点上的污点,那么Pod就可以调度到该节点。如果不能容忍,那就无法调度到该节点。 污点和容忍度的概念 》》污点等级——>node 》》容忍度 —>pod Equal——>一种是等…

SEO长尾关键词优化核心策略

内容概要 在搜索引擎优化领域,长尾关键词因其精准的流量捕获能力与较低的竞争强度,已成为提升网站自然流量的核心突破口。本文围绕长尾关键词优化的全链路逻辑,系统拆解从需求洞察到落地执行的五大策略模块,涵盖用户搜索意图解析…

AWS中国区ICP备案全攻略:流程、注意事项与最佳实践

导语 在中国大陆地区开展互联网业务时,所有通过域名提供服务的网站和应用必须完成ICP备案(互联网内容提供商备案)。对于选择使用AWS中国区(北京/宁夏区域)资源的用户,备案流程因云服务商的特殊运营模式而有所不同。本文将详细解析AWS中国区备案的核心规则、操作步骤及避坑…

计算机视觉——通过 OWL-ViT 实现开放词汇对象检测

介绍 传统的对象检测模型大多是封闭词汇类型,只能识别有限的固定类别。增加新的类别需要大量的注释数据。然而,现实世界中的物体类别几乎无穷无尽,这就需要能够检测未知类别的开放式词汇类型。对比学习(Contrastive Learning&…

大语言模型的“模型量化”详解 - 04:KTransformers MoE推理优化技术

基本介绍 随着大语言模型(LLM)的规模不断扩大,模型的推理效率和计算资源的需求也在迅速增加。DeepSeek-V2作为当前热门的LLM之一,通过创新的架构设计与优化策略,在资源受限环境下实现了高效推理。 本文将详细介绍Dee…

排序算法详解笔记

评价维度 运行效率就地性稳定性 自适应性:自适应排序能够利用输入数据已有的顺序信息来减少计算量,达到更优的时间效率。自适应排序算法的最佳时间复杂度通常优于平均时间复杂度。 是否基于比较:基于比较的排序依赖比较运算符(…

【“星瑞” O6 评测】 — llm CPU部署对比高通骁龙CPU

前言 随着大模型应用场景的不断拓展,arm cpu 凭借其独特优势在大模型推理领域的重要性日益凸显。它在性能、功耗、架构适配等多方面发挥关键作用,推动大模型在不同场景落地 1. CPU对比 星睿 O6 CPU 采用 Armv9 架构,集成了 Armv9 CPU 核心…

Ocelot的应用案例

搭建3个项目,分别是OcelotDemo、ServerApi1和ServerApi2这3个项目。访问都是通过OcelotDemo进行轮训转发。 代码案例链接:https://download.csdn.net/download/ly1h1/90715035 1.架构图 2.解决方案结构 3.步骤一,添加Nuget包 4.步骤二&…

DeepSeek+Dify之五工作流引用API案例

DeepSeekDify之四Agent引用知识库案例 文章目录 背景整体流程测试数据用到的节点开始HTTP请求LLM参数提取器代码执行结束 实现步骤1、新建工作流2、开始节点3、Http请求节点4、LLM节点(大模型检索)5、参数提取器节点(提取大模型检索后数据&am…

《从分遗产说起:JS 原型与继承详解》

“天天开心就好” 先来讲讲概念: 原型(Prototype) 什么是原型? 原型是 JavaScript 中实现对象间共享属性和方法的机制。每个 JavaScript 对象(除了 null)都有一个内部链接指向另一个对象,这…

立马耀:通过阿里云 Serverless Spark 和 Milvus 构建高效向量检索系统,驱动个性化推荐业务

作者:厦门立马耀网络科技有限公司大数据开发工程师 陈宏毅 背景介绍 行业 蝉选是蝉妈妈出品的达人选品服务平台。蝉选秉持“陪伴达人赚到钱”的品牌使命,致力于洞悉达人变现需求和痛点,提供达人选高佣、稳变现、速响应的选品服务。 业务特…

Android显示学习笔记本

根据博客 Android-View 绘制原理(01)-JAVA层分析_android view draw原理分析-CSDN博客 提出了我的疑问 Canvas RenderNode updateDisplayListDirty 这些东西的关系 您的理解在基本方向上是对的,但让我详细解释一下 Android 中 updateDisplayListDirty、指令集合、…

JavaWeb学习打卡-Day4-会话技术、JWT、Filter、Interceptor

会话技术 会话:用户打开浏览器,访问web服务器的资源,会话建立,直到有一方断开连接,会话结束。在一次会话中可以包含多次请求和响应。会话跟踪:一种维护浏览器状态的方法,服务器需要识别多次请求…

让数据优雅落地:用 serde::Deserialize 玩转结构体实体

前言 想象一下,服务器突然飞来一堆 JSON 数据,就像一群无头苍蝇冲进办公室,嗡嗡作响,横冲直撞。此刻,你的任务,就是把这群“迷路数据”安置进正确的格子里,分门别类,秩序井然,不混不乱,不漏一只。 好在 Rust 早就为我们备好瑞士军刀:serde::Deserialize。它不仅刀…

Virtio 技术解析 | 框架、设备实现与实践指南

本文为 “Virtio” 相关文章合辑。 略作重排,如有内容异常,请看原文。 Virtio 简介(一)—— 框架分析 posted 2021-04-21 10:14 Edver 1. 概述 在传统设备模拟中,虚拟机内部设备驱动完全不知自身处于虚拟化环境&a…

云计算赋能质检LIMS的价值 质检LIMS系统在云计算企业的创新应用

在云计算技术高速发展的背景下,实验室信息化管理正经历深刻变革。质检LIMS(实验室信息管理系统)作为实验室数字化转型的核心工具,通过与云计算深度融合,为企业提供了高弹性、高安全性的解决方案。本文将探讨质检LIMS在…

【win11 安装WSL2 详解一遍过!!】

共有五个步骤,按部就班的做,保准成功! 1. 打开开发者模式 设置->系统->开发者模式 2. 打开linux的win子系统 找到控制面板-程序和功能-启用或关闭Windows功能,选中“适用于Linux的Windows子系统”,“虚拟机…

Godot开发2D冒险游戏——第三节:游戏地图绘制

一、初步构建游戏地图 在游戏场景当中添加一个新的子节点:TileMapLayer 这一层称为瓦片地图层 根据提示,下一步显然是添加资源 为TileMapLayer节点添加一个TileSet 将地板添加进来,然后选择自动分割图集 自定义时要确保大小合适 让Godot自…