..

计算机网络复习

题目类型

类型 分数
单选 15
填空 15
判断 15
改错 15
简答 15
计算 30

体系架构(P31 图1-16)

OSI 7层协议

  1. 应用层
  2. 表示层
  3. 会话层
  4. 运输层
  5. 网络层
  6. 数据链路层
  7. 物理层

TCP/IP 4层协议

层次 功能与示例协议
应用层 HTTP, SMTP, DNS
运输层 TCP, UDP
网际层 IP
链路层 数据链路和物理层合并

教材 5层协议

层次 功能
应用层 提供特定网络服务
运输层 通用进程通信
网络层 IP数据报、路由器
数据链路层 帧传输、差错检测、纠错
物理层 比特传输、电气特性

扩展以太网

物理层:集线器(P100)

优点 缺点
扩大以太网覆盖范围 碰撞域变大,通信易受碰撞影响
实现跨系通信 最大速率受限于最慢连接的设备

数据链路层:交换机(网桥)(P101)

优点 缺点
扩大物理范围、提高可靠性 存储转发增加了时延
可互连不同物理层、不同 MAC 子层和不同速率(如 10 Mb/s 和 100 Mb/s 以太网)的局域网 网桥只适合于用户数不太多 (不超过几百个) 和通信量不太大的局域网,否则有时还会因传播过多的广播信息而产生网络拥塞,即广播风暴

常见拓扑的优缺点

拓扑 优点 缺点
星形拓扑 结构简单,便于控制与扩展;故障诊断易;各节点独立 中央节点负担重,易成瓶颈;电缆需求多,安装复杂
总线型拓扑 结构简单,电缆需求少 传输距离有限;故障诊断困难;分布式协议难以保证实时传送
环形拓扑 电缆长度短,易扩展;可用光纤 单点故障导致全网失效;故障检查难;负载轻时信道利用率低
树形拓扑 易于扩展;故障隔离较容易 根节点依赖性大

虚电路服务 vs 数据报服务

特性 虚电路服务 数据报服务
可靠性 网络保证 用户主机保证
是否建立连接
地址使用 连接建立时使用终点地址 每个分组都需携带完整终点地址
路由 同一条虚电路的分组按同一路由转发 每个分组独立查表转发
故障处理 故障节点影响所有虚电路 路由变化,部分包可能丢失
顺序 按顺序接收 不一定按顺序接收

RIP工作的特点

  • 仅与相邻路由器交换信息
  • 交换本路由器的路由表
  • 按固定时间间隔进行交换

传输层两大协议的特点

特性 TCP UDP
连接
通信方式 点对点 支持多对多、一对多、一对一
可靠性 可靠交付 尽最大可能交付
传输单位 面向字节流 面向报文
拥塞控制
首部开销 较大 较小

大题

编码方式

课本 P45

差错检测、纠错

CRC

Q:生成多项式 G(X) = X^6+X^5+X+1,若信息位为 1101110010001, 求冗余多项式 R(X)?

A:最高次为6, 冗余码为6位,

$G(X)=1X^6+1X^5+0X^4+0X^3+0X^2+1X^1+1*X^0$

故除数为 1100011, 除数为原始数据加上 6 位 0:1101110010001000000 然后作两数作摩尔运算(相同得 0, 不同得 1),余数记为冗余码:10110

Q:接收方如何检测差错?

A:将接收到的数据处以生成多项式的系数,余数为 0 证明接受正确,余数不为 0 证明接受错误。

海明码

  • 奇校验:需要奇数个 1
  • 偶校验:需要偶数个 1

海明码的冗余位数 r 满足以下关系: $2^r>=r+m+1$,其中 r 为冗余位,m 为数据位。

海明码需要插入到 2 的次幂的位置,然后用奇偶校验的方式计算出每一位海明码的 1/0。

而为了插入海明码,我们首先需要自低位从 1 开始给每一位数据编号(包括海明码本身)。

例子:为数据 1010 计算海明码:

计算:$2^r>=r+5$,则满足的最小 r 为 3

数据 序号(B) 序号(D) 参与计算
0 111 7
1 110 6
0 101 5
1 100 4 7,6,5,4
1 011 3
0 010 2 7,6,3,2
1 001 1 7,5,3,1

CDMA(码分多址)

向量化内积:别急,我也不知道在说什么,直接看个例子。

Q:四个站进行码分多址 CDMA 通讯,码片序列分别为:

