42. (2) 信噪比 1984年,香农 (Shannon) 用信息论的理论推导出了带宽受限且有高斯白噪声干扰的信道的极限、无差错的信息传输速率(香农公式)。
信道的极限信息传输速率 C 可表达为:
C = W log2(1+S/N) (bit/s)
其中: W 为信道的带宽(以 Hz 为单位);
S 为信道内所传信号的平均功率;
N 为信道内部的高斯噪声功率。
59. 2.6.3 FTTx 技术 FTTx 是一种实现宽带居民接入网的方案,代表多种宽带光纤接入方式。
FTTx 表示 Fiber To The…(光纤到…),例如:
光纤到户 FTTH (Fiber To The Home):光纤一直铺设到用户家庭,可能是居民接入网最后的解决方法。
光纤到大楼 FTTB (Fiber To The Building):光纤进入大楼后就转换为电信号,然后用电缆或双绞线分配到各用户。
光纤到路边 FTTC (Fiber To The Curb):光纤铺到路边,从路边到各用户可使用星形结构双绞线作为传输媒体。
69. 循环冗余检验的原理 在数据链路层传送的帧中,广泛使用了循环冗余检验 CRC 的检错技术。
在发送端,先把数据划分为组。假定每组 k 个比特。
假设待传送的一组数据 M = 101001(现在 k = 6)。我们在 M 的后面再添加供差错检测用的 n 位冗余码一起发送。
70. 冗余码的计算 用二进制的模 2 运算进行 2n 乘 M 的运算,这相当于在 M 后面添加 n 个 0。
得到的 (k + n) 位的数除以事先选定好的长度为 (n + 1) 位的除数 P,得出商是 Q 而余数是 R,余数 R 比除数 P 少 1 位,即 R 是 n 位。
将余数 R 作为冗余码拼接在数据 M 后面发送出去。
71. 冗余码的计算举例 现在 k = 6, M = 101001。
设 n = 3, 除数 P = 1101,
被除数是 2nM = 101001000。
模 2 运算的结果是:商 Q = 110101,
余数 R = 001。
把余数 R 作为冗余码添加在数据 M 的后面发送出去。发送的数据是:2nM + R
即:101001001,共 (k + n) 位。
72. 循环冗余检验的原理说明 P (除数)11011101001010010002nM (被除数)11011110110101110000111011010110000011001101001R (余数),作为 FCSQ (商)
86. 3.3.2 CSMA/CD 协议 最初的以太网是将许多计算机都连接到一根总线上。当初认为这样的连接方法既简单又可靠,因为总线上没有有源器件。 B 向 D
发送数据 C D A E匹配电阻(用来吸收总线上传播的信号)匹配电阻不接受不接受不接受接受B只有 D 接受
B 发送的数据
87. 以太网采用广播方式发送 总线上的每一个工作的计算机都能检测到 B 发送的数据信号。
由于只有计算机 D 的地址与数据帧首部写入的地址一致,因此只有 D 才接收这个数据帧。
其他所有的计算机(A, C 和 E)都检测到不是发送给它们的数据帧,因此就丢弃这个数据帧而不能够收下来。
在具有广播特性的总线上实现了一对一的通信。
88. CSMA/CD协议 CSMA/CD 含义:载波监听多点接入 / 碰撞检测 (Carrier Sense Multiple Access with Collision Detection) 。
“多点接入”表示许多计算机以多点接入的方式连接在一根总线上。
“载波监听”是指每一个站在发送数据之前先要检测一下总线上是否有其他计算机在发送数据,如果有,则暂时不要发送数据,以免发生碰撞。
总线上并没有什么“载波”。因此, “载波监听”就是用电子技术检测总线上有没有其他计算机发送的数据信号。
91. 为什么要进行碰撞检测?由于电磁波在总线上的传播速率是有限的,当某个站监听到总线是空闲时,也可能总线并非真正是空闲的。
A 向 B 发出的信息,要经过一定的时间后才能传送到 B。
B 若在 A 发送的信息到达 B 之前发送自己的帧 (因为这时 B 的载波监听检测不到 A 所发送的信息),则必然要在某个时间和 A 发送的帧发生碰撞。
碰撞的结果是两个帧都变得无用。
所以需要在发送期间进行碰撞检测,以检测冲突。
92. 1 kmABt碰撞t = 2 A 检测到发生碰撞 t = B 发送数据B 检测到发生碰撞 t = t = 0单程端到端
传播时延记为 信号传播时延对载波监听的影响 A需要单程传播时延的 2 倍的时间,
才能检测到与 B 的发送产生了冲突
93. 1 kmABt碰撞t =
B 检测到信道空闲
发送数据t = / 2
发生碰撞t = 2 A 检测到发生碰撞 t = B 发送数据B 检测到发生碰撞 t = ABABABt = 0
A 检测到
信道空闲
发送数据ABt = 0t =
B 检测到发生碰撞
停止发送STOPt = 2
A 检测到
发生碰撞STOPAB单程端到端
传播时延记为
122. 按照以下自学习算法处理收到的帧和建立交换表A 先向 B 发送一帧,从接口 1 进入到交换机。
交换机收到帧后,先查找交换表,没有查到应从哪个接口转发这个帧。
交换机把这个帧的源地址 A 和接口1 写入交换表中,并向除接口1以外的所有的接口广播这个帧。
C 和 D 将丢弃这个帧,因为目的地址不对。只 B 才收下这个目的地址正确的帧。这也称为过滤。
从新写入交换表的项目 (A, 1) 可以看出,以后不管从哪一个接口收到帧,只要其目的地址是A,就应当把收到的帧从接口1转发出去。
123. 按照以下自学习算法处理收到的帧和建立交换表B 通过接口 3 向 A 发送一帧。
交换机查找交换表,发现交换表中的 MAC 地址有 A。表明要发送给A的帧(即目的地址为 A 的帧)应从接口1转发。于是就把这个帧传送到接口 1 转发给 A。显然,现在已经没有必要再广播收到的帧。
交换表这时新增加的项目 (B, 3),表明今后如有发送给 B 的帧,就应当从接口 3 转发出去。
经过一段时间后,只要主机 C 和 D 也向其他主机发送帧,以太网交换机中的交换表就会把转发到 C 或 D 应当经过的接口号(2 或 4)写入到交换表中。
124. 按照以下自学习算法处理收到的帧和建立交换表MAC地址 接口 有效时间
A 1
B 3以太网交换机A1243交换表DBC交换了两帧后的交换表A 发送一帧给 B
B 发送一帧给 A考虑到可能有时要在交换机的接口更换主机,或者主机要更换其网络适配器,这就需要更改交换表中的项目。为此,在交换表中每个项目都设有一定的有效时间。过期的项目就自动被删除。以太网交换机的这种自学习方法使得以太网交换机能够即插即用,不必人工进行配置,因此非常方便。
139. 虚拟互连网络的意义 所谓虚拟互连网络也就是逻辑互连网络,它的意思就是互连起来的各种物理网络的异构性本来是客观存在的,但是我们利用 IP 协议就可以使这些性能各异的网络从用户看起来好像是一个统一的网络。
使用 IP 协议的虚拟互连网络可简称为 IP 网。
使用虚拟互连网络的好处是:当互联网上的主机进行通信时,就好像在一个网络上通信一样,而看不见互连的各具体的网络异构细节。
如果在这种覆盖全球的 IP 网的上层使用 TCP 协议,那么就是现在的互联网 (Internet)。
156. 地址解析协议 ARP 要点不管网络层使用的是什么协议,在实际网络的链路上传送数据帧时,最终还是必须使用硬件地址。
每一个主机都设有一个 ARP 高速缓存 (ARP cache),里面有所在的局域网上的各主机和路由器的 IP 地址到硬件地址的映射表。< IP address;MAC address;TTL >TTL (Time To Live):地址映射有效时间 。
157. 地址解析协议 ARP 要点当主机 A 欲向本局域网上的某个主机 B 发送 IP 数据报时,就先在其 ARP 高速缓存中查看有无主机 B 的 IP 地址。
如有,就可查出其对应的硬件地址,再将此硬件地址写入 MAC 帧,然后通过局域网将该 MAC 帧发往此硬件地址。
如没有, ARP 进程在本局域网上广播发送一个 ARP 请求分组。收到 ARP 响应分组后,将得到的 IP 地址到硬件地址的映射写入 ARP 高速缓存。
158. ARP 高速缓存的作用存放最近获得的 IP 地址到 MAC 地址的绑定,以减少 ARP 广播的数量。
为了减少网络上的通信量,主机 A 在发送其 ARP 请求分组时,就将自己的 IP 地址到硬件地址的映射写入 ARP 请求分组。
当主机 B 收到 A 的 ARP 请求分组时,就将主机 A 的这一地址映射写入主机 B 自己的 ARP 高速缓存中。这对主机 B 以后向 A 发送数据报时就更方便了。
159. 4.2.5 IP 数据报的格式 一个 IP 数据报由首部和数据两部分组成。
首部的前一部分是固定长度,共 20 字节,是所有 IP 数据报必须具有的。
在首部的固定部分的后面是一些可选字段,其长度是可变的。
187. 划分子网的基本思路(续) 凡是从其他网络发送给本单位某个主机的 IP 数据报,仍然是根据 IP 数据报的目的网络号 net-id,先找到连接在本单位网络上的路由器。
然后此路由器在收到 IP 数据报后,再按目的网络号 net-id 和子网号 subnet-id 找到目的子网。
最后就将 IP 数据报直接交付目的主机。
188. ………145.13.3.10145.13.3.11145.13.3.101145.13.7.34145.13.7.35145.13.7.56145.13.21.23145.13.21.9145.13.21.8所有到网络 145.13.0.0的分组均到达此路由器我的网络地址
是 145.13.0.0R1R3R2网络
145.13.0.0一个未划分子网的 B 类网络145.13.0.0
224. 自治系统 AS(Autonomous System) 自治系统 AS 的定义:在单一的技术管理下的一组路由器,而这些路由器使用一种 AS 内部的路由选择协议和共同的度量以确定分组在该 AS 内的路由,同时还使用一种 AS 之间的路由选择协议用以确定分组在 AS之间的路由。
现在对自治系统 AS 的定义是强调下面的事实:尽管一个 AS 使用了多种内部路由选择协议和度量,但重要的是一个 AS 对其他 AS 表现出的是一个单一的和一致的路由选择策略。
278. 2. 出现差错在接收方 B 会出现两种情况:
B 接收 M1 时检测出了差错,就丢弃 M1,其他什么也不做(不通知 A 收到有差错的分组)。
M1 在传输过程中丢失了,这时 B 当然什么都不知道,也什么都不做。
在这两种情况下,B 都不会发送任何信息。
如何保证 B 正确收到了 M1 呢?
解决方法:超时重传
A 为每一个已发送的分组都设置了一个超时计时器。
A 只要在超时计时器到期之前收到了相应的确认,就撤销该超时计时器,继续发送下一个分组 M2 。
280. 3. 确认丢失和确认迟到确认丢失
若 B 所发送的对 M1 的确认丢失了,那么 A 在设定的超时重传时间内不能收到确认,但 A 并无法知道:是自己发送的分组出错、丢失了,或者 是 B 发送的确认丢失了。因此 A 在超时计时器到期后就要重传 M1。
假定 B 又收到了重传的分组 M1。这时 B 应采取两个行动:
第一,丢弃这个重复的分组 M1,不向上层交付。
第二,向 A 发送确认。不能认为已经发送过确认就不再发送,因为 A 之所以重传 M1 就表示 A 没有收到对 M1 的确认。
281. 3. 确认丢失和确认迟到确认迟到
传输过程中没有出现差错,但 B 对分组 M1 的确认迟到了。
A 会收到重复的确认。对重复的确认的处理很简单:收下后就丢弃。
B 仍然会收到重复的 M1,并且同样要丢弃重复的 M1,并重传确认分组。
294. TCP
首部20 字节的
固定首部目 的 端 口数据
偏移检 验 和选 项 (长 度 可 变)源 端 口序 号紧 急 指 针窗 口确 认 号保 留F
I
N32 位S
Y
NR
S
TP
S
HA
C
KU
R
G位 0 8 16 24 31填 充TCP 数据部分TCP 首部TCP 报文段IP数据报的 数据部分IP 首部发送在前TCP 报文段的首部格式
295. TCP首部20
字节
固定
首部目 的 端 口数据
偏移检 验 和选 项 (长 度 可 变)源 端 口序 号紧 急 指 针窗 口确 认 号保 留F
I
NS
Y
NR
S
TP
S
HA
C
KU
R
G位 0 8 16 24 31填 充源端口和目的端口字段——各占 2 字节。端口是运输层与应用层的服务接口。运输层的复用和分用功能都要通过端口才能实现。
296. 序号字段——占 4 字节。TCP 连接中传送的数据流中的每一个字节都编上一个序号。序号字段的值则指的是本报文段所发送的数据的第一个字节的序号。 TCP首部20
字节
固定
首部目 的 端 口数据
偏移检 验 和选 项 (长 度 可 变)源 端 口序 号紧 急 指 针窗 口确 认 号保 留F
I
NS
Y
NR
S
TP
S
HA
C
KU
R
G位 0 8 16 24 31填 充
297. 确认号字段——占 4 字节,是期望收到对方的下一个报文段的数据的第一个字节的序号。 TCP首部20
字节
固定
首部目 的 端 口数据
偏移检 验 和选 项 (长 度 可 变)源 端 口序 号紧 急 指 针窗 口确 认 号保 留F
I
NS
Y
NR
S
TP
S
HA
C
KU
R
G位 0 8 16 24 31填 充
298. 数据偏移(即首部长度)——占 4 位,它指出 TCP 报文段的数据起始处距离 TCP 报文段的起始处有多远。“数据偏移”的单位是 32 位字(以 4 字节为计算单位)。 TCP首部20
字节
固定
首部目 的 端 口数据
偏移检 验 和选 项 (长 度 可 变)源 端 口序 号紧 急 指 针窗 口确 认 号保 留F
I
NS
Y
NR
S
TP
S
HA
C
KU
R
G位 0 8 16 24 31填 充
299. 保留字段——占 6 位,保留为今后使用,但目前应置为 0。 TCP首部20
字节
固定
首部目 的 端 口数据
偏移检 验 和选 项 (长 度 可 变)源 端 口序 号紧 急 指 针窗 口确 认 号保 留F
I
NS
Y
NR
S
TP
S
HA
C
KU
R
G位 0 8 16 24 31填 充
300. 紧急 URG —— 当 URG 1 时,表明紧急指针字段有效。它告诉系统此报文段中有紧急数据,应尽快传送(相当于高优先级的数据)。 TCP首部20
字节
固定
首部目 的 端 口数据
偏移检 验 和选 项 (长 度 可 变)源 端 口序 号紧 急 指 针窗 口确 认 号保 留F
I
NS
Y
NR
S
TP
S
HA
C
KU
R
G位 0 8 16 24 31填 充
301. 确认 ACK —— 只有当 ACK 1 时确认号字段才有效。当 ACK 0 时,确认号无效。 TCP首部20
字节
固定
首部目 的 端 口数据
偏移检 验 和选 项 (长 度 可 变)源 端 口序 号紧 急 指 针窗 口确 认 号保 留F
I
NS
Y
NR
S
TP
S
HA
C
KU
R
G位 0 8 16 24 31填 充
302. 推送 PSH (PuSH) —— 接收 TCP 收到 PSH = 1 的报文段,就尽快地交付接收应用进程,而不再等到整个缓存都填满了后再向上交付。 TCP首部20
字节
固定
首部目 的 端 口数据
偏移检 验 和选 项 (长 度 可 变)源 端 口序 号紧 急 指 针窗 口确 认 号保 留F
I
NS
Y
NR
S
TP
S
HA
C
KU
R
G位 0 8 16 24 31填 充
303. 复位 RST (ReSeT) —— 当 RST 1 时,表明 TCP 连接中出现严重差错(如由于主机崩溃或其他原因),必须释放连接,然后再重新建立运输连接。 TCP首部20
字节
固定
首部目 的 端 口数据
偏移检 验 和选 项 (长 度 可 变)源 端 口序 号紧 急 指 针窗 口确 认 号保 留F
I
NS
Y
NR
S
TP
S
HA
C
KU
R
G位 0 8 16 24 31填 充
304. 同步 SYN —— 同步 SYN = 1 表示这是一个连接请求或连接接受报文。 TCP首部20
字节
固定
首部目 的 端 口数据
偏移检 验 和选 项 (长 度 可 变)源 端 口序 号紧 急 指 针窗 口确 认 号保 留F
I
NS
Y
NR
S
TP
S
HA
C
KU
R
G位 0 8 16 24 31填 充
305. 终止 FIN (FINish) —— 用来释放一个连接。FIN 1 表明此报文段的发送端的数据已发送完毕,并要求释放运输连接。 TCP首部20
字节
固定
首部目 的 端 口数据
偏移检 验 和选 项 (长 度 可 变)源 端 口序 号紧 急 指 针窗 口确 认 号保 留F
I
NS
Y
NR
S
TP
S
HA
C
KU
R
G位 0 8 16 24 31填 充
306. 窗口字段 —— 占 2 字节,用来让对方设置发送窗口的依据,单位为字节。TCP首部20
字节
固定
首部目 的 端 口数据
偏移检 验 和选 项 (长 度 可 变)源 端 口序 号紧 急 指 针窗 口确 认 号保 留F
I
NS
Y
NR
S
TP
S
HA
C
KU
R
G位 0 8 16 24 31填 充
307. 检验和 —— 占 2 字节。检验和字段检验的范围包括首部和数据这两部分。在计算检验和时,要在 TCP 报文段的前面加上 12 字节的伪首部。TCP首部20
字节
固定
首部目 的 端 口数据
偏移检 验 和选 项 (长 度 可 变)源 端 口序 号紧 急 指 针窗 口确 认 号保 留F
I
NS
Y
NR
S
TP
S
HA
C
KU
R
G位 0 8 16 24 31填 充
308. 紧急指针字段 —— 占 16 位,指出在本报文段中紧急数据共有多少个字节(紧急数据放在本报文段数据的最前面)。 TCP首部20
字节
固定
首部目 的 端 口数据
偏移检 验 和选 项 (长 度 可 变)源 端 口序 号紧 急 指 针窗 口确 认 号保 留F
I
NS
Y
NR
S
TP
S
HA
C
KU
R
G位 0 8 16 24 31填 充
318. 可能发生死锁B 向 A 发送了零窗口的报文段后不久,B 的接收缓存又有了一些存储空间。于是 B 向 A 发送了 rwnd = 400 的报文段。
但这个报文段在传送过程中丢失了。A 一直等待收到 B 发送的非零窗口的通知,而 B 也一直等待 A 发送的数据。
如果没有其他措施,这种互相等待的死锁局面将一直延续下去。
为了解决这个问题,TCP 为每一个连接设有一个持续计时器 (persistence timer)。