Update 2021.4.18
172
408/数据结构/5 数组与广义表/5 数组与广义表.md
Normal file
@@ -0,0 +1,172 @@
|
||||
# 第 5 章 数组与广义表
|
||||
|
||||
## 一、基本内容
|
||||
|
||||
数组的类型定义和表示方式;特殊矩阵和稀疏矩阵的压缩存储方法及运算的实现;广义表的逻辑结构和存储结构、$m$ 元多项式的广义表表示以及广义表的操作的递归算法举例。
|
||||
|
||||
## 二、学习要点
|
||||
|
||||
1. 了解数组的两种存储表示方法,并掌握数组在以行为主的存储结构中的地址计算方法。
|
||||
2. 掌握对特殊矩阵进行压缩存储时的下标变换公式。
|
||||
3. 了解稀疏矩阵的两种压缩存储方法的特点和适用范围,领会以三元组表示稀疏矩阵时进行矩阵运算采用的处理方法。
|
||||
4. 掌握广义表的结构特点及其存储表示方法,读者可根据自己的习惯,熟练掌握任意一种结构的链表,学会对非空广义表进行分解的两种分析方法:即可将一个非空广义表分解为表头和表尾两部分或者分解为 $n$ 个子表。
|
||||
5. 学习利用分治法的算法设计思想编制递归算法的方法。在下列这组习题中,第一类习题对应教科书5.1和5.2节C语言风格的数组存储分配和元素地址计算(各维下界为 0);第二类习题是推导特殊矩阵实现各种压缩存储时的下标变换公式;第三类习题涉及稀疏矩阵的各种压缩存储方法;第四类习题帮助读者熟悉广义表的存储结构和表头、表尾的分析方法;第五类习题则是为学习编写递归算法而安排的。
|
||||
|
||||
## 三、算法演示内容
|
||||
|
||||
在 DSDEMO 系统的选单「广义表」下,有以下算法演示:
|
||||
|
||||
- 求广义表的深度(`Ls_Depth`);
|
||||
- 复制广义表(`Ls_Copy`);
|
||||
- 遍历广义表(`Ls_Mark`);
|
||||
- 建立广义表的存储结构(`Crt_Lists`)。
|
||||
|
||||
## 四、基础知识题
|
||||
|
||||
### 5.1① 假设有二维数组 $A_{6 \times 8}$,每个元素用相邻的 6 个字节存储,存储器按字节编址。已知 `A` 的起始存储位置(基地址)为 `1000`,计算:
|
||||
|
||||
#### (1)数组 `A` 的体积(即存储量);
|
||||
|
||||
$6 \times 8 \times 6 = 288 (Byte)$。
|
||||
|
||||
#### (2)数组 `A` 的最后一个元素 $a_{57}$ 的第一个字节的地址;
|
||||
|
||||
$1000 + (6 \times 8 - 1) \times 6 = 1282$。
|
||||
|
||||
#### (3)按行存储时,元素 $a_{14}$ 的第一个字节的地址;
|
||||
|
||||
$1000 + (2 \times 8 + 4) \times 6 = 1120$。
|
||||
|
||||
#### (4)按列存储时,元素 $a_{47}$ 的第一个字节的地址。
|
||||
|
||||
$1000 + (7 \times 6 + 4) \times 6 = 1276$。
|
||||
|
||||
### 5.2① 假设按低下标优先存储整数数组 $A_{9 \times 3 \times 5 \times 8}$时,第一个元素的字节地址是 `100`,每个整数占四个字节。问下列元素的存储地址是什么?
|
||||
|
||||
#### (1)$a_{0000}$
|
||||
|
||||
$100$。
|
||||
|
||||
#### (2)$a_{1111}$
|
||||
|
||||
$100 + (1 \times 3 \times 5 \times 8 + 1 \times 5 \times 8 + 1 \times 8 + 1) \times 4 = 776$。
|
||||
|
||||
#### (3)$a_{3125}$
|
||||
|
||||
$100 + (3 \times 3 \times 5 \times 8 + 1 \times 5 \times 8 + 2 \times 8 + 5) \times 4 = 1784$。
|
||||
|
||||
#### (4)$a_{8247}$
|
||||
|
||||
$100 + (8 \times 3 \times 5 \times 8 + 2 \times 5 \times 8 + 4 \times 8 + 7) \times 4 = 4416$。
|
||||
|
||||
### 5.3① 按高下标优先存储方式(以最右的下标为主序),顺序列出数组 $A_{2 \times 2 \times 3 \times 3}$ 中所有元素 $a_{ijkl}$,为了简化表达,可以只列出 $(i, j, k, l)$ 的序列。
|
||||
|
||||
```mermaid
|
||||
graph LR
|
||||
a0(0) --- b0(0) --- c0(0) --- d0(0) --- e("按高下标优先存储方式(以最右的下标为主序)")
|
||||
a1(1) --- b0
|
||||
a2(0) --- b1(1) --- c0
|
||||
a3(1) --- b1
|
||||
a4(0) --- b2(0) --- c1(1) --- d0
|
||||
a5(1) --- b2
|
||||
a6(0) --- b3(1) --- c1
|
||||
a7(1) --- b3
|
||||
a8(0) --- b4(0) --- c2(2) --- d0
|
||||
a9(1) --- b4
|
||||
a10(0) --- b5(1) --- c2
|
||||
a11(1) --- b5
|
||||
A0(0) --- B0(0) --- C0(0) --- D0(1) --- e
|
||||
A1(1) --- B0
|
||||
A2(0) --- B1(1) --- C0
|
||||
A3(1) --- B1
|
||||
A4(0) --- B2(0) --- C1(1) --- D0
|
||||
A5(1) --- B2
|
||||
A6(0) --- B3(1) --- C1
|
||||
A7(1) --- B3
|
||||
A8(0) --- B4(0) --- C2(2) --- D0
|
||||
A9(1) --- B4
|
||||
A10(0) --- B5(1) --- C2
|
||||
A11(1) --- B5
|
||||
aa0(0) --- bb0(0) --- cc0(0) --- dd0(2) --- e
|
||||
aa1(1) --- bb0
|
||||
aa2(0) --- bb1(1) --- cc0
|
||||
aa3(1) --- bb1
|
||||
aa4(0) --- bb2(0) --- cc1(1) --- dd0
|
||||
aa5(1) --- bb2
|
||||
aa6(0) --- bb3(1) --- cc1
|
||||
aa7(1) --- bb3
|
||||
aa8(0) --- bb4(0) --- cc2(2) --- dd0
|
||||
aa9(1) --- bb4
|
||||
aa10(0) --- bb5(1) --- cc2
|
||||
aa11(1) --- bb5
|
||||
```
|
||||
|
||||
$$
|
||||
\begin{array}{llll}
|
||||
(0, 0, 0, 0), (1, 0, 0, 0), (0, 1, 0, 0), (1, 1, 0, 0), \\
|
||||
(0, 0, 1, 0), (1, 0, 1, 0), (0, 1, 1, 0), (1, 1, 1, 0), \\
|
||||
(0, 0, 2, 0), (1, 0, 2, 0), (0, 1, 2, 0), (1, 1, 2, 0), \\
|
||||
\\
|
||||
(0, 0, 0, 1), (1, 0, 0, 1), (0, 1, 0, 1), (1, 1, 0, 1), \\
|
||||
(0, 0, 1, 1), (1, 0, 1, 1), (0, 1, 1, 1), (1, 1, 1, 1), \\
|
||||
(0, 0, 2, 1), (1, 0, 2, 1), (0, 1, 2, 1), (1, 1, 2, 1), \\
|
||||
\\
|
||||
(0, 0, 0, 2), (1, 0, 0, 2), (0, 1, 0, 2), (1, 1, 0, 2), \\
|
||||
(0, 0, 1, 2), (1, 0, 1, 2), (0, 1, 1, 2), (1, 1, 1, 2), \\
|
||||
(0, 0, 2, 2), (1, 0, 2, 2), (0, 1, 2, 2), (1, 1, 2, 2)。
|
||||
\end{array}
|
||||
$$
|
||||
|
||||
### 5.4① 将教科书 5.3.1 节中的式(5-3)改写为一个等式的形式。
|
||||
|
||||
$k = {\frac{max(i, j)[max(i, j) - 1]}{2} + min(i, j) - 1}$。
|
||||
|
||||
### 5.5③ 设有上三角矩阵 $(a_{ij})_{n \times n}$,,将其上三角元素逐行存于数组 `B[m]` 中(`m` 充分大),使得 $B[k] = a_{ij}$ 且 $k = f_1(i) + f_2(j) + c。试推导出函数 $f_1, f_2$ 和常数 $c$(要求 $f_1$ 和 $f_2$ 中不含常数项)。
|
||||
|
||||
$k = \frac{(2n + 1 - i)i}{2} + (j - i)$,故
|
||||
|
||||
### 5.6② 设有三对角矩阵 $(a_{ij})_{n \times n}$,将其三条对角线上的元素存于数组 `B[3][n]` 中,使得元素 $B[u][v] = a_{ij}$,试推导出从 $(i, j)$ 到 $(u, v)$ 的下标变换公式。
|
||||
|
||||
### 5.7③ 设有三对角矩阵 $(a_{ij})_{n \times n}$,将其三条对角线上的元素逐行地存于数组 `B[3n - 2]` 中,使得 $B[k] = a_{ij}$,求:
|
||||
|
||||
#### (1)用 $i, j$ 表示 $k$ 的下标变换公式;
|
||||
|
||||
#### (2)用 $k$ 表示 $i, j$ 的下标变换公式。
|
||||
|
||||
### 5.8③ 假设一个准对角矩阵
|
||||
|
||||
$$
|
||||
\left[\begin{array}{cccc}
|
||||
a_{11} & a_{12}\\
|
||||
a_{21} & a_{22}\\
|
||||
& & a_{33} & a_{34}\\
|
||||
& & a_{43} & a_{44}\\
|
||||
& & & & \cdots\\
|
||||
& & & & & a_{i, j}\\
|
||||
& & & & & & \cdots\\
|
||||
& & & & & & & a_{2m - 1,2m - 1} & a_{2m - 1,2m}\\
|
||||
& & & & & & & a_{2m, 2m - 1} & a_{2m, 2m}
|
||||
\end{array}\right]
|
||||
$$
|
||||
|
||||
### 按以下方式存于一维数组 `B[4m]` 中:
|
||||
|
||||
| 0 | 1 | 2 | 3 | 4 | 5 | 6 | $\cdots$ | k | $\cdots$ | 4m - 3 | 4m - 2 | 4m - 1 |
|
||||
| :------: | :------: | :------: | :------: | :------: | :------: | :------: | :------: | :------: | :------: | :--------------: | :--------------: | :----------: |
|
||||
| $a_{11}$ | $a_{12}$ | $a_{21}$ | $a_{22}$ | $a_{33}$ | $a_{34}$ | $a_{43}$ | $\cdots$ | $a_{ij}$ | $\cdots$ | $a_{2m - 1, 2m}$ | $a_{2m, 2m - 1}$ | $a_{2m, 2m}$ |
|
||||
|
||||
### 写出由一对下标 $(i, j)$ 求 $k$ 的转换公式。
|
||||
|
||||
$$
|
||||
k = \begin{cases}
|
||||
i + j - 2 & i 为奇数\\
|
||||
i + j - 1 & i 为偶数
|
||||
\end{cases} 合并成一个公式,可写成 \begin{array}{cccc}
|
||||
k = i + j - (i \% 2) - 1\\
|
||||
或\\
|
||||
k = 2(i \space div \space 2) + j - 1
|
||||
\end{array}。
|
||||
$$
|
||||
|
||||
|
||||
### 5.9② 已知 $A$ 为稀疏矩阵,试从空间和时间角度比较采用两种不同的存储结构(二
|
||||
@@ -11,7 +11,7 @@
|
||||
|
||||
#### 考研修仙
|
||||
|
||||
- 道上人:了解计算机网络的概念及组成,基本功能和重要的分类方式,对于性能指标有大概了解。
|
||||
- 道上人:了解计算机网络的概念及组成,基本功能和重要的分类方式,对于性能指标有大概了解。
|
||||
|
||||
> 小题:2,3,4,9,15,18
|
||||
|
||||
@@ -64,4 +64,69 @@
|
||||
|
||||
- 道上仙:不拘泥于公式,可以熟练解决求极限数据率的问题,并能求解编码与调制的相关计算题。
|
||||
|
||||
> 小题:12,13,14,15,17,20,22,23
|
||||
> 小题:12,13,14,15,17,20,22,23
|
||||
|
||||
### 2.1 通信基础(下)
|
||||
|
||||
#### 学习建议
|
||||
|
||||
- 本节主要讲解主要的数据交换方式,理解起来还是很简单的,主要是要掌握他们各自的优劣势,以及他们之间的相同点和不同点;分
|
||||
组交换的计算问题很重要,要多用题目练手帮助理解~
|
||||
|
||||
#### 考研修仙
|
||||
|
||||
- 道上人:了解这几种数据交换方式的基本概念和差异~
|
||||
|
||||
> 小题:25,27,28,30,32,35,36,41
|
||||
> 大题:1
|
||||
|
||||
- 道上佬:熟练掌握几种数据交换方式的使用场景,可以解决部分数据交换的计算题。
|
||||
|
||||
> 小题:26,31,33,34
|
||||
> 大题:3,6
|
||||
|
||||
- 道上仙:数据交换的计算题可以信手拈来了~
|
||||
|
||||
> 小题:29,37,38
|
||||
> 大题:2,4,5
|
||||
|
||||
### 2.2 传输介质
|
||||
|
||||
#### 学习建议
|
||||
|
||||
- 这节的内容都比较简单,駢不算是考研重点,过去会主要考察导向性传输)质和物理层特性,对于非导向性传输介质也需要好好掌
|
||||
握。
|
||||
|
||||
#### 考研修仙
|
||||
|
||||
- 道上人:掌握不同传输介质的特性和功能。
|
||||
|
||||
> 小题:1,2,6,11
|
||||
|
||||
- 道上佬:物理特性可以清楚地区分,并且对于不同传输介质之间的比较有清晰的认识。
|
||||
|
||||
> 小题:4,5,7,9,10,12
|
||||
|
||||
- 道上仙:熟练掌握非导向性传输质的特点。
|
||||
|
||||
> 小题:3,8
|
||||
|
||||
### 2.3 物理层设备
|
||||
|
||||
#### 学习建议
|
||||
|
||||
- 这是计算机网络学习中遇到的第-层设备,傻傻的中继器和集线器主要实现信号的放大功能,真的很简单,你学会了吗?
|
||||
|
||||
#### 考研修仙
|
||||
|
||||
- 道上人:清楚物理层两个设备的基本功能:放大后并转发。
|
||||
|
||||
> 小题:2,4,8,10
|
||||
|
||||
- 道上佬:了解物理层设备的一些数字指标和简单的带宽计算问题。
|
||||
|
||||
> 小题:1,5,7,9
|
||||
|
||||
- 道上仙:熟练掌握两种设备的应用场景和异同点。
|
||||
|
||||
> 小题:3,6,11
|
||||
|
||||
BIN
408/计算机网络/笔记/assets/markdown-img-paste-20210417154146182.png
Normal file
|
After Width: | Height: | Size: 24 KiB |
BIN
408/计算机网络/笔记/assets/markdown-img-paste-20210417154626198.png
Normal file
|
After Width: | Height: | Size: 50 KiB |
BIN
408/计算机网络/笔记/assets/markdown-img-paste-20210417154938224.png
Normal file
|
After Width: | Height: | Size: 69 KiB |
BIN
408/计算机网络/笔记/assets/markdown-img-paste-20210417155457361.png
Normal file
|
After Width: | Height: | Size: 186 KiB |
BIN
408/计算机网络/笔记/assets/markdown-img-paste-20210417160814791.png
Normal file
|
After Width: | Height: | Size: 165 KiB |
BIN
408/计算机网络/笔记/assets/markdown-img-paste-20210417162018540.png
Normal file
|
After Width: | Height: | Size: 137 KiB |
BIN
408/计算机网络/笔记/assets/markdown-img-paste-20210417162227505.png
Normal file
|
After Width: | Height: | Size: 49 KiB |
BIN
408/计算机网络/笔记/assets/markdown-img-paste-20210417162617962.png
Normal file
|
After Width: | Height: | Size: 98 KiB |
BIN
408/计算机网络/笔记/assets/markdown-img-paste-20210417162828258.png
Normal file
|
After Width: | Height: | Size: 144 KiB |
BIN
408/计算机网络/笔记/assets/markdown-img-paste-20210417163836513.png
Normal file
|
After Width: | Height: | Size: 101 KiB |
BIN
408/计算机网络/笔记/assets/markdown-img-paste-20210417185229216.png
Normal file
|
After Width: | Height: | Size: 85 KiB |
175
408/计算机网络/笔记/数据交换方式.md
Normal file
@@ -0,0 +1,175 @@
|
||||
# 数据交换方式
|
||||
|
||||
$$
|
||||
\begin{array}{cccc}
|
||||
电路交换\\ \\
|
||||
存储转发交换方式
|
||||
\begin{cases}
|
||||
报文交换\\
|
||||
分组交换
|
||||
\begin{cases}
|
||||
数据报方式\\
|
||||
虚电路方式
|
||||
\end{cases}
|
||||
\end{cases}
|
||||
\end{array}
|
||||
$$
|
||||
|
||||
### 电路交换(Circuit Exchanging)
|
||||
|
||||

