计算机网络第三章习题(谢希仁)

数据链路层

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

  1. 链路: 指的是两个结点之间的物理线路,链路的传输介质有双绞线、同轴电缆、光纤、微波等。分为有线和无线链路。

  2. 数据链路:在链路的基础的上,给加上一些必要的通信协议来控制数据的传输。现在常用的方法是网络适配器(网卡)来实现这些协议。一般适配器都包含数据链路层和物理层这两层的功能。

  3. 电路接通了:表明物理连接已经能够传送比特流,但是数据传输并不可靠。

  4. 数据链路接通了:在物理连接的基础上,再建立数据链路连接。数据链路连接具有检测、确认和重传功能,使不可靠的物理链路变为可靠的物理链路,进行可靠的数据传输,当数据链路断开时,物理链路不一定跟着断开。

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

功能

  1. 链路管理:负责建立、维护和释放数据链路层的连接。
  2. 封装成帧: 给IP数据报加上帧开始、帧结束,就确定了帧的界限。
  3. 透明传输:数据链路层对上层协议隐藏了数据传输的细节,使得上层协议在发送或接受收据时,感觉不到数据链路层的存在。
    传输的过程中,IP数据报里面可能会出现帧结束符,如果出现的话,给前面加入转义字符。
  4. 差错控制:在数据传输过程中数据可能由于信号的干扰或者别的原因,导致数据不正确,使用差错控制是为了确保数据的正确性。 一般使用的CSC检验的方法。(可能也会出现问题)
  5. 流量控制:调节发送方的数据发送速率,以适应接收方的接收能力,防止数据丢失或缓冲区溢出。

优点和缺点

  1. 数据链路层做成可靠的链路层,就表示从源主机到目的主机的整个通信路径中的每一段链路的通信都是可靠的。这样做的优点是可以使网络中的某个结点及早发现传输中出了差错,因而可以通过数据链路层的重传来纠正这个差错。

如果数据链路层不是做成可靠的链路层,那么当网络中的某个结点发现收到的帧有差错时(不管数据链路层是否做成是可靠的,这个检查差错的步骤总是要有的),就仅仅丢弃有差错的帧,而并不通知发送结点重传出现差错的帧。只有当目的主机的高层协议(例如,运输层协议TCP)发现了这个错误时,才通知源主机重传出现差错的数据, 但这时已经较迟了,可能要重传较多的数据(包括没有出差错的数据),对网络资源有些浪费。

但是,有时高层协议使用的是不可靠的传输协议UDP。UDP并不要求重传有差错的数据。在这种情况下,如果数据链路层做成是可靠的链路层,那么在某些情况下这并不会带来更多 的好处(例如,当高层传送实时音频或视频信号时)。换言之,增加了可靠性,牺牲了实时性,有时反而是不合适的。

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

网络适配器的作用:

  1. 进行数据串行传输和并行传输的转换;
  2. 对数据进行缓存,对接收速率进行匹配;
  3. 对接收的数据进行差错检测;
  4. 跟主机当中的存储器、CPU等部件进行协调;
  5. 实现以太网协议,如数据的封装、发送、地址的检查、接收、有效判断、校验等等。

一般网络适配器包含物理层和数据链路层,通常工作在物理层和数据链路层。

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

  1. 封装成帧就是在一段数据的前后分别添加首部和尾部(在首部和尾部里面有许多必要的控制信息)这样就构成了一个帧,接收端在收到物理层上交的比特流后,就能根据首部和尾部的标记,从收到的比特流中识别帧的开始和结束。
  2. 透明传输就是上层交下来的数据,不管是什么形式的比特组合,都必须能够正确传送。由于帧的开始和结束的标记是使用专门指明的控制字符,因此,所传输的数据中的任何比特组合一定不允许和用作帧定界的控制字符的比特编码一样,否则就会出现帧定界的错误。数据链路层不应当对要传送的数据提出限制,即不应当规定某种形式的比特组合不能 够传送。
  3. 如果数据链路层没有差错检测 那么当目的主机收到其他主机发送来的数据时,在交给高层后,如果应用程序要求收到的数据必须正确无误,那么目的主机的高层软件可以对收到的数据进行差错检测。如果发现数据中有差错,就可以请求源主机重传这些数据。这样做就可以达到正确接收数据的目的。但这种工作方式有一个很大的缺点,就是一些在传输过程中出现了错误的数据(请注意,这些已经是没有用处的数据)还会继续在网络中传送,这样就浪费了网络的资源。例如,源主机到目的主机的路径中共有20个结点。在传送数据时,第一个结点就检测出了差错。如果数据链路层有差错检测的功能,就可以把这个有差错的帧丢弃,以后就不再传送了。否则这个没有用处的帧还要在网络上继续传送,还要陆续通过后面19个结点,这就造成了网络资源的浪费。
    像网络设备也会对帧进行检验,只不过比较简单,如果发现帧长度不对,会把该帧丢弃。这些节点通常不会像发送端和接收端那样对帧内容进行深入的差错检测。

