第3章 数据链路层 问题与回答

问题1:当数据链路层使用PPP协议或CSMA/CD协议时,既然采用不可靠交付,那么为什么对所传输的帧进行差错检验呢?

答:当使用PPP协议或CSMA/CD协议时,在数据链路层的接收端对所传输的帧进行差错检验是为了不将已经发现了有差错的帧收下来。如果在接收端不进行差错检测,那么接收端上交给主机的帧就可能包括在传输中出了差错的帧,而这样的帧对接收端主机是没有用处的。
换言之,接收端进行差错检测的目的是:“上交主机的帧都是没有传输差错的,有差错的都已经丢弃了”。或者更加严格地说:“我们以很接近于1的概率认为,凡是上交主机的帧都是没有传输差错的”。

问题2:除了差错检测外,面向字符的数据链路层协议还必须解决哪些特殊的问题?

答:最主要的就是要解决帧定界和透明传输的问题。
帧定界就是让接收端知道一帧的开始和结束是在什么地方。面向字符的数据传输就是所传输的数据全都是一个个的字符,例如ASCII字符。因此,在每一帧的开始和结束的地方,必须要有一个特殊的字符作为标志。
比如用字符SOH代表Start Of Header(首部开始),而用EOT代表End Of Transmission(传输结束)。请注意,SOH和EOT都是ASCII码中的控制字符。
解决了帧定界后,在接收端就可以确定一个帧的开始和结束。剩下的问题就是透明传输的问题。
透明传输实际上就是随便什么字符都可以传输。但设想我们在帧中传送的字符出现了一个控制字符“EOT”。那么接收端收到这样的数据后,就会将原来的SOH和数据中的“EOT”错误地解释为一个帧,但对后面剩下的字符根本就无法解释。
像这样的传输显然就不是“透明传输”,因为当遇到数据中的字符“EOT”就传不过去了,它被接收端解释为控制字符。实际上此处的字符“EOT”并非控制字符而是一般数据。
为了解决透明传输问题,就必须设法将数据中可能出现的控制字符“SOH”和“EOT”在接收端不解释为控制字符。方法是:在数据中出现字符“SOH”或“EOT”时就将其转换为另一个字符,而这个字符是不会被错误解释的。
但所有字符都有可能在数据中出现。于是就想出这样的办法:将数据中出现的字符“SOH”转换为“ESC”“x”这样两个字符,将数据中出现的字符“EOT”转换为“ESC”“y”这样两个字符。而当数据中出现了控制字符“ESC”时,就将其转换为“ESC”“z”这样两个字符。这种转换方法就能够在接收端正确地还原为原来的数据。“ESC”是转义符,它的十六进制编码是1B。
可以很容易地看出,在接收端只要按照以上转换规则进行相反的转换,就能够还原出原来的数据(例如遇到“ESC”“z”就还原为“ESC”)。
以上就是实现透明传输的原理。

问题3:在以太网中,有没有可能在发送了512 bit(64 B)以后才发生碰撞?

答:有可能。但这是一种不正常的情况,这叫做“迟到的碰撞”。
产生迟到的碰撞是因为网络覆盖的地理范围太大了,以致人为干扰信号在网络上传播的时间太长,使得有的站在发送512 bit(64 B)以后才知道在以太网上发生了碰撞。这时该站就立即停止发送数据,但已经发送出去的数据长度却超过了以太网规定的最短长度(64 B)。具有这种大于64字节的MAC帧属于合法的帧,接收端必须将它收下来。当然,在进行差错检测后就可发现这是个有差错的帧,最后还是会将它丢弃。

问题4:同步通信和异步通信的区别是什么?

答:“异步通信”是一种很常用的通信方式。
异步通信在发送字符时,所发送的字符之间的时间间隔可以是任意的。当然,接收端必须时刻做好接收的准备。发送端可以在任意时刻开始发送字符,但必须在每一个字符的开始和结束的地方加上标志,即加上开始位和停止位,以便使接收端能够正确地将每一个字符接收下来。异步通信的好处是通信设备简单、便宜,但传输效率较低(因为开始位和停止位的开销所占比例较大)。
异步通信也可以是以帧作为发送的单位。这时,帧的首部必须设有一些特殊的比特组合,使得接收端能够找出一帧的开始,这也称为帧定界。帧定界还包含确定帧的结束位置。这有两种方法。一种是在帧的尾部设有某种特殊的比特组合来标志帧的结束,或者在帧首部中设有帧长度的字段。需要注意的是,在异步发送帧时,并不是说发送端对帧中的每一个字符都必须加上开始位和停止位后再发送出去,而是说,发送端可以在任意时间发送一个帧,而帧与帧之间的时间间隔也可以是任意的。在一帧中的所有比特是连续发送的。发送端不需要在发送一帧之前和接收端进行协调(不需要先进行比特同步)。
“同步通信”的通信双方必须先建立同步,即双方的时钟要调整到同一个频率。收发双方不停地发送和接收连续的同步比特流。但这时还有两种不同的同步方式。一种是使用全网同步,用一个非常精确的主时钟对全网所有结点上的时钟进行同步。另一种是使用准同步,各结点的时钟之间允许有微小的误差,然后采用其他措施实现同步传输。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值