|
||||
|
||||
**电路交换的原理**:在数据传输期间,源结点与目的结 点之间有一条由中间结点构成的专用物理连接线路,在数据传输结束之前,这条线路一直保持。
|
||||
|
||||
**电路交换的阶段**:
|
||||
|
||||
$$
|
||||
建立连接(呼叫/电路建立)\to 通信(数据传输) \to 释放连接(拆除电路)
|
||||
$$
|
||||
|
||||
**特点**:独占资源,用户始终占用端到端的固定传输带宽。适用于远!程批处理信息传输或系统间实时性要求高的大量数据传输的情况。
|
||||
|
||||
电路交换优点 | 电路交换缺点
|
||||
--- | ---
|
||||
传输时延小 | 建立连接时间长
|
||||
数据顺序传送,无失序问题 | 线路独占,即使通信线路空闲,也不能供其他用户使用,信道使用效率低。
|
||||
实时性强,双方一旦建立物理通路,便可以实时通信, 适用于交互式会话类通信 | 灵活性差,双方连接通路中的任何一点出了故障,必须重新拨号建立新连接,不适应突发性通信
|
||||
全双工通信,没有冲突,通信双方有不同的信道,不会争用物理信道 | 无数据存储能力,难以平滑通信量
|
||||
适用于模拟信号和数字信号 | 电路交换时,数据直达,不同类型、不同规格、不同速率的终端很难相互进行通信
|
||||
控制简单,电路的交换设备及控制较简单 | 无法发现与纠正传输差错,难以在通信过程中进行差错控制。
|
||||
|
||||
### 报文交换(Message Exchanging)
|
||||
|
||||
**报文(message)**:报文是网络中交换与传输的数据单元,即站点一次性要发送的数据块。报文包含了将要发送的 完整的数据信息,其长短很不一致,长度不限且可变。
|
||||
|
||||