A. (-1 -1 -1 +1 -1 +1 +1)
B. (-1 -1 +1 -1 +1 +1 +1 -1)
C. (-1 +1 -1 +1 +1 +1 -1 -1)
D. (-1 +1 -1 -1 -1 -1 +1 -1)

现在收到这样的码片序列:(-1 +1 -3 +1 -1 -3 +1 +1),请问哪个站发送数据了?发送了什么东西?

A:S.A=(+1-1+3+1-1+3+1+1)/8=1 -> 发送 1
B:S.B=(+1-1-3-1-1-3+1-1)/8=-1 -> 发送 0
C:S.C=(+1+1+3+1-1-3-1-1)/8=0 -> 啥也没发送
D:S.D=(+1+1+3-1+1+3+1-1)/8=1 -> 发送 1

总计:相乘后相加,然后处以个数,得到 1 发送 1, 得到 -1 发送 0, 得到 0 啥也没发送。

PPP 透明传输

字节填充

  • 0×7E -> 0×7D, 0x5E
  • 0×7D -> 0×7D, 0x5D
  • 若信息字段中出现ASCll码的控制字符(即数值小于0x20的字符),则在该字符前面要加入一个0x7D字节

零比特填充

  • 在发送端,发现5个连续1,则立即填入一个0
  • 在接收端,发现5个连续1,则立即删除5个连续1后的一个0

交换机自学习

IP分片

常见长度

  • TCP 首部 20 字节,UDP 首部 8 字节
  • 以太网的 MTU 为 1500 字节

分片

  • DF:Don’t Fragment, MF: More Fragment
  • 片偏移字段的单位为 8 字节

例子:

Q:已知一个分组的数据部分长度为 3800 字节,网络规定分片长度不能超过 1420 字节,假设 IP 分组的首部采用固定 20 字节。请问原始分组需要分成几个分片?每个分片的总长度、标识字段(原始分组是 666 )、DF 标志位、MF 标志位、分片偏移字段各是多少?

A: 分组长度 3820(头部+数据)-> 3800 (数据) 分片长度 1420(头部+数据)-> 1400 (每个分片的数据) 故分为 3800/1400 = 2 余 1000, 3 个分片

分片偏移只计算数据部分的偏移,指的是当前分片的数据头相较于整个数据头的距离,本题中:
分片1 的数据从:0-1399, 故偏移为 0/8 = 0
分片2 的数据从:1400-2799,故偏移为 1400/8 = 175
分片3 的数据从:2800-3799,故偏移为 2800/8 = 350

总长度 标识字段 DF MF 分片偏移
原始分组 3820 666 x x x
分片1 1420 666 0 1 0
分片2 1420 666 0 1 175
分片3 1020 666 0 0 350

地址计算

传统 IP 地址划分,注意计算可用主机时需要去掉广播地址和网络地址。

地址类型 网络位 二进制开头
A类 前 8 位 0
B类 前 16 位 10
C类 前 24 位 110

地址聚合

Q:有如下四个 /24 地址块,试进行最大可能的聚合。
212.56.132.0/24
212.56.133.0/24
212.56.134.0/24
212.56.135.0/24

A:由题意可知,四个地址块只有第三个字节不同,故四个地址块的第三字节的二进制表示为: 212.56.10000100.0 212.5610000101.0 212.56.10000110.0 212.56.10000111.0 共同前缀有 22 位,所以聚合的 CIDR 地址块是:212.56.132.0/22

子网划分

Q1:现有一个 C 类网段 193.160.80.0, 要将其划分为 6 个子网,请问如何指定子网掩码?每个子网的网络地址、广播地址分别是多少?可分配的主机地址范围是多少?

A1:要划分子网,就是要从主机号中借一部分给网络号,划分出的子网数量满足公式:$2^n-2>=m$,其中 n 是借的位数,m 是要划分的子网数量。

本题中,m=6, n=3, 故可得知划分的六个子网的

网络地址 可分配的主机地址范围
193.160.80.32 (001..0) 33-62
193.160.80.64 (010..0)
193.160.80.96 (011..0)
193.160.80.128 (100..0)
193.160.80.160 (101..0)
193.160.80.196 (110..0)
Q2:为 14.24.74.0/24 分配子网,N1 需要 120 个地址,N2 需要 60 个地址,N3 需要 10 个地址。请给出分配方案。

A2:先从最大地址块往下分,这次先分主机号,然后按需分配具体的网络前缀。

RIP 路由表更新

把发来的路由表的目的地址都设置为源路由器的地址,距离加 1,然后和目前有的路由项比对即可。

TCP 三次握手、四次释放

不好记忆,弄不了就算了,反正也不考满分