【计算机网络】关于数据链路层及其以下层次的巩固习题

简介: 概念题 当发生错误时,接收方简单地丢弃所有后续帧,不对丢弃的帧发送任何确认,这称为“回退n帧协议”(Go-Back-N) 通过位填充,数据 01111101 传输的比特序列为:011111001
本文首发于稀土掘金。该平台的作者 逐光而行 也是本人。

参考书籍

  • 《Computer Networks (the fifth edition) 》
  • 计网老师课上的讲解

概念题

  1. 当发生错误时,接收方简单地丢弃所有后续帧,不对丢弃的帧发送任何确认,这称为“回退n帧协议”(Go-Back-N)
  2. 通过位填充,数据 01111101 传输的比特序列为:011111001

思路:见于HDLC协议,传输的比特序列变形规则为:遇到5个1就在后面补0。

计算大题

  1. 假设帧是10111101,生成器为$x^3+x+1$,计算冗余码,并写出在网络中传输的序列。

思路:这用到了CRC校验(Cyclic Redundancy Check)。步骤分三步:

  • 利用生成器来确定冗余位数和除数。G(x)为发送方和接收方共同认定的一个准则。它有两个用途:

    • 该二项式的最高次数表示冗余位的位数。比如本题的生成器最高项为x^3,说明冗余位有3位。
    • 该二项式对应的二进制表示为除数。如本题的式子可表示为1011。

image.png

  • 将补适当0后的帧除以除数,得到的余数就是冗余码(如果位数不够,前补0)

原则:使用模2除法,即加法不进位,减法不借位。

在本题中,余数为110

所以传输中的码为10111101110

  1. 画出比特流的曼彻斯特编码和差分曼彻斯特编码,假设初始为低电平

思路:只需记住:两种曼彻斯特编码的共同特点:周期内跳变

  • 普通曼彻斯特编码:1-初始为高电平;0-初始为低电平
  • 差分(diff)曼彻斯特编码:0变1不变

解释:1就是延续上一个阶段的状态,而0是和上一个阶段的末状态相反。

  1. 请描述CSMA/CD的原理

CSMA/CD(Carrier Sense Multiple Access Protocols with Collision Detection),中文释义:含冲突检测的载波监听与多路访问。

发送数据前,先监听信道是否空闲,如果空闲,立即发送数据。如果信道繁忙,则等待一段时间,直到信道中的信息传输完成后再发送数据;如果在最后一次信息传输后,同时有两个或两个以上的节点请求发送,则判定为冲突。如果检测到冲突,立即停止发送数据,等待一段随机时间,然后重试。

  1. 4公里长,20Mbps CSMA/CD局域网(不是802.3)的传播速度为$2*10^8$m/s,计算网络的最小帧大小。

思路:

image.png

解释:

$t>=2τ$ 指的是数据的发送时间应大于等于数据的往返传播时延。

为什么?

因为这样才可以保证在传输过程中发生冲突时,冲突能被听到并重发。

相关文章
|
27天前
|
存储 算法 网络虚拟化
【计算机网络】学习笔记,第三篇:数据链路层
现在的光纤宽带接入 FTTx 都要使用 PPPoE 的方式进行接入。在 PPPoE 弹出的窗口中键入在网络运营商购买的用户名和密码,就可以进行宽带上网了 利用 ADSL 进行宽带上网时,从用户个人电脑到家中的 ADSL 调制解调器之间,也是使用 RJ-45 和 5 类线(即以太网使用的网线)进行连接的,并且也是使用 PPPoE 弹出的窗口进行拨号连接的
29 5
|
9天前
计算机网络学习记录 数据链路层 Day3 (上)(2)
计算机网络学习记录 数据链路层 Day3 (上)(2)
10 2
|
9天前
计算机网络学习记录 数据链路层 Day3 (上)(1)
计算机网络学习记录 数据链路层 Day3 (上)(1)
10 2
|
28天前
计算机网络——数据链路层-媒体接入控制的基本概念
计算机网络——数据链路层-媒体接入控制的基本概念
26 7
|
28天前
计算机网络——数据链路层-媒体接入控制-静态划分信道(频分复用FDM、时分复用TDM、波分复用WDM、码分复用CDM)
计算机网络——数据链路层-媒体接入控制-静态划分信道(频分复用FDM、时分复用TDM、波分复用WDM、码分复用CDM)
28 1
|
9天前
|
网络协议 网络虚拟化 网络架构
计算机网络学习记录 数据链路层 Day3 (下)(2)
计算机网络学习记录 数据链路层 Day3 (下)(2)
7 0
|
9天前
|
网络协议
计算机网络学习记录 数据链路层 Day3 (下)(1)
计算机网络学习记录 数据链路层 Day3 (下)(1)
12 0
|
27天前
|
网络协议 算法 Linux
【嵌入式软件工程师面经】Linux网络编程Socket
【嵌入式软件工程师面经】Linux网络编程Socket
43 1
|
18小时前
|
网络协议 安全 Ubuntu
7 个有用的免费 Linux 网络隧道
【7月更文挑战第4天】
9 0
7 个有用的免费 Linux 网络隧道
|
13天前
|
安全 物联网 Linux
学习Linux对网络安全的重要性
**学习Linux对网络安全至关重要:** 1. 开源操作系统广泛应用于服务器、网络设备,掌握Linux是安全专家必备技能。 2. Linux内置安全特性,如最小权限和防火墙,加上丰富的安全工具,提供强大保障。 3. 可定制性允许灵活配置,满足安全需求,开源社区提供持续更新和教育资源。 4. 学习Linux能提升攻防能力,用于系统加固和渗透测试,适应跨平台安全场景。 5. 随着云计算和物联网发展,Linux在网络安全中的角色日益关键。
38 3