|
||||
|
||||
**报文交换的原理**:无需在两个站点之间建立一条专用通路,其数据传输的单位是报文,传送过程采用存储转发方式。
|
||||
|
||||
<table>
|
||||
<tr>
|
||||
<th>报文交换优点</th>
|
||||
<th>报文交换缺点</th>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>无需建立连接,无建立连接时延,用户可随时发送报文</td>
|
||||
<td>实时性差,不适合传送实时或交互式业务的数据。数据进入交换结点后要经历存储转发过程,从而引起转发时延</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>动态分配线路,动态选择报文通过的最佳路径,可以平滑通信量</td>
|
||||
<td>只适用于数字信号。</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>提高线路可靠性,某条传输路径发生故障,可重新选择另一条路径传输。</td>
|
||||
<td rowspan="4">由于报文长度没有限制,而每个中间结点都要完整地接收传来的整个报文,当输出线路不空闲时,还可能要存储几个完整报文等待转发,要求网络中每个结点有较大的缓冲区。为了降低成本,减少结点的缓冲存储器的容量,有时要把等待转发的报文存在磁盘上,进一步增加了传送时延。</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>提高线路利用率,通信双方在不同的时间一段一段地 部分占有这条物理通道,多个报文可共享信道。</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>提供多目标服务:一个报文可同时发往多个目的地址。</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>在存储转发中容易实现代码转换和速率匹配,甚至收发双方可以不同时处于可用状态。这样就便于类型、 规格和速度不同的计算机之间进行通信。</td>
|
||||
</tr>
|
||||
</table>
|
||||
|
||||
### 分组交换(Packet Exchanging)
|
||||
|
||||
**分组(packet)**:大多数计算机网络都不能连续地传送任意长的数据,所以实际上网络系统把数据分割成小块,然后逐 块地发送,这种小块就称作分组。
|
||||
|
||||

