精炼计算机网络——序章(二)

news/2025/2/10 14:01:05/

文章目录

  • 前言
  • 1.4 计算机网络在我国的发展
  • 1.5 计算机网络的类别
    • 1.5.1计算机网络的定义
    • 1.5.2 几种不同类别的计算机网络
  • 1.6 计算机网络的性能
    • 1.6.1 计算机网络的性能指标
    • 1.6.2 计算机网络的非性能特征
  • 1.7 计算机网络体系结构
    • 1.7.1 计算机网络体系结构的形成
    • 1.7.2 协议与划分层次
    • 1.7.3 具有五层协议的体系结构
    • 1.7.4 实体、协议、服务和服务访问点
    • 1.7.5 TCP/IP的体系结构
  • 总结


前言

上一篇文章简单介绍了计算机网络的一些基本概念性名词,读者需要重点掌握电路交换,报文交换,分组交换的内涵与区别。

1.4 计算机网络在我国的发展

该部分为了解内容,有兴趣的可自行了解,不必深入掌握,故不在文章中列出来。

1.5 计算机网络的类别

1.5.1计算机网络的定义

一种较好的定义:计算机网络主要是由一些通用的、可编程的硬件互连而成的,而这些硬件并非专门用来实现某一特定目的。这些可编程的硬件能够用来传送多种不同类型的数据,并能支持广泛的和日益增加的应用。
(1) 计算机网络所连接的硬件,并不限于一般的计算机,而是包括了智能手机或智能电视机。
(2) 计算机网络并非专门用来传送数据,而是能够支持很多种应用。

1.5.2 几种不同类别的计算机网络

1、按照网络的作用范围进行分类。
(1) 广域网WAN (2) 城域网MAN (3) 局域网LAN (4) 个人区域网PAN。
若中央处理机之间的距离非常近,则一般就称之为多处理机系统而不称它为计算机网络。

2、 按照网络的使用者进行分类
(1) 公用网 (2) 专用网

3、用来把用户接入到互联网的网络
这种网络就是接入网AN,它又称为本地接入网或居民接入网。这是一类比较特殊的计算机网络。
接入网实际上就是本地ISP所拥有的网络,它既不是互联网的核心部分,也不是互联网的边缘部分。接入网由某个端系统连接到本地ISP的第一个路由器(也称为边缘路由器)之间的一些物理链路所组成。

1.6 计算机网络的性能

1.6.1 计算机网络的性能指标

1、速率
比特意思是一个"二进制数字”。一个比特就是二进制数字中的一个1或者一个0。比特也是信息论中使用的信息量的单位。网络技术中的速率指的是数据的传送速率,它也称为数据率或比特率。

速率的单位是bit/s。 当速率较高时,就在bit/s的前面加上一个字母,例如K = 103 = 千, M = 106 = 兆, G = 109 = 吉。 T = 1012 = 太。

当提到网络的速率时,往往指的是额定速率或者标称速率,而并非网络实际上运行的速率。

2、带宽
(1) 带宽本来是指某个信号具有的频带宽度。型号的带宽是指该信号所包含的各种不同频率成分所占据的频率范围,这种意义的带宽的单位是

在过去很长的一段时间,通信的主干线路传送的是模拟信号。因此,表示某信道允许通过的信号频带范围就称为该信道的带宽(或通频带)

(2) 在计算机网络中,带宽用来表示网络中某通道传送数据的能力,因此网络带宽表示在单位时间内网络的某信道所能通过的“最高数据率”,这种意义的带宽的单位就是数据率的单位bit/s。

前者为频域称谓,而后者为时域称谓,其本质是相同的。一条通信链路的“带宽”越宽,其所能传输的“最高数据率”也越高。

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

4、时延
时延是指数据(一个报文或分组,甚至比特)从网络(或链路)的一端传送到另一端所需的时间。时延有时也称为延迟迟延

网络中的时延是由一下几个不同的部分组成的:
(1) 发送时延 发送时延是主机或路由器发送数据帧所需要的时间,也就是从发送数据帧的第一个比特算起,到该帧的最后一个比特发送完毕所需的时间,因此发送时延也叫作传输时延。

发送时延 = 数据帧长度 (bit) / 发送速率 (bit/s)

