跳至主要內容

前置知识

red-velet原创计算机基础计算机网络约 5417 字大约 18 分钟

计网前置知识扫盲

计算机网络前言

计算机网络模型镇楼

图例-计算机网络模型
图例-计算机网络模型

一、名词解析

1、各种网络

图例-各种网络
图例-各种网络

(1)网络

什么是网络:

网络(Network)由若干结点(Node)和连接这些结点的链路(Link)组成

(2)互联网

多个网络还可以通过路由器互连起来,这样就构成了一个覆盖范围更大的网络,即互联网(互连网)

因此,互联网是网络的网络(Network of Networks)

(3)因特网

因特网(Internet)世界上最大的互连网络【小写i的internet是通用名词,互连的网络都叫internet】

2、ISP

ISP:

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

ISP的作用:

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

3、实体和协议

实体和对等实体:

  • 实体:任何可发送或接收信息的硬件或软件进程
  • 对等实体:收发双方相同层次中的实体
图例-实体和对等实体
图例-实体和对等实体

协议:控制两个对等实体进行逻辑通信的规则的集合

协议三要素:

  • 语法:定义所交换信息的格式
  • 语义:定义收发双方所要完成的操作
  • 同步:定义收发双发的时序关系
图例-协议
图例-协议

3、服务

详细图例:

详细图例-服务
详细图例-服务

服务

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

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

服务访问点

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

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

服务原语

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

协议数据单元

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

服务数据单元

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

二、数据交换方式

图例-三种交换方式
图例-三种交换方式

1、电路交换

电路交换怎么出现的?

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

电路交换三个步骤:

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

优点和缺点:

  • 优点
    1. 通信时延小:通信线路为通信双方专用的,数据直达
    2. 有序传输:通信双方只有一条专用通信线路,数据只在这一线路上传输,不存在失序问题
    3. 没有冲突,控制简单:不同的通信双方拥有不同的信道,不会出现争用物理通道的问题
    4. 适用范围广:适用于传输模拟信号,也适用于传输数字信号
    5. 实时性强:时延小所以实时性强
  • 缺点
    1. 建立连接时间长
    2. 线路独占,适用效率低
    3. 灵活性差:只要连接所建立的物理通路中的任何一点出现了故障,就必须重新拨号建立新的连接
    4. 难以规格化:不同类型、不同规格、不同速率的终端很难互相进行通信,也难以差错控制

2、分组交换

分组交换组成和流程:

  1. 发送方:①构建分组 ②发送分组
  2. 路由器:①缓存分组 ②转发分组
  3. 接收方:①接收分组 ②还原报文
图例-分组交换
图例-分组交换

优点和缺点:

  • 优点
    1. 无需建立连接
      线路利用率高
      简化存储管理:因为分组大小固定,管理起来就容易一些
      加速传输:因为分组是逐个传输,这样前一个交换机的转发操作与后一个交换机的存储操作可同时进行
      减少出错率和重复数据量:分组比报文小,因此出错概率也会比较小,即使出错也只需要重传出错的这一小部分即可
  • 缺点:
    1. 引起了转发时延
    2. 需要传输额外信息量(分组头部信息)
    3. 当分组交换采用数据报服务时,可能会出现失序、丢失、重复分组。分组到达目的结点时,需要重新还原成原始报文,比较麻烦。
    4. 若分组交换采用虚电路服务,虽然没有分组失序问题,但有呼叫建立,数据传输和虚电路释放三个过程

3、报文交换

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

优点和缺点:

  • 优点
    1. 无需建立连接
    2. 动态分配线路
    3. 提高线路可靠性:如果某条线路出现故障,会重新选择另一条线路
    4. 提高线路利用率:通信双方在不同的时间分段占用物理线路
    5. 提供多目标服务:一个报文可以同时发送给多个目的地址
  • 缺点
    1. 引起转发时延:报文在节点交换机上要经历存储转发的过程
    2. 需要较大的存储转发空间:因为报文大小没有限制
    3. 需要传输额外信息量:有头部等信息

三、计算机网络

1、定义

计算机网络的最简单的定义是:一些互相连接的、自治的计算机的集合。

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

白话 - 计算机网络的较好的定义是:

