计算机网络杂记-01

三种交换方式

  1. 电路交换
  2. 报文交换
  3. 分组交换

电路交换

电路交换是在通信双方通信之前,先建立一条物理通路,然后通信双方就可以通过这条物理通路进行通信。通信结束后,再释放这条物理通路。

电路交换的优点是通信质量高,缺点是通信双方独占物理通路,通信效率低。

报文交换

报文交换是在通信双方通信之前,先建立一条逻辑通路,然后通信双方就可以通过这条逻辑通路进行通信。通信结束后,再释放这条逻辑通路。

报文交换的优点是通信效率高,缺点是通信质量低。

分组交换

分组交换是在通信双方通信之前,先建立一条逻辑通路,然后通信双方就可以通过这条逻辑通路进行通信。通信结束后,再释放这条逻辑通路。

分组交换的优点是通信效率高,缺点是通信质量低。

电路交换与报文交换的区别

电路交换与报文交换的区别在于,电路交换是在通信双方通信之前,先建立一条物理通路,然后通信双方就可以通过这条物理通路进行通信。通信结束后,再释放这条物理通路。而报文交换是在通信双方通信之前,先建立一条逻辑通路,然后通信双方就可以通过这条逻辑通路进行通信。通信结束后,再释放这条逻辑通路。

计算机网络的定义

首先,计算机网络的定义并未统一。计算机网络的最简单的定义是:计算机网络是互连的、自治的计算机集合。这个定义的缺点是:计算机网络的定义过于简单,没有体现计算机网络的特点。

  • 互联:计算机网络是由若干计算机互联而成的。

  • 自治:计算机网络中的每台计算机都是自治的,即每台计算机都有自己的操作系统、软件、硬件等。

  • 集合:计算机网络中的每台计算机都是相互联系的,没有一台计算机是孤立的。

还有一种较好的定义是:计算机网络主要是由一些通用的、可编程的硬件互连而成的,而这些硬件并非专门为某个特定的目的而设计的。这些可编程的硬件能够用来传送多种不同类型的数据,并且能够支持广泛的和不断变化的应用

计算机网络的分类

按交换技术分类:

  • 电路交换

  • 报文交换

  • 分组交换

按使用者分类:

  • 公用网

  • 专用网

按传输介质分类:

  • 有线网络

  • 无线网络

按网络的作用范围分类:

  • 广域网 WAN

  • 城域网 MAN

  • 局域网 LAN

  • 个域网 PAN

按拓扑结构分类:

  • 总线型

  • 星型

  • 环型

  • 网状型

计算机网络性能指标

指标含义
速率传输数据的速率
带宽传输数据的最高速率
吞吐量单位时间内通过某个网络的数据量
时延数据从网络的一端传送到另一端所需的时间
时延带宽积传输数据的长度与带宽的乘积
往返时间 RTT从发送方发送数据开始,到发送方收到来自接收方的确认总共经历的时间
利用率信道有百分之多少时间是被利用的
误码率传输错误的比特数与传输总比特数的比值
丢包率传输丢失的数据包的比率

有关比特的相关知识

8 bit = 1 Byte
KB = 2^10 Byte
MB = KKB = 2^20 Byte
GB = K
MB = 2^30 Byte
TB = KGB = 2^40 Byte
PB = K
TB = 2^50 Byte

有关速率的相关知识

bit/s = bps
kb/s = Kbps = 10^3 bps
Mb/s = Mbps = 10^6 bps
Gb/s = Gbps = 10^9 bps
Tb/s = Tbps = 10^12 bps

注意,bB 的区别,b 表示比特,B 表示字节。

有关带宽的相关知识

在模拟信号中,带宽是指信号的频带宽度,即信号的最高频率与最低频率之差。在数字信号中,带宽是指数字信号的速率,即单位时间内传送的比特数。(一般单位是Hz)

在计算机网络中,带宽是指网络中某一信道所能传送的最高数据率。带宽的单位是 bps。

上面的两种说法其实也存在密切联系。一条通信线路的带宽越大,它所能传送的信号频带宽度就越大,从而它所能传送的数字信号的速率也就越大。

有关吞吐量的相关知识

吞吐量常用于对网络的性能进行描述,它是指单位时间内通过某个网络的数据量。吞吐量的单位是 bps。

吞吐量受到网络带宽的限制,但是吞吐量与带宽并不相等。吞吐量是指单位时间内通过某个网络的数据量,而带宽是指网络中某一信道所能传送的最高数据率。

有关时延的相关知识

时延是指数据从网络的一端传送到另一端所需的时间。时延的单位是 s。

时延可以分为以下几种:

  • 发送时延:指从分组的第一个比特开始进入链路的传输所需的时间。

  • 传播时延:指从分组的第一个比特开始进入链路到该比特全部到达接收端所需的时间。

  • 处理时延:指分组在路由器或者主机中进行处理所需的时间。

  • 排队时延:指分组在经过路由器进行排队等待处理所需的时间。

其中,发送时延、传播时延和处理时延是固定的,而排队时延是不固定的。

比如,数据块长度为 100 MB,信道宽度为 1 Mb/s,传送距离为 1000 km,计算出发送时延和传播时延。

发送时延:100 2^20 b / 10^6 bps = 838.86 s
传播时延:1000
10^3 m / 2 * 10^8 m/s = 5 s

另一个例子,数据快长度为 1 B,信道宽度为 1 Mb/s,传送距离为 1000 km,计算出发送时延和传播时延。

发送时延:1 8 b / 10^6 bps = 8 10^-6 s
传播时延:1000 10^3 m / 2 10^8 m/s = 0.005 s

所以,可以得出:发送时延 = 分组长度(bit)/ 信道带宽(bps);传播时延 = 传输距离(m)/ 传播速率(m/s)。

