计算机网络 30分钟掌握数据链路层

729 阅读21分钟

习题

数据链路(即逻辑链路)与链路(即物理链路)有何区别? “电路接通了”与”数据链路接通了”的区别何在?

数据链路与链路的区别:

数据链路除链路外,还必须有一些必要的规程来控制数据的传输,因此,数据链路比链路多了实现通信规程所需要的硬件和软件。

“电路接通了“与”数据链路接通了“的区别:

“电路接通了”表示链路两端能够传送比特流。”数据链路接通了“表示在电路接通的基础上,再建立数据链路连接。当数据链路断开时,物理电路连接不一定跟着断开连接。

数据链路层中的链路控制包括哪些功能?试讨论数据链路层做成可靠的链路层有哪些优点和缺点.

数据链路层中的链路控制功能有:(1)链路管理。(2)帧定界。(3)流量控制。(4)差错控制。(5)将数据和控制信息区分开。(6)透明传输。(7)寻址。

优点:能够保证数据在链路层的可靠传输;缺点:太复杂,实现起来麻烦,开销大

网络适配器的作用是什么?网络适配器工作在哪一层?。

适配器(即网卡)来实现数据链路层和物理层这两层的协议的硬件和软件,负责帧的收发。

网络适配器工作在TCP/IP协议中的网络接口层(OSI中的数据链里层和物理层)。

数据链路层的三个基本问题(帧定界、透明传输和差错检测)为什么都必须加以解决?

帧定界是分组交换的必然要求;透明传输避免消息符号与帧定界符号相混淆;差错检测防止有差错的无效数据帧浪费后续路由上的传输和处理资源。

如果在数据链路层不进行帧定界,会发生什么问题?

无法区分分组与分组,无法确定分组的控制域和数据域,无法将差错更正的范围限定在确切的局部。

PPP协议的主要特点是什么?为什么PPP不使用帧的编号?PPP适用于什么情况?为什么PPP协议不能使数据链路层实现可靠传输?

简单,提供不可靠的数据包服务,只进行检错不纠错
不使用帧编号是由于ppp协议不使用序号和确认机制
适用于面向字节流
无编码和确认机制

