当前位置: 首页 > java >正文

计算机考研精炼 计网

第 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.xdnf.cn/news/2592.html

相关文章:

  • 网络安全实战指南:从安全巡检到权限维持的应急响应与木马查杀全(命令查收表)
  • 基于YOLO的瓷砖缺陷检测系统设计与实现(附数据集+源码)
  • HarmonyOS NEXT 诗词元服务项目开发上架全流程实战(一、项目介绍及实现效果展示)
  • 使用TortoiseGit进行文件比较
  • 【3分钟准备前端面试】Hybrid开发 谷歌浏览器调试安卓app
  • 【优选算法-二分查找】二分查找算法解析:如何通过二段性优化搜索效率
  • 终端下PgSQL与MySQL常用命令
  • Sql刷题日志(day6)
  • 从视频中学习:从Humanoid-X、UH-1的自动打字幕,到首个人形VLA Humanoid-VLA(自监督数据增强且整合第一人称视角)
  • Vue响应式数据详解
  • 微调灾情分析报告生成模型
  • Golang 学习指南
  • 2025 FIC wp
  • 每日定投40刀BTC(15)20250420 - 20250427
  • 基于esp32实现键值对存储读写c程序例程
  • 码蹄集——输入、输出格式题
  • AI核心技术与应用场景的深度解析
  • 【Java二分查找】
  • 脏读、幻读、可重复读
  • 如何查看 MySQL 的 innodb_lock_wait_timeout 值
  • Java EE 计算机的操作系统
  • 【Java面试笔记:进阶】24.有哪些方法可以在运行时动态生成一个Java类?
  • JAVA:红黑树应用的技术指南
  • DDR的那些事,lesson1
  • Redis一些小记录
  • Java——琐碎知识点一
  • Suna开源框架分析
  • C++:迭代器失效问题
  • 手搓传染病模型(SEIA-拓展)
  • Segment Anything in Images and Videos