|
||||
|
||||
**分组交换的原理**:分组交换与报文交换的工作方式基本相同,都采用存储转发方式,形式上的主要差别在于,分组交换网中要限制所传输的数据单位的长度,一般选 128B。发送节点首先对从终端设备送来的数据报文进行接收、存储,而后将报文划分成一定长度的分组,并以分组为单位进行传输和交换。接收结点将收到的分组组装成信息或报文。
|
||||
|
||||
<table>
|
||||
<tr>
|
||||
<th>分组交换优点</th>
|
||||
<th>分组交换缺点</th>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>无建立时延,无需为通信双方预先建立一条专用通信线路,用户可随时发送分组。</td>
|
||||
<td>尽管分组交换比报文交换的传输时延少,但仍存在存储转发时延,而且其结点交换机必须具有更强的处理能力。</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>线路利用率高,通信双方在不同的时间一段一段地部分占有这条物理通道,多个分组可共享信道。</td>
|
||||
<td>每个分组都要加控制信息,一定程度上降低了通信效率,增加了处理的时间。</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>简化了存储管理。因为分组的长度固定,相应的缓冲区的大小也固定,在交换结点中存储器的管理通常被简化为对缓冲区的管理,相对比较容易。</td>
|
||||
<td rowspan="4">当分组交换采用数据报服务时,可能出现失序、丢失或重复分组,分组到达目的结点时,要对分组按编号进行排序等工作,增加了麻烦。若采用虚电路服务,虽无失序问题,但有呼叫建立、数据传输和虚电路释放三个过程。</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>加速传输,后一个分组的存储可以和前一个分组的转发并行操作;传输一个分组比一份报文所需缓冲区小,减少等待发送时间。</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>减少出错几率和重发数据量,提高可靠性,减少传输时延。</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>分组短小,适用于计算机之间突发式数据通信。</td>
|
||||
</tr>
|
||||
</table>
|
||||
|
||||
#### 数据报方式
|
||||
|
||||