要发送的数据为1101011011。采用CRC的生成多项式是P(X=X4+X+1P(X)=X^4+X+1。试求应添加在数据后面的余数。数据在传输过程中最后一个1变成了0,问接收端能否发现?若数据在传输过程中最后两个1都变成了0,问接收端能否发现?采用CRC检验后,数据链路层的传输是否就变成了可靠的传输?

余数:1 1 1 0

计算过程: image.png

如果在最后一个1变成0,错误将会被发现

计算过程:

image.png

如果在最后两个都变成0,错误将会被发现

计算过程: image.png

采用CRC检验,缺少重传机制,数据链路层的传输还不是可靠的传输

CRC算法

要发送的数据为101110。采用CRCD 生成多项式是P(X)=X3+1。试求应添加在数据后面的余数。

余数:0 1 1,余数不够三位前面补0 image.png

一个PPP帧的数据部分(用十六进制写出)是7D 5E FE 27 7D 5D 7D 5D 65 7D 5E。试问真正的数据是什么(用十六进制写出)?

7E ---->7D 5E
7D---->7D 5D

组合成:(7D 5E) FE 27 (7D 5D) (7D 5D) 65 (7D 5E)
根据规则转换:7E FE 27 7D 7D 65 7E

PPP协议使用同步传输技术传送比特串0110111111111100。试问经过零比特填充后变成怎样的比特串?若接收端收到的PPP帧的数据部分是0001110111110111110110,问删除发送端加入的零比特后变成怎样的比特串?

零比特填充:在连续5个1之后填充一个0

0110111111111100 填充后 011011111011111000
0001110111110111110110 删除后 00011101111111111110

试分别讨论一下各种情况在什么条件下是透明传输,在什么条件下不是透明传输。(提示:请弄清什么是“透明传输”,然后考虑能否满足其条件。)

  1. 普通的电话通信。
    若送话方所说的话,受话方都能准确听清并理解,则是透明的;若话音传输过程中有失真或个别字词有误,但还可以理解,则是基本透明的;若失真或噪声严重,根本听不懂,则是不透明的。对于普通的电话通信,由于输入和输出的波形是有差异的,故可以说普通的电话通信不是透明传输。
  2. 因特网提供的电子邮件服务。
    一般而言,电子邮件是透明传输,但如果存在如垃圾邮件拦截,收方不能打开邮件等情况,则是不透明传输。

PPP协议的工作状态有哪几种?当用户要使用PPP协议和ISP建立连接进行通信需要建立哪几种连接?每一种连接解决什么问题?

PPP协议的工作状态有:链路静止、链路建立、鉴别、网络层协议、链路打开、链路终止。

当用户和ISP建立连接过程中,需要建立的连接有:物理链路的连接、LCP链路的连接(解决LCP配置协商问题)、NCP链路的连接(解决NCP配置协商问题)。

局域网的主要特点是什么?为什么局域网采用广播通信方式而广域网不采用呢?

网络为一个单位所拥有,且地理范围和站点数目均有限。广域网是一个很大的范围,采用广播方式会在网络中传送很多不必要的信息,对网络性能的影响很大,且更容易引起网络广播风暴

常用的局域网的网络拓扑有哪些种类?现在最流行的是哪种结构?为什么早期的以太网选择总线拓扑结构而不是星形拓扑结构,但现在却改为使用星形拓扑结构?

星形网,总线网,环形网,树形网  当时很可靠的星形拓扑结构较贵,人们都认为无源的总线结构更加可靠,但实践证明,连接有大量站点的总线式以太网很容易出现故障,而现在专用的ASIC芯片的使用可以将星形结构的集线器做的非常可靠,因此现在的以太网一般都使用星形结构的拓扑。

什么叫做传统以太网?以太网有哪两个主要标准?

DIX Ethernet V2 标准的局域网,DIX Ethernet V2 标准与 IEEE 的 802.3 标准

数据率为10Mb/s的以太网在物理媒体上的码元传输速率是多少码元/秒?

码元传输速率即为波特率,以太网使用曼彻斯特编码,这就意味着发送的每一位都有两个信号周期。标准以太网的数据速率是10MB/s,因此波特率是数据率的两倍,即20M波特

为什么LLC子层的标准已制定出来了但现在却很少使用?

LLC 逻辑链路控制层

由于 TCP/IP 体系经常使用的局域网是 DIX Ethernet V2 而不是 802.3 标准中的几种局域网,因此现在 802 委员会制定的逻辑链路控制子层 LLC(即 802.2 标准)的作用已经不大了

试说明10BASE-T中的“10”、“BASE”和“T”所代表的意思。

10BASE-T中的“10”表示信号在电缆上的传输速率为10MB/s,“BASE”表示电缆上的信号是基带信号,“T”代表双绞线星形网,但10BASE-T的通信距离稍短,每个站到集线器的距离不超过100m。

以太网使用的CSMA/CD协议是以争用方式接入到共享信道。这与传统的时分复用TDM相比优缺点如何?

传统的时分复用TDM是静态时隙分配,均匀高负荷时信道利用率高,低负荷或符合不均匀时资源浪费较大,CSMA/CD课动态使用空闲新到资源,低负荷时信道利用率高,但控制复杂,高负荷时信道冲突大。

假定1km长的CSMA/CD网络的数据率为1Gb/s。设信号在网络上的传播速率为200000km/s。求能够使用此协议的最短帧长。

对于1km电缆,单程传播时间为1/200000=5为微秒,来回路程传播时间为10微秒,为了能够按照CSMA/CD工作,最小帧的发射时间不能小于10微秒,以Gb/s速率工作,10微秒可以发送的比特数等于1010^-6/110^-9=10000,因此,最短帧是10000位或1250字节长

什么叫做比特时间?使用这种时间单位有什么好处?100比特时间是多少微秒?

比特时间是发送一比特多需的时间,它是传信率的倒数,便于建立信息长度与发送延迟的关系“比特时间”换算成“微秒”必须先知道数据率是多少,如数据率是10Mb/s,则100比特时间等于10微秒。

100?=10Mb/s=>100106us/10106B=10us100 ∗ ?=10Mb/s=>100 ∗ 10^6us/10*10^6B = 10us

假定在使用CSMA/CD协议的10Mb/s以太网中某个站在发送数据时检测到碰撞,执行退避算法时选择了随机数r=100。试问这个站需要等待多长时间后才能再次发送数据?如果是100Mb/s的以太网呢?

512?=10Mb/s=>512106us/10106B=51.2us 512 * ? = 10Mb/s => 512 * 10^6us/10*10^6B = 51.2us

对于10mb/s的以太网,以太网把争用期定为51.2微秒,要退后100个争用期,等待时间是51.2(微秒)*100=5.12ms对于100mb/s的以太网,以太网把争用期定为5.12微秒,要退后100个争用期,等待时间是5.12(微秒)*100=512微秒

公式(3-3)表示,以太网的极限信道利用率与连接在以太网上的站点数无关。能否由此推论出:以太网的利用率也与连接在以太网的站点数无关?

实际的以太网各给发送数据的时刻是随即的,而以太网的极限信道利用率的得出是 假定以太网使用了特殊的调度方法(已经不再是CSMA/CD了),使各结点的发送不发生碰撞。实际情况往往不能达到理想状态,所以站点数往往也会影响利用率。

假定站点A和B在同一个10Mb/s以太网网段上。这两个站点之间的传播时延为225比特时间。现假定A开始发送一帧,并且在A发送结束之前B也发送一帧。如果A发送的是以太网所容许的最短的帧,那么A在检测到和B发生碰撞之前能否把自己的数据发送完毕?换言之,如果A在发送完毕之前并没有检测到碰撞,那么能否肯定A所发送的帧不会和B发送的帧发生碰撞?(提示:在计算时应当考虑到每一个以太网帧在发送到信道上时,在MAC帧前面还要增加若干字节的前同步码和帧定界符)

t=0时,A开始发送数据,t=225时,B开始收到A发送的数据,为了避免碰撞,B不会再发送数据。若B在t’<225时刻发送一帧数据,则A在t=t’+225时刻检测到碰撞,并立即停止发送数据 。当t>450,A还没有检测到碰撞时,则说明以后再也不会发生碰撞了。t=64+88=576t=(64+8)*8=576)时,此时A发送完毕