(2) 传播时延 传播时延是电磁波在信道中传播一定的距离需要花费的时间。
传播时延 = 信道长度(m)/电磁波在信道上的传播速率(m/s)

发送时延发生在机器内部的发送器中,与传输信道的长度(或信号传送的距离)没有任何关系
传送时延则发生在机器外部的传输信道媒体上,而与信号的发送速率无关。信号传送的距离越远,传播时延就越大。

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

(4) 排队时延:分组在经过网络传输时,要经过许多路由器。但分组在进入路由器后要现在输入队列中排队等待处理。
排队时延的长短往往取决于网络当时的通信量

总时延 = 发送时延 + 传输时延 + 处理时延 + 排队时延

对于高速网络链路,我们提高的仅仅是数据的发送速率而不是比特在链路上的传播速率。荷载信息的电磁波在通信线路上的传播速率取决于通信线路的介质材料,而与数据的发送速率并无关系。提高数据的发送速率只是减小了数据的发送时延。

5、时延带宽积
将传播时延和带宽相乘,就得到传播时延带宽积。
时延带宽积 = 传播时延 * 带宽
时延带宽积表示链路可容纳多少个比特。

链路的时延带宽积又称为以比特为单位的长度。

6、往返时间RTT
发送时间 = 数据长度/发送速率
有效数据率 = 数据长度/(发送时间 + RTT)

7、利用率
利用率有信道利用率和网络利用率两种。信道利用率指出某信道有百分之几的时间是被利用的(有数据通过)。
网络利用率则是全网络的信道利用率的加权平均值。
信道利用率并非越高越好,当某信道的利用率增大时,该信道引起的时延也就迅速增加。

当网络的通信量很少时,网络产生的时延并不大。但在网络通信量不断更大的情况下,由于分组在网络节点(路由器或节点交换机)进行处理时需要排队等候,因此网络引起的时延就会增大。
D0:网络空闲时的时延
D:网络当前的时延
设现在的网络利用率为U
D = D0 / (1 - U)
信道利用率或网络利用率过高就会产生非常大的时延。

1.6.2 计算机网络的非性能特征

(1) 费用
(2) 质量
(3) 标准化
(4) 可靠性
(5) 可扩展性和升级性
(6) 易于管理和维护

1.7 计算机网络体系结构

1.7.1 计算机网络体系结构的形成

相互通信的两个计算机系统必须高度协调工作才行,而这种“协调”是相当复杂的。
最初的ARPARNET设计时提出了分层的方法。“分层”可将庞大而复杂的问题转化为若干较小的局部问题,而这些较小的局部问题就比较易于研究和处理。

国际标准化组织ISO于1977年成立了专门机构研究该问题。他们提出一个试图使各种计算机在世界范围内互连成网的标准框架,即开放系统互连基本参考模型

1.7.2 协议与划分层次

为进行网络中的数值交换而建立的规则、标准或约定称为网络协议,网络协议也简称为协议
网络协议主要由一下三个要素组成
(1) 语法,即数据与控制信息的结构或格式
(2) 语义,即需要发出何种控制信息,完成何种动作以及做出何种反应。
(3) 同步,即事件实现顺序的详细说明。

分层能带来很多好处
(1) 各层之间是独立的
(2) 灵活性好
(3) 结构上可分割开
(4) 易于实现和维护
(5) 能促进标准化工作

计算机网络的各层及其协议的集合就是网络的体系结构。换言之,计算机网络的体系结构就是这个计算机网络及其构件所应完成的功能的精确定义。

体系结构是抽象的,而实现规则则是具体的,是真正在运行的计算机硬件和软件。

1.7.3 具有五层协议的体系结构

三种不同的体系结构

(该部分是未来学习的重点,下面所描述的读者现在只需稍微了解,留有印象即可)

(1) 应用层
应用层的任务是通过应用进程间的交互来完成特定网络应用。应用层协议定义的是应用进程间通信和交互的规则。这里的进程就是指主机中正在运行的程序。对于不同的网络应用需要不同的应用层协议。

(2) 运输层
运输层的主要任务就是负责两台主机中进程之间的通信,提供通用的数据传输服务。应用进程利用该服务传送应用层报文。