计算机网络主要是由一些通用的,可编程的硬件(一定包含有中央处理机CPU)互连而成的,而这些硬件并非专门用来实现某一特定目的(例如,传送数据或视频信号)。这些可编程的硬件能够用来传送多种不同类型的数据,并能支持广泛的和日益增长的应用

  • 计算机网络所连接的硬件,并不限于一般的计算机,而是包括了智能手机等智能硬件。
  • 计算机网络并非专门用来传送数据,而是能够支持很多种的应用(包括今后可能出现的各种应用)

自己的定义:

  • 计算机网络是指通过通信设备和通信线路,将分布在不同地理位置的计算机、外围设备及用户连接起来,以实现数据和信息的共享、传输和处理的一种技术体系。
  • 计算机网络是由多个计算机、服务器、网络设备和通信协议组成的互联网,它们通过网络传输协议来实现数据交换和通信。

2、分类

计算机网络的分类

按交换技术分类
  • 电路交换网络
  • 报文交换网络
  • 分组交换网络

3、性能指标

(1)速率

比特:

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

#常用数据量单位
8 bit = 1 Byte
1KB = 1024Byte = 2^10Byte
1MB = 2048Byte = 2^20Byte
1GB = 4096Byte = 2^30Byte
1TB = 8192Byte = 2^40Byte

速率:

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

#常用数据率单位
bit/s (b/s,bps)
1kb/s = 10^3 b/s
1Mb/s = 10^6 b/s
1Gb/s = 10^9 b/s
1Tb/s = 10^12 b/s

例题:

例:有一个待发送的数据块,大小为100MB,网卡的发送速率为100MbPs,则网卡发送完该数据块需要多长时间?
t=100Mbps/100MB
 = 100 * 2^20 * 8 bit / (100*10^6 bit/s)
 = 2^20 * 8 bit  / 10^6 bit/s 
 = 8.388608s

(2)带宽

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

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

  • 信号所包含的各种不同频率成分所占据的频率范围;
  • 单位:Hz (kHz,MHz,GHz)

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

  • 用来表示网络的通信线路所能传送数据的能力
  • 网络带宽表示在单位时间内从网络中的某一点到另一点所能通过的 "最高数据率";
  • 单位:b/s (kb/s,Mb/s,Gb/s,Tb/s)

(3)吞吐量

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

带宽1 Gb/s的以太网,代表其额定速率是1 Gb/s,这个数值也是该以太网的吞吐量的绝对上限值。因此,对于带宽1 Gb/s的以太网,可能实际吞吐量只有 700 Mb/s,甚至更低。

注意:吞吐量还可以用每秒传送的字节数或帧数表示。

(4)时延

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

网络时延由几部分组成:

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

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

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

  • 排队时延:分组在进过网络传输时,要经过许多路由器。但分组在进入路由器后要先在输入队列中排队等待处理,有时会把排队时延看成处理时延一部分

总时延 = 发送时延 + 传播时延 + 处理时延 (处理时延 + 排队时延)

图例-时延
图例-时延

(5)时延带宽积

时延带宽积 = 传播时延 X 带宽
图例-时延带宽积
图例-时延带宽积
  • 若发送端连续发送数据,则在所发送的第一个比特即将到达终点时,发送端就已经发送了时延带宽积个比特;
  • 链路的时延带宽积又称为以北比特为单位的链路长度。

(6)往返时间

互联网上的信息不仅仅单方向传输而是双向交互的。因此,我们有时很需要知道双向交互一次所需的时间(RTT)

图例-往返时间
图例-往返时间

(7)利用率

图例-利用率
图例-利用率

(8)丢包率

图例-丢包率
图例-丢包率

4、体系结构

体系结构如下:

  • OSI 参考模型:由国际标准化组织(ISO)制定,共分为七层,包括物理层、数据链路层、网络层、传输层、会话层、表示层和应用层。
  • TCP/IP 参考模型:由美国国防部高级研究计划局(ARPA)制定,共分为四层,包括网络接口层、网络层、传输层和应用层。
图例-体系结构
图例-体系结构

分层的必要性和各层需要解决的问题:

计算机网络采用分层结构的设计方式,主要是为了将复杂的网络系统分解成若干个相对独立、易于理解和设计的模块,从而简化设计和管理。每一层负责不同的功能和任务,通过接口的方式与上下层进行交互和通信,从而实现了网络协议的标准化和互操作性。