以太网 V2 的最小帧 64字节
协议规定了基本退避时间为争用期 2τ(tao),具体的争用期时间是 51.2μs。(争用期时间是协议规定的,需要自行记忆)
在传输媒体上传送的要比MAC帧多8个字节(这个也需要记忆),即站点A实际传送的帧大小是 (64Byte + 8Byte)× 8bit = 576bit
站点A 和B 在同一个10Mb/s 以太网网段上,则在争用期内站点A发送的最短帧长是10Mbit/s × 51.2μs = 512bit,即64字节。

在上题中的站点A和B在t=0时同时发送了数据帧。当t=255比特时间,A和B同时检测到发生了碰撞,并且在t=255+48=273比特时间完成了干扰信号的传输。A和B在CSMA/CD算法中选择不同的r值退避。假定A和B选择的随机数分别是rA=0和rB=1。试问A和B各在什么时间开始重传其数据帧?A重传的数据帧在什么时间到达B?A重传的数据会不会和B重传的数据再次发生碰撞?B会不会在预定的重传时间停止发送数据?

  1. t=0时,A、B同时发送了数据帧
  2. t=2252\frac{225}{2}时,A、B发送的数据发生碰撞
  3. t=225时,A、B同时检测到发生了碰撞
  4. t=225+48=273时,A、B完成(48比特的)干扰信号的传输,适配器执行指数退避算法,rA=0r_A = 0,rB=1r_B=1等待r倍512比特时间后,A、B将再次检测信道是否空闲
  5. t=273+rAr_A2τ=273时,A检测到信道正忙,原因是信道内干扰信号仍在传输,但A还在不停检测信道
  6. t=273+225=498时,干扰信号占用信道时间结束,A发现信道空闲,但它还得等个帧间最小时间间隔96比特时间(用于收到数据帧的站点清理接收缓存,见教材P90)后才会发送数据,信道必须在这96比特时间内保持空闲
  7. t=498+96=594时,A终于如愿以偿开始发送数据,数据将在t=594+225=819时开始到达B,B开始接收数据
  8. t=273+rBr_B*512=785时,B检测到信道正忙,若信道空闲,它原计划于785+96=881时刻发送数据,此计划不得不推迟
  9. t=594+(64+8)*8=1170,A发送完所有数据
  10. t=1170+225=1395,B接收完所有数据,同时检测到信道空闲
  11. t=1395+96=1491,B处理完缓存后开始发送数据
  12. t=1491+576=2067,B发送完所有的数据(当然B发的可能不是最小帧,这里假设是和A大小一样的帧)
  13. t=2067+225=2292,A接收完B发送的数据