由于一台主机可同时运行多个进程,因此运输层有复用和分用的功能。复用就是多个应用层进程可同时使用下面运输层的服务,分用和复用相反,是运输层把收到的信息分别支付上面应用层中的相应进程。

运输层主要使用以下两种协议:
<1> 传输控制协议TCP——提供面向连接的、可靠的数据传输服务,其数据传输的单位是报文段
<2> 用户数据报协议UDP——提供无连接的尽最大努力的数据传输服务(不保证数据传输的可靠性),其数据传输的单位是用户数据报

(3) 网络层
网络层负责为分组交换网上的不同主机提供通信服务。在发送数据时,网络层把运输层产生的报文段或用户数据报封装成分组或包进行传送。在TCP/IP体系中,由于网络层使用IP协议,因此分组也叫做IP数据报,或简称为数据报

无论在哪一层传送的数据单元,都可笼统地用“分组”来表示。

网络层的具体任务有两个。第一个任务是通过一定的算法,在互联网上的每一个路由器上生成一个用来转发分组的转发表。第二个任务较为简单,就是每一个路由器在接收到一个分组时,依据转发表中指明的路径把分组转发到下一个路由器。这样就可以使源主机运输层所传下来的分组,能够通过合适的路由最终到达目的主机。

互联网是由大量的异构网络通过路由器相互连接起来的,互联网使用的网络层协议是无连接的网际协议IP和许多路由选择协议,因此互联网的网络层也叫做网际层IP层

(4) 数据链路层
数据链路层常简称为链路层,在两个相邻节之间传送数据时,数据链路层将网际层交下来的IP数据报组装成帧,在两个相邻节点节点间的链路上传送帧。每一帧包括数据必要的控制信息(如同步信息,地址信息,差错控制等)。

在接收数据时,控制信息使接收端能够知道一个帧从哪个比特开始和到哪个比特结束。这样数据链路层在收到一个帧后,就可从中提取出数据部分,上交给网络层。

控制信息还使接收端能够检测到所收到的帧中有无差错。如果发现差错,数据链路层就简单地丢弃这个出错的帧,以免继续在网络中传送下去,白白浪费网络资源。如果需要改正数据在数据链路层传输时出现的差错,那么就要采用可靠传输协议来纠正出现的差错。

(5) 物理层
在物理层上所传输数据报的单位是比特。因此物理层要考虑用多大的电压代表“1”或“0”,以及接收方如何识别出发送方所发送的比特。物理层还要确定连接电缆的插头应当有多少根引脚以及各引脚应如何连接。

在互联网所使用的各种协议中,最重要的和最著名的就是TCP和IP两个协议。现在提到的TCP/IP往往是TCP/IP协议簇

各层协议实际上就是在各个对等层之间传递数据时的各项规定。

在文献中也还可以看到属于**“协议栈”**。这是因为几个层次画在一起很像一个栈的结构。

1.7.4 实体、协议、服务和服务访问点

当研究开放系统中的信息交换时,往往使用实体这一较为抽象的名词表示任何可发送或接收信息的硬件或软件进程。

协议时控制两个对等实体(或多个实体)进行通信的规则的集合。协议的语法方面的规定定义了所交换的信息的格式,而协议的语义方面的规则就定义了发送者或接收者所要完成的操作。

在协议的控制下,两个对等实体间的通信使得本层能够向上一层提供服务。要实现本层协议,还需要使用下面一层所提供的服务。

首先,协议的实现保证了能够向上一层提供服务。使用本层服务的实体只能看见服务而无法看见下面的协议。也就是说,下面的协议对上面的实体是透明的。

其次,协议是“水平”的,即协议是控制对等实体之间通信的规则。但服务是**“垂直”**的,即服务是由下层向上层通过层间接口提供的。另外,并非在一个层内完成的全部功能都称为服务。只有那些能被高一层实体“看得见“的功能才能称之为”服务“。上层使用下层所提供的服务必须通过与下层交换一些命令,这些命令在OS中称为服务原语。

在同一系统中相邻两层的实体进行交互(即交换信息)的地方,通常称为服务访问点SAP,SAP实际上就是一个逻辑接口。OSI把层与层之间交换的数据的单位称为服务数据单元SDU,它可以与PDU不一样。