:::details下面是各层需要解决的问题:

  1. 物理层:负责传输比特流,主要解决物理传输介质、传输速率、传输距离、接口类型等问题。
  2. 数据链路层:负责将比特流组装成帧进行传输,主要解决帧的定界、差错检测、如何协调各主机争用总线(流量控制、访问控制)等问题:
    1. 如何标识网络中的各主机(主机编址问题,例如MAC地址)
    2. 如何从信号所表示的一连串比特流中区分出地址和数据
  3. 网络层:负责实现不同网络之间的数据传输,主要解决数据路由(如何进行路由选择问题)、网络地址分配(网络和主机共同编址的问题,例如IP地址)
  4. 运输层:负责端到端的数据传输,主要解决进程之间基于网络的通信问题,出现传输错误时,如何处理。
  5. 应用层:负责为应用程序提供数据传输服务,主要解决应用程序与网络之间的交互问题。

:::

每一层对应的任务
每一层对应的任务

分层举例

解析:

主机和Web服务器之间基于网络的通信,实际上是主机中的浏览器应用进程与Web服务器中的Web服务器应用进程之间基于网络的通信

example1
example1

体系结构的各层在整个过程中起到怎样的作用?

1、发送方发送

发送方发送
发送方发送

第一步:

  • 应用层按照HTTP协议的规定构建一个HTTP请求报文
  • 应用层将HTTP请求报文交付给运输层处理
第一步
第一步

第二步:

  • 运输层HTTP请求报文添加一个TCP首部,使之成为TCP报文段
  • TCP报文段的首部格式作用是区分应用进程以及实现可靠传输
  • 运输层将TCP报文段交付给网络层处理
第二步
第二步

第三步:

  • 网络层TCP报文段添加一个IP首部,使之成为IP数据报
  • IP数据报的首部格式作用是使IP数据报可以在互联网传输,也就是被路由器转发
  • 网络层IP数据报交付给数据链路层处理
第三步
第三步

第四步:

  • 数据链路层IP数据报添加一个首部和一个尾部,使之成为 (图示右边为首部,左边为尾部)
  • 首部的作用主要是为了让能够在一段链路上或一个网络上传输,能够被相应的目的主机接收
  • 尾部的作用是让目的主机检查所接收到的是否有误码
  • 数据链路层交付给物理层
第四步
第四步

第五步:

  • 物理层先将看做是比特流,这里的网络N1假设是以太网,所以物理层还会给该比特流前面添加前导码
  • 前导码的作用是为了让目的主机做好接收帧的准备
  • 物理层将装有前导码比特流变换成相应的信号发送给传输媒体
第五步
第五步

第六步:信号通过传输媒体到达路由器

2、路由器转发

存储-在路由器中

  • 物理层信号变为比特流,然后去掉前导码后,将其交付给数据链路层
  • 数据链路层首部尾部去掉后,将其交付给网络层,这实际交付的是IP数据报
  • 网络层解析IP数据报首部,从中提取目的网络地址
第六步
第六步

转发-在路由器中

  • 提取目的网络地址后查找自身路由表。确定转发端口, 以便进行转发
  • 网络层IP数据报交付给数据链路层
  • 数据链路层IP数据报添加一个首部和一个尾部,使之成为
  • 数据链路层将帧交付给物理层
  • 物理层先将看成比特流,这里的网络N2假设是以太网,所以物理层还会给该比特流前面添加前导码
  • 物理层将装有前导码比特流变换成相应的信号发送给传输媒体,信号通过传输媒体到达Web服务器
转发-在路由器中
转发-在路由器中

3、接收方接收

和发送方(主机)发送过程的封装正好是反着来

在Web 服务器上

  • 物理层信号变换为比特流,然后去掉前导码后成为,交付给数据链路层
  • 数据链路层首部尾部去掉后成为IP数据报,将其交付给网络层
  • 网络层IP数据报首部去掉后成为TCP报文段,将其交付给运输层
  • 运输层TCP报文段首部去掉后成为HTTP请求报文,将其交付给应用层
  • 应用层HTTP请求报文进行解析,然后给主机发回响应报文

发回响应报文的步骤和之前过程类似

接收方接收
接收方接收