以太网上只有两个站,它们同时发送数据,产生了碰撞。于是按截断二进制指数退避算法进行重传。重传次数记为i,i=1,2,3,…..。试计算第1次重传失败的概率、第2次重传的概率、第3次重传失败的概率,以及一个站成功发送数据之前的平均重传次数I.

重传取值集合:[0,1,2,...(2k1)][0, 1, 2, ... (2^k-1)],k=Min[重传次数,10]Min[重传次数,10]

  1. 集合{0, 1},概率:24=50%\frac{2}{4}=50\%
  2. 25%
  3. 12.5%
  • P[第i次重传成功] = P[第一次重传失败] x P[第一次重传失败] x P[第三次重传失败] x ... x P[第i-1次重传失败] x P[第i次重传成功]
  • P[第一次重传成功] = 0.5
  • P[第二次重传成功] = 0.5×0.75=0.375
  • P[第三次重传成功] =0.5×0.25×0.875=0.10940.5
  • P[第四次重传成功] =0.5×0.25×0.125×0.9375=0.01460.5
  • 平均重传次数:0.5 + 2 x 0.375 + 3 x 0.1094 + 4 x 0.0146 + ... = 1.64

有10个站连接到以太网上。试计算一下三种情况下每一个站所能得到的带宽。(1)10个站都连接到一个10Mb/s以太网集线器;(2)10个站都连接到一个100Mb/s以太网集线器;(3)10个站都连接到一个10Mb/s以太网交换机。

  1. 10个站共享 10 Mbit/s
  2. 10个站共享 100 Mbit/s
  3. 每一个独占 10Mbit/s

10Mb/s以太网升级到100Mb/s、1Gb/S和10Gb/s时,都需要解决哪些技术问题?为什么以太网能够在发展的过程中淘汰掉自己的竞争对手,并使自己的应用范围从局域网一直扩展到城域网和广域网?

a=τT0a = \frac{τ}{T_0}

ττ 是以太网单程端到时延,T0T_0是帧的发送时间

技术问题:使参数a保持为较小的数值,可通过减小最大电缆长度或增大帧的最小长度。
在100mb/s的以太网中采用的方法是保持最短帧长不变,但将一个网段的最大电缆的度减小到100m,帧间时间间隔从原来9.6微秒改为现在的0.96微秒。
吉比特以太网仍保持一个网段的最大长度为100m,但采用了“载波延伸”的方法,使最短帧长仍为64字节(这样可以保持兼容性)、同时将争用时间增大为512字节。并使用“分组突发”减小开销。
10吉比特以太网的帧格式与10mb/s,100mb/s和1Gb/s以太网的帧格式完全相同,吉比特以太网还保留标准规定的以太网最小和最大帧长,这就使用户在将其已有的以太网进行升级时,仍能和较低速率的以太网很方便地通信。\由 于数据率很高,吉比特以太网不再使用铜线而只使用光纤作为传输媒体,它使用长距离(超过km)的光收发器与单模光纤接口,以便能够工作在广域网。

以太网交换机有何特点?用它怎样组成虚拟局域网?

以太网交换机则为链路层设备,可实现透明交换虚拟局域网 VLAN 是由一些局域网网段构成的与物理位置无关的逻辑组。这些网段具有某些共同的需求。虚拟局域网协议允许在以太网的帧格式中插入一个 4 字节的标识符,称为 VLAN 标记 (tag),用来指明发送该帧的工作站属于哪一个虚拟局域网。

虚拟局域网(Virtual Local Area Network, VLAN)技术的出现,主要是为了解决交换机在进行局域网互连时无法限制广播的问题。