计算机网络的协议还有一个很重要的特点,就是协议必须把所有不利的条件事先都估计到,而不能假定一切都是正常的和非常理想的。

因此看一个计算机网络协议是否正确,不能只看在正常情况下是否正确,还必须非常仔细地检查协议是否能应付任何一种出现概率极小的异常情况。

1.7.5 TCP/IP的体系结构

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

总结

在本篇文章中,读者应须理解计算机网络的性能指标,速率、带宽、吞吐量,时延、时延带宽积、往返时间RTT、利用率。此外还需初步理解计算机网络体系结构,简单了解物理层,数据链路层,网络层,传输层,应用层。当读者读完序章的内容后,我们将重点对这五层进入深入的学习与探讨。


http://www.ppmy.cn/news/58580.html

相关文章

复合查询--- MySQL总结(三)

复合查询 文章目录 复合查询多表查询自连接子查询单行查询多行查询多列子查询合并查询 多表查询 前面讲述的关于进行一个表的简单查询和关于时间函数的相关问题&#xff0c;下面要进行复合查询的相关内容。 这里要使用卡笛尔集的概率让两个表融合成为一个表。 需要使用相应的字…

PHP检查目录是否存在?file_exists与is_file、is_dir的区别,以及执行效率的比较

一、is_file()函数&#xff08;推荐学习&#xff1a;PHP视频教程&#xff09; is_file — 判断给定文件名是否为一个正常的文件 使用方法 bool is_file ( string $filename ) // 注意事项 codeit.org.cn // 因为 PHP 的整数类型是有符号整型而且很多平台使用 32 位整型&#…

“五一”假期消防安全知识要牢记之消防安全知识答题活动

“五一”期间&#xff0c;容易出现哪些安全隐患&#xff0c;生产生活中要注意哪些安全事项&#xff0c;一起来看&#xff01; 森林防火&#xff1a; 1.禁止将火柴、汽油等易燃物带入山林&#xff0c;禁止乱扔火种。 2.景区管理单位要加强防火巡逻&#xff0c;禁止野外火源&am…

用 HTML 语言打造一个超酷的 ChatGPT —— 唤醒你的聊天机器人

概述 聊天机器人相信大家都不会陌生。一方面,聊天机器人让我们的生活更加便利,可以帮我们随时解答问题;另一方面,聊天机器人也是学习编程的一大利器,可以让我们在自己的项目中使用。今天,我们来学习一下如何用 HTML 语言打造一个超酷的 ChatGPT。 首先,让我们明确一下…

武忠祥老师每日一题||定积分基础训练(二)

仍是上一节中提到的基本思想 武忠祥老师每日一题||定积分基础训练&#xff08;一&#xff09; 在这个题中&#xff0c;M和N可以利用奇偶性判断。 如下&#xff1a; 从上可知&#xff0c; M ∫ − π 2 π 2 1 d x M\int_{-\frac{\pi}{2}}^{\frac{\pi}{2}}1\,{\rm d}x M∫−…

Redis常用命令

目录 一. 字符串string常用操作命令 二. 哈希hash常用操作命令 三. 列表list常用操作命令 四. 集合set常用操作命令 五. 有序集合sorted set常用操作命令 六. 通用命令 一. 字符串string常用操作命令 SET key value 设置指定key的值GET key 获取指定key的值 SETEX key…

IntelliJ IDEA 社区版2021.3配置SpringBoot项目详细教程及错误解决方法

目录 一、SpringBoot的定义 二、Spring Boot 优点 三、创建一个springboot的项目 四、使用IDEA创建SpringBoot失败案例 一、SpringBoot的定义 Spring 的诞⽣是为了简化 Java 程序的开发的&#xff0c;⽽ Spring Boot 的诞⽣是为了简化 Spring 程序开发的。 Spring Boot 翻…

JavaScrpit—数据类型转换

目录 1、起 源 理 念 2、特 点 框 架 AngularJS框架 WebSocket协议 3、书 写 位 置 注 释 浏览器调试js代码 4、变量作用 全局变量 局部变量 常量 5、数据类型 数 组 严格检查数据类型 字符串 6、类型转换 字符串转数字 转bool值 能力判断 7、编码方式 …