|
||||
|
||||
1. 源主机(A)**将报文分成多个分组**,依次发送到直接相连的结点(A)。
|
||||
|
||||
2. 结点 A 收到分组后,对每个分组 **差错检测** 和 **路由选择**,不同分组的下一跳结点可能不同。
|
||||
|
||||
3. 结点 C 收到分组 P1 后,对分组 P1 进行 **差错检测**,若正确则向 A 发送确认信息,A 收到 C 确认后则丢弃分组 P1 副本。
|
||||
|
||||
4. 所有分组到家(主机 B)!
|
||||
|
||||
**数据报方式的特点**
|
||||
|
||||
1. 数据报方式为网络层提供无连接服务。发送方可随时发送分组,网络中的结点可随时接收分组。
|
||||
2. 同一报文的不同分组达到目的结点时可能发生乱序、重复与丢失。
|
||||
3. 每个分组在传输过程中都必须携带源地址和目的地址,以及分组号。
|
||||
4. 分组在交换结点存储转发时,需要排队等候处理,这会带来一定的时延。当通过交换结点的通信量较大或网络发生拥塞时,这种时延会大大增加,交换结点还可根据情况丢弃部分分组。
|
||||
5. 网络具有冗余路径,当某一交换结点或一段链路出现故障时,可相应地更新转发表,寻找另一条路径转发分组,对故障的适应能力强,适用于突发性通信,不适于长报文、会话式通信。
|
||||
|
||||
> **无连接服务**:不事先为分组的传输确定传输路径,每个分组独立确定传输路径,不同分组传输路径可能不同。
|
||||
|
||||
#### 虚电路方式
|
||||
|
||||
虚电路将数据报方式和电路交换方式结合,以发挥两者优点。
|
||||
|
||||