在如下图中,某学院的以太网交换机有三个接口分别和学院三个系的以太网相连,另外三个接口分别和电子邮件服务器、万维网服务器以及一个连接互联网的路由器相连。图中的 A,BC 都是 100 Mbit/s 以太网交换机。假定所有的链路的速率都是 100 Mbit/s,并且图中的 9 台主机中的任何一个都可以和任何一个服务器或主机通信。试计算这就 9 台主机和两个服务器产生的总的吞吐量的最大值。为什么?

image.png 因为通过交换机连接的局域网内主机可以并行发送数据,所以9台主机的吞吐量为900M,两个服务器吞吐量为200M,所以总吞吐量为1100M

假定在如图所示中的所有链路的速率仍然为 100 Mbit/s,但三个系的以太网交换机都换成为 100 Mbit/s 的集线器。试计算这 9 台主机和两个服务器产生的总的吞吐量的最大值。为什么?

如果把三台交换机换成集线器,由于集线器是总线型,同一集线器下同一时刻只能一台设备发送数据,所以图中9台主机其实只有三台在发送,吞吐量是300M,两个服务器吞吐量是200M,所以吞吐总量是500M

假定在图3-30中的所有链路的速率仍然为100Mbit/s,但所有的以太网交换机都换成为100Mbit/s的集线器。试计算这9台主机和两个服务器产生的总的吞吐量的最大值。为什么?

网络的最大总的吞吐量就是这个集线器的最大值,100Mbit/s

以太网交换机有 6 个接口,分别接到 5 台主机和一个路由器

image.png 下面表中动作一栏中,表示先后发送了4个帧。假定在开始时,以太网交换机的交换表是空的。把表中的项目填完。

动作交换表状态向哪些端口转发帧说明
A发送帧给D添加表项(A,1)所有发送前空表,发送后存入A的MAC地址和端口1
D发送帧给A添加表项(D,4)A向表中添加D的MAC地址和端口4
E发送帧给A添加表项(E,5)A向表中添加E的MAC地址和端口2
A发送帧给E不变E交换表保持不变

有两台主机A和B接在800m长的电缆线的两端,并在t=0时各自向对方发送一个帧,长度为1500bit(包括首部和前同步码)。假定在A和B之间有4个转发器,在转发帧时会产生20比特的时延。设传输速率为100Mbit/s,而CSMA/CD的退避时间是随机数r倍的争用期,争用期为512bit,在发生第一次碰撞后,在退避时A选择r=0而B选择r=1.忽略发生碰撞后的人为干扰信号和帧间最小间隔。

(1)设信号的传播速率是2108m/s2*10^8m/s。试计算从A到B(包括4个转发器)的传播时延。
(2)在什么时间B完全收到了A发送的帧?
(3)现在假定只有A发送帧,帧长仍为1500bit,但4个转发器都用交换机来代替。交换机在进行存储转发时还要产生额外的20bit的处理时延。在什么时间B完全收到了A发送的帧?

  1. 从A到B(包括4个转发器)的传播时延:
    800m2×108m/s=4×106+0.8×106=4.8μs\frac{800m}{2\times10^8m/s} = (4\times 10^{-6} + 0.8 \times 10^{-6})=4.8μs
  2. 发送1帧需要时间1500/(100Mbit/s)=15μs1500/(100Mbit/s) = 15μs,比从A到B传播一个比特所需的时间还要多
    在 t = 0 时, A 和 B 同时发送帧。
    在 t = 4.8μs时,A 和 B 都检测出碰撞。
    在 t = 9.5μs时,B终止发送的帧的最后一个比特到达A。A立即重传。
    在 t = 14.4μs时,A重传帧的第一个比特到达B。
    A发送1500bit需要的时间是 1500/(100Mbit/s)=15μs1500/(100Mbit/s) = 15μs
    在 t = 19.4μs时,A重传帧的最后一个比特到达B。
  3. 整个传输链路被4个交换机分成5个网段。在主机和交换机之间或两个交换机之间的传播时延;每一段电缆长度160m除以电磁波的传播速率 2×108m/s2\times10^8m/s,算出为0.8μs,因此总的传播时延是5×0.8=4μs5\times0.8=4μs
    主机A和4个交换机的发送时延一共是5×15=75μs5\times15=75μs
    4个交换机的处理时延是4×0.2=0.8μs4\times0.2=0.8μs
    因此,B收完A所发送的帧总共经历的时延 4+75+0.8=79.78μs4+75+0.8=79.78μs