有关时延带宽积的相关知识

时延带宽积是指传输数据的长度与带宽的乘积。时延带宽积的单位是 b。

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

有关往返时间RTT的相关知识

RTT 是 Round Trip Time 的缩写,
RTT 是指从发送方发送数据开始,到发送方收到来自接收方的确认总共经历的时间。RTT 的单位是 s。

在卫星链路中,RTT 通常是几百毫秒,而在光纤链路中,RTT 通常是几十毫秒。

有关利用率的相关知识

利用率是指信道有百分之多少时间是被利用的。利用率的单位是 %。

利用率分为两种:

  • 信道利用率:指信道有百分之多少时间是被利用的。

  • 网络利用率:指网络有百分之多少时间是被利用的。

某信道的利用率增大,意味着该信道的吞吐量增大,该信道引起的时延也就增大。所以,信道利用率并非越大越好。

用 D0 表示网络空闲时的时延,D 表示网络当前的时延,利用率 U 的计算公式为:

D = D0 / (1 - U)
U = D0 / (D0 + D)

所以,当网络利用率 U 为 50% 时,D = 2 D0。之后,当网络利用率 U 为 90% 时,D = 10 D0。所以不能让网络利用率过高。应该让网络利用率在合理的范围内。

有关丢包率的相关知识

丢包率是指传输丢失的数据包的比率。丢包率的单位是 %。

分组交换网络中,分组在传输过程中可能会丢失。丢包率是指传输丢失的数据包的比率。通常存在两种丢包的原因:

  • 信道出错:信道出错是指信道中的比特发生了错误,这种错误是由于信道噪声引起的。

  • 缓存溢出:缓存溢出是指路由器的缓存队列已满,而又有新的分组到达,这时就会发生缓存溢出。

丢包率反映了网络的拥塞程度。丢包率越大,说明网络的拥塞程度越大。无拥塞时,丢包率为 0%;轻度拥塞可能在 1% ~ 4%;中度拥塞可能在 10% ~ 20%;重度拥塞可能在 50% ~ 100%。

计算机网络的体系结构

常见的体系结构

为了使得不同体系结构的网络都能够互联,国际标准化组织 ISO 制定了一个通用的体系结构,即 OSI 体系结构。

OSI 体系结构

包括了 7 层,分别是:

  • 应用层

  • 表示层

  • 会话层

  • 传输层

  • 网络层

  • 数据链路层

  • 物理层

TCP/IP 体系结构

包括了 4 层,分别是:

  • 应用层

  • 传输层

  • 网络层(也称为网际层)

  • 网络接口层

TCP/IP 是一个四层的体系结构,而 OSI 是一个七层的体系结构。TCP/IP 体系结构中的网络接口层相当于 OSI 体系结构中的数据链路层和物理层。

原理体系结构

通常,为了方便学习,我们将 TCP/IP 体系结构中的网络接口层拆分为两层,分别是数据链路层和物理层。这样,TCP/IP 体系结构就变成了一个五层的体系结构,分别是:

  • 应用层

  • 传输层

  • 网络层

  • 数据链路层

  • 物理层

这是适用于教学的体系结构。

分层的必要性

分层可以将庞大而复杂的问题分解为若干个较小的问题,从而简化问题的解决过程。

我们面对的问题:

  1. 物理层:解决使用何种信号来传输比特的问题

    • 采用什么样的传输介质?
    • 采用什么样的编码方式?
    • 采用什么样的物理接口?
  2. 数据链路层:解决分组在一条链路上的传输问题

    • 如何标识网络上的主机?
    • 如何将数据组织成帧?
    • 如何协调各主机争用信道的使用?
  3. 网络层:解决分组在多个网络上的传输问题

    • 如何标识各网络以及主机?
    • 路由器如何转发分组?
  4. 传输层:解决进程之间的通信问题

    • 如何保证端到端的可靠传输?
    • 如何保证端到端的流量控制?
  5. 应用层:解决应用进程之间的通信问题

    • 如何标识应用进程?
    • 如何实现不同主机上的应用进程之间的通信?

专用术语解释

  • 实体:一个实体是指一个功能上相对独立的部分,它可以是一个硬件设备,也可以是一个软件模块。

  • 对等实体:两个相互通信的实体在同一层,它们之间的通信是水平的,也就是说,它们在通信时所起的作用是完全相同的。

  • 协议:协议是指通信双方就通信中要采取的步骤达成的一种约定。协议是对等实体间通信的规则的集合。

  • 协议三要素:语法、语义、协议

    • 语法:语法是指数据与控制信息的结构或格式。
    • 语义:语义是指需要发出何种控制信息以及完成何种动作。
    • 协议:协议是指在何种情况下发出何种控制信息以及完成何种动作。
  • 协议是水平的,服务是垂直的。

  • 实体是看得见相邻下层所提供的服务的,看不见相邻上层所提供的服务的。也就是说,下面协议对上面协议是透明的,上面协议对下面协议是不透明的。

  • 服务访问点 SAP:服务访问点是指一个实体向协议栈中的某一层提出的服务请求的接口。

    • 数据链路层的服务访问点为帧的类型字段。
    • 网络层的服务访问点为 IP 地址。
    • 传输层的服务访问点为端口号。
  • 协议数据单元 PDU:协议数据单元是指在协议的某一层中,信息的组成单位。

    • 数据链路层的协议数据单元为帧。
    • 网络层的协议数据单元为数据报。
    • 传输层的协议数据单元为报文段。
  • 服务:服务是指一个实体向协议栈中的某一层提供的服务的接口。

  • 服务原语:服务原语是指一个实体向协议栈中的某一层提供的服务的接口。