5. 如果在数据链路层不进行封装成帧,会发生什么问题 ?

数据链路层在收到数据时,就无法知道对方传送的数据中哪些是数据,哪些是信息,甚至数据中有没有差错也不清楚(因为无法进行差错检测)。

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

特点

只检测差错,如果有差错就会丢弃,而不是去改正;也不使用序号;不进行流量控制;可同时支持多种网络层协议。

为什么不使用帧编号 ?

因为帧的编号是为了出错时可以有效地重传,而PPP并不需要实现可靠传输。

适用情况

PPP协议适用于用户使用拨号电话线接入因特网的情况。

为什么 PPP 协议不能使数据链路层实现可靠传输 ?

因为PPP没有编号和确认机制,这样就必须靠上层的协议(有编号和重传机制)才能保证数据传输正确无误,这样就会使数据的传输效率降低。

是出于以下考虑:

  1. 若使用能够实现可靠传输的数据链路层协议(如HDLC),开销就要增大。在数据链路层出现差错的概率不大时,使用比较简单的PPP协议较为合理。

  2. 在因特网环境下,PPP的信息字段放入的数据是IP数据报。假定我们采用了能实现可靠传输但十分复杂的数据链路层协议,然而当数据帧在路由器中从数据链路层上升到网络层后,仍有可能因网络授拥塞而被丢弃。因此,数据链路层的可靠传输并不能保证网络层的传输也是可靠的。

  3. PPP协议在帧格式中有帧检验序列FCS安段。对每一个收到的帧,PPP都要使用硬件进行CRC检验。若发现有差错,则丢弃该帧(一定不能把有差错的帧交付给上一层)。端到端的差错检测最后由高层协议负责。因此,PPP协议可保证无差错接受。

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

增加的余数

  1. 根据生成多项式可以发现 除数为: 10011
  2. 给发送数据后面增加比除数少一个0 即为:1101 0110 1100 00
  3. 用 1101 0110 1100 00 除以 10010 进行异或运算 得到余数为 1110

1变为0,接收端能否发现

利用 1101011010 1110进行除法时,最后余数为 0011,所以接收端可以发现。

最后两个1变为0,接收端能否发现

利用 1101011000 1110 进行除法时,最后余数为0101,余数不为0,所以接收端可以发现。

采用CRC 检验后,数据链路层的传输是否就变成了可靠的传输

不会,因为 CRC检验只是检验帧是否出错,如果出错的话,会把该帧进行丢弃,没有重传机制,所以数据链路层的传输不是可靠传输。

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

  1. 根据生成多项式可以得到除数为 1001
  2. 给被发送的数据后面加上四个零,即为 101110 1001
  3. 然后用上一步的除以 1001 得 余数为 011

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

  1. 根据信息字段出现的每一个0X7E变为(0X7D,0X5E)
  2. 如果出现一个0X7D的字节,则变为两个字节(0X7D,0X5D)
  3. 如果出现控制字符的话,给前面加入0X7D即可。
    所以最后得到的结果是 7E FE 27 7D 7D 65 7E

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

遇到5个1后面填充1个0,填充后字符串如下:0110111110111 11000

收到 0001110111110111110110 把连续5个1后面的0去除,即为00011101111111111110

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

  1. 普通的电话通信。
  2. 互联网提供的电子邮件服务。

概念

  1. 透明传输就是作为上层,它要把信息准确无误的传递给我的接收端,而不用管下面是如何实现的。

普通的电话通信

  1. 由于电话系统的带宽有限,而且还有失真,因此电话机两端的输入声波和输出声波是有差异的。从“传送声波”这个意义上讲,普通的电话通信并不是透明传输。
  2. 但从“听懂说话的意思”来讲,则基本上是透明传输。但也有时个别语音会听错,如单个数字1和7在电话中区别甚小。如果通话的一方说“1”,而另一方听成是“7”,那么这就不能算是透明传输。

电子邮件服务

一般说来,电子邮件是透明传输。但有时不是。因为国外有些邮件服务器为了防止垃圾邮件,将来自某些域名(如.cn)的邮件一律阻拦掉。这就不是透明传输。有些邮件的附件在收件人的电脑上打不开。这也不是透明传输。

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

在这里插入图片描述
从图中可以清楚的看到,工作状态有六种,分别是链路静止、链路建立、鉴别、网络层协议、链路打开、链路终止。
需要建立两种连接,分别为 物理链路和数据链路。
物理链路解决了可以传输比特流,但是数据传输并不可靠。
数据链路的话,它是在物理链路的基础上,再建立的,数据链路连接具有检测、确认和重传功能,使不可靠的物理链路变为可靠的物理链路,进行可靠的数据传输,当数据链路断开时,物理链路不一定跟着断开。

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