|
||||
|
||||
**虚电路**:一条源主机到目的主机类似于电路的路径(逻辑连接),路径上所有结点都要维持这条虚电路的建立,都维持一张虚电路表,每一项记录了一个打开的虚电路的信息。
|
||||
|
||||
- **建立连接(虚电路建立)**:源主机发送「呼叫请求」分组并收到「呼叫应答」分组后才算建立连接。
|
||||
- **数据传输**:每个分组携带虚电路号,分组号、检验和等控制信息。
|
||||
- **释放连接(虚电路释放)**:源主机发送「释放请求」分组以拆除虚电路。
|
||||
|
||||
**虚电路方式的特点**
|
||||
|
||||
1. 虚电路方式为网络层提供连接服务。源节点与目的结点之间建立一条逻辑连接,而非实际物理连接。
|
||||
2. 一次通信的所有分组都通过虚电路顺序传送,分组不需携带源地址、目的 地址等信息,包含虚电路号,相对数据报方式开销小,同一报文的不同分组到达目的结点时不会乱序、重复或丢失。
|
||||
3. 分组通过虚电路上的每个节点时,节点只进行差错检测,不需进行路由选择。
|
||||
4. 每个节点可能与多个节点之间建立多条虚电路,每条虚电路支持特定的两个端系统之间的数据传输,可以对两个数据端点的流量进行控制,两个端系统之间也可以有多条虚电路为不同的进程服务。
|
||||
5. 致命弱点:当网络中的某个结点或某条链路出故障而彻底失效时,则所有经过该结点或该链路的虚电路将遭到破坏
|
||||
|
||||
> **连接服务**:首先为分组的传输确定传输路径(建立连接),然后沿该路径(连接)传输系列分组,系列分组传输路径相同,传输结束后拆除连接。
|
||||
|
||||
--- | 数据报服务 | 虚电路服务
|
||||
:---: | --- | ---
|
||||
连接的建立 | 不要 | 必须有
|
||||
目的地址 | 每个分组都有完整的目的地址 | 仅在建立连接阶段使用,之后每个分组使用长度较短的虚电路号
|
||||
路由选择 | 每个分组独立地进行路由选择和转发 | 属于同一条虚电路的分组按照同一路由转发
|
||||
分组顺序 | 不保证分组的有序到达 | 保证分组的有序到达
|
||||
可靠性 | 不保证可靠通信,可靠性由用户主机来保证 | 可靠性由网络保证
|
||||
对网络故障的适应性 | 出故障的结点丢失分组,其他分组路径选择发生变化,可正常传输 | 所有经过故障结点的虚电路均不能正常工作
|
||||
差错处理和流量控制 | 由用户主机进行流量控制,不保证数据报的可靠性 | 可由分组交换网负责,也可由用户主机负责
|
||||
|
||||
## 数据交换方式的选择
|
||||
|
||||

