仅适用于计算机网络第五版谢希仁
第一章
时延
传播时延=传输距离/传播速率=段数x每段传播时延
发送时延=数据长度/发送速率
已知原点到终点有k段链路
第二章物理层
基本转换:时钟频率(HZ)与数据传输速率(bit/s)两者是相同的概念
1khz=1000hz,1B=8bit
1Gbit/s=10^3Mbit/s,
1Mbit/s=10^3Kbit/s,
1Kbit/s=10^3bit/s,
2.1奈式准则
奈氏公式:C = B * log2 N ( bps ),最高码元传输速率B
例题:假定某信道受奈氏准则限制的最高码元速率为20000码元/秒.如果采用振幅调制,把码元的振幅划分为16个不同等级来传送,那么可以获得多高的数据率?
分成16个等级,则用二进制表示16个不同的数需要4位,0000 到1111
log2(16)=4,表示一个码元4bit;C=4*20000bit/s=80000bit/s
2.2香农公式
香农公式在数据通信中的意义是:只要信息传输速率低于信道极限传输信息速率,则可实现无差错传输
- 信道的极限信息传输速率 C 可表达为:
其中:W 为信道的带宽(以 Hz 为单位);
S 为信道内所传信号的平均功率;
N 为信道内部的高斯噪声功率。
码头传输速率受奈式准则限制,信息传输速率受香农公式限制
例题:已知带宽W和最高信道传输速率C,求信噪比
解:S/N = 2*(C/W) - 1
第三章数据链路层
3.1CRC循环冗余检验的原理
- 在发送端,先把数据划分为组。假定每组 k 个比特。
- 假设待传送的一组数据 M = 101001(现在 k = 6)。我们在 M 的后面再添加供差错检测用的 n 位冗余码一起发送。
- 用二进制的模 2 运算
- 进行 2n 乘 M 的运算,这相当于在 M 后面添加 n 个 0得被除数。
- 被除数除以事先选定好的长度为 (n + 1) 位的除数 P,得出商是 Q 而余数是 R,余数 R 比除数 P 少 1 位,即 R 是 n 位。
- 将余数 R 作为冗余码拼接在数据 M 后面发送出去。
- 接收端对收到的每一帧进行 CRC 检验
- 若得出的余数 R = 0,则判定这个帧没有差错,就接受 (accept)。
- 若余数 R != 0,则判定这个帧有差错,就丢弃。
模二运算
只要第一位非0商就是1 ,只要第一位是0商就是0,
余数为对应位异或,如果位数比除数还小,不再继续运算
3.2最短帧长计算
涉及知识
CSMA/CD协议
- 载波监听多点接入 / 碰撞检测
- “载波监听”是指每一个站在发送数据之前先要检测一下总线上是否有其他计算机在发送数据,如果有,则暂时不要发送数据,以免发生碰撞
争用期
-
最先发送数据帧的站,在发送数据帧后至多经过时间 2t(两倍的端到端往返时延)就可知道发送的数据帧是否遭受了碰撞。
-
以太网的端到端往返时延 2t称为争用期,或碰撞窗口。
-
经过争用期这段时间还没有检测到碰撞,才能肯定这次发送不会发生碰撞。
解题步骤
直接求最短帧长题
- 求单程传播时间=网络长度/传播速率,争用期=2 x 单程传播时间
- 为按照CSMA/CD协议工作,最小帧发射时间>=争用期
- 因此,争用期内可发送比特数(最短帧长)=争用期 x 数据率
3.3集线器和交换机分享带宽
n个站点连接到一个带宽M的以太网集线器/交换机上,站点带宽多少?
解题步骤
- 集线器共享带宽,每个站点平分集线器带宽
- 交换机独享带宽,每个站点带宽直接=交换机带宽
3.4碰撞检测
- 计算机边发送数据边检测信道上的信号电压大小。
- 当一个站检测到的信号电压摆动值超过一定的门限值时,就认为总线上至少有两个站同时在发送数据,表明产生了碰撞。
- 所谓“碰撞”就是发生了冲突。因此“碰撞检测”也称为“冲突检测”
- 每一个正在发送数据的站,一旦发现总线上出现了碰撞,就要立即停止发送,免得继续浪费网络资源,然后等待一段随机时间后再次发送。
第四章网络层
4.1IP数据报分片
标志字段的最低位是 MF (More Fragment)。MF =1 表示后面“还有分片”。MF = 0 表示最后一个分片。
-
片偏移占13 位,指出:较长的分组在分片后某片在原分组中的相对位置。
-
片偏移以 8 个字节为偏移单位。
-
分片例子
- 一数据报的总长度为 3820 字节,其数据部分的长度为 3800 字节(使用固定首部),需要分片为长度不超过 1420 字节的数据报片。
- 因固定首部长度为 20 字节,因此每个数据报片的数据部分长度不能超过 1400 字节。
- 于是分为 3 个数据报片,其数据部分的长度分别为 1400、1400 和 1000 字节。
- 原始数据报首部被复制为各数据报片的首部,但必须修改有关字段的值。
4.2子网掩码->网络地址
(IP 地址) AND (子网掩码) =网络地址
经典例题
已知IP地址和子网掩码,试求网络地址
- 将IP地址第三个字节二进制
- 将子网掩码二进制
- 二者相与再化成点分十进制,则为网络地址
不同的子网掩码得出相同的网络地址,但不同的掩码的效果是不同的。
4.3路由器转发分组算法
- 从收到的分组的首部提取目的 IP 地址 D。
- 先用各网络的子网掩码和 D 逐位相“与”,看是否和相应的网络地址匹配。若匹配,则将分组直接交付。否则就是间接交付,执行 (3)。
- 若路由表中有目的地址为 D 的特定主机路由,则将分组传送给指明的下一跳路由器;否则,执行 (4)。
- 对路由表中的每一行,将子网掩码和 D 逐位相“与”。若结果与该行的目的网络地址匹配,则将分组传送给该行指明的下一跳路由器;否则,执行 (5)。
- 若路由表中有一个默认路由,则将分组传送给路由表中所指明的默认路由器;否则,执行 (6)。
- 报告转发分组出错。
解题步骤
-
提取发送的分组的目的 IP 地址:128.30.33.138
-
H1 首先检查主机 128.30.33.138 是否连接在本网络上
如果是,则直接交付;
否则,就送交路由器 R1,并逐项查找路由表。 -
主机 H1 首先将本子网的子网掩码 255.255.255.128与分组的 IP 地址 128.30.33.138 逐比特相“与”(AND 操作),由于不等于H1网络地址128.30.33.0,因此 H1 必须把分组传送到路由器 R1然后逐项查找路由表
-
R1 收到分组后就把分组的 IP 地址 128.30.33.138 与路由表目的网络地址的子网掩码逐一AND操作,看结果是否等于目的网络地址
- 255.255.255.128 AND 128.30.33.138 = 128.30.33.128
匹配子网2 - 255.255.255.0AND 128.30.33.138 = 128.30.33.0
不匹配! - 表明子网 2 就是收到的分组所要寻找的目的网络,经接口1转发
- 255.255.255.128 AND 128.30.33.138 = 128.30.33.128
相似例题:4-20
4.4路由聚合
有如下的4个/24地址块,试进行最大可能性的聚会。
212.56.132.0/24
212.56.133.0/24
212.56.134.0/24
212.56.135.0/24
212=(11010100)2,56=(00111000)2
132=(10000100)2,
133=(10000101)2
134=(10000110)2,
135=(10000111)2
所以共同的前缀有22位,即11010100 00111000 100001,聚合的CIDR地址块是:212.56.132.0/22
4.5子网划分!!
CIDR 地址块
-
CIDR 把网络前缀都相同的连续的 IP 地址组成“CIDR 地址块”
-
128.14.32.0/20 表示的地址块共有 2^12 个地址(因为斜线后面的 20 是网络前缀的位数,而总共32位,所以这个地址的主机号是 12 位)
-
128.14.32.0/20 地址块的最小地址:128.14.32.0
128.14.32.0/20 地址块的最大地址:128.14.47.255
最小到最大,12位主机号从全0递增到全1,全 0 和全 1 的主机号地址一般不使用,可分配地址=总地址-2
-
CIDR 记法
-
10.0.0.0/10 可简写为 10/10,也就是把点分十进制中低位连续的 0 省略。
-
10.0.0.0/10 隐含地指出 IP 地址 10.0.0.0 的掩码是 255.192.0.0。
-
网络前缀的后面加一个星号 * 的表示方法,如 00001010 00*,在星号 * 之前是网络前缀,而星号 * 表示 IP 地址中的主机号,可以是任意值。
CIDR 地址块划分
- 地址数=2^(主机位数),主机位数32-斜线后面标记的网络位数,如大学地址数1024 = 2^(32-22)
- 为了使1,2,3,4系区分,在新增位加了1
- 广播地址是主机号全为1
4.6最长前缀匹配
-
在查找路由表时可能会得到不止一个匹配结果。
-
当不同掩码都匹配时,用最长前缀匹配机制找匹配更多的,更具体
-
最长前缀匹配又称为最长匹配或最佳匹配
-
选择两个匹配的地址中更具体的一个,即选择最长前缀的地址,第二个项目。
第五章运输层
拥塞控制
简答题
集线器,交换机,路由器
动态主机配置协议 DHCP
- 在协议软件中给这些参数赋值的动作叫做协议配置。
- 动态主机配置协议 DHCP (Dynamic Host Configuration Protocol) 提供了即插即用连网 (plug-and-play networking) 的机制。
- 需要 IP 地址的主机在启动时就向 DHCP 服务器广播发送发现报文(DHCPDISCOVER),这时该主机就成为 DHCP 客户。
- DHCP 服务器的回答报文叫做提供报文
- 并不是每个网络上都有 DHCP 服务器,这样会使 DHCP 服务器的数量太多。现在是每一个网络至少有一个 DHCP 中继代理,DHCP 中继代理以单播方式转发发现报文
- DHCP 服务器分配给 DHCP 客户的 IP 地址的临时的,DHCP 协议称这段时间为租用期。
DHCP服务工作流程
- 寻找DHCP服务器
- 分配IP地址
- 接受IP地址
- IP地址分配确认
- 重新登录
- 更新租约
内部网关协议OSPF
开放,最短路径优先OSPF,采用分布式链路状态协议
三个要点
- 向本自治系统中所有路由器发送信息,这里使用的方法是洪泛法
- 发送的信息就是与本路由器相邻的所有路由器的链路状态,但这只是路由器所知道的部分信息。
- 只有当链路状态发生变化时,才向本自治系统中所有路由器发送信息
链路状态数据库
- 由于各路由器之间频繁地交换链路状态信息,因此所有的路由器最终都能建立一个链路状态数据库。
- 这个数据库实际上就是全网的拓扑结构图,它在全网范围内是一致的,能较快地进行更新
划分区域
- 在一个区域内部的路由器只知道本区域的完整网络拓扑,而不知道其他区域的网络拓扑的情况,减少整个网络上的通信量
- OSPF 使用层次结构的区域划分。在上层的区域叫做主干区域
- 主干区域的标识符规定为0.0.0.0。主干区域的作用是用来连通其他在下层的区域。
OSPF特点
- OSPF 不用 UDP 而是直接用 IP 数据报传送
- OSPF 构成的数据报很短,可以不必将长的数据报分片传送。但分片传送的数据报只要丢失一个,就无法组装成原来的数据报,而整个数据报就必须重传
- OSPF 对于不同类型的业务可计算出不同的路由。
- 如果到同一个目的网络有多条相同代价的路径,那么可以将通信量分配给这几条路径。这叫做多路径间的负载平衡
- 所有在 OSPF 路由器之间交换的分组都具有鉴别的功能。
- 支持可变长度的子网划分和无分类编址 CIDR
- 当互联网规模很大时,OSPF 协议要比距离向量协议 RIP 好得多
- OSPF 没有“坏消息传播得慢”的问题
OSPF分组
- 问候 (Hello) 分组。
- 数据库描述 (Database Description) 分组。
- 链路状态请求 (Link State Request) 分组。
- 链路状态更新 (Link State Update) 分组,用洪泛法对全网更新链路状态。
- 链路状态确认 (Link State Acknowledgment) 分组。