主要特点

网络为一个单位所拥有,且地理范围和站点数目均有限。局域网刚出现时,局域网比广域网具有更高的数据率、更低的时延和更小的误码率。但随着光纤技术在广域网中普遍使用,现在广域网也具有很高的数据率和很低的误码率。

广域网不采用广播

局域网的地理范围较小,且为一个单位所拥有,采用广播通信方式十分简单方便。但广域网的地理范围很大,如果采用广播通信方式会造成通信资源的浪费,因此广域网不采用广播通信方式。

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

常用的网络拓扑

有总线型、星型、环型、树型。

现在流行

现在的话,局域网流行的是星形。

现在改为的原因

在局域网发展的早期,人们都认为有源器件比较容易出故障,因而无源的总线结构一定会更加可靠。星形拓扑结构的中心使用了有源器件,人们就认为这比较容易出故障,而要使这个有源器件少出故障,必须使用非常昂贵的有源器件。然而实践证明,连接有大量站点的总线式以太网,由于接插件的接口较多,反而很容易出现故障。现在专用的 ASIC 芯片的使用可以把星形结构的集线器做得非常可靠。因此现在的以太网一般都使用星形结构的拓扑。

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

  1. 传统以太网:早期流行的10Mbit/s 速率的以太网,它采用总线拓扑。
  2. 以太网有两个标准:DIX Ethernet V2 和 IEEE 802.3,第一个标准是世界上第一个局域网产品的规约。符合这个标准的局域网称为以太网。但是由于两个标准有很小的差别,因此很多人把802.3局域网也称为“以太网”。

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

因为以太网采用的曼彻斯特编码,两个码元才表示一个bit, 所以要传送2*10^6个码元。

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

当IEEE在1983年制定802.3标准时,已经流行了几种不同的局域网。因此802委员会决定把局域网的数据链路层协议再划分为两个子层,一个是媒体接入控制 MAC子层另一个是与具体的媒体无关的逻辑链路控制 LLC 子层。然而到现在,过去曾流行过的令牌环形网、令牌总线局域网以及光纤分布式数据接口FDDI局域网,都已经在市场上消失了。因此,在现在只剩下一种局域网(以太网)的情况下,LLC 子层显然没有存在的价值了。现在IP 数据报都是直接放入到以太网中,作为以太网的数据部分。
在这里插入图片描述

18. 试说明10BASE-T中的“10”“BASE”和“T”所代表的意思 ?

传输速率是10Mbit/s BASE 说明传输的是基带信号 T 说明用传输介质是双绞线。 T(Twisted-pair)

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

网络上的负荷较轻时,CSMA/CD 协议很灵活,哪个站想发送就可以发送,而且发生碰撞的概率很小。如使用时分复用 TDM,效率就比较低。当很多站没有信息要发送时,分配到的时隙也浪费了。但网络负荷很重时,CSMA/CD 协议引起的碰撞很多,重传经常发生,因而效率大大降低。但这时TDM的效率就很高。
这好比在一个城市中的交叉路口的红绿灯系统。当车辆很少时,红绿灯可能会产生一些不必要的红灯等待。但车辆的流量很大时,使用红绿灯系统就是非常必要的,可以使得车辆的通行有条不紊。

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

在这里插入图片描述

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

比特时间就是发送1比特所需要的时间,使用这种时间单位的话,不管发送速率是多少,计算发送一定比特数需要的时间将会非常的方便。
要把“比特时间”换算成“秒”或“微秒”,就必须先知道数据率是多少。因此,要回答“100比特时间是多少微秒?”这样的问题,不给出数据率是无法回答的。

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

10Mbit/s 的以太网,争用期是51.2us,r=100,所以该站点需要等待 10051.2us = 5.12ms
100Mbit/s的以太网,为了保证最小帧长不变,所以把争用期时间变短为 5.12us r=100 ,所以需要等待的时间是5.12us
100= 512us

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

以太网的利用率应当与连接在以太网上的站点数有关。我们知道,以太网各站发送数据的时刻应当是随机的。但公式(3-3)表述的以太网的极限信道利用率是基于这样的假定:这个以太网使用了特殊的调度方法,一个站发送完数据后,另一个站就接着发送。结果是各站点的发送都不会发生碰撞。这样就使以太网的利用率达到最大值。但我们注意到,这已经不再是采用CSMA/CD协议的以太网了。

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

  1. 根据已知可知,A发送的帧是最短的帧也就是64字节,由于题后面有提示,在帧前面加入同步码和帧定界符,也就是8个字节,总共是72个字节,即576个bit 需要576bit时间。
  2. 而一个争用期也就是2倍的传播时延,即为450bit时间。
  3. 综上所述,在A发送完之前是可以检测到冲突的。
  • 56
    点赞
  • 24
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

CPanMirai

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值