|
||||
|
||||
1. 传送数据量大,且传送时间远大于呼叫时,选择 **电路交换**。电路交换传输时延最小。
|
||||
|
||||
2. 当端到端的通路有很多段的链路组成时,采用 **分组交换** 传送数据较为合适。
|
||||
|
||||
3. 从信道利用率上看,**报文交换** 和 **分组交换** 优于电路交换,其中 **分组交换** 比报文交换的时延小,尤其适合于计算机之间的突发式的数据通信。
|
||||
BIN
408/计算机网络/笔记/数据交换方式.pdf
Normal file
102
408/计算机网络/笔记/编码与调制.md
Normal file
@@ -0,0 +1,102 @@
|
||||
# 编码与调制
|
||||
|
||||
## 基带信号与宽带信号
|
||||
|
||||
**信道**:信号的传输媒介。一般用来表示向某一个方向传送信息的介质,因此一条通信线路往往包含一 条发送信道和一条接收信道。
|
||||
|
||||
$$
|
||||
信道
|
||||
\begin{array}{llll}
|
||||
\xrightarrow{传输信号}
|
||||
\begin{cases}
|
||||
模拟信道(传送模拟信号)\\
|
||||
数字信道(传送数字信号)
|
||||
\end{cases}\\ \\
|
||||
\xrightarrow{传输介质}
|
||||
\begin{cases}
|
||||
无线信道\\
|
||||
有线信道
|
||||
\end{cases}
|
||||
\end{array}
|
||||
$$
|
||||
|
||||
### 信道上传送的信号
|
||||
|
||||
**基带信号**:将数字信号 1 和 0 直接用两种不同的电压表示,再送到 ==数字信道== 上去传输(==**基带传输**==)。==来自信源== 的信号,像计算机输出的代表各种文字或图像文件的数据信号都属于基带信号。基带信号就是发出的 **直接表达了要传输的信息的信号**,比如我们说话的声波就是基带信号。
|
||||
|
||||
**宽带信号**:将基带信号进行调制后形成的频分复用模拟信号,再传送到 ==模拟信道== 上去传输(==**宽带传输**==)。
|
||||
把基带信号经过载波调制后,把信号的频率范围搬移到较高的频段以便在信道中传输(即仅 在一段频率范围内能够通过信道)。
|
||||
|
||||
> 在传输距离较近时,计算机网络采用 **基带传输** 方式(近距离衰减小,从而信号内容不易发生变化)
|
||||
> 在传输距离较远时,计算机网络采用 **宽带传输** 方式(远距离衰减大,即使信号变化大也能最后过滤出来基带信号)
|
||||
|
||||
## 编码与调制
|
||||
|
||||
$$
|
||||
\begin{array}{cccc}
|
||||
\begin{array}{cccc}
|
||||
数据 \to 数字信号 & 编码 \\
|
||||
数据 \to 模拟信号 & 调制
|
||||
\end{array} \\ \\
|
||||
\begin{array}{cccc}
|
||||
数字数据
|
||||
\begin{array}{cccc}
|
||||
\xrightarrow{数字发送器} & 数字信号 & 编码\\
|
||||
\xrightarrow{调制器} & 模拟信号 & 调制
|
||||
\end{array} &
|
||||
模拟数据
|
||||
\begin{array}{cccc}
|
||||
\xrightarrow{PCM编码器} & 数字信号 & 编码 \\
|
||||
\xrightarrow{放大器调制器} & 模拟信号 & 调制
|
||||
\end{array}
|
||||
\end{array}
|
||||
\end{array}
|
||||
$$
|
||||
|
||||
### 数字数据编码为数字信号
|
||||
|
||||

|
||||
|
||||
**非归零编码(NRZ)**:编码容易实现,但没有检错功能,且无法判断一个码元的开始和结束,以至于收发双方难以保持同步。
|
||||
|
||||
> 高 1 低 0
|
||||
|
||||
**归零编码(RZ)**:信号电平在一个码元之内都要恢复到零的这种编码成编码方式。
|
||||
|
||||
**曼彻斯特编码**:将一个码元分成两个相等的间隔,前一个间隔为低电平后一个间隔为高电平表示码元 1;码元 0 则正好相反。也可以采用相反的规定。该编码的特点是在每一个码元的中间出现电平跳变,位中间的跳变既作时钟信号(可用于同步),又作数据信号,但它所占的频带宽度是原始的基带宽度的两倍。每一个码元都被调成两个电平,所以数据传输速率只有调制速率的 $\frac{1}{2}$。
|
||||
|
||||
**差分曼彻斯特编码**:常用于局域网传输,其规则是:若码元为 1,则前半个码元的电平与上一个码元的后半个码元的电平相同,若为 0,则相反。该编码的特点是,在每个码元的中间,都有一次电平的跳转,可以实现自同步,且抗干扰性强于曼彻斯特编码。
|
||||
|
||||
> 同 1 异 0
|
||||
|
||||
**4B/5B 编码**:比特流中插入额外的比特以打破一连串的 0 或 1,就是用 5 个比特来编码 4 个比特的数据,之后再传给接收方,因此称为 4B/5B。编码效率为 80%。
|
||||
|
||||

|
||||
|
||||
只采用 16 种对应 16 种不同的 4 位码,其他的 16 种作为控制码(帧的开始和结束,线路的状态信息等)或保留。
|
||||
|
||||
### 数字数据调制为模拟信号
|
||||
|
||||
数字数据调制技术在发送端将数字信号转换为模拟信号,而在接收端将模拟信号还原为数字信号,分别对应于调制解调器的调制和解调过程。
|
||||
|
||||

|
||||
|
||||
**调幅 + 调相(QAM)**
|
||||
|
||||
> 某通信链路的波特率是 1200 Baud,采用 4 个相位,每个相位有 4 种振幅的 QAM 调制技术,则该链路的信息传输速率是多少?
|
||||
>
|
||||
> $1200 \times \log_{2}(4 \times 4) = 4800 bit/s$
|
||||
|
||||
### 模拟数据编码为数字信号
|
||||
|
||||
计算机内部处理的是二进制数据,处理的都是数字音频,所以需要将模拟音频通过采样、量化转换成有限个数字表示的离散序列(即实现音频数字化)。 最典型的例子就是对音频信号进行编码的脉码调制(PCM),在计算机应用中,能够达到最高保真水平的就是 PCM 编码,被广泛用于素材保存及音乐欣赏,CD、DVD 以及我们常见的 WAV 文件中均有应用。它主要包括三步:抽样、量化、编码。
|
||||
|
||||
1. **抽样**:对模拟信号周期性扫描,把时间上连续的信号变成时间上离散的信号。为了使所得的离散信号能无失真地代表被抽样的模拟数据,要使用采样定理进行采样:$f_{采样频率} \ge 2f_{信号最高频率}$。
|
||||
2. **量化**:把抽样取得的电平幅值按照一定的分级标度转化为对应的数字值,并取整数,这就把连续的电平幅值转换为离散的数字量。
|
||||
3. **编码**:把量化的结果转换为与之对应的二进制编码。
|
||||
|
||||

|
||||
|
||||
### 模拟数据调制为模拟信号
|
||||
|
||||
为了实现传输的有效性,可能需要较高的频率。这种调制方式还可以使用频分复用技术,充分利用带宽资源。在电话机和本地交换机所传输的信号是采用模拟信号传输模拟数据的方式;模拟的声音数据是加 载到模拟的载波信号中传输的。
|
||||
BIN
408/计算机网络/笔记/编码与调制.pdf
Normal file
348
408/计算机网络/笔记/非导向性传输介质.html
Normal file
22
408/计算机网络/笔记/非导向性传输介质.md
Normal file
@@ -0,0 +1,22 @@
|
||||
## 非导向性传输介质
|
||||
|
||||

|
||||
|
||||
## 物理层设备
|
||||
|
||||
### 中继器
|
||||
|
||||
**诞生原因**:由于存在损耗,在线路上传输的信号功率会逐渐衰减,衰减到一定程度时将造成信号失真,因此会导致接收错误。
|
||||
|
||||
**中继器的功能**: 对信号进行 **再生和还原**,对衰减的信号进行放大,保持与原数据相同,以增加信号传输的距离,延长网络的长度。
|
||||
|
||||
**中继器的两端**:两端的网络部分是网段,而不是子网,适用于完全相同的 **两类** 网络的互连,且两个网段速率要相同。
|
||||
中继器只将任何电缆段上的数据发送到另一段电缆上,它仅作用于信号的电气部分,并不管数据中是否有错误数据或不适于网段的数据。
|
||||
两端可连相同媒体,也可连不同媒体。
|
||||
中继器两端的网段一定要是同一个协议。(中继器不会存储转发,傻)
|
||||
|
||||
**5-4-3 规则**:网络标准中都对信号的延迟范围作了具体的规定,因而中继器只能在规定的范围内进行,否则会网络故障。
|
||||
|
||||
### 集线器(多口中继器)
|
||||
|
||||
**集线器的功能**:对信号进行再生 **放大转发**,对衰减的信号进行放大,接着转发到其他所有(除输入端口外)处于工作状态的端口上,以增加信号传输的距离,延长网络的长度。不具备信号的定向传送能力,是一个共享